могу ли я удалить старый vmlinuz в / boot вручную? [dубликат]

У этого вопроса уже есть ответ здесь: Как мне освободить больше места в / boot? 20 ответов

Моя / загрузка заполнена. apt-get autoremove autoclean не работает. Я решил удалить старый файл linux-image * вручную. Есть много файлов, таких как: configVERSION, vmlinuzVERSION, initrd.img * VERSION ...

могут ли они быть удалены вручную тоже?

VERSION - это старая версия (некоторые из них датированы 2012 годом !).

1
задан 6 May 2017 в 15:47

2 ответа

можно удалить почти любой файл вручную, в том числе ядра и начального RAM-диска (создаваемый initrd); однако, когда файл был установлен пакет (как это были), удаляя их вручную, оставляет пакет системы в несогласованном состоянии. Таким образом, удаление файлов вручную не рекомендуется. У меня есть три предложения, как действовать дальше.

подход 1:

мой первый выбор это:

введите [F1], чтобы обнаружить, что ядра вы в настоящее время работает. Например, один из моих систем возвращает 4.8.0-51-generic. Тип [F3] для поиск всех установленных ядер. Выберите ядра из перечисленных, что не тот, который вы сейчас используете, и это не самый старый (который является, вероятно, "базовой" серии ядра). Ядра, которое приходит только "до" тот, который вы используете, является хорошим кандидатом. Что может быть vmlinuz-4.8.0-46-generic, например. Тип dpkg -S /boot/vmlinuz-4.8.0-46-generic, при смене версии ядра как надо. (Отметим, что это прописные -S в команде.) Это должно раскрыть имя пакета, связанного с ядром. В данном примере это linux-image-4.8.0-46-generic. Обратите внимание, что Вы не должны пройти ядра с именем, которое заканчивается в .efi.signed в dpkg -S; эти ядра устанавливаются в разные сторону, что не будет работать с этой командой. Тип sudo dpkg -P linux-image-4.8.0-46-generic (меняя номер версии ядра, конечно). Это говорит системе, чтобы удалить пакет. Это может, вероятно, привести в жалобе о сломанных зависимостей. В этом случае, вы должны добавить пакет(ы) к претензии в качестве зависимого от тот, который Вы сказали убрать. В моем случае, мне пришлось принять командование на [F11] (исключив три пакета, а не один). Если повезет, предыдущая команда будет работать и очистить достаточно места для [F12] для работы.

подход 2:

если это возможно работать, то я рекомендую вручную удалить [от f13] версия ядра Вы не используете, если он присутствует. Эти файлы не устанавливаются непосредственно; они создаются путем слияния стандартного образа ядра с небольшой файл подписи установлен из другого пакета. Таким образом, их удаление не нарушает системы пакет таким же образом, что ручное удаление не подписанный файл ядра. Заметим, однако, что если функция безопасной загрузки на ваш компьютер, или даже если это не так, но жратвы настроен для загрузки через .efi.signed версия ядра, удаление этого файла приведет к невозможности загрузки ядра. Таким образом, важно, что Вы не удалите .efi.signed версия ядра, которую вы сейчас используете.

подход 3:

другой подход состоит в том, чтобы не переместите свой каталог /boot от своего отдельного раздела и на обычный корень ([f17 в]) файловой системы. Обратите внимание, что, хотя я делал подобные вещи по другим причинам, я не пробовал такой точной процедуры для вашей точной причины, но он должен работать. Отметим также, что это довольно рискованно; ошибка в неположенном месте может сделать вашу систему неработоспособной! Если вы готовы рискнуть, процедура:

введите [F1], чтобы обнаружить, что ядра вы в настоящее время работает. Например, один из моих систем возвращает 4.8.0-51-generic. Тип sudo umount /boot/efi. Эта команда будет выполнена на основе BIOS компьютеров, но необходимо, если ваш компьютер загружается через EFI. Тип ls /boot/vml*, чтобы увидеть все установленные ядра. Тип sudo umount /boot размонтировать директорию [f25 привод датчика]. выберите ядра из перечисленных, что не тот, который вы сейчас используете, и это не самый старый (который является, вероятно, "базовой" серии ядра). Ядра, которое приходит только "до" тот, который вы используете, является хорошим кандидатом. Что может быть vmlinuz-4.8.0-46-generic, например. Тип sudo mv /boot2 /boot. Это переименовывает свою копию в исходное расположение, что касается линукса. Тип dpkg -S /boot/vmlinuz-4.8.0-46-generic, при смене версии ядра как надо. (Отметим, что это прописные -S в команде.) Это должно раскрыть имя пакета, связанного с ядром. В данном примере это linux-image-4.8.0-46-generic. Обратите внимание, что Вы не должны пройти ядра с именем, которое заканчивается в .efi.signed в dpkg -S; эти ядра устанавливаются в разные сторону, что не будет работать с этой командой. Тип sudo mv /boot /boot2, чтобы перейти на обновленную копию своего ядра в сторону. Тип sudo dpkg -P linux-image-4.8.0-46-generic (меняя номер версии ядра, конечно). Это говорит системе, чтобы удалить пакет. Это может, вероятно, привести в жалобе о сломанных зависимостей. В этом случае, вы должны добавить пакет(ы) к претензии в качестве зависимого от тот, который Вы сказали убрать. В моем случае, мне пришлось принять командование на [F11] (исключив три пакета, а не один). Тип sudo mount /boot для восстановления первоначального /boot раздел. Обратите внимание, что это все равно будет слишком полной. в любом случае, предыдущая команда будет работать и очистить достаточное пространство для [F12] для работы. Тип [fунции f37] скопировать модифицированный /boot каталог /boot раздел. Перезагрузить, чтобы убедиться, что все работает. Тип sudo rm -rf /boot2, чтобы удалить временные файлы.

