Grunderna för Debian Package Management: APT och Repositories [Linux 101]
En av grunden för Debians pakethanteringssystem är DEB-paketformatet, som innehåller information om var paketet ska installeras och vilken annan programvara den behöver fungera. Men det här är bara hälften av historien ... den andra hälften är Advanced Packaging Tool, eller APT. Det är faktiskt en uppsättning verktyg som fungerar med dpkg, installationsprogrammet för DEB-paket, för att enkelt hålla ditt system uppdaterat.
APT Repositories
Den lätthet som du kan uppdatera ditt system först beror på arkiv av filer i ett APT-läsbart format. Dessa repositorier är inget annat än kataloger som innehåller följande två filer:
- Packages.gz : Det här är en lista över alla installerbara binära paket i förvaret. Om du har några paket (kanske till och med några du paketerade dig med Debreate) i en katalog kan du generera den här filen automatiskt med kommandot "dpkg-scanpackages" . Observera att den resulterande filen är Gzipped.
- Sources.gz : Det här är en lista över alla installerbara och byggbara källfiler i Debian-format. Kommandot "dpkg-scansources" kan generera den här filen. Observera att källpaket kan byggas automatiskt.
När vissa paket lever i ett förråd med en Packages.gz eller Sources.gz indexfil, behöver en användare bara konfigurera filen " /etc/apt/sources.list " för att läsa dessa index och bygga en lista över de tillgängliga paketen i alla repositories. Konfigurera " sources.list " är lika enkelt som att lägga till linjer till det i följande format:
[pakettyp] [paketplats] [distributionsnamn] [komponentnamn]
Var och en av ovanstående föremål ska separeras av ett enda utrymme. Betydelsen av var och en av dessa är följande:
- " Pakettyp ": Linjen ska börja med antingen "deb" (för att installera binärpaket från förvaret) eller "deb-src" (för att installera källpaket från förvaret).
- " Paketplats ": Det här ska vara en URI där förvaret är beläget.
- " Distributionsnamn ": "Distributionen" av ett Debian-baserat operativsystem motsvarar en release. Till exempel använder Ubuntus senaste version distributionnamnet "quantal", medan repositorier för det senaste från Linux Mint kräver "nadia".
- " Komponentnamn ": Detta beror också på distributionen, men de flesta kommer att skilja sina paket i komponenter. För Ubuntu är dessa "huvudsakliga" (gratis och stödd programvara), "begränsad" (icke-fri men stödd programvara), universum (gratis, ostödd programvara) och "multiverse" (icke-fri, icke-stödd programvara). Det finns ibland andra komponenter, som "partner" i Ubuntu för programvara som utvecklats av Canonicals partners. Observera att mer än en komponent kan anges på en enda rad i " sources.list ".
När en rad (eller rader) som ovan har lagts till i filen " sources.list " (antingen med en textredigerare eller genom ett verktyg som Software Center), uppdateras paketlistorna med följande steg:
- Gå till var och en av " paketplatserna " i filen " sources.list "
- Borra ner i " distributionen " för de platserna;
- Gå in i varje av de angivna " komponenterna " och;
- Hämta antingen Packages.gz (om "deb" är vald för pakettypen) eller Sources.gz (om linjen börjar med deb-src ).
APT Tools
Kommandot att utföra uppdateringen som refererats ovan bör se bekant:
sudo apt-get uppdatering
Programmet "apt-get" ingår i APT-samlingen av verktyg för att utföra åtgärder på paketet. De viktigaste kommandon som du behöver komma ihåg är variationer på " apt-get " (den här är den viktigaste. Lär dig hur du använder den. Allvarligt.) Och " apt-cache " (Många av "apt-get" Kommandon som jag kör är föregås av "apt-cache"). Några av de gemensamma delkommandon du behöver för dessa är (du borde köra alla dessa som root med sudo ):
- apt-get update : Uppdatering av paketlistor, som beskrivs ovan
- apt-get uppgradering : Installera det senaste paketet med någon programvara för vilken det finns en nyare version listad i indexfilen
- apt-get install [paketnamn] : Det här hämtar och installerar det angivna paketet, samt installerar någon annan nödvändig programvara för det paketet
- apt-get remove [paketnamn] : Använd avkommandot "ta bort" avinstallera ett paket, men behåll alla konfigurationsfiler som den kan ha skapat. Om du också vill bli av med dem, använd " apt-get purge ".
- apt-cache search [sökterm] : Detta kommando kommer att lista paket vars namn eller beskrivning innehåller den angivna söktermen.
- apt-cache show [paketnamn] : Detta kommando kommer att visa information om det angivna paketet.
Några ytterligare läsningar finns på Ubuntu-förpackningar och förvar för dem som vill bli lite mer involverade, och kanske även bidra med förpackning och underhåll av din favoritapplikation.