Відновлення після відключення під час оновлення дистрибутива Ubuntu


18

У мене є комп'ютер, який несподівано вимкнувся під час оновлення дистрибуції (Ubuntu 8.10 -> 9.04). Тепер він не закінчує завантаження - різні X помилки, тоді він переходить на екран входу, але не дозволяє входити в систему.

У мене є резервна копія цього і / home data - все одно в порядку на диску, так що це не надзвичайна ситуація, але повна перебудова все ще дратує і забирає багато часу. Чи є спосіб одужати від цього? У мене 9,04 компакт-диска, я обговорював спроби встановити зверху - це гарна ідея?

Якщо цього не зробити, чи є хороший спосіб перевірити накопичувач та створити список встановленого програмного забезпечення, а краще навіть розташування ззовні / вдома (як / тощо)?


Якщо мені доведеться почати з нуля, якісь рекомендації щодо спілкування з особою, відповідальною за несподіване припинення роботи? :)


EDIT: Дуже дякую за всі відповіді, мені дійсно потрібно прийняти всі відповіді, як мені потрібно було використовувати біти від кожного. Мені вдалося повністю відремонтувати встановлення, використовуючи щось подібне:

sudo dpkg --configure -a
sudo apt-get update
sudo dpkg --configure -a
sudo dpkg --configure -a --abort-after=99999
sudo apt-get dist-upgrade
sudo apt-get -f install
sudo apt-get dist-upgrade

1
Використовуйте LART ( catb.org/jargon/html/L/LART.html ): "Класика LART - це 2х4 або інша велика заготовка з дерева, яка може бути використана як [...] рукоятка, автоматична зброя, вогнемет і тактична у всіх ядерних ядерців є свої партизани ».
Девід Шмітт

Чи дійсно ви можете вводити облікові дані для входу, або клавіатура та / або миша недоступні?
Оддмунд

Я можу ввести облікові дані, але далі це не піде. CTRL + ALT + F1 дав мені термінал, і я зміг увійти туди
Колін Пікард

У вас можуть виникнути проблеми, коли / usr, / home та подібні папки змонтовані з окремих дисків, у цій ситуації прив'язка допомагає. використовувати mount --bind / proc / chrooted / proc mount --bind / mnt / usr / chrooted / usr ...

Відповіді:


11

Якщо ви можете дістатися до місця, де ви можете використовувати dpkg як корінь, можете запустити dpkg --configure -a

Однак ви можете виявити, що вибухає для невдалого розширення, тому вам може знадобитися:

dpkg --configure -a --abort-after=99999

7

Спробуйте натиснути CTRL-ALT-F1 і побачити, чи отримаєте ви командний рядок. Перевірте, чи можете ви увійти, спробуйте запустити sudo apt-get dist-upgrade . Це повинно дозволити вам також закінчити оновлення. Ви можете отримати помилки, тому вам може знадобитися спробувати використовувати sudo dpkg --configure -a .


Щоб отримати список встановленого програмного забезпечення, можна запустити команду dpkg --get-select . Якщо ви збережете, вони виводять цю команду у файл, ви можете скористатись вибраними командами cat | sudo dpkg --set-select, а потім скористайтеся командою sudo apt-get dselect-upgrade, щоб фактично встановити всі пакунки.

Якщо ви йдете цим маршрутом, ви, ймовірно, повинні створити резервну копію / etc та / home папок на іншому пристрої.


Я збираюся додати dpkg --get-select до своїх резервних скриптів, які я думаю. Дуже корисний.
Колін Пікард

5
sudo apt-get update
sudo dpkg --configure -a
sudo apt-get update
sudo apt-get dist-upgrade

1-й рядок оновлює поточний рівень репо-файлу, який ви завантажуєте

2-й рядок переконфігурує будь-які пакунки, які знаходяться в "поганому" стані

Третій рядок є там, на випадок, якщо сховище "перейде" на нову версію під час процесу 2-го рядка.

4-й рядок повинен закінчити роботу.


