Как я могу безопасно удалить старую версию ядра из раздела / boot моей системы Ubuntu?

Я не так в Linux, и у меня есть следующая проблема, связанная с тем, что мой / загрузочный раздел кажется полным и, похоже, вызывает проблему при попытке установить программу.

Я использую Ubuntu Ubuntu 16.04.1 LTS

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

1) Выполнение lsblk statments содержит информацию обо всех доступных или указанных блочных устройствах.

Эмпирически я думаю, что он должен показать список всех разделов / смонтированных дисков или что-то вроде этого. Что именно означает с блочными устройствами ?

Поэтому, если я выполняю это утверждение в своей системе Ubuntu , я получаю:

root@MyServer-VPS:~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT fd0 2:0 1 4K 0 disk sda 8:0 0 20G 0 disk ├─sda1 8:1 0 476M 0 part /boot ├─sda2 8:2 0 1K 0 part ├─sda3 8:3 0 10G 0 part │ └─vg-lv_root 252:0 0 18.6G 0 lvm / └─sda5 8:5 0 9.5G 0 part ├─vg-lv_root 252:0 0 18.6G 0 lvm / └─vg-lv_swap 252:1 0 952M 0 lvm [SWAP] sr0 11:0 1 1024M 0 rom 

Так в чем разница между диском , частью (это должен быть раздел родительского диска), lvm и rom ?

Определенный раздел – это загрузочный , этот:

 sda1 8:1 0 476M 0 part /boot 

это раздел диска sda .

Из того, что я знаю, он должен содержать загруженные версии ядра Linux . Это?

Ок, точка монтирования / boot, поэтому я думаю, что это каталог / boot в моей системе (это?), Это содержимое:

 root@MyServer-VPS:/boot# ls abi-4.4.0-21-generic config-4.4.0-21-generic grub System.map-4.4.0-21-generic vmlinuz-4.4.0-21-generic abi-4.4.0-31-generic config-4.4.0-31-generic initrd.img-4.4.0-21-generic System.map-4.4.0-31-generic vmlinuz-4.4.0-31-generic abi-4.4.0-34-generic config-4.4.0-34-generic initrd.img-4.4.0-31-generic System.map-4.4.0-34-generic vmlinuz-4.4.0-34-generic abi-4.4.0-38-generic config-4.4.0-38-generic initrd.img-4.4.0-34-generic System.map-4.4.0-38-generic vmlinuz-4.4.0-38-generic abi-4.4.0-42-generic config-4.4.0-42-generic initrd.img-4.4.0-38-generic System.map-4.4.0-42-generic vmlinuz-4.4.0-42-generic abi-4.4.0-45-generic config-4.4.0-45-generic initrd.img-4.4.0-42-generic System.map-4.4.0-45-generic vmlinuz-4.4.0-45-generic abi-4.4.0-47-generic config-4.4.0-47-generic initrd.img-4.4.0-45-generic System.map-4.4.0-47-generic vmlinuz-4.4.0-47-generic abi-4.4.0-51-generic config-4.4.0-51-generic initrd.img-4.4.0-47-generic System.map-4.4.0-51-generic vmlinuz-4.4.0-51-generic abi-4.4.0-53-generic config-4.4.0-53-generic initrd.img-4.4.0-51-generic System.map-4.4.0-53-generic vmlinuz-4.4.0-53-generic abi-4.4.0-57-generic config-4.4.0-57-generic initrd.img-4.4.0-53-generic System.map-4.4.0-57-generic vmlinuz-4.4.0-57-generic abi-4.4.0-59-generic config-4.4.0-59-generic lost+found System.map-4.4.0-59-generic vmlinuz-4.4.0-59-generic 

Итак, что именно представляет это содержание? Являются ли разные версии ядра Linux загруженными в эту систему?

В чем разница между файлами abi- , config- , initrd.img- , System.map- и vmlinuz-4 ?

Как определить используемую версию ядра?

2) Выполняя df -h statment, я получаю этот вывод:

 root@MyServer-VPS:~# df -h Filesystem Size Used Avail Use% Mounted on udev 477M 0 477M 0% /dev tmpfs 100M 16M 84M 16% /run /dev/mapper/vg-lv_root 19G 12G 6.3G 64% / tmpfs 497M 0 497M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 497M 0 497M 0% /sys/fs/cgroup /dev/sda1 461M 458M 0 100% /boot tmpfs 100M 0 100M 0% /run/user/0 

В частности, у меня есть:

 /dev/sda1 461M 458M 0 100% /boot 

Значит, мой / загрузочный раздел полностью заполнен?

Моя проблема: могу ли я безопасно удалить всю старую версию ядра (не используемую), чтобы освободить место в / boot ?

Как мне это сделать?

3 Solutions collect form web for “Как я могу безопасно удалить старую версию ядра из раздела / boot моей системы Ubuntu?”

Если apt не работает, попробуйте, dpkg -l 'linux-[ihs]*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\([-0-9]*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo dpkg -P dpkg -l 'linux-[ihs]*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\([-0-9]*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo dpkg -P

Это очищает каждое ядро ​​с помощью заголовков, кроме вашего текущего ядра. Если вы не уверены, вы можете сначала взглянуть на dpkg -l 'linux-[ihs]*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\([-0-9]*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' dpkg -l 'linux-[ihs]*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\([-0-9]*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' которые будут очищены

Я уверен, что Ubuntu Way должен использовать диспетчер пакетов GUI, но я просто делал это в командной строке.

Сначала выясните, какие именно имена пакетов установлены –

 dpkg -l | grep linux-image 

Выясните, какое ядро ​​фактически запущено

 uname -a 

Затем используйте

 sudo apt-get autoremove PackageName 

Где PackageName – это имя пакета образа ядра, из которого вы хотите избавиться – это может быть что-то вроде linux-image-4.4.0-21-generic. Это приведет к удалению образа ядра (файлы каталога / загрузочного каталога), структуры каталогов / lib / modules / kernel_version, пакета заголовков ядра и т. Д. Перенастроит grub по мере необходимости и так далее.

Это много вопросов в одном:

Что именно означает с блочными устройствами ?

Блочными устройствами являются специальные файлы, которые обеспечивают буферный доступ к аппаратным устройствам и уровень абстракции для операционной системы.

Так в чем разница между диском , частью (это должен быть раздел родительского диска), lvm и rom ?

диск и часть, как вы предполагали, являются вашими физическими дисками или дисками и разделами на них. Для диспетчера логических томов lvm сокращен. Он объединяет несколько разделов в один логический том для лучшего управления дисковым пространством. rom – ваш диск cd-rom или dvd-rom с именем «sr0».

Как определить используемую версию ядра?

Вы можете определить свое текущее ядро, используя команду:

 uname -a 

Значит, мой / загрузочный раздел полностью заполнен?

Действительно, ваш загрузочный раздел полностью заполнен, что предотвратит установку ubuntu новых версий ядра.

Моя проблема: могу ли я удалить deetect всю старую версию ядра (не используется), чтобы освободить место в / boot?

Вы можете попытаться удалить старые пакеты из системы, которые должны освобождать старые ядра из загрузочных разделов. Введите в терминал эту команду, введите пароль администратора, затем ответьте «y», чтобы удалить старые пакеты:

 sudo apt autoremove 

Это позволит безопасно удалить старые версии ядра и обновить параметры загрузки и initram-fs.

  • Каковы последствия отсутствия действительной таблицы разделов?
  • Что может вызвать задержку сети при установке нового Ubuntu Server 10.10?
  • Возможно ли запустить программу установки Ubuntu для настольных компьютеров из существующего iso на моем жестком диске?
  • Инструмент для создания отчета о плохом физическом местоположении на диске
  • MacBook Air (середина 2013 года) не может приостановиться должным образом после отсоединения от сети переменного тока
  • Перемещение с Ubuntu 32bit: Mint 64bit или Mint 32bit?
  • Как я могу установить, что только root + данный пользователь может закрыть мой компьютер?
  • Где смонтировать все флэш-накопители USB?
  • Avconv Ошибка при попытке сохранить моментальный снимок обновления потока IP-камеры
  • Предварительный просмотр миниатюр вторичного дисплея на основном дисплее?
  • Подключение к виртуальной машине Ubuntu с терминала на главной машине
  • Linux и Unix - лучшая ОС в мире.