Apt-get für eine andere Partition / Verzeichnis?
-
08-10-2019 - |
Frage
Ich habe mein System von einer Live-CD Ubuntu gebootet, und ich brauche einige Paket-Probleme zu beheben. Ich habe meine Festplatte angebracht ist, und jetzt will ich apt-get, als ob ich normal gestartet. dh das Arbeitsverzeichnis für ändern apt-get, so dass es auf meiner Festplatte funktioniert. Ich habe das schon mal gemacht, aber ich kann die Syntax nicht erinnern. Ich glaube, es war nur einige Flagge, wie folgt aus:
apt-get --root-directory=/mnt/partition1 install....
Aber ich nur bekommen „Kommandozeilenoption ... nicht verstanden“. Irgendwelche Ideen?
Lösung
chroot / mnt / partition1
Wenn Ihr System verwendet mehrere Festplattenpartitionen Sie können einige von ihnen zu montieren, um das Paket-System zum Laufen zu bringen (ich aufgehört vor mehrere Partitionen 10 Jahren einrichten, wenn Festplatten gestartet zu groß bekommen für rohe physische Sicherung).
Das würde nicht funktionieren, wenn Sie nicht bereits ein brauchbares Debian-System haben in diesem Ort. - akostadinov
Wenn Sie das Paket nicht System bekommen kann arbeiten, wenn chrooten, vielleicht ist es auch vermasselt zu immer wieder vertraut werden - nach meiner Erfahrung die Mühe zum Leben zu bringen sie zurück zahlt selten. Wenn das passiert, freuen Sie immer noch Ihre HD zugreifen können, sichern Sie Ihre Daten und eine saubere Neuinstallation durchführen.
Einige relevante Kommentare von anderen Antwort:
apt-get -o RootDir = / tmp / test_apt Sets (fast) alle Wege in den verschiedenen Wurzel sein. 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 apt ist in dieser Wurzel zur Arbeit zu gehen. Es kann sogar Arbeit als Nicht-Root-Benutzer, wenn Sie fügen Sie die Option -o Debug :: NoLocking = 1. Die nolock Option ist notwendig, weil ich nicht einen Weg, um die Sperrdatei innerhalb des verschiedenen Stammverzeichnisses gefunden. - akostadinov
Arbeitsmittel mit Such- und Download-Pakete und solche Operationen. Eigentlich ist die Installation nicht möglich, wenn einige wesentliche Pakete nicht bereits vorhanden sind. debootstrap kann helfen, wenn das Ziel tatsächlich Pakete in einer neuen Wurzel aus irgendeinem Grunde zu installieren. - akostadinov
Andere Tipps
Auch sollte diese Arbeit:
sudo apt-get -o Dir=/media/partitioni1 update
chroot /mnt/partition1
Rennen wird eine neue Shell starten, in dem die Wurzel des Dateisystems /mnt/partition1
ist. Unter der Annahme der apt-get
auf Ihrer Festplatte noch funktioniert richtig, können Sie von dort aus gehen.
dpkg --root=/mnt/partition1 -i mypackage.deb
ist eine Option, die nicht chroot
erfordert, aber nicht erforderlich, dass Sie das Paket selbst herunterladen.