Dpkg
From Linuxintro
dpkg is Debian's default packaging software. However you will normally use apt-get to install Debian software. Here are package management issues and how you achieve them using dpkg or rpm.
Overview
Issue | rpm | dpkg |
---|---|---|
how files are called | *.rpm | *.deb |
list all installed packages | rpm -qa | dpkg -l |
list all installed packages by order of installation date | rpm -qa --last | |
install a package from a file | rpm -i file.rpm | dpkg -i file.deb |
list package content | rpm -ql package | dpkg -L package |
find what package provides the installed file /bin/ls | rpm -qf /bin/ls | dpkg --search /bin/ls |
look at a package file description | rpm -qpl file.rpm | dpkg -I file.deb |
look at a package description | rpm -qi package | apt-cache show package |
find which installed package provides /bin/bash | rpm -qf /bin/bash | dpkg -S /bin/bash (to also search in not installed packages you can use apt-file) |
find what program provides the file Xlib.h | auto-apt search Xlib.h | |
extract a package | rpm2cpio blah.rpm | cpio -id | dpkg -x datei.deb target_folder |
remove a package, but do not run pre-uninstall scripts before | rpm -e --nopreun xyz | rm /var/lib/dpkg/info/xyz.prerm; dpkg -r xyz |
TroubleShooting
Unmet dependencies
root@lvps83-169-3-117:~# apt-get install kde Reading package lists... Done Building dependency tree Reading state information... Done You might want to run `apt-get -f install' to correct these: The following packages have unmet dependencies: kde: Depends: kde-core (>= 5:47) but it is not going to be installed Depends: kde-amusements (>= 5:47) but it is not going to be installed Depends: kdeaccessibility (>= 4:3.4.3) but it is not going to be installed Depends: kdeaddons (>= 4:3.4.3) but it is not going to be installed Depends: kdeadmin (>= 4:3.4.3) but it is not going to be installed Depends: kdeartwork (>= 4:3.4.3) but it is not going to be installed Depends: kdegraphics (>= 4:3.4.3) but it is not going to be installed Depends: kdemultimedia (>= 4:3.4.3) but it is not going to be installed Depends: kdenetwork (>= 4:3.4.3) but it is not going to be installed Depends: kdepim (>= 4:3.4.3) but it is not going to be installed Depends: kdeutils (>= 4:3.4.3) but it is not going to be installed Depends: kdewebdev (>= 4:3.4.3) but it is not going to be installed psa: Depends: libpam-plesk but it is not going to be installed E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
Once solution was to remove a postuninstall script, /var/lib/dpkg/info/psa-imp.postrm
failed to fetch
Failed to fetch http://us.archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.3/g++-4.3_4.3.3-5ubuntu4_i386.deb 404 Not Found [IP: 91.189.92.171 80]
Looking at http://us.archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.3/ it is empty. This was the case because my Ubuntu was not supported any longer.
not found
Here is an example. Calling
sudo apt-get install tcl
Gave me
Failed to fetch http://us.archive.ubuntu.com/ubuntu/pool/main/t/tcl8.4/tcl8.4_8.4.19-2_i386.deb 404 Not Found [IP: 91.189.92.171 80] E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
Now the commands
apt-get update
and
apt-get install --fix-missing tcl
did not help. Surfing to http://us.archive.ubuntu.com/ubuntu/pool/main/t/tcl8.4/ I found there is no tcl8.4_8.4.19-2_i386.deb only tcl8.4_8.4.19-3_i386.deb. So I got this one:
wget http://us.archive.ubuntu.com/ubuntu/pool/main/t/tcl8.4/tcl8.4_8.4.19-3_i386.deb
and installed it:
sudo dpkg -i tcl*