ошибка (или я или вы) может создать серьезные проблемы, включая полную невозможность загрузки системы. Таким образом, этот подход является чем-то вроде последней инстанции одна.

[и D40][!и D40] [dрайвер d41]вперед[!dрайвер d41]

очень важно, что вы делаете периодические sudo apt-get autoremove сохранить /boot раздел от переполнения. Лично я делаю это почти каждый раз, когда я обновить пакеты, а особенно, если я замечаю установки нового ядра. Обратите внимание, что есть несколько официальных ошибок, связанных с этим вопросом:

[d43 см.] ядра не autoremoving, вызывая из пространства ошибка на lvm или Шифрованных установки или по какой-либо установки, когда раздел /Boot получает полный размер раздела /Boot слишком мал [!d43 см.]

первая из этих ошибок могут быть исправлены для существующих систем, но по разным причинам, даже официальное исправление не 100% эффективным. Вторая ошибка-выбор во время установки системы, так что существующие системы по-прежнему страдают от слишком маленький /boot раздел движемся вперед. Единственный способ исправить эту проблему, чтобы изменить размеры разделов, чтобы увеличить размер [пулемет f44]. Лично я считаю, что 500 Мб В должны разумный Размер для [f45 С] В эти дни.

6
ответ дан 18 July 2018 в 13:43

можно удалить почти любой файл вручную, в том числе ядра и начального RAM-диска (создаваемый initrd); однако, когда файл был установлен пакет (как это были), удаляя их вручную, оставляет пакет системы в несогласованном состоянии. Таким образом, удаление файлов вручную не рекомендуется. У меня есть три предложения, как действовать дальше.

подход 1:

мой первый выбор это:

введите [F1], чтобы обнаружить, что ядра вы в настоящее время работает. Например, один из моих систем возвращает 4.8.0-51-generic. Тип [F3] для поиск всех установленных ядер. Выберите ядра из перечисленных, что не тот, который вы сейчас используете, и это не самый старый (который является, вероятно, "базовой" серии ядра). Ядра, которое приходит только "до" тот, который вы используете, является хорошим кандидатом. Что может быть vmlinuz-4.8.0-46-generic, например. Тип dpkg -S /boot/vmlinuz-4.8.0-46-generic, при смене версии ядра как надо. (Отметим, что это прописные -S в команде.) Это должно раскрыть имя пакета, связанного с ядром. В данном примере это linux-image-4.8.0-46-generic. Обратите внимание, что Вы не должны пройти ядра с именем, которое заканчивается в .efi.signed в dpkg -S; эти ядра устанавливаются в разные сторону, что не будет работать с этой командой. Тип sudo dpkg -P linux-image-4.8.0-46-generic (меняя номер версии ядра, конечно). Это говорит системе, чтобы удалить пакет. Это может, вероятно, привести в жалобе о сломанных зависимостей. В этом случае, вы должны добавить пакет(ы) к претензии в качестве зависимого от тот, который Вы сказали убрать. В моем случае, мне пришлось принять командование на [F11] (исключив три пакета, а не один). Если повезет, предыдущая команда будет работать и очистить достаточно места для [F12] для работы.

подход 2:

если это возможно работать, то я рекомендую вручную удалить [от f13] версия ядра Вы не используете, если он присутствует. Эти файлы не устанавливаются непосредственно; они создаются путем слияния стандартного образа ядра с небольшой файл подписи установлен из другого пакета. Таким образом, их удаление не нарушает системы пакет таким же образом, что ручное удаление не подписанный файл ядра. Заметим, однако, что если функция безопасной загрузки на ваш компьютер, или даже если это не так, но жратвы настроен для загрузки через .efi.signed версия ядра, удаление этого файла приведет к невозможности загрузки ядра. Таким образом, важно, что Вы не удалите .efi.signed версия ядра, которую вы сейчас используете.

подход 3:

