Learn how to resolve the ‘exclusive lock’ error when using a package manager like apt on Ubuntu. Step-by-step fixes for Ubuntu and Debian-based distros.
After start, Synaptic Package Manager in Ubuntu sometimes gives error
Unable to get exclusive lock. This usually means that another package management application(like apt-get or aptitude) is already running. Please close that application first.
In this post, we will learn about the causes and solutions for this error.
There are multiple causes for this error. As the message says, it means that Ubuntu package manager is already running.
After Boot
Cause
By default, Ubuntu runs a check after reboot automatically — not immediately, but some time within. So, during this time if you try to run the update command, you will get this error.
Solution
For Ubuntu automatic system checks, you have to wait for it to complete and then run your update command.
You can check, if any system check is running or not using the following command,
ps aux | grep dpkg | grep -v grep
If it shows any text then it means system is still updating, just wait for it to completed.
Software Updater is Running
Cause
Sometimes after boot, system software updater popup comes with many system updates. You can cancel this update and it will close. But, if you accept the updates, it will start updating the system.
If this updater is running and you try to run the update command, you will get same error as above.
Solution
Generally, it is not advised to pause the updater. Once an update has started, allow it to run its course. So, wait for some time till it completes and then run your update command.
Otherwise, you can pause the updater to run update command from terminal and restart the updater later after your update command completes.
Troubleshooting guide to fix the 404 error when accessing phpMyAdmin on localhost. Learn common causes and step-by-step solutions for Apache and Nginx servers.
To run phpmyadmin without getting 404 error, configure apache.conf for phpmyadmin.
gksu gedit /etc/apache2/apache2.conf
Then add the following line to the end of the file.
Include /etc/phpmyadmin/apache.conf
And restart apache
/etc/init.d/apache2 restart
Please read this section in Ubuntu wiki describes the 404 error problem for phpmyadmin.
Learn to schedule tasks using cronjob in Unix. This guide explains how to manage cronjob tasks in unix with practical examples.
Cron jobs are essential tools in Unix/Linux systems for automating repetitive tasks. Whether you’re backing up files, syncing data, or running maintenance scripts, cron jobs make sure your tasks run consistently and on time without manual intervention.
In this article, we’ll walk through how to add jobs to the cron scheduler (crontab) and understand its syntax so you can schedule tasks efficiently.
What is a Cron Job in Unix?
A cron job is a scheduled command or script that runs automatically at specified intervals. The cron daemon (crond) handles these jobs in the background on Unix-like operating systems.
Viewing and Editing Crontabation files
Each user has their own crontab file. To view or edit your crontab:
crontab -e
This command opens your crontab in the default system editor (like vi or nano), allowing you to add or modify jobs.
To view your current scheduled jobs:
crontab -l
To remove all scheduled cron jobs:
crontab -r
Unix Cron jobs Syntax Breakdown
A typical cron job line looks like this:
* * * * * command to be executed - - - - - | | | | | | | | | ----- Day of week (0 - 7) (Sunday=0 or 7) | | | ------- Month (1 - 12) | | --------- Day of month (1 - 31) | ----------- Hour (0 - 23) ------------- Minute (0 - 59)
Each * represents a time or date field. And each field can be configured based on the following table.
Field
Value Range
Description
Minute
0–59
Minute of the hour
Hour
0–23
Hour of the day
Day
1–31
Day of the month
Month
1–12
Month of the year
Weekday
0–7 (0 or 7 = Sunday)
Day of the week
Example: Run backup cron job script
If you wished to have a script named /root/backup.sh run every day at 3 am, your crontab entry would look like as follows. First, install your cronjob by running the following command:
# crontab -e
Append the following entry:
0 3 * * * /root/backup.sh
Save and close the file.
More examples
To run /path/to/command five minutes after midnight, every day, enter:
5 0 * * * /path/to/command
Run /path/to/script.sh at 2:15 pm on the first of every month, enter:
15 14 1 * * /path/to/script.sh
To run any PHP script /scripts/phpscript.php at 10 pm on weekdays, enter:
0 22 * * 1-5 /scripts/phpscript.php
Run /root/scripts/perl/perlscript.pl at 23 minutes after midnight, 2am, 4am …, everyday, enter:
23 0-23/2 * * * /root/scripts/perl/perlscript.pl
Run /path/to/unixcommand at 5 after 4 every Sunday, enter:
5 4 * * sun /path/to/unixcommand
You can schedule any command using the cron jobs. For running any script using cron job, make sure your script has executable permissions.
If your script uses environment variables or specific paths, be sure to define them inside the script or call the appropriate environment setup.
Redirecting Output
To log output or errors, you can use the following command and save the logs in file:
2>&1 redirects errors (stderr) to the same log file without displaying it to the console.
System-Wide Cron Jobs
System-wide cron files can be added to:
Hourly, daily, weekly, monthly: /etc/cron.hourly/, /etc/cron.daily/, etc.
/etc/crontab
/etc/cron.d/
Conclusion
Cron jobs are powerful for scheduling recurring tasks in Unix/Linux environments. By mastering crontab syntax and scheduling structure, you can automate system maintenance, backups, and custom scripts with ease.
Make sure to test your scripts before scheduling them and check logs regularly to confirm successful execution.
Learn how to run JAR files directly from the terminal on ubuntu. Includes syntax examples, troubleshooting tips, and Java runtime requirements.
To execute .jar file, java command should be used as below:
java -jar {path_of_the_file}/{file_name}.jar
And to execute above command, Java package must be installed on Ubuntu PC. To check if java package is already installed, execute below command in a terminal:
java -version
It should display current version of Java package installed.
If it displays “The program java can be found in the following packages”, It means Java hasn’t been installed yet. Execute below command in a terminal to install java package,
sudo apt-get install default-jre
This will install the Java Runtime Environment (JRE) only not Java Development Kit (JDK). If Java Development Kit (JDK) is needed, which is usually needed to compile Java applications, execute the following command in terminal:
sudo apt-get install default-jdk
That is everything to install Java. Now run first command to execute .jar file.
Forgot your phpMyAdmin password? Follow this simple guide to reset your MySQL root or user password and regain access to phpMyAdmin on localhost or server.
Forgetting your phpMyAdmin password can be frustrating, especially when you’re in the middle of working on a critical project. Fortunately, resetting the password is a straightforward process. This guide walks you through the steps needed to reset your phpMyAdmin (MySQL/MariaDB) root password on a local or remote server.
Step-by-Step Guide to Reset phpMyAdmin Root Password
Step 1: Stop the MySQL Service
Before making any changes, stop the MySQL or MariaDB service.
sudo systemctl stop mysql
Step 2: Start MySQL in Safe Mode
Run MySQL in safe mode without password authentication.
sudo mysqld_safe --skip-grant-tables &
This allows you to log in without needing a password.
Step 3: Log in to MySQL
Now log into MySQL as the root user:
mysql -u root
You’ll be taken directly to the MySQL shell.
Step 4: Change the Root Password
Run the following commands to change the root password.
For MySQL 5.7+ or MariaDB 10.1+:
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password';
For older versions:
USE mysql;
UPDATE user SET password=PASSWORD('your_new_password') WHERE User='root';
FLUSH PRIVILEGES;
Replace 'your_new_password' with your desired password.
Step 5: Stop MySQL Safe Mode and Restart Normally
Press Ctrl+C to stop the MySQL safe mode process (if it’s running in foreground), or kill it using:
Go to http://localhost/phpmyadmin or your server’s phpMyAdmin URL and log in using:
Username:root
Password: the new password you just set
If successful, you’re good to go!
Tips for Better Security
Avoid using the root account for daily tasks. Create a separate user with limited privileges.
Use strong, unique passwords and store them securely using a password manager.
Regularly update MySQL/MariaDB and phpMyAdmin for security patches.
Common Issues & Fixes
Issue:Access denied for user 'root'@'localhost' Fix: Ensure you flushed privileges and restarted the MySQL server after changing the password.
Issue: phpMyAdmin login loop Fix: Check config.inc.php in your phpMyAdmin directory. Ensure $cfg['Servers'][$i]['auth_type'] is set to 'cookie'.
Conclusion
Resetting a forgotten phpMyAdmin password isn’t difficult when you follow the correct steps. Always remember to restart the MySQL service after resetting the password and ensure your configuration files are properly set. Keeping your credentials secure and using non-root accounts for regular usage can further enhance your database security.