Kao Debian administrator, morati cete rutinski baratati sa .deb
paketima, obzirom da oni sadrže konzistentne funkcinalne jedinice (aplikacije, dokumentaciju, itd.), čiju instalaciju i održavanje olakšavaju. Stoga je dobra ideja znati što su oni i kako ih upotrebljavati.
Ovo poglavlje opisuje strukturu i sadržaj "binarnog" i "izvornog" paketa. Binarne su .deb
datoteke direktno primijenjive koristeći dpkg
, dok izvorni dio sadrži izvorni kod, kao i instrukcije za kreiranje binarnog paketa.
5.1. Struktura Binarnog paketa
Format Debian paketa je dizajniran na način da njegov sadržaj može biti raspakiran na bilo kojoj Unix platformi koja podržava klasične naredbe kao ar
, tar
, te gzip
( katkada xz
ili bzip2
). Ova naočigled trivijalna mogućnost je važna zbog skalabilnosti i te u slučaju povratka podataka.
Zamislite da ste npr. slučajno obrisali dpkg
program," i da više ne možete instalirati Debian pakete. Kako je dpkg
paket sam po sebi, izgleda da je vas sustav gotov... Srećom, znate koji je format paketa te možete preuzeti .deb
datoteku sa naglaskom na dpkg paket te ga instalirati ručno (pogledaj ALATI bočnu traku). Ako pak slučajem neke nesreće jedan ili više od programa ar
, tar
ili gzip
/xz
/bzip2
nedostaju, trebate ih samo kopirati iz nekog drugog sistema (kako je svaki od njih kompletno autonoman, bez međuovisnosti, jednostavno kopiranje je dostatno).
Pogledajte u sadržaj .deb
datoteke:
$
ar t dpkg_1.16.10_amd64.deb
debian-binary
control.tar.gz
data.tar.gz
$
ar x dpkg_1.16.10_i386.deb
$
ls
control.tar.gz data.tar.gz debian-binary dpkg_1.16.10_i386.deb
$
tar tzf data.tar.gz | head -n 15
./
./var/
./var/lib/
./var/lib/dpkg/
./var/lib/dpkg/updates/
./var/lib/dpkg/alternatives/
./var/lib/dpkg/info/
./var/lib/dpkg/parts/
./usr/
./usr/share/
./usr/share/locale/
./usr/share/locale/sv/
./usr/share/locale/sv/LC_MESSAGES/
./usr/share/locale/sv/LC_MESSAGES/dpkg.mo
./usr/share/locale/it/
$
tar tzf control.tar.gz
./
./conffiles
./preinst
./md5sums
./control
./postrm
./prerm
./postinst
$
cat debian-binary
2.0
Kao što vidite, ar
arhiva Debian paketa je sačinjena od tri datoteke:
debian-binary
. This is a text file which simply indicates the version of the .deb
file used (in 2013: version 2.0).
control.tar.gz
. Ova arhiva sadrži sve dostupne meta-informacije, kao šta su ime i verzija paketa. Neke od tih meta-informacija im omogućuju procjenu da li se paket može ili ne može instalirati, kao i ukloniti, a sve to u sukladnosti sa listom postojećih paketa u sustavu.
data.tar.gz
. Ova arhiva sadrži sve datoteke koje se mogu raspakirati iz paketa; tu su izvršne datoteke, dokumentacija, itd. Neki paketi koriste druge metode kompresije, i u tom slučaju imaju drugačiji naziv (data.tar.bz2
za bzip2, data.tar.xz
za XZ, data.tar.lzma
za LZMA).