Package management cheatsheet

In the servers world, software packages came in a variety of formats and could be installed in different ways. This cheat-sheet collects day by day operations with software performed by typical System Administrator on servers what runs Linux and BSD.
Basic operations
Inludes install, upgrade, and removal options.
Install
RPM based
rpm -ivh package-name.rpm
yum install package-name
zypper install package-name
DEB based
dpkg -i package-name.deb
apt-get install package-name
aptitude install package-name
Gentoo based
emerge -av ebuild
FreeBSD based
cd /usr/ports/package-name && make install clean
pkg_add -r package-name
Update
RPM based
rpm -Uvh package-name.rpm
yum update package-name
zypper up package-name
DEB based
apt-get install package-name
aptitude install package-name
Gentoo based
emerge -uDv package-name
FreeBSD based
portmanager port-name -l -u -f
Remove
RPM based
rpm -e package-name.rpm
yum remove package-name
zypper remove package-name
DEB based
dpkg -r package-name.deb
apt-get remove package-name
aptitude remove package-name
Gentoo based
emerge -Cav ebuild
FreeBSD based
pkg_delete package-name-version
Search for a package
RPM based
yum search keyword
zypper se keyword
DEB based
apt-cache search keyword
dpkg -C
Gentoo based
emerge -s keyword
emerge -S keyword
FreeBSD based
whereis package-name
cd /usr/ports; make search name=package-name
find /usr/ports -name package-name
pkg_info -W package-name
List contents of package
RPM based
rpm -qvl package-name.rpm
DEB based
dpkg -c package-name.deb
Gentoo based
qlist package-name.deb
FreeBSD based
pkg_info -L package_name
List all installed packages
RPM based
rpm -qvia
yum list available
DEB based
dpkg -l
Gentoo based
qpkg -I
FreeBSD based
pkg_info
pkg_info -a
Print information about a package
RPM based
rpm -qpi package-name.rpm
zypper info package-name
DEB based
dpkg -I package-name.deb
dpkg -p package-name
Gentoo based
emerge -pv ebuild
FreeBSD based
pkg_info | grep package-name
Integrity check
RPM based
rpm -Va
rpm -Vp package-name.rpm
DEB based
debsums -a
Gentoo based
qcheck package_name
Determine to which package a file belongs
RPM based
rpm -qf /path/to/file
DEB based
dpkg -S /path/to/file
Gentoo based
qpkg -f /path/to/file
qfile /path/to/file
FreeBSD based
pkg_info -W /path/to/file
Update packages tree
RPM based
yum check-update
DEB based
apt-get update
aptitude update
Gentoo based
emerge --sync
FreeBSD based
cvsup ports-supfile
portsnap fetch extract
Update all installed packages and userland
RPM based
yum update
DEB based
apt-get update && apt-get upgrade
Gentoo based
emerge -eav world
FreeBSD based
portmaster -ai
portmanager -u
portupgrade -a
freebsd-update upgrade
List outdated packages
RPM based
yum list updates
DEB based
apt-get upgrade --just-print
apt-get upgrade -u
apt-show-versions -u
Gentoo based
emerge -eapv world
FreeBSD based
pkg_version -vIL=
Show package dependencies
RPM based
rpm -qpR package-name.rpm
yum deplist package-name
DEB based
apt-cache depends package-name
apt-rdepends -d package-name
Gentoo based
emerge -tp ebuild
equery depends ebuild
FreeBSD based
pkg_info -L package_name
Props on the article!
Nice OS taste, it was very pleasing to see some of my favourites OS in the article: FreeBSD, Gentoo and Debian.
Notice a little snag on the "Update packages tree" section for FreeBSD. "portupgrade -a" and "freebsd-update fetch" don't update the package tree.
Portupgrade like the name implies, updates your installed ports according to the ports tree on you computer (regardless if that tree is up to date with FreeBSD servers).
freebsd-update updates the the kernel and userland, it doesn't touch anything regarding ports and third party applications.
Personally to update my third party applications after syncing my ports tree I use portmaster with the -aD flag.
Keep the good stuff coming
Thanks for the notes. Post updated
I am missing Opensuse with the command line tool zypper.
Thanks for the note, I'll update the cheat-sheet soon