5

Мені вдалося відновитися після катастрофічної ситуації, коли Xubuntu не завантажувався після вимкнення живлення під час оновлення. Приблизно через 10 секунд після POST, Xubuntu зупиниться з безліччю помилок (спроба завантажити варіант "відновлення" в grub навіть не вийде).

Тож якщо хтось натрапляє на це, я надсилаю інформацію з форумів Ubuntu, яка допомогла мені дістатися до вікна терміналу, щоб я міг використовувати команди Колін та Евері, розміщені вище.

---------- сніп ---------- сніп ---------- сніп ---------- сніп ------ ----

ubuntuforums.org/showthread.php?t=157250

Скажімо, ваша система щойно розплавилася після оновлення, або ваше нове ядро ​​не завантажиться. Ви не можете виправити проблему з apt-get, оскільки ви навіть не можете потрапити до командного рядка; ядро просто видаляє помилки і зависає під час завантаження. На щастя, за допомогою живого компакт-диска ви зможете відремонтувати вашу систему та розпочати її роботу. У вас є 2 варіанти живого компакт-диска: Knoppix або Ubuntu live CD. Оскільки Knoppix, як правило, має кращу апаратуру виявлення, це буде використано як приклад.

  1. Спочатку скачайте iso з http://www.knoppix.org/ і запишіть його на диск.
  2. Поставте свій BIOS, налаштований на завантаження з компакт-диска, спливання на диску Knoppix та завантаження.
  3. Ваш жорсткий диск повинен відображатися на робочому столі KDE як hda1 або sdb2 або щось подібне, залежно від вашої системи.
  4. Клацніть на ньому, щоб встановити його, потім клацніть правою кнопкою миші, дії -> змінити в режим читання-запису. Це відкриє діалогове вікно; натисніть так.
  5. Тепер відкрийте кореневий термінал, знайдений у меню Knoppix (той, що знаходиться поруч із K на панелі). Введіть: chroot / mnt / hda1 або все, що пише на вашому жорсткому диску на робочому столі.

Тепер ви можете використовувати всі команди на жорсткому диску, включаючи apt-get. Якщо ви коли-небудь отримаєте цю помилку: "/ dev / null: Дозвіл відхилено", зробіть це: "sudo rm / dev / null", і воно повинне піти. Тепер використовуйте apt-get для оновлення вашого ядра, udev чи будь-чого іншого, що псує вашу систему.

---------- сніп ---------- сніп ---------- сніп ---------- сніп ------ ----

Це також спрацювало чудово! Я встановив свій жорсткий диск за інструкціями, відкрив вікно терміналу, ввів "sudo chroot / media / hda1" і, нарешті, отримав доступ до свого жорсткого диска. Тоді я зміг використовувати команди, розміщені раніше в цій темі, щоб перезапустити процес оновлення. :)

Цікаво, чому на компакт-диску Ubuntu Live / Installation не вбудована "консоль відновлення", яка сприятиме всьому цьому процесу відновлення.


Це працювало для мене в подібній ситуації. Ця відповідь на SU дає чудові вказівки, як правильно змонтувати розділ (и) з прямого CD.
zelanix

1

Для мене також інша команда допомагає в середовищі chroot, щоб усі пакунки правильно налаштувались (запустіть це раніше dpkg ,distтощо):

Завдання для запуску неможливо запустити chroot, оскільки upstart виконує функцію нагляду за обслуговуванням, а процеси всередині chroot не в змозі спілкуватися з початковим запуском, що працює поза chroot (Помилка: 430224). Це призведе до того, що деякі пакети, перетворені на використання початкових завдань замість скриптів init, не зможуть оновитись у chroot. Користувачам рекомендується налаштувати свої chroots за допомогою / sbin / initctl, що вказує на / bin / true, за допомогою наступних команд, що виконуються в chroot:

Код:

dpkg-divert --local --rename --add /sbin/initctl
ln -s /bin/true /sbin/initct
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.