NAME¶
Apt-grip – Emdebian-Grip erweitern, um Debian-Pakete auf die Schnelle
hinzuzufügen
ÜBERSICHT¶
$ sudo apt-grip foo bar baz
$ sudo apt-grip -M http://ftp.fr.debian.org/debian/ foo bar baz
$ sudo apt-grip --clean-cache
Beschreibung¶
Emdebian-Grip hat eine begrenzte Anzahl Pakete im Hauptdepot,
hauptsächlich, um die Größe der APT-Zwischenspeicherdaten
zu verringern. Gelegentlich müssen individuelle Pakete von
Standard-Debian zu einer einzelnen Maschine hinzugefügt werden, auf der
Emdebian-Grip läuft.
Apt-grip wurde zu diesem vorgesehenen Zweck
geschrieben.
Apt-grip benötigt DEB_VENDOR-Unterstützung in Dpkg, um
festzulegen wie das Paket "gegrippt" werden sollte. Standard-Vendor
ist "Emdebian-grip", aber beachten Sie den nächsten Abschnitt
der Einschränkungen von Apt-grip, falls Sie planen, es in einem
unveränderten Debian-System zu benutzen.
Es ist üblicherweise der Fall, dass bereits ein Upgrade des System auf
Emdebian-Grip durchgeführt wurde, bevor
Apt-grip benutzt wird.
Kontaktieren Sie die Mailingliste
»debian-embedded@lists.debian.org« für Anfragen, Pakete
direkt zu den Emdebian-Grip-Depots hinzuzufügen.
Das Herunterladen der Packages-Dateien kann eine angemessene Zeit dauern, geben
Sie daher, wenn Sie eine Anzahl Pakete anpacken entweder alles Pakete in einem
Befehl an oder benutzen Sie die Option "--keep-cache" für
jeden Durchgang und benutzen Sie am Ende die Option "--clean-cache".
Falls auf dem Gerät, das Grip ausführt, nicht genügend
Platz zum Herunterladen und Verarbeiten der Pakete vorhanden ist,
führen Sie »apt-grip« auf einer anderen Maschine mittels
der Optionen "--build-only" und "--arch" aus.
Die verarbeiteten Archive werden sich in
/var/lib/apt-grip/output/
befinden und können von dort direkt auf das Gerät kopiert oder
in ein lokal zugreifbares Depot eingefügt werden. Sobald es auf dem
Grip-Gerät installiert ist, benutzen Sie auf dem Rechner, auf dem das
Paket gebaut wird, "apt-grip -c", um den Zwischenspeicher zu
bereinigen. "--keep-cache" wird vorausgesetzt, wenn
"--build-only" gesetzt ist.
Beachten Sie außerdem, dass ebenso wie der Rest der
Emdebian-Verarbeitung, »Install-Recommends« immer abgeschaltet
ist, so dass Sie ein Paket, von dem Sie möchten, dass es nur von
Paketen in der Liste, die an "apt-grip" übergeben wird,
empfohlen wird, explizit zur Liste hinzufügen müssen.
Einschränkungen¶
Die Installation beliebiger Pakete von außerhalb der normalen Apt-Quellen
(insbesondere, falls diese Pakete anschließend wie in Emgrip
geändert wurden) wird diese Pakete als »lokal oder
hinfällig« in dem Paketmanagern auflisten. Von umgewandelten
Paketen kann kein Upgrade durchgeführt werden ohne den Aufruf von
"Apt-grip" zu wiederholen, weil "Apt-get" nichts vom
temporären Spiegel weiß, den "Apt-grip" zum
Herunterladen der Pakete benutzt hat. Dies kann Probleme verursachen, falls
von Abhängigkeiten zu solchen Paketen ein Upgrade durchgeführt
werden müsste. Es ist möglich, dass das Hauptsystem
"Apt" versuchen wird, diese lokalen Pakete zu entfernen, um mit dem
Upgrade des Hauptsystems fortzufahren.
Am Besten ist es, den Zusatz eines solchen Paketes zum Depot, das Sie benutzen,
in den Haupt-Apt-Quellen zu suchen. (Benutzen Sie das Paket
Emdebian-grip-server, um Ihr eigenes Depot zu erstellen.)
Ein Paket "grippen" heißt, eine neue Version (mit
Versionssuffix em1) mit weniger Dateien im neuen Paket zu erstellen. Lesen Sie
»emgrip (1)«, um ausführlichere Informationen über
diesen Vorgang zu erhalten. Verändern der Versionszeichenkette
heißt, dass einige Abhängigkeiten geändert werden
müssen – hauptsächliche strikte Abhängigkeiten.
Dies bedeutet, dass
Apt-grip bei einigen Paketkombinationen
fehlschlagen könnte.
"Apt-grip" benutzt die Option "--reinstall" von
Apt-get, um mit einigen dieser Situationen zurechtzukommen.
Fragen strikter Abhängigkeiten¶
Falls ein Quellpaket mehrere Binärpakete erstellt, von denen mindestens
ein Paket eine strikte Abhängigkeit zu einem der anderen
Binärpakete hat und eines dieser Binärpakete bereits von Debian
installiert wurde, wird es notwendig Grip-Versionen von beiden beteiligten
Binärpaketen zu installieren, so dass die strikte Abhängigkeit
eingehalten werden kann.
Quelle: foo
Paket: foo
Abhängigkeit: bar (= 0.0.1)
Paket: bar
$ sudo apt-grip foo bar
Im Beispiel oberhalb wird
foo_0.0.1_amd64.deb zu
foo_0.0.1em1_amd64.deb und es wird eine strikte Abhängigkeit zu
"bar (=0.0.1em1)" durch
Emgrip.
Standardspiegel¶
Apt-grip benutzt "
http://ftp.uk.debian.org/debian/" als
Standard-Debian-Spiegel. Benutzen Sie zum Ändern die Option
-M|--mirror.
SecureApt¶
Benutzen Sie die Option "--no-auth", um die Verwendung nicht
authentifizierter Depots zu erlauben. Beachten Sie, dass dies die
Authentifizierung gegenüber allen verfügbaren Depots
deaktiviert.
Upgrade auf Grip¶
Ändern Sie Ihre Quellenliste von Debian-Spiegeln auf
Emdebian-Grip-Spiegel.
z.B. für Unstable:
deb http://www.emdebian.org/grip/ unstable main
(Emdebian-Grip unterstützt nur Debian-Suites: »unstable«,
»sid«, »testing«, »squeeze«,
»stable«, »lenny«,
»lenny-proposed-updates«.)
Dann aktualisieren und Upgrade durchführen:
$ sudo apt-get update
$ sudo apt-get clean
$ sudo apt-get upgrade
$ sudo apt-get dist-upgrade
(Beachten Sie, dass
apt-get üblicherweise vermeldet, es sei in der
Lage mehrere hundert Megabyte freien Speicher auf Ihrem System zu schaffen,
wenn ein Upgrade einiger Ihrer Debian-Pakete auf Emdebian-Grip
durchgeführt wird, Sie aber immer noch Raum benötigen, um die
neuen Pakete tatsächlich herunterzuladen und zu entpacken.) Benutzen
Sie nach dem Upgrade "apt-get clean", um mehr freien Speicher
wiederzugewinnen.
Grip-Komponenten¶
Grip teilt das Archiv überdies, indem es neue Bereiche des Archivs
für Pakete erstellt, die im Zusammenhang mit der Entwicklung,
Fehlersuche, Dokumentation oder Java stehen, um die endgültige
Größe der auf dem System zwischengespeicherten Pakete wieder zu
verkleinern. Falls Sie "apt-grip" auf Ihrem Emdebian-Grip-System
nutzen möchten, stellen Sie sicher, dass Sie Ihren Apt-Quellen die
dev-Komponente hinzufügen.
deb http://www.emdebian.org/grip/ unstable main dev
ähnlich für
doc,
debug und
java. Andere
Komponenten könnten von Zeit zu Zeit hinzugefügt werden,
prüfen Sie daher die Emdebian-Website:
http://www.emdebian.org/grip/search.php
Fügt wie benötigt weitere Komponenten hinzu:
deb http://www.emdebian.org/grip/ unstable main dev debug java
Emdebian-Baked¶
Apt-grip wurde erweitert, um bei der Generierung von Paketen für die
Benutzung mit Emdebian-Baked zu helfen. Dies bedeutete das Hinzufügen
von Unterstützung von fremden Architekturen, als auch
Unterstützung, dass aktuell installierte Pakete auf dem Gerät
ignoriert werden, auf dem Apt-grip ausgeführt wird.
Der abweichende Teil dieses Prozesses ist die Verwaltung aktualisierter Pakete
und veränderter Abhängigkeiten. Apt-grip kann nur bei
Debian-Stable helfen.
Emdebian-Grip bekam keinen Lenny-Backport, daher muss auf Ihrer
Entwicklungsmaschine Debian-Squeeze oder Sid (Testing oder Unstable) laufen,
um ein Baked-Wurzeldateisystem zu entwickeln, das auf Lenny basiert.
Apt-grip-Beispielbefehl für Baked¶
$ sudo apt-grip -a mipsel -V emdebian-baked -S stable dash snmpd
Baked-Pakete werden dann in /var/lib/apt-grip/output/ einschließlich
aller Abhängigkeiten des angegebenen Paketes existieren. Diese
können dann in ein existierendes Reprepro-Depot eingefügt
werden.
$ reprepro includedeb stable /var/lib/apt-grip/output/*.deb
Falls Ihr Depot mehr als eine Architektur unterstützt, stellen Sie
sicher, dass Sie die »Architecture: all«-Pakete, die bereits von
Apt-grip verarbeitet wurden, entfernen oder ignorieren.
$ sudo rm /var/lib/apt-grip/output*_all.deb
Benutzen Sie dann die Reprepro-Option »-A«, um die
hinzugefügte Architektur einzuschließen:
$ reprepro -A armel includedeb stable /var/lib/apt-grip/output/*_armel.deb
Um weitere Informationen zu erhalten, lesen Sie die Emdebian-Website:
http://www.emdebian.org/baked/