User:doru001/Pacman - An Introduction

From ArchWiki
< User:Doru001
Revision as of 10:05, 1 October 2015 by Kynikos (talk | contribs) (the only section of the article overlaps Pacman#Partial_upgrades_are_unsupported, make it clear in the heading and merge template)
Jump to navigation Jump to search

Merge-arrows-2.pngThis article or section is a candidate for merging with pacman#Partial upgrades are unsupported.Merge-arrows-2.png

Notes: No point in duplicating the main article here. (Discuss in User talk: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.

Warning: However, pacman -S mypackage does not check for broken dependencies which may appear from the possible upgrade of mypackage or 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 -Sy but 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.