"У завантажувачі гучності залишилось лише 0 байт дискового простору"


32

Після недавнього оновлення я отримую попередження:

The volume boot has only 0 bytes disk space remaining

Але на моєму комп’ютері є багато місця у форматі HD. Хтось знає, як я це вирішую. (Якщо це доречно, я використовую всю функцію шифрування диска альтернативного образу установки для Ubuntu 12.04).


Це дійсно залежить від того, як ви встановили Ubuntu на свою машину. Чи можете ви "sudo fdisk -l" в терміналі і перевірити, чи є невеликий розділ, який майже заповнений?
— Паулій Шукіс

4
Ще краще, будь ласка, запустіть команду 'df -H -x tmpfs -x devtmpfs' без лапок і вставте тут вихід.
— fabricator4

Це питання та відповіді пов'язані з проблемою та можуть допомогти.
— еломаж

мабуть, відома проблема зашифрованого розділу. відповідь askubuntu.com/a/230942/231504 чудово - працює для мене. Також, будь ласка, збільшуйте
— пестофаг

Відповіді:


48

Щоб перерахувати все ядро:
dpkg --get-selections | grep "linux-image-[[:digit:]].*" | tr "\t" ";" | cut -d ";" -f1

Результати виглядають приблизно так:

linux-image-3.19.0-7-generic 
linux-image-3.18.0-13-generic  
linux-image-3.16.0-23-generic

Не видаляйте всі ядра, лише старі!

Далі видалимо ядро ​​3,16,
sudo apt-get purge linux-image-3.16.0-23-generic

а потім усі невикористані пакети з системи:
sudo apt-get autoclean && sudo apt-get autoremove


У мене extraтеж деякі дзвонили , наприклад, як linux-image-3.13.0-40-genericі linux-image-extra-3.13.0-40-generic. Чи можна їх видалити за допомогою extra?
— Mads Skjern

Це було надзвичайно корисно, але не вирішило повністю мою проблему (очищення старого ядра все ще не вдавалось). Довелося вручну видалити деякі старі файли ядра. Я знайшов кілька великих find /boot/ -type f | xargs du | sort -n. Мій в даний час працює ядро 3.13.0-66-generic, тому я обережний , щоб не видалити всі пов'язані з цим, але я видалити наступне: sudo rm /boot/initrd.img-3.13.0-63-generic /boot/initrd.img-3.13.0-65-generic /boot/vmlinuz-3.13.0-65-generic /boot/vmlinuz-3.13.0-63-generic. Нарешті, запуск очищення на старому ядрі вдається.
— вибухнув

4
якщо у вас дійсно 0 байт, це не працюватиме, як сказав @blong. Ви повинні вручну видалити старий файл vmlinuz раніше, оскільки процес очищення потребує створення деяких файлів, і, якщо залишилося 0 байтів, це не вдасться.
— pomarc

1
Як дізнатися, які ядра старі? Мій вихід - linux-image-4.10.0-42-generic linux-image-4.13.0-26-generic linux-image-4.13.0-32-generic linux-image-4.13.0-37-generic linux-image -4.13.0-38-generic linux-image-4.13.0-39-generic linux-image-4.13.0-41-generic linux-image-4.13.0-43-generic linux-image-4.8.0-36 -генеріческій
— Джекоб

25

Причиною були справді старі образи ядра.
Щоб очистити все, що мені потрібно було, - запустити один рядок:

sudo apt-get autoclean && sudo apt-get autoremove

Це автоматично розпізнавало старі ядра та видаляло їх.


9

Можливо, ваш /bootрозділ накопичив занадто багато версій ядра, роблячи оновлення з часом. Цей розділ, ймовірно, буде окремим від вашого великого дискового розділу (встановленого як /). Ви можете перевірити /bootпростір розділу таким чином (шукайте рядок з / boot):

df -h

Є приємна сторінка про те, як видалити старі ядра .

Якщо коротко, перевірте свою поточну версію ядра, отримайте список встановленої версії, а потім apt-get видаліть старі версії. На сторінці також є «магічна» однолінійна команда, яка зробить усе, що вам подобається. Але використовуйте його на свій страх і ризик.

Інструкції більш докладно:

  1. Отримайте поточну версію ядра, яку ви хочете зберегти :

    uname -r
    
  2. Отримайте список усіх встановлених ядер:

    dpkg -l | grep linux-image-
    
  3. Запустіть apt-get remove на ядрах, які ви хочете видалити. Не на останній ! Наприклад:

    sudo apt-get remove linux-image-2.6.32-22-generic
    

Більше приміток:

  • dpkg -lповідомляє вам статус пакету (ядра) перед назвою пакета. Наприклад:

    rc  linux-image-3.13.0-39-generic  ...
    ii  linux-image-3.13.0-40-generic  ...
    
    • "rc" означає, що пакунок r емістований та має c конфігураційні файли. Їх більше не потрібно видаляти.
    • «II» означає , що пакет позначений для я становки і я ленная

    Виходячи з цього, ви можете перелічити лише встановлені пакети ядра:

    dpkg -l | grep "ii.*linux-image-"
    

Альтернативне рішення , використовуючи інструмент GUI Ubuntu Tweak .

Встановіть та перейдіть до «Комп'ютерний двірник», перевірте «Система» - «Старе ядро» та «Система»> «Необхідні пакети» та натисніть «Очистити».


3

Використовуйте цей скрипт, щоб видалити всі інші старі ядра, залишаючи поточну версію та попередню (остання 1 версія ядра)

KERNELMAGES=`ls -lRt /boot/vmlinuz-*| awk -F/ '{print $3}' | grep -v $(uname -r) | sed 1d | sed -e 's/vmlinuz/linux-image/g'`

KERNELHEADERS=`ls -lRt /boot/vmlinuz-*| awk -F/ '{print $3}' | grep -v $(uname -r) | sed 1d | sed -e 's/vmlinuz/linux-headers/g'`

for PURGEKERNEL in `echo $KERNELMAGES $KERNELHEADERS`; do

apt-get autoremove -y && apt-get purge $PURGEKERNEL -y

done

Працював ідеально, навіть коли я не міг зробити відповідь "Paradiesstaub" з командного рядка.
— буйний

Мені дістається "Дозвіл відмовлено" ...
— Річард Харді
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.