Someone should mention package manager performance. Searching for a package in an Arch system will take a long time (10s or more) except on relatively fresh installs. It may have been fixed by now, but it was a serious point of irritation.
Were you using XFS at the time? Search has never been a problem for me even on multi year old installs, but there was (is?) something about XFS that made pacman slow to a crawl.
Nope. The problem happened on multiple systems (i386, x64) regardless of filesystem (ext3, reiser), although problems only start after a few months. I found a bug in the bug tracker for it with multiple people confirming it and the "solution" was to wipe the package database manually every once in a while.
If you think something is missing feel free to add it =)
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!
The biggest advantage is when removing packages; its dependency resolution is (supposedly) much better so it's able to find and remove orphan packages more accurately without hosing your system.
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.
apt-get also is able to remove orphaned libraries.
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).
Aptitude has an optional screen-oriented GUI, much better search and filtering capabilities, a listing of "new" packages each time you update, and an excellent dependency resolver.
On Debian, I definitely use aptitude. However it hasn't been updated for Ubuntu's recent work on multiarch, and thus actions requiring dependency resolution are not usable anymore on many Oneiric installs (those that are amd64 with a few i586 packages).
I think there's a perception that aptitude can be to smart for its own good. From the Debian Reference:
"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."
Aptitude handles package removal, especially orphaned dependencies much better. I think it's now included in the Debian base system, so there's very little reason to prefer apt.
I actually use apt-get because I like to keep my system with the least amount of packages installed. I don't need any of the "recommended" packages, and if I do I'd install them manually.
Also, I usually use deborphan to find orphaned packages and remove them, if apt-get autoremove didn't find them.
You probably already know this, but apt-get defaults to installing recommended packages since Debian Lenny. Ubuntu may have been doing it for longer. To disable this, you have to set 'APT::Install-Recommends "false";' in apt.conf
31 comments
[ 2.1 ms ] story [ 26.4 ms ] threadUse 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:
The list goes on.It's also got an awesome ncurses based interactive interface if you just type:
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....
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.
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.