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. Bilde:Deb_oppbygning.png

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å


Personal tools