Difference between revisions of "Dpkg"

From Linuxintro
imported>ThorstenStaerk
imported>ThorstenStaerk
Line 1: Line 1:
 
dpkg is [[Debian]]'s default packaging software. However you will normally use apt-get to install Debian software.
 
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.
 
Here are package management issues and how you achieve them using dpkg or rpm.
 +
 +
__TOC__
  
 
{| border=1
 
{| border=1

Revision as of 05:22, 31 January 2012

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.

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 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*