Apt-get für eine andere partition/Verzeichnis?
Habe ich gebootet mein system von einer live-Ubuntu CD, und ich brauche, um zu beheben einige Paket Probleme. Ich montiert meine Festplatte, und jetzt will ich apt-get als wenn ich normal gebootet. dh ändern Sie das Arbeitsverzeichnis für apt-get, es wird also Arbeit auf meiner Festplatte. Ich habe dies getan, bevor, aber ich kann mich nicht erinnern, die syntax. Ich denke, es war nur irgendein flag, wie diese:
apt-get --root-directory=/mnt/partition1 install....
Aber ich bekomme nur "Command-line-option...ist nicht verstanden". Irgendwelche Ideen?
Frage ist nicht über die Programmierung. Wahrscheinlich gehört auf Serverfault. (Moderatoren migrieren, wenn nötig, nicht kopieren&fügen Sie es auf Serverfault)
InformationsquelleAutor Avall | 2010-10-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
chroot /mnt/partition1
Wenn Ihr system mehrere Festplatten-Partitionen zu mounten einige von Ihnen, um das Paket-system arbeiten (ich hörte auf die Einrichtung mehrerer Partitionen 10 Jahren, als Festplatten, begann Sie zu groß für rohe physische Sicherung).
Wenn Sie nicht bekommen kann das package-system zu arbeiten, wenn chroot, vielleicht ist es noch zu Durcheinander, um überhaupt vertraut werden wieder - in meiner Erfahrung ist die Mühe, um es wieder zum Leben erwecken nur selten bezahlt. Wenn das passiert, glücklich sein können Sie immer noch Zugriff auf deine HD, sichern Sie Ihre Daten und führen Sie eine saubere Neuinstallation.
Einige relevante Kommentare von anderen beantworten:
Wenn Sie nicht bekommen kann das package-system zu arbeiten, wenn chroot, es ist zu versaut sind, immer trusted wieder - in meiner Erfahrung ist die Mühe, um es wieder zum Leben erwecken nur selten bezahlt. Mein Rat ist: seien Sie glücklich, Sie kann immer noch Zugriff auf deine HD, sichern Sie Ihre Daten und führen Sie eine saubere Neuinstallation.
InformationsquelleAutor Paulo Scardine
Auch dies funktionieren sollte:
apt-get
Lösung, die ich übersehen!apt-get-o RootDir=/tmp/test_apt setzt (fast) alle Pfade werden in den verschiedenen root. btw auf einem Laufenden system, wenn Sie kopieren, /etc/apt /usr/lib/apt und mkdir -p usr/lib etc var/cache/var / lib/dpkg/var / lib/apt/lists/partial var/cache/apt/archives/partial und schließlich berühren var/lib/dpkg/status", dann ist apt in root. Es können auch arbeiten als nicht-root-Benutzer, wenn Sie fügen Sie die option -o Debug::NoLocking=1. Der nolock-option ist notwendig, weil ich konnte nicht einen Weg finden, die lock-Datei innerhalb der verschiedenen root-Verzeichnis.
Arbeit bedeutet, mit der Suche und das herunterladen der Pakete und solche Operationen. Zu installieren ist nicht möglich, wenn einige grundlegende Pakete, die nicht bereits vorhanden sind. debootstrap kann helfen, wenn das Ziel ist eigentlich die Installation von Paketen in einem neuen root-aus welchem Grund auch immer.
Ihre Kommentare können geschrieben werden, als eine gute Antwort hier.
InformationsquelleAutor enzotib
Läuft
chroot /mnt/partition1
wird eine neue shell starten, in dem die Wurzel des Dateisystems ist/mnt/partition1
. Vorausgesetzt, dieapt-get
auf Ihr Festplattenlaufwerk noch korrekt funktioniert, können Sie gehen von dort aus.dpkg --root=/mnt/partition1 -i mypackage.deb
ist eine option, die nicht erforderlich istchroot
, aber nicht verlangen, dass Sie das Paket herunterladen sich selbst.InformationsquelleAutor Jander