Her skal vi se på hvordan vi kan lage en enkel Debian pakke som kan installeres lokalt på Debian, Ubuntu, Raspberry Pi OS eller andre Debian avarter. I dette tilfellet skal vi lage en deb pakke, altså en Debian Binary pakke.
Strukturere pakken
Opprett en filstruktur som dette:
foo-package/
DEBIAN/
compat
control
postinst
opt/
foo/
foo.sh
Kort forklart er alt under DEBIAN filer som benyttes for å kontrollere pakken, mens alt annet definerer hvor pakken skal installeres. F.eks. her installeres det en pakke som installerer en fil på /opt/foo/foo.sh.
Innhold av filer
compat
Settes til verdien 10 for øyeblikket iht til dokumentasjon.
10
control
Package: foo
Version: 0.1.2
Maintainer: John Doe
Architecture: all
Description: a dummy Debian package
postinst
Dette er en fil som kan kjøre skript etter at pakken er installert.
#!/bin/sh
echo "The package is installed"
Merk at det tilsvarende finnes tilsvarende filer for å kjøre skript før installasjon, og for/etter avinstallasjon, hhv:
preinst(før installasjon)prerm(før avinstallasjon)postrm(etter avinstallasjon)
foo.sh
#!/bin/sh
echo "Foo"
Bruke pakken
Bygge pakken
dpkg-deb --build -Zgzip foo-package foo.deb
Dette oppretter filen foo.deb som er en Debian pakke som kan installeres.
Du kan nå vise litt informasjon om pakken som er laget med kommandoer som
# Viser informasjon om pakken
dpkg-deb --info foo.deb
# Viser pakkenavn, versjon etc
dpkg-deb --show foo.deb
# List innhold av pakken
dpkg-deb --contents foo.deb
Håndtere installert pakke
Når pakken er installert kan du sjekke litt status med kommandoer som
# Lister innhold av den installerte pakken
dpkg --listfiles foo
# Viser status
dpkg --status foo
# Viser om noen av filene er tuklet med
dpkg --verify foo
Videre skal du nå kunne se filen /opt/foo/foo.sh
Avinstallere pakken
dpkg -r foo