System Maintenance
Overview
This article contains tips and best practices for keeping your system in optimal condition.
Keeping your System Updated
On a rolling release distribution it is essential to keep your system fully updated. Manjaro provides a few ways to keep your system updated.
- You can use the GUI tool Pamac directly or via the update notifier
- You can use the GUI tool Octopi directly or via the update notifier
- You can use the Pamac CLI
- You can use the Pacman CLI
Avoiding Partial Updates
It is of critical importance to ensure you don't end up in a state where your system is partially upgraded. It is not uncommon for systems in partially updated state to end up in a critical failure state. Here are some important rules to help you avoid this dangerous situation.
- Always ensure your system is fully up-to-date before installing software.
- Don't downgrade packages, this will always result in a partial update scenario.
- Avoid using
pacman -Sy
orpacman -Syy
. Instead update your database and packages at the same time withpacman -Syu
or in case of change in mirrorlistpacman -Syyu
- Don't add packages to pacman's or pamac's ignore list.
- If you just want to check to see what updates are available use the command
checkupdates
. It provides a safe way to check for upgrades to installed packages without running a system update at the same time. - When switching branches or switching mirrors always use
pamac update --force-refresh
orpacman -Syyu
to ensure that the databases for your new mirrors are being used.
Removing Orphans
As packages are added, built and removed it is not uncommon to have unneeded dependencies, also called orphans, building up over time. While orphans are not harmful, they take up space on the disk and consume network bandwidth as they are continually updated. Luckily, there are a couple of easy ways to view and remove orphans.
The Pamac article has a section on dealing with orphans. A simple command to locate and remove orphans is:
pamac remove -o
You can also use Pacman to remove orphans as described in this guide
Managing pacnew and pacsave files
A .pacnew file may be created during a package upgrade to avoid overwriting a file which already exists. A .pacsave file may be created during a package removal, or by a package installation of a package that was removed. These files require manual intervention from the user and it is good practice to handle them regularly. The program pacdiff
can help manage this process. For example, here is what it looks like when the /etc/default/grub
grub file has changed:
sudo DIFFPROG=diff pacdiff ==> pacnew file found for /etc/default/grub :: (V)iew, (S)kip, (R)emove pacnew, (O)verwrite with pacnew, (Q)uit: [v/s/r/o/q]
V
shows the differences between the two filesS
skips to the next change and allows you to deal with it later or manuallyR
keeps your existing file and delete the new fileO
overwrites the existing file with the new fileQ
quits the process without making further changes
Unfortunately, there is no perfect road map for how to deal with these files. If you keep the original config file, and the syntax has changed, the program may stop working or fail to use the existing config. If you remove the original file and use the new file without any changes, all your configuration settings can be overwritten. Sometimes, you need to combine pieces from the new and old files to make everything to work. In these situations it is better to integrate the files manually.
For more detailed information, please see review the Arch Wiki linked below.
Ensuring the Time is Accurate
Keeping the system time accurate may seem like it isn't important but there are many network related services that will not function if the time is out of sync.
Manjaro Settings Manager
The easiest way to ensure the time is being properly synchronized is the GUI tool included in Manjaro Settings Manager which is pictured to the left. Simply check the box next to "Set time and date automatically"
systemd
An alternative is to use systemd via the systemd-timesyncd service. This can be easily enabled with the command:
sudo timedatectl set-ntp true
See Also
- The Arch Wiki guide on System Maintenance
- The Arch Wiki guide on Pacnew and Pacsave files
- The Pacman wiki article
- The Pamac wiki article
- A forum post on managing pacsave and pacnew files