Вопрос

Я загрузил мою систему с Live Ubuntu CD, и мне нужно исправить некоторые проблемы с пакетами. Я установил мой жесткий диск, и теперь я хочу запустить APT-Get, как будто я загрузился нормально. Т.е. измените рабочий каталог для APT-GET, чтобы он будет работать на моем жестком диске. Я сделал это раньше, но я не могу вспомнить синтаксис. Я думаю, что это был только какой-то флаг, как это:

apt-get --root-directory=/mnt/partition1 install....

Но я только получаю «Вариант командной строки ... не понят». Есть идеи?

Это было полезно?

Решение

chroot / mnt / partition1

Если ваша система использует несколько разделов на диске, вам может придеться установить некоторые из них, чтобы получить работу системы пакета (я перестал создавать несколько разделов 10 лет назад, когда жесткие диски стали слишком большими для необработанного физического резервного копирования).

Это не будет работать, если у вас еще нет используемая система Debian в этом месте. - Акостадинов

Если вы не можете получить пакетную систему, работающую, когда Chrooting, возможно, она слишком испорчена, чтобы когда-либо снова доверять - в моем опыте усилия, чтобы вернуть его в жизнь, редко платит. Если это произойдет, будьте счастливы, вы все еще можете получить доступ к вашему HD, резервное копирование ваших данных и выполнить чистую переустановку.

Некоторые соответствующие комментарии из другого ответа:

apt-get -o rootdir = / tmp / test_apt наборы (почти) Все пути быть в другом корне. BTW в бегущей системе, если вы копируете / etc / apt, / usr / lib / apt, а mkdir -p usr / lib etc var / cache var / lib / dpkg var / lib / apt / lists / partial var / cache / APT / Archives / Partial и, наконец, коснитесь var / lib / dpkg / state, то apt будет работать в этом корне. Это может даже работать как пользователь без root, если добавить опцию -o Debug :: Nolocking = 1. Опция Nolock необходима, потому что я не смог найти способ установить файл блокировки внутри другого корневого каталога. - Акостадинов

Работа означает использование поиска и загрузки пакетов и таких операций. На самом деле установка невозможна, если некоторые важные пакеты уже нет. Debootstrap может помочь, если цель фактически устанавливает пакеты в новом корне для любой причины. - Акостадинов

Другие советы

Также это должно работать:

sudo apt-get -o Dir=/media/partitioni1 update

Бег chroot /mnt/partition1 начнет новую оболочку, в которой корня файловой системы /mnt/partition1. Отказ Предполагая apt-get На вашем жестком диске все еще работает правильно, вы можете отправиться оттуда.

dpkg --root=/mnt/partition1 -i mypackage.deb это вариант, который не требует chroot, но требует, чтобы вы загрузили пакет самостоятельно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top