Product SiteDocumentation Site

Poglavlje 5. Sustav pakiranja: Alati i osnovni principi

5.1. Struktura Binarnog paketa
5.2. Meta-informacije paketa
5.2.1. Opis: control datoteka
5.2.2. Configuration Scripts
5.2.3. Checksums, List of Configuration Files
5.3. Structure of a Source Package
5.3.1. Format
5.3.2. Usage within Debian
5.4. Manipulating Packages with dpkg
5.4.1. Installing Packages
5.4.2. Package Removal
5.4.3. Querying dpkg's Database and Inspecting .deb Files
5.4.4. dpkg's Log File
5.4.5. Multi-Arch Support
5.5. Coexistence with Other Packaging Systems
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. Ovo je tekst datoteka koja jednostavno opisuje verziju .deb datoteke (u 2013: verzija 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).