другой подход состоит в том, чтобы не переместите свой каталог /boot от своего отдельного раздела и на обычный корень ([f17 в]) файловой системы. Обратите внимание, что, хотя я делал подобные вещи по другим причинам, я не пробовал такой точной процедуры для вашей точной причины, но он должен работать. Отметим также, что это довольно рискованно; ошибка в неположенном месте может сделать вашу систему неработоспособной! Если вы готовы рискнуть, процедура:

введите [F1], чтобы обнаружить, что ядра вы в настоящее время работает. Например, один из моих систем возвращает 4.8.0-51-generic. Тип sudo umount /boot/efi. Эта команда будет выполнена на основе BIOS компьютеров, но необходимо, если ваш компьютер загружается через EFI. Тип ls /boot/vml*, чтобы увидеть все установленные ядра. Тип sudo umount /boot размонтировать директорию [f25 привод датчика]. выберите ядра из перечисленных, что не тот, который вы сейчас используете, и это не самый старый (который является, вероятно, "базовой" серии ядра). Ядра, которое приходит только "до" тот, который вы используете, является хорошим кандидатом. Что может быть vmlinuz-4.8.0-46-generic, например. Тип sudo mv /boot2 /boot. Это переименовывает свою копию в исходное расположение, что касается линукса. Тип dpkg -S /boot/vmlinuz-4.8.0-46-generic, при смене версии ядра как надо. (Отметим, что это прописные -S в команде.) Это должно раскрыть имя пакета, связанного с ядром. В данном примере это linux-image-4.8.0-46-generic. Обратите внимание, что Вы не должны пройти ядра с именем, которое заканчивается в .efi.signed в dpkg -S; эти ядра устанавливаются в разные сторону, что не будет работать с этой командой. Тип sudo mv /boot /boot2, чтобы перейти на обновленную копию своего ядра в сторону. Тип sudo dpkg -P linux-image-4.8.0-46-generic (меняя номер версии ядра, конечно). Это говорит системе, чтобы удалить пакет. Это может, вероятно, привести в жалобе о сломанных зависимостей. В этом случае, вы должны добавить пакет(ы) к претензии в качестве зависимого от тот, который Вы сказали убрать. В моем случае, мне пришлось принять командование на [F11] (исключив три пакета, а не один). Тип sudo mount /boot для восстановления первоначального /boot раздел. Обратите внимание, что это все равно будет слишком полной. в любом случае, предыдущая команда будет работать и очистить достаточное пространство для [F12] для работы. Тип [fунции f37] скопировать модифицированный /boot каталог /boot раздел. Перезагрузить, чтобы убедиться, что все работает. Тип sudo rm -rf /boot2, чтобы удалить временные файлы.

ошибка (или я или вы) может создать серьезные проблемы, включая полную невозможность загрузки системы. Таким образом, этот подход является чем-то вроде последней инстанции одна.

[и D40][!и D40] [dрайвер d41]вперед[!dрайвер d41]

очень важно, что вы делаете периодические sudo apt-get autoremove сохранить /boot раздел от переполнения. Лично я делаю это почти каждый раз, когда я обновить пакеты, а особенно, если я замечаю установки нового ядра. Обратите внимание, что есть несколько официальных ошибок, связанных с этим вопросом:

[d43 см.] ядра не autoremoving, вызывая из пространства ошибка на lvm или Шифрованных установки или по какой-либо установки, когда раздел /Boot получает полный размер раздела /Boot слишком мал [!d43 см.]

первая из этих ошибок могут быть исправлены для существующих систем, но по разным причинам, даже официальное исправление не 100% эффективным. Вторая ошибка-выбор во время установки системы, так что существующие системы по-прежнему страдают от слишком маленький /boot раздел движемся вперед. Единственный способ исправить эту проблему, чтобы изменить размеры разделов, чтобы увеличить размер [пулемет f44]. Лично я считаю, что 500 Мб В должны разумный Размер для [f45 С] В эти дни.

6
ответ дан 24 July 2018 в 20:14
  • 1
    Подход №3 выглядит страшно. Мне нужно будет прочитать это 2 или 3 раза, чтобы узнать, могу ли я следовать логике. Но на шагах №3 и №12 не должно быть рекурсивным? У меня могут быть другие проблемы, но это начало. – heynnema 6 May 2017 в 18:27
  • 2
    Тройкой по подходу 2 было бы обнулить (не удалять) все файлы в / boot, связанные со старым ядром. Это делает менеджера пакетов счастливым и может дать ему достаточно места для работы и фактически очистить / удалить ненужные файлы с помощью подхода 1. – ubfan1 6 May 2017 в 19:02
  • 3
    @heynnema, опция -a для cp вызывает рекурсивную копию, но в отличие от -r сохраняет права собственности и разрешения. @ ubfan1, это интересная идея, и это, вероятно, сработает. – Rod Smith 7 May 2017 в 01:23

Другие вопросы по тегам:

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