Восстановление от живого USB

Я предполагаю, что я могу изменить точку, на которой скрипт работает, возился с параметром просязания

, который будет иметь противоположный эффект того, что вы хотите. Из MAN SYSTEMD.UNIT :

Weymentby =, требуется, требуется =

[...] символическая ссылка создана в .wants / или .requires / каталог каждого из перечисленных единиц, когда Этот агрегат устанавливается SystemCTL Enable. Это влияет, что зависимость типа хочет = Или требуется = добавляется из перечисленного блока к текущему блоку .

На основании этого мы можем видеть правильную опцию подразделения «Хочет» или «требует»; На основании описания тех, «требуется», вероятно, является правильным, с добавлением «после», чтобы обеспечить не только то, что сетевая служба будет запускаться, но она выполняется до этого устройства.

Ни один из вариантов устройства, AFAIK, не может включать в себя условие, что начало Perquisite должен выполнить или достичь определенного момента (сетевая служба, вероятно, является услугой демона), только что его запускается . Имея в виду, что вы можете сделать свой скрипт тип = выпукать и бросить здоровую задержку (скажем, 30 секунд) или какой-то цикл выхода на успех, включая задержку, чтобы сделать уверен, что у вас первый аренду DHCP.

1
10.12.2014, 18:24
2 ответа

Загрузите нужный вам пакет(ы) и используйте --instdir с опцией --instdir:

dpkg --instdir=/path/to/mounted/HDD --install yourpackage.deb

вы можете использовать --purge (также с помощью соответствующего --instdir! !) сначала, если dpkg не хочет перезаписывать половину установленного пакета.

0
28.01.2020, 01:48

Исправление

Самый простой способ сделать это - создать chroot, а затем выполнить операции восстановления внутри chroot. Вы делаете это следующим образом:

  1. Убедитесь, что сеть работает вне chroot. Выполните sudo ifconfig .
  2. Создайте точку монтирования для вашей установки, которую необходимо исправить. Выполните sudo mkdir -pv / mnt / mymint
  3. Теперь смонтируйте вашу установку. Проблема sudo mount -v -t ext4 / dev / sdX , где X - буква корневого раздела. Вам может потребоваться изменить параметр -t в зависимости от вашей файловой системы.
  4. Проверьте свой раздел подкачки. Проблема sudo swapon / dev / sdY , где Y - ваш раздел подкачки.
  5. Выполните следующие команды для синхронизации LiveDisk с вашей установкой:
    mount -t proc proc / mnt / mymint / proc
    mount --rbind / sys / mnt / mymint / sys
    mount - -rbind / dev / mnt / mymint / dev
  6. Введите ваш корень изменений. Проблема:
    chroot / mnt / mymint / bin / bash
    source / etc / profile
    export PS1 = "(chroot) $ PS1"
  7. Теперь нам не нужно использовать какие-либо дополнительные параметры с любые цели, как в ответе Антона. Мы можем использовать apt-get (сделайте это для всех сломанных пакетов):
    sudo apt-get remove --purge brokenpackagename && sudo apt-get-install packagename
  8. Перезагрузка. Проблема:
    exit
    umount -l / mnt / mymint / dev {/ shm, / pts,}
    umount / mnt / mymint {/ boot, / sys, / proc,}
    перезагрузка

Reasoning

Мое личное мнение таково, что использование корня-чейнджера - самый безопасный подход, потому что таким образом ничто из LiveCD / USB не мешает работе вашей системы.Я допускаю, что такой подход, вероятно, отпугивает некоторых новых пользователей, но могу заверить вас, что это работает, поскольку это метод, который Gentoo Distribution использует для новых установок. Если интересно, см. главу 6 Руководства по установке Gentoo .

0
28.01.2020, 01:48

Теги

Похожие вопросы