1. Package Manager Cheatsheet
This matrix lists common tasks and the command arguments to perform the task with dpkg, rpm, apt, and yum. Note that apt and yum are really front-end tools for managing packages with dpkg and rpm. The RPM-oriented commands are known to work on Red Hat/Fedora; Mandrake, SUSE, etc are unknown, as some ship slightly older versions. urpmi is not included because I don't have a Mandrake installation to test it on. SysV packages are included because I'm using Solaris again frequently.
Notes on terminology:
-
<pkg-file> refers to the package as bundled into a single installable file
-
<pkg> refers to the package name
-
<file> refers to a file on the filesystem; often it actually has to be a full path
| Package Task | dpkg command | rpm command | apt command | yum command |
| Show description about <pkg> | dpkg -s <pkg> | rpm -qi <pkg> | apt-cache show <pkg> | yum info <pkg> |
| Install <pkg-file> | dpkg -i <pkg> | rpm -ivh <pkg> | apt-get install <pkg> | yum install <pkg> |
| Remove <pkg> | dpkg -r <pkg> | rpm -e <pkg> | apt-get remove <pkg> | yum remove <pkg> |
| Find package which owns <file> | dpkg -S <file> | rpm -qf <file> | N/A | yum provides <file> |
| List files in installed <pkg> | dpkg -L <pkg> | rpm -ql <pkg> | N/A | N/A |
| List files in <pkg-file> | dpkg-deb -c <pkg-file> | rpm -qlp <pkg-file> | N/A | N/A |
| List all installed packages | dpkg -l | rpm -qa | N/A | yum list installed |
| Verify integrity of installed files from <pkg> | N/A | rpm -V <pkg> | N/A | N/A |
| Verify integrity of install files from all packages | N/A | rpm -Va | N/A | N/A |
| Verify integrity of <pkg-file> | N/A | rpm -K <pkg-file> | N/A | N/A |
| Package Task | SysV (Solaris) | AIX |
| Show description about <pkg> | pkginfo -l <pkg> | lslpp -l <pkg> |
| Install <pkg-file> | pkgadd -d <pkg-file> | Varies |
| Remove <pkg> | pkgrm <pkg> | installp -u <pkg> |
| Find package which owns <file> | pkgchk -l -p <file> | lslpp -w <file> |
| List files in installed <pkg> | pkgchk -l <pkg>|awk '/^Pathname/ {print $2}' | lslpp -f <pkg> |
| List files in <pkg-file> | pkgchk -l -d <pkg-file>|awk '/^Pathname/ {print $2}' | restore -qTf <pkg-file> |
| List all installed packages | pkginfo | lslpp -l |
| Verify integrity of installed files from <pkg> | pkgchk <pkg> | lppchk -c <pkg> |
| Verify integrity of install files from all packages | pkginfo|awk '{print $2}'|xargs pkgchk | lppchk -c |
1.1. Some Useful Shell Aliases or Functions
function pkgls { pkgchk -l "$@" | awk '/^Pathname/ {print $2}'; }
See also: