Difference between revisions of "Dpkg"
From Linuxintro
imported>ThorstenStaerk |
imported>ThorstenStaerk m (Reverted edits by 188.143.232.32 (talk) to last revision by ThorstenStaerk) |
||
(15 intermediate revisions by 5 users not shown) | |||
Line 2: | Line 2: | ||
Here are package management issues and how you achieve them using dpkg or rpm. | Here are package management issues and how you achieve them using dpkg or rpm. | ||
+ | __TOC__ | ||
+ | |||
+ | = Overview = | ||
{| border=1 | {| border=1 | ||
! Issue | ! Issue | ||
Line 19: | Line 22: | ||
| find what package provides the installed file ''/bin/ls'' || rpm -qf ''/bin/ls'' || dpkg --search ''/bin/ls'' | | find what package provides the installed file ''/bin/ls'' || rpm -qf ''/bin/ls'' || dpkg --search ''/bin/ls'' | ||
|- | |- | ||
− | | look at a package file description || || dpkg -I ''file.deb'' | + | | 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'' | | look at a package description || rpm -qi ''package'' || apt-cache show ''package'' | ||
Line 28: | Line 31: | ||
|- | |- | ||
| extract a package || rpm2cpio blah.rpm <nowiki>|</nowiki> cpio -id || dpkg -x datei.deb ''target_folder'' | | extract a package || rpm2cpio blah.rpm <nowiki>|</nowiki> 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 = | = TroubleShooting = | ||
− | == | + | == Unmet dependencies == |
<pre> | <pre> | ||
root@lvps83-169-3-117:~# apt-get install kde | root@lvps83-169-3-117:~# apt-get install kde | ||
Line 56: | Line 61: | ||
</pre> | </pre> | ||
Once solution was to remove a postuninstall script, /var/lib/dpkg/info/psa-imp.postrm | 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 | ||
+ | <pre> | ||
+ | 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? | ||
+ | </pre> | ||
+ | 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* |
Latest revision as of 07:32, 15 January 2016
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*