Linux Package Manager Command Line Comparison
wiki.archlinux.org
wiki.archlinux.org
Also, I usually use deborphan to find orphaned packages and remove them, if apt-get autoremove didn't find them.
I guess I could keep using apt-cache for searching and aptitude for installation/removal though.
Use some magic to fix broken dependencies in a system: yum distro-sync or yum check and decide.
Remove dependencies that are no longer needed: package-cleanup --orphans
Downloads the corresponding source package(s) to the given package name(s): yumdownloader --source PACKAGENAME
etc.
And regarding the speed, well I got a server under Archlinux et another one under Debian, they have the same age (around 1 year ago, when squeeze come out) and pacman is more more quicker!
It's also got a much friendlier set of commands:
$ apt-get upgrade vim # aptitude upgrade vim
$ apt-get dist-upgrade # aptitude full-upgrade
$ apt-cache search # aptitude search
$ apt-get install --reinstall vim # aptitude reinstall vim
$ apt-get remove --purge vim # aptitude purge vim
The list goes on.It's also got an awesome ncurses based interactive interface if you just type:
$ aptitude
Great for sysadmins who miss synaptic or anyone who feels like a GUI is just too mainstream.Among other "advantages" of aptitude, it can be terribly slower than apt-get. And it has a "smart" dependency engine that often proposes convoluted solutions (involving uninstalling packages I don't want uninstalled) when apt-get will simply update the dependency and their dependents... But at least, if you don't agree with the first solutions, it has others (sometimes including the one apt-get chooses).
http://en.wikipedia.org/wiki/Dpkg#History http://en.wikipedia.org/wiki/Dselect http://en.wikipedia.org/wiki/Advanced_Packaging_Tool#History http://en.wikipedia.org/wiki/Aptitude_(software)#History http://www.debian.org/doc/manuals/project-history/ch-detaile....
# installed packages with yaml in the name
aptitude search '~i yaml'
# installed packages requiring yaml
# (~D means depends on)
aptitude search '~i ~D yaml'
# packages whose name starts with lib and
# mentioning SQL in their descriptions
aptitude search '^lib ~d sql'
# installed packages from some non-standard repo
# apt-cache policy describes package origins
aptitude search '~i ?origin(apt.opscode.com)'
# why is libvirt0 installed?
aptitude why libvirt0
# which ubuntu metapackage is keeping libvirt0 installed?
aptitude why '~i ubun' libvirt0
# don't keep any transitional package installed
sudo aptitude markauto '~i ~d transitional'
# purge ganeti packages
sudo aptitude purge '~i ganeti'Now I'm even more annoyed that our servers are all CentOS :(
"Although the aptitude command comes with rich features such as its enhanced package resolver, this complexity has caused (or may still causes) some regressions such as Bug #411123, Bug #514930, and Bug #570377. In case of doubt, please use the apt-get and apt-cache commands over the aptitude command."
http://www.debian.org/doc/manuals/debian-reference/ch02.en.h...
It ate up the entire 1 GB of RAM and got OOM killed before it could finish computing dependencies.
I shouldn't need a swap partition just to update packages. So now I use apt-get if I'm upgrading a lot of packages at once. aptitude for other tasks.