/ usr / src пожирает все иноды

10

Кажется /usr/src(видимо, старые ядра) израсходовали все мои inode:

Filesystem             Inodes  IUsed     IFree IUse% Mounted on
/dev/sda4              489600   489600       0  100% /
devtmpfs               219658      539  219119    1% /dev
none                   219844      474  219370    1% /run
none                   219844        3  219841    1% /run/lock
none                   219844        8  219836    1% /run/shm
/dev/sda6             5963776     8361 5955415    1% /home

Я пытался все, чтобы удалить / очистить и т. Д. Старые ядра, но безуспешно. dpkg больше не работает. Я попробовал несколько ручных команд, но 12.04 ничего не дает. apt-get и т. д. невозможны из-за недостатка места на жестком диске, что, очевидно, не является проблемой. Однако я не могу ничего установить или удалить! Я много читал о пользователях с такой же проблемой, но их решения не работают для меня.

Пожалуйста помоги. Большое спасибо!

klingone
источник
Загрузитесь с live cd / usb и запустите проверку файловой системы. 'df -i' дает вам использование inode. Вы можете вручную удалить (или переместить в безопасное место) некоторые файлы, которые находятся в поврежденных папках, для освобождения inode. Затем попробуйте еще раз в соответствии с моим ответом для очистки.
Hmayag
Попробуйте загрузиться в однопользовательском режиме, который может дать вам больше контроля.
Лабарна
@klingone - у вас несколько аккаунтов. Пожалуйста, зарегистрируйте один из этих аккаунтов. Затем нажмите ссылку «Контакты» в нижней части этой страницы, чтобы запросить объединение других учетных записей. Как только вы это сделаете, вы сможете повторно отредактировать свой вопрос с более подробной информацией Спасибо.
fossfreedom

Ответы:

6

Попробуй это.

Откройте терминал и введите:

~$ cd /usr/src
/usr/src$ ls

Вы увидите что-то вроде этого:

total 16K
drwxr-xr-x 24 root root 4,0K Σεπ  29 22:35 linux-headers-3.2.0-54/
drwxr-xr-x  7 root root 4,0K Σεπ  29 22:35 linux-headers-3.2.0-54-generic/
drwxr-xr-x  3 root root 4,0K Σεπ  29 22:56 nvidia-319-319.32/

Выход может (и будет) отличаться в зависимости от вашей настройки.

Внимательно посмотрите на названные папки linux-headers-*. Это заголовки всех установленных вами образов linux. Если у вас их слишком много, они займут ОЧЕНЬ много места и узлов. Вам нужно только сохранить последнюю версию, с которой вы загрузились .

Допустим, у вас есть более старое ядро, например. 3.2.0-53. Чтобы удалить его, введите:

sudo apt-get remove --purge linux-image-3.2.0-53-generic linux-headers-3.2.0-53 linux-headers-3.2.0-53-generic

для каждого из них.

Если все вышеперечисленное не сработало, попробуйте удалить папки заголовков OLDER KERNEL вручную:

sudo rm -rf /usr/src/linux-headers-3.2.0-53{,-generic}
errikos
источник
2

Вы можете попробовать Ubuntu Tweak для очистки старых ядер. Сначала установите его с помощью этих команд

sudo add-apt-repository ppa:tualatrix/ppa
sudo apt-get update
sudo apt-get install ubuntu-tweak

Запустите программу и затем:

  1. Выберите вкладку «Дворник»
  2. Установите флажок «Старое ядро»
  3. Выберите версии ядра для удаления (держите 2 по очереди - на всякий случай)
  4. Нажмите «Очистить»

введите описание изображения здесь

hmayag
источник
Привет и спасибо за информацию. Использовал приведенные выше команды, но не смог установить, говоря, что на устройстве не осталось свободного места. Также центр программного обеспечения поврежден и хочет быть отремонтированным, но также не может этого сделать. Apt-get autoclean не работает, и предлагается использовать команду sudo dpkg --configure -a для решения проблемы, которая возвращает меня к тому, с чего я начал, так как на устройстве больше не осталось места. Что еще можно попробовать ? Я почти уверен, что это inode в / usr / src из-за почти 300 000 файлов из ранее установленных ядер ... еще раз спасибо за помощь.
Klingone
1

У меня просто была такая же проблема

В Ubuntu Linux 16.04.1 кажется, что sudo apt autoremoveочистит все ненужные /usr/src/linux-headers-файлы и освободит соответствующие inode

Федон
источник
0

Поскольку дело касается системы со 100% использованием HD, установка любого приложения не будет работать. Единственный безопасный вариант - сначала удалить ненужные файлы.

Сначала в строке будут временные файлы

sudo rm -rf /tmp/*

Во-вторых, удалите кэшированные приложения. Это двоичные файлы приложений и обновлений, загружаемые в течение всего срока службы системы. Обычно это будет не менее 500 МБ в средней системе Ubuntu с одним годом эксплуатации и даст вам возможность установить другие приложения.

sudo rm /var/cache/apt/archives/*deb

Тогда я бы порекомендовал удалить старые файлы журнала

sudo rm /var/log/*gz

При этом у вас будет по крайней мере около 700 МБ свободного места. Это позволит вам работать с утилитами и устанавливать новые.

Затем я установил бы ncdu - быструю утилиту для сканирования всего жесткого диска и упорядочивания каталогов по размеру. Это действительно быстро и работает как шарм.

sudo apt-get install ncdu

затем запустите его с командой

sudo ncdu /

Косая черта после ncdu предназначена для сканирования из корневого каталога.

Все вышеперечисленное работает как на сервере Ubuntu, так и на рабочем столе. Теперь, выполнив все вышеперечисленное и работая в среде рабочего стола, вы можете перейти к утилитам с графическим интерфейсом, таким как ubuntu-tweak (что, кстати, отлично), и удалить старые ядра. Я обычно сохраняю самое последнее ядро ​​и одно перед самым последним на случай сбоев обновления.

Надеюсь, что это поможет.

Мийо
источник
100% использование inode не означает, что на жестком диске полно файлов.
Woohoo
0

Другой способ - это поиск папок, которые поглощают ваш индекс инодов. Смотрите здесь: Сломанный пакет после обновления: linux-headers, ошибка: BrokenCount> 0

Это самая важная часть:

В терминале перейдите в корневой каталог для запуска:

# cd /

Затем найдите папки, поедающие большинство узлов:

# for i in `ls -1A`; do echo "`find $i | sort -u | wc -l` $i"; done | sort -rn | head -20

И так далее, вы сможете найти папки, которые были удалены, пакеты, заголовки ядра, изображения, которые нужно удалить.

Woohoo
источник