Deb
Fra Wikipedia, den frie encyklopedi.
deb er pakkeformatet til Debian, og brukes også av distribusjoner som bygger på debian, for eksempel Ubuntu. For å behandle deb-pakker, brukes pakkebehandleren dpkg.
| Innholdsfortegnelse |
Egenskaper til en deb-pakke
Vi kan raskt se på filnavnet til en deb-pakke hva pakken inneholder og andre viktige egenskaper.
Pakkenavn
Navnet til en pakke sier vanligvis hvilket program eller bibliotek pakken inneholder. Starter pakkenavnet med lib, inneholder pakken et bibliotek. Hvis pakkenavnet slutter på -dev, inneholder pakken filer som trengs for utvikling av programmer som baserer seg på pakken. Hvis pakkenavnet slutter på -doc, inneholder pakken dokumentasjon. I dette tilfellet inneholder pakken nettleseren Mozilla.
Versjon
Versjonen er ganske enkelt versjonen av innholdet i pakken. I dette tilfellet inneholder pakken Mozilla versjon 1.7.8.
Utgivelse
Utgivelsen er versjonen av selve pakken og ikke innholdet. Hvis det er en feil i pakkeoppbygningen, lages en ny pakke hvor utgivelsestallet øker. Dette skilles fra versjonen ved at versjonen er versjonen av innholdet i pakket og utgivelsestallet er versjonen av selve pakken. I dette eksempelet har vi å gjøre med første utgivelse av Mozilla versjon 1.7.8.
Arkitektur
Arkitekturen forteller hvilken arkitektur pakken er bygget for. En pakke bygget for i386 vil ikke fungere på en PPC-maskin. Pakker som fungerer på alle arkitekturer, for eksempel dokumentasjon, har all som arkitektur. I dette eksempelet er pakken bygget for i386.
Oppbygning av en deb-pakke
En deb-pakke er egentlig et ar-arkiv som inneholder tre filer. Hvis du ikke har dpkg tilgjengelig, kan du pakke opp en deb-pakke med ar. Inni deb-pakken finner vi:
- debian_binary: Dette er en tekstfil som forteller hvilken versjon av pakkeformatet som er brukt. Dette har ingenting med versjonen av pakkens innhold eller utgivelsen å gjøre. Den versjonen som brukes i Debian i dag er versjon 2.0.
- control.tar.gz: Dette er et arkiv som blant annet inneholder informasjon om pakken.
- data.tar.gz: Dette er et arkiv som inneholder alle filene i pakken som blir pakket ut i roten av filsystemet når du installerer pakken.
I control.tar.gz finner vi flere filer som inneholder informasjon om pakken og andre filer som trengs for installasjon, avinstallasjon og oppsett av pakken. Ikke alle pakker inneholder alle filer.
- control: Dette er en tekstfil som inneholder informasjon om pakken, som navn, versjonsnummer, arkitektur, avhengiheter, beskrivelse og andre ting. Det er denne informasjonen du ser når du kjører apt-cache show pakkenavn.
- preinst: Dette er et skript som blir kjørt før pakken pakkes ut på filsystemet. Skriptet stopper gjerne tjenester hvis de kjører før en eventuelt oppgradering.
- postinst: Dette er et skript som blir kjørt etter at pakken er pakket ut på filsystemet. Skriptet setter opp pakken og starter tjenester.
- prerm: Dette er et skript som kjøres før pakken fjernes fra filsystemet. Skriptet stopper gjerne tjenester som kjøres.
- postrm: Dette er et skript som kjøres etter at pakken er fjernet fra filsystemet. Skriptet fjerner vanligvis filer som er laget av pakken.
- conffiles: Inneholder en liste over alle konfigurasjonsfiler som fins i pakken. Disse filene vil ikke skrives over når en pakke oppgraderes.
- md5sums: Inneholder MD5-summer for alle filene i data.tar.gz.
- config: Dette er et skript som kjøres når pakken settes opp. Skriptet kjøres også når du kjører dpkg-reconfigure pakkenavn. Det bruker vanligvis debconf, og stiller deg gjerne en del spørsmål.
- templates: Inneholder meldinger og spørsmål du får av debconf. Meldingene fins gjerne på flere språk.
- shlibs: Inneholder en liste over delte biblioteker i pakken, deres versjoner og avhengigheter.
Tips og triks
Pakke ut filer fra en deb-pakke uten å bruke dpkg
Hvis du ikke har dpkg tilgjengelig, kan du bruke ar og tar til å pakke ut innholdet av en deb-pakke:
$ ar p pakke_1.0-1_i386.deb data.tar.gz | tar zvxf -
Hvis du bare vil liste filene, kan du gjøre følgende:
$ ar p pakke_1.0-1_i386.deb data.tar.gz | tar ztf -
Se også

