Teil 20
#. type: Content of: <book><chapter><section><para> #: offline.dbk msgid "" "This is achieved by creatively manipulating the APT configuration file. The " "essential premise to tell APT to look on a disc for it's archive files. Note " "that the disc should be formatted with a filesystem that can handle long " "file names such as ext2, fat32 or vfat." msgstr "" "Dies wird durch kreatives Manipulieren der APT-Konfigurationsdatei erreicht. " "Die wesentliche Voraussetzung besteht darin, APT mitzuteilen, dass es für " "seine Archivdateien auf einer Platte nachsieht. Beachten Sie, dass diese " "Platte mit einem Dateisystem formatiert sein sollte, das mit langen " "Dateinamen umgehen kann, so wie ext2, fat32 oder vfat."
#. type: Content of: <book><chapter><title> #: offline.dbk msgid "Using APT on both machines" msgstr "APT auf beiden Maschinen benutzen" #. type: Content of: <book><chapter><section><para> #: offline.dbk msgid "" "APT being available on both machines gives the simplest configuration. The " "basic idea is to place a copy of the status file on the disc and use the " "remote machine to fetch the latest package files and decide which packages " "to download. The disk directory structure should look like:" msgstr "" "Ein verfügbares APT auf beiden Maschinen stellt die einfachste Konfiguration " "dar. Die Grundidee besteht darin, eine Kopie der Statusdatei auf der Platte " "zu platzieren und die Maschine in der Ferne zu benutzen, um die neusten " "Paketdateien herunterzuladen und zu entscheiden, welche Pakete " "heruntergeladen werden. Die Plattenverzeichnisstruktur sollte so aussehen:" #. type: Content of: <book><chapter><section><screen> #: offline.dbk #, no-wrap msgid "" " /disc/\n" " archives/\n" " partial/\n" " lists/\n" " partial/\n" " status\n" " sources.list\n" " apt.conf\n" msgstr "" " /Platte/\n" " Archive/\n" " partial/\n" " lists/\n" " partial/\n" " status\n" " sources.list\n" " apt.conf\n" #. type: Content of: <book><chapter><section><title> #: offline.dbk msgid "The configuration file" msgstr "Die Konfigurationsdatei" #. type: Content of: <book><chapter><section><para> #: offline.dbk msgid "" "The configuration file should tell APT to store its files on the disc and to " "use the configuration files on the disc as well. The sources.list should " "contain the proper sites that you wish to use from the remote machine, and " "the status file should be a copy of <emphasis>/var/lib/dpkg/status</" "emphasis> from the <emphasis>target host</emphasis>. Please note, if you are " "using a local archive you must use copy URIs, the syntax is identical to " "file URIs." msgstr "" "Die Konfigurationsdatei sollte APT mitteilen, dass es seine Dateien auf der " "Platte speichert und obendrein die Konfigurationsdateien auf der Platte " "benutzt. Die »sources.list« sollte genau die Sites enthalten, die Sie auf " "der fernen Maschine benutzen möchten und die Statusdatei sollte eine Kopie " "von <emphasis>/var/lib/dpkg/status</emphasis> vom <emphasis>Zielrechner</" "emphasis> sein. Bitte beachten Sie, falls Sie lokale Archive benutzen, dass " "Sie »copy«-URIs benutzen müssen. Die Syntax entspricht der von »file«-URIs." #. type: Content of: <book><chapter><section><para> #: offline.dbk msgid "" "<emphasis>apt.conf</emphasis> must contain the necessary information to make " "APT use the disc:" msgstr "" "<emphasis>apt.conf</emphasis> muss die nötigen Informationen enthalten, " "damit APT die Platte benutzt:" #. type: Content of: <book><chapter><section><screen> #: offline.dbk #, no-wrap msgid "" " APT\n" " {\n" " /* This is not necessary if the two machines are the same arch, it tells\n" " the remote APT what architecture the target machine is */\n" " Architecture \"i386\";\n" "\n" " Get::Download-Only \"true\";\n" " };\n" "\n" " Dir\n" " {\n" " /* Use the disc for state information and redirect the status file from\n" " the /var/lib/dpkg default */\n" " State \"/disc/\";\n" " State::status \"status\";\n" "\n" " // Binary caches will be stored locally\n" " Cache::archives \"/disc/archives/\";\n" " Cache \"/tmp/\";\n" "\n" " // Location of the source list.\n" " Etc \"/disc/\";\n" " };\n" msgstr "" " APT\n" " {\n" " /* Dies ist nicht nötig, falls die beiden Maschinen die gleiche\n" " Architektur haben. Es teilt dem fernen APT mit, welche Architektur die\n" " Zielmaschine hat */\n" " Architecture \"i386\";\n" "\n" " Get::Download-Only \"true\";\n" " };\n" "\n" " Dir\n" " {\n" " /* Die Platte für Statusinformationen benutzen und die Statusdatei\n" " umleiten von /var/lib/dpkg default */\n" " State \"/disc/\";\n" " State::status \"status\";\n" "\n" " // Programmzwischenspeicher werden lokal gespeichert\n" " Cache::archives \"/disc/archives/\";\n" " Cache \"/tmp/\";\n" "\n" " // Ort der Quellenliste.\n" " Etc \"/disc/\";\n" " };\n" #. type: Content of: <book><chapter><section><para> #: offline.dbk msgid "" "More details can be seen by examining the apt.conf man page and the sample " "configuration file in <emphasis>/usr/share/doc/apt/examples/apt.conf</" "emphasis>." msgstr "" "Weitere Details finden sich in der apt.conf-Handbuchseite und der " "Musterkonfigurationsdatei in <emphasis>/usr/share/doc/apt/examples/apt.conf</" "emphasis>." #. type: Content of: <book><chapter><section><para> #: offline.dbk msgid "" "On the target machine the first thing to do is mount the disc and copy " "<emphasis>/var/lib/dpkg/status</emphasis> to it. You will also need to " "create the directories outlined in the Overview, <emphasis>archives/partial/" "</emphasis> and <emphasis>lists/partial/</emphasis>. Then take the disc to " "the remote machine and configure the sources.list. On the remote machine " "execute the following:" msgstr "" "Das Erste, was auf der Zielmaschine getan werden muss, ist das Einhängen der " "Platte und das Kopieren von <emphasis>/var/lib/dpkg/status</emphasis> " "dorthin. Sie werden auÃerdem die in der Ãbersicht umrissenen Verzeichnisse " "<emphasis>archives/partial/</emphasis> und <emphasis>lists/partial/</" "emphasis> erstellen müssen. Dann bringen Sie die Platte zu der fernen " "Maschine und konfigurieren Sie die »sources.list«. Führen Sie das folgende " "aus:" #. type: Content of: <book><chapter><section><screen> #: offline.dbk #, no-wrap msgid "" " # export APT_CONFIG=\"/disc/apt.conf\"\n" " # apt-get update\n" " [ APT fetches the package files ]\n" " # apt-get dist-upgrade\n" " [ APT fetches all the packages needed to upgrade the target machine ]\n" msgstr "" " # export APT_CONFIG=\"/disc/apt.conf\"\n" " # apt-get update\n" " [ APT lädt die Paketdateien herunter ]\n" " # apt-get dist-upgrade\n" " [ APT lädt all die Pakete herunter, die die Zielmaschine benötigt, um ein\n" " Upgrade durchzuführen ]\n" #. type: Content of: <book><chapter><section><para> #: offline.dbk msgid "" "The dist-upgrade command can be replaced with any other standard APT " "commands, particularly dselect-upgrade. You can even use an APT front end " "such as <emphasis>dselect</emphasis>. However this presents a problem in " "communicating your selections back to the local computer." msgstr "" "Der Befehl »dist-upgrade« kann durch alle anderen Standard-APT-Befehle " "ersetzt werden, insbesondere »dselect-upgrade«. Sie können sogar eine APT-" "Oberfläche, wie <emphasis>dselect</emphasis>, benutzen. Jedoch stellt dies " "ein Problem dar, Ihre Auswahl zurück an den lokalen Rechner zu kommunizieren." #. type: Content of: <book><chapter><section><para> #: offline.dbk msgid "" "Now the disc contains all of the index files and archives needed to upgrade " "the target machine. Take the disc back and run:" msgstr "" "Nun enthält die Platte alle Indexdateien und Archive, die nötig sind, um ein " "Upgrade der Zielmaschine druchzuführen. Bringen Sie die Platte zurück und " "starten Sie:" #. type: Content of: <book><chapter><section><screen> #: offline.dbk #, no-wrap msgid "" " # export APT_CONFIG=\"/disc/apt.conf\"\n" " # apt-get check\n" " [ APT generates a local copy of the cache files ]\n" " # apt-get --no-d -o dir::state::status=/var/lib/dpkg/status dist-upgrade\n" " [ Or any other APT command ]\n" msgstr "" " # export APT_CONFIG=\"/disc/apt.conf\"\n" " # apt-get check\n" " [ APT generiert eine lokale Kopie der Zwischenspeicherdateien ]\n" " # apt-get --no-d -o dir::state::status=/var/lib/dpkg/status dist-upgrade\n" " [ Oder irgendeinen anderen APT-Befehl ]\n" #. type: Content of: <book><chapter><section><para> #: offline.dbk msgid "" "It is necessary for proper function to re-specify the status file to be the " "local one. This is very important!" msgstr "" "Es ist für ordentliches Funktionieren notwendig, die Statusdatei erneut als " "die lokale anzugeben. Dies ist sehr wichtig!" #. type: Content of: <book><chapter><section><para> #: offline.dbk msgid "" "If you are using dselect you can do the very risky operation of copying disc/" "status to /var/lib/dpkg/status so that any selections you made on the remote " "machine are updated. I highly recommend that people only make selections on " "the local machine - but this may not always be possible. DO NOT copy the " "status file if dpkg or APT have been run in the mean time!!" msgstr "" "Wenn Sie Dselect benutzen, können Sie die sehr riskante Aktion durchführen, " "disc/status auf /var/lib/dpkg/status zu kopieren, so dass die von Ihnen " "gemachte Auswahl auf der fernen Maschine aktualisiert wird. Es wird in " "höchstem MaÃe empfohlen, dass Leute nur auf der lokalen Maschine Auswahlen " "treffen â aber dies könnte manchmal unmöglich sein. Kopieren Sie die " "Statusdatei NICHT, falls Dpkg oder APT in der Zwischenzeit benutzt wurden!" #. type: Content of: <book><chapter><title> #: offline.dbk msgid "Using APT and wget" msgstr "APT und Wget benutzen" #. type: Content of: <book><chapter><section><para> #: offline.dbk msgid "" "<emphasis>wget</emphasis> is a popular and portable download tool that can " "run on nearly any machine. Unlike the method above this requires that the " "Debian machine already has a list of available packages." msgstr "" "<emphasis>wget</emphasis> ist eine populäres und portierbares Download-" "Werkzeug, das auf nahezu jeder Maschine laufen kann. Anders als die Methode " "oben wird hierfür benötigt, dass die Debian-Maschine bereits eine Liste " "verfügbarer Pakete hat." #. type: Content of: <book><chapter><section><para> #: offline.dbk msgid "" "The basic idea is to create a disc that has only the archive files " "downloaded from the remote site. This is done by using the --print-uris " "option to apt-get and then preparing a wget script to actually fetch the " "packages." msgstr "" "Die Grundidee besteht darin, eine Platte zu erzeugen, die nur die " "heruntergeladenen Archivdateien von der fernen Site enthält. Die wird durch " "Benutzen der apt-get-Option »--print-uris« und dem anschlieÃenden " "Vorbereiten eines Wget-Skripts getan, um die eigentlichen Pakete " "herunterzuladen." #. type: Content of: <book><chapter><section><title> #: offline.dbk msgid "Operation" msgstr "Betrieb" #. type: Content of: <book><chapter><section><para> #: offline.dbk msgid "" "Unlike the previous technique no special configuration files are required. " "We merely use the standard APT commands to generate the file list." msgstr "" "Anders als bei der vorherigen Technik werden keine speziellen " "Konfigurationsdateien benötigt. Es werden lediglich die Standard-APT-Befehle " "benutzt, um die Dateiliste zu erstellen." #. type: Content of: <book><chapter><section><screen> #: offline.dbk #, no-wrap msgid "" " # apt-get dist-upgrade\n" " [ Press no when prompted, make sure you are happy with the actions ]\n" " # apt-get -qq --print-uris dist-upgrade > uris\n" " # awk '{print \"wget -O \" $2 \" \" $1}' < uris > /disc/wget-script\n" msgstr "" " # apt-get dist-upgrade \n" " [ Antworten Sie »nein« auf gestellte Fragen, wenn Sie mit den Aktionen\n" " zufrieden sind ]\n" " # apt-get -qq --print-uris dist-upgrade > uris\n" " # awk '{print \"wget -O \" $2 \" \" $1}' < uris > /Platte/wget-script\n" #. type: Content of: <book><chapter><section><para> #: offline.dbk msgid "" "Any command other than dist-upgrade could be used here, including dselect-" "upgrade." msgstr "" "Jeder andere Befehl als »dist-upgrade« könnte hier benutzt werden, " "einschlieÃlich »upgrade«." #. type: Content of: <book><chapter><section><para> #: offline.dbk msgid "" "The /disc/wget-script file will now contain a list of wget commands to " "execute in order to fetch the necessary archives. This script should be run " "with the current directory as the disc's mount point so as to save the " "output on the disc." msgstr "" "Die Datei /Platte/wget-script wird nun eine Liste der Wget-Befehle " "enthalten, um die erforderlichen Archive herunterzuladen. Dieses Skript " "sollte mit dem aktuellen Verzeichnis als Platteneinhängepunkt ausgeführt " "werden, so dass die Ausgabe auf die Platte gespeichert wird." #. type: Content of: <book><chapter><section><para> #: offline.dbk msgid "The remote machine would do something like" msgstr "Die Maschine in der Ferne würde etwas wie das folgende tun" #. type: Content of: <book><chapter><section><screen> #: offline.dbk #, no-wrap msgid "" " # cd /disc\n" " # sh -x ./wget-script\n" " [ wait.. ]\n" msgstr "" " # cd /Platte\n" " # sh -x ./wget-script\n" " [ warten ⦠Fertig ]\n" #. type: Content of: <book><chapter><section><para> #: offline.dbk msgid "" "Once the archives are downloaded and the disc returned to the Debian machine " "installation can proceed using," msgstr "" "Sobald die Archive heruntergeladen und die Platte zur Debian-Maschine " "zurückgekehrt ist, kann die Installation fortfahren durch Benutzung von " #. type: Content of: <book><chapter><section><screen> #: offline.dbk #, no-wrap msgid " # apt-get -o dir::cache::archives=\"/disc/\" dist-upgrade\n" msgstr " # apt-get -o dir::cache::archives=\"/Platte/\" dist-upgrade\n" #. type: Content of: <book><chapter><section><para> #: offline.dbk msgid "Which will use the already fetched archives on the disc." msgstr "Es wird die bereits auf die Platte heruntergeladenen Archive benutzen."