APT offline gebruiken ----------------------------------------------------------------------------- Jason Gunthorpe <jgg@debian.org> Versie 2.4.13 ----------------------------------------------------------------------------- Copyright © 1999 Jason Gunthorpe Toelichting bij de licentie "APT" en dit document zijn vrije software. U kunt ze verspreiden en/of ze aanpassen overeenkomstig de bepalingen van de GNU General Public License, versie 2 of (volgens uw keuze) iedere latere versie, zoals die door de Free Software Foundation gepubliceerd werd. Meer details en de volledige licentie vindt u op Debian-systemen in het bestand /usr/share/common-licenses/GPL. Samenvatting Dit document beschrijft hoe APT te gebruiken in een netwerkloze omgeving. Het behandelt in het bijzonder de zogenaamde 'sneaker-net'-benadering voor het uitvoeren van opwaarderingen (De sneakernet-aanpak gebruikt fysieke media in plaats van het netwerk). ----------------------------------------------------------------------------- Inhoudsopgave 1. Inleiding 1.1. Overzicht 2. Op beide computers APT gebruiken 2.1. Overzicht 2.2. Het configuratiebestand 3. APT en wget gebruiken 3.1. Overzicht 3.2. Werking Hoofdstuk 1. Inleiding Inhoudsopgave 1.1. Overzicht 1.1. Overzicht Normaal heeft APT rechtstreeks toegang tot een Debian archief nodig, ofwel op lokale media ofwel via een netwerk. Ook keert regelmatig de klacht terug dat een bepaalde Debiancomputer over een trage verbinding, zoals een modem, beschikt, terwijl er een andere computer met een zeer snelle verbinding beschikbaar is, die echter fysiek op een afstand van elkaar staan. Een oplossing hiervoor is gebruik maken van grote verwijderbare media, zoals een Zip-schijf of een SuperDisc-schijf. Dergelijke schijven zijn onvoldoende groot om een volledig Debian archief te bevatten, maar ze kunnen er met gemak een subset van bevatten die voor de meeste gebruikers voldoende groot is. Het concept is om APT te gebruiken om een lijst van pakketten samen te stellen die men nodig heeft en die dan op te halen met een computer met een goede verbinding en ze op de schijf te plaatsen. Het is zelfs mogelijk om een andere Debian-computer met APT te gebruiken of een computer met een volledig ander OS en een download-hulpmiddel zoals wget. Laten we aannemen dat 'externe-computer' de computer is die de pakketten downloadt en 'computer-in-kwestie' degene met een slechte of geen verbinding. Dit wordt gerealiseerd door op een creatieve manier het configuratiebestand van APT te manipuleren. De essentiële aanname is dat APT gezegd wordt om op een schijf te zoeken naar de archiefbestanden die het nodig heeft. Merk op dat de schijf geformatteerd moet zijn voor een bestandssysteem dat overweg kan met lange bestandsnamen, zoals ext2, fat32 of vfat. Hoofdstuk 2. Op beide computers APT gebruiken Inhoudsopgave 2.1. Overzicht 2.2. Het configuratiebestand 2.1. Overzicht Indien APT op beide computers aanwezig is, is de configuratie het makkelijkst. Het basisconcept bestaat erin om een kopie van het statusbestand op de schijf te plaatsen en 'externe-computer' te gebruiken om de meest recente pakketbestanden op te halen en uit te laten maken welke bestanden gedownload moeten worden. De mappenstructuur op de schijf moet er zo uitzien: /disc/ archives/ partial/ lists/ partial/ status sources.list apt.conf 2.2. Het configuratiebestand Het configuratiebestand moet APT opdragen om zijn bestanden op de schijf op te slaan en om ook de configuratiebestanden op de schijf te gebruiken. In het bestand sources.list moeten de eigenlijke sites vermeld staan die u vanaf 'externe-computer' wenst te gebruiken en het statusbestand moet een kopie zijn van /var/lib/dpkg/status op 'computer-in-kwestie'. Noteer dat indien u van een lokaal archief gebruik maakt, u URI's van het type copy moet gebruiken, waarvan de syntaxis identiek is aan die van URI's van het type file. apt.conf moet de informatie bevatten die nodig is om APT de schijf te doen gebruiken: APT { /* Dit is niet noodzakelijk als de twee computers dezelfde architectuur hebben. Het vertelt APT van 'externe-computer' welke architectuur 'computer-in-kwestie' heeft */ Architecture "i386"; Get::Download-Only "true"; }; Dir { /* Gebruik maken van de schijf voor statusinformatie en het statusbestand omleiden van /var/lib/dpkg wat de standaardlocatie ervan is */ State "/disc/"; State::status "status"; // Binaire caches zullen lokaal opgeslagen worden Cache::archives "/disc/archives/"; Cache "/tmp/"; // Locatie van de lijst met pakketbronnen. Etc "/disc/"; }; U krijgt meer details als u de man-pagina apt.conf raadpleegt en het voorbeeldconfiguratiebestand in /usr/share/doc/apt/examples/apt.conf. Het eerste wat moet gebeuren is op 'computer-in-kwestie' de schijf aankoppelen en /var/lib/dpkg/status er naartoe kopiëren. U zult ook de mappen moeten aanmaken die in het overzicht beschreven werden, archives/ partial/ en lists/partial/. Neem vervolgens de schijf mee naar 'externe-computer' en configureer het bestand sources.list. Voer op 'externe-computer' de volgende opdracht uit: # export APT_CONFIG="/disc/apt.conf" # apt-get update [ APT haalt de bestanden Packages op ] # apt-get dist-upgrade [ APT haalt alle pakketbestanden op die nodig zijn om 'computer-in-kwestie' op te waarderen ] Het commando dist-upgrade kan door om het even welk ander standaard commando van APT vervangen worden, in het bijzonder dselect-upgrade. U kunt zelfs een front-end voor APT gebruiken, zoals dselect. Dit stelt wel een probleem bij het opnieuw communiceren van de selecties naar 'computer-in-kwestie'. Nu bevat de schijf alle indexbestanden en archieven die nodig zijn om 'computer-in-kwestie' op te waarderen. Neem de schijf terug mee en voer het volgende uit: # export APT_CONFIG="/disc/apt.conf" # apt-get check [ APT maakt een lokale kopie van de cachebestanden aan ] # apt-get --no-d -o dir::state::status=/var/lib/dpkg/status dist-upgrade [ Of elk ander APT commando ] Met het oog op een goede werking is het nodig om opnieuw op te geven dat het statusbestand terug het lokale moet zijn. Dit is zeer belangrijk! Indien u dselect gebruikt, kunt u de zeer riskante operatie uitvoeren om disc/status naar /var/lib/dpkg/status te kopiëren, waardoor alle selecties die u op 'externe-computer' uitvoerde, bijgewerkt worden. Ik raad mensen ten stelligste aan enkel selecties uit te voeren op de lokale computer - maar het kan zijn dat dit niet altijd mogelijk is. Kopieer het statusbestand NIET indien APT of dpkg ondertussen uitgevoerd werden!! Hoofdstuk 3. APT en wget gebruiken Inhoudsopgave 3.1. Overzicht 3.2. Werking 3.1. Overzicht wget is een populair en overdraagbaar gereedschap dat bijna op elke computer gebruikt kan worden. In tegenstelling tot de voorgaande methode vereist dit wel dat de Debian-computer reeds een lijst van beschikbare pakketten heeft. Het basisconcept is om een schijf te maken waarop enkel de archiefbestanden gedownload worden vanaf de externe site. Dit gebeurt door het gebruik van de optie --print-uris van apt-get, waarna een script voor wget gemaakt wordt waarmee het eigenlijke ophalen van de pakketten uitgevoerd wordt. 3.2. Werking In tegenstelling tot de vorige techniek zijn hier geen bijzondere configuratiebestanden nodig. We maken hoofdzakelijk gebruik van de standaard commando's van APT om de bestandslijst te genereren. # apt-get dist-upgrade [ Antwoord nee op de vraag, vergewis u ervan dat u akkoord gaat met de acties ] # apt-get -qq --print-uris dist-upgrade > uris # awk '{print "wget -O " $2 " " $1}' < uris > /disc/wget-script Ook om het even welk ander commando dan dist-upgrade kon hier gebruikt worden, met inbegrip van dselect-upgrade. Het bestand /disc/wget-script zal nu een lijst van wget-commando's bevatten die uitgevoerd moeten worden om de benodigde archieven op te halen. Dit script moet uitgevoerd worden terwijl de actieve map gebruikt wordt als aankoppelpunt voor de schijf, waardoor de uitvoer op de schijf opgeslagen zal worden. Op 'externe-computer' wordt dan iets in de zin van het volgende gedaan: # cd /disc # sh -x ./wget-script [ wachten.. ] Nadat de archieven gedownload werden en de schijf terug meegenomen werd naar de Debian-computer, kan de installatie voortgezet worden met # apt-get -o dir::cache::archives="/disc/" dist-upgrade En dit zal gebruik maken van de reeds opgehaalde archieven op de schijf.
Generated by dwww version 1.14 on Wed Jan 22 13:39:59 CET 2025.