Я керував Debian Wheezy більше року без проблем до тижня тому. Без жодної очевидної причини система раптом вирішила, що ядро Linux лише наполовину налаштоване, і жодне з виправлень, які я знайшов в режимі он-лайн, не працювало. Як результат, apt
намагається виправити це щоразу, коли оновлення виконуються та не вдається.
Деталі
Симптом
Кожен раз, коли буде запущено оновлення apt
, в якийсь момент спробує виправити ядро, не вдасться, і процес оновлення завершиться порадою про помилки, а потім повідомленням про те, що система оновлена.
Будь-яка активність оновлення apt
закінчується наступним чином:
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/dkms 3.2.0-4-amd64 /boot/vmlinuz-3.2.0-4-amd64
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.2.0-4-amd64 /boot/vmlinuz-3.2.0-4-amd64
E: /usr/sbin/update-initramfs.orig.initramfs-tools - command not found
E: On Debian based systems, update-initramfs from initramfs-tools
E: can be installed with:
E: apt-get install initramfs-tools
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-3.2.0-4-amd64.postinst line 696.
dpkg: error processing linux-image-3.2.0-4-amd64 (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
linux-image-3.2.0-4-amd64
E: Sub-process /usr/bin/dpkg returned an error code (1)
Ядро
Практично така ж проблема була описана в запитанні на запитання Ubuntu . Прийнята відповідь вказувала на проблему з dpkg
файлом стану. Запис статусу для linux-image-3.2.0-4-amd64
сказаного наполовину налаштований.
В якості першого кроку я спробував це:
administrator@Kwheezy:~$ sudo dpkg-reconfigure linux-image-3.2.0-4-amd64
/usr/sbin/dpkg-reconfigure: linux-image-3.2.0-4-amd64 is broken or not fully installed
Перевстановлення не допомогло, так що це вказує на поломку.
Рішення Ask Ubuntu полягало в тому, щоб видалити запис із dpkg
файлу стану та потім перевстановити. У моєму випадку це теж не спрацювало. Коли процес був завершений, dpkg
файл статусу замінив запис іншим, який все ще говорив, що він наполовину налаштований, а поведінка системи - те саме.
Apt вихід
Зосередження уваги на повідомленнях про помилки у apt
виході. Помилки завжди починаються з:
/usr/sbin/update-initramfs.orig.initramfs-tools - command not found
Впевнений, що файл не існує. Корисне повідомлення радить, що його можна встановити, встановивши initramfs-tools
. Це вже було встановлено, але я його знову встановив. Виявляється, це apt
вже робило самостійно. Усі повідомлення про помилки, що слідують вказівкам щодо встановлення initramfs-tools
, генеруються цією спробою встановлення, яка ніколи не призводить до /usr/sbin/update-initramfs.orig.initramfs-tools
встановлення.
Підсумок
- У мене є останнє доступне ядро Linux із сховища Wheezy. Це хороша копія, всі залежності задовольняються, і немає повідомлень інших користувачів, які мають з цим проблеми.
- Система повідомляє, що вона не повністю налаштована. Я не знайшов способу ні налаштувати його, ні змусити систему перестати думати, що це не так.
/etc/kernel/postinst.d/initramfs-tools
? Це слід намагатися завантажувати/usr/sbin/update-initramfs
, а не/usr/sbin/update-initramfs.orig.initramfs-tools
. Якщо файл/usr/sbin/update-initramfs
існує, спробуйте,sudo ln -s /usr/sbin/update-initramfs{,.orig.initramfs-tools}
а потім знову запустіть оновлення.