User:doru001/Pacman - An Introduction
Partial upgrades are unsupported
pacman -S mypackage installs
mypackage and all its dependencies. If
mypackage has been upgraded by the developer and uploaded to the repository since the last refresh of the local package database, then the required version of
mypackage will not be found in the repository and
pacman -S mypackage fails with a message.
mypackage's dependencies are listed in the Depends On entry of
mypackage's metainformation. (
mypackage's metainformation can be listed with
pacman -Si mypackage for packages in the package list and with
pacman -Qi mypackage for installed packages). If
mypackage or its dependencies are already installed, they are upgraded to the version in the package list. If
pacman -S mypackage finds any conflicts (installed packages which are listed in the Conflicts With entry of the
mypackage's metainformation) then it fails with a message.
pacman -S mypackagedoes not check for broken dependencies which may appear from the possible upgrade of
mypackageor one of its dependencies. It is possible that an already installed package which depends on an upgraded package is unable to function with the new version of the upgraded package. This can happen if the package list has been refreshed by the user via
pacman -Sybut all installed packges have not been upgraded and it could result in a non functional system after reboot.
The solution is to never run
pacman -Sy separately, which could be followed by
pacman -S mypackage, but to always run
pacman -Syu, which upgrades all packages after the refresh of the package list. This ensures that when
pacman -S mypackage is run all packages installed on the system have compatible versions.