На этот вопрос уже есть ответ здесь:
Я не очень люблю Linux , и у меня возникла следующая проблема, связанная с тем, что мой раздел / boot кажется заполненным, и это вызывает проблему при попытке установить программу.
Я пытаюсь подробно объяснить свои сомнения, потому что я не очень разбираюсь в системной инженерии (я разработчик программного обеспечения).
1) Выполнение статуса lsblk выводит информацию обо всех доступных или указанных блочных устройствах.
Эмпирически я думаю, что он должен показать список всех разделов / смонтированных дисков или что-то в этом роде. Что именно означает термины блочные устройства ?
Итак, если я выполню этот запрос в моей системе 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 , я получаю следующий результат:
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 полностью заполнен?
Моя проблема: могу ли я безопасно удалить всю старую версию ядра (неиспользуемую), чтобы освободить пространство в / boot ?
Как это сделать?
Можно использовать команду:
uname -a
для наблюдения, какое ядро Вы в настоящее время используете. Затем можно использовать команду:
dpkg -l | grep linux-image
для наблюдения, какие более старые ядра можно безопасно удалить.
Начиная с удаления более старых ядер мог бы все еще вовлечь уже наличие некоторого свободного пространства в начальную загрузку / (Да, ситуация уловки - 22), Вы могли работать вокруг этого при помощи">", подают знак сначала обнулять более старые ядра, в которых Вы уверены, что не будете использовать их.
, Например:
sudo bash
> /boot/vmlinuz-4.4.0-59-generic
> /boot/vmlinuz-4.4.0-57-generic
exit
После этого освобождения располагают с интервалами в начальной загрузке/, становится легче удалить более старые ядра с Кв. - добираются или команды dpkg.
я использовал этот метод в прошлом успешно, потому что вручную удаляющие ядра в/boot/с командой комнаты, вероятно, приведет к проблемам с apt-get/dpkg, если Вы захотите использовать "Кв. - добираются, автоудаляют - чистка" команда.