Dpkg

Allikas: Pingviini viki

dpkg on Debiani ja temal põhinevate distributsioonide .deb pakettide paigaldamiseks mõeldud programm. Dpkg'd kasutavad põhjana pakettide installimiseks nii apt kui ka aptitude. Dpkg otsene kasutamine on vajalik, kui Te olete ise internetiavarustest hankinud .deb paki. (dpkg-le arendatakse ka graafilist frontendi - gdebi, mis on saadaval nt. Ubuntu Dapperis) Järgnevalt on toodud peamised tegevused, mida vaja läheb.

Näpunäited

  • Peate olema root kasutaja õigustega.
  • Ubuntus tuleb kasutada käskude ees sudo-t
  • Kõigis järgnevates käskudes on pakett-i all mõeldud Teie rakendust või paketti, mida süsteemi soovite paigaldada.
  • Juhul, kui te ei viitsi või ei tea täpset paketi nime, siis võite kirjutada osa ta nimest ja lõpu panna tärni (*) või kasutada TAB klahvi nimede lõpetamiseks.

Näide:

dpkg --tegevus pake*

Sooritatakse tegevus kõigi pakettidega, mille nimi algab pake-ga (paigaldamiseks, lahtipakkimiseks ja häälestamiseks peab failinimi sisaldama teed vastava deb-failini).

Paketi paigaldamine

dpkg --install pakett

või

dpkg -i pakett

Paigaldab süsteemi Teie tõmmatud paketi. Peate asuma samas kataloogis, kus asub .deb pakett, mida soovite paigaldada.

Paketi eemaldamine

Lihtsalt paketi süsteemist eemaldamiseks kasutage:

dpkg --remove pakett

Kasutada võib ka APT-i:

apt-get remove pakett

Kuid sellega jäetakse süsteemi alles erinevad konfiguratsiooni failid, mis paketiga seotud olid. Kui soovite ka need eemaldada süsteemist, siis kasutage käsku:

dpkg --purge pakett

või

apt-get remove --purge pakett

Paketi info saamine

Selleks, et saada infot paketi kohta, kasutage järgnevat käsku:

dpkg --print-avail pakett

Infot on võimalik saada kõigi pakettide kohta, mis Teie süsteemi on paigaldatud. Näiteks soovisin rohkem teada Alieni kohta, siis sain järgneva tulemuse:

suvi@compaq:~$ dpkg --print-avail alien
Package: alien
Priority: optional
Section: admin
Installed-Size: 288
Maintainer: Joey Hess <joeyh@debian.org>
Architecture: all
Version: 8.53
Depends: debhelper (>= 3), perl (>= 5.6.0-16), rpm (>= 2.4.4-2), dpkg-dev, make, cpio
Suggests: patch, bzip2, lsb-rpm, lintian
Size: 115550
Description: install non-native packages with dpkg
 Alien allows you to convert LSB, Red Hat, Stampede and Slackware Packages
 into Debian packages, which can be installed with dpkg.
 .
 It can also generate packages of any of the other formats.
 .
 This is a tool only suitable for binary packages.

suvi@compaq:~$

Paketi staatuse vaatamine

Juhul, kui soovite mõne süsteemis oleva paketi hetke staatust vaadata, siis saate seda teha käsuga:

dpkg --status pakett

Näiteks soovisin vaadata paketi alieni staatust:

suvi@compaq:~$ dpkg --status alien
Package: alien
Status: install ok installed
Priority: optional
Section: admin
Installed-Size: 288
Maintainer: Joey Hess <joeyh@debian.org>
Architecture: all
Version: 8.53
Depends: debhelper (>= 3), perl (>= 5.6.0-16), rpm (>= 2.4.4-2), dpkg-dev, make, cpio
Suggests: patch, bzip2, lsb-rpm, lintian
Description: install non-native packages with dpkg
 Alien allows you to convert LSB, Red Hat, Stampede and Slackware Packages
 into Debian packages, which can be installed with dpkg.
 .
 It can also generate packages of any of the other formats.
 .
 This is a tool only suitable for binary packages.

suvi@compaq:~$                          

Millised failid paketiga paigaldati ja kuhu?

Juhul, kui vajate infot paketi poolt paigaldatud failide kohta, on siin abiks käsk:

dpkg --listfiles pakett

Näiteks soovisin näha, mis failid ja kuhu paigaldati alieniga, siis selle tulemus on:

suvi@compaq:~$ dpkg --listfiles alien
/.
/usr
/usr/share
/usr/share/perl5
/usr/share/perl5/Alien
/usr/share/perl5/Alien/Package.pm
/usr/share/perl5/Alien/Package
/usr/share/perl5/Alien/Package/Tgz.pm
/usr/share/perl5/Alien/Package/Deb.pm
/usr/share/perl5/Alien/Package/Rpm.pm
/usr/share/perl5/Alien/Package/Pkg.pm
/usr/share/perl5/Alien/Package/Lsb.pm
/usr/share/perl5/Alien/Package/Slp.pm
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/alien.1p.gz
/usr/share/man/man3
/usr/share/man/man3/Alien::Package::Rpm.3pm.gz
/usr/share/man/man3/Alien::Package.3pm.gz
/usr/share/man/man3/Alien::Package::Pkg.3pm.gz
/usr/share/man/man3/Alien::Package::Lsb.3pm.gz
/usr/share/man/man3/Alien::Package::Slp.3pm.gz
/usr/share/man/man3/Alien::Package::Deb.3pm.gz
/usr/share/man/man3/Alien::Package::Tgz.3pm.gz
/usr/share/alien
/usr/share/alien/patches
/usr/share/alien/patches/jdk_1.5.0-1.diff.gz
/usr/share/alien/patches/motif_2.1.10-7.diff.gz
/usr/share/alien/patches/openmotif-devel_2.1.30-1.diff.gz
/usr/share/alien/patches/openmotif_2.1.30-1.diff.gz
/usr/share/alien/patches/j2sdk_1.4.2_05-1.diff.gz
/usr/share/alien/patches/motif-devel_2.1.10-7.diff.gz
/usr/share/doc
/usr/share/doc/alien
/usr/share/doc/alien/README
/usr/share/doc/alien/gendiff.txt
/usr/share/doc/alien/copyright
/usr/share/doc/alien/changelog.gz
/usr/bin
/usr/bin/alien
/var
/var/lib
/var/lib/alien

suvi@compaq:~$

Kasulik nipp süsteemi kloonimiseks

Vahel on tarvis paigaldada olemasolev komplekt tarkvara ka teise arvutisse. Selleks on dpkg-s hääd võmalused. Kõigepealt salvestame olemasoleva komplekti:

dpkg --get-selections > kogu_tarkvara.txt

Ja sama komplekti paigaldamiseks tuleb administraatori õigustes öelda:

dpkg --set-selections < kogu_tarkvara.txt
apt-get dselect-upgrade

Mõningad elementaarsed eeldused peavad olema siiski täidetud (samad distrod, samad pakihoidlad jne ).

Probleemide lahendamine

Kui mõne paketi paigaldamine pooleli jääb, siis saab lasta dpkg-l proovida kõiki laokil pakette üle seadistada:

dpkg --configure -a

Kui mõne paketifaili allalaadimine jääb pooleli ja kuskil on vigane arhiiv, siis aitab:

sudo apt-get clean

Vaata ka