Будь то через менеджер обновлений или через терминал, я выдаю ошибку.
Когда я пытаюсь sudo apt-get update && sudo apt-get upgrade
:
Fetched 1,024 kB in 20s (51.0 kB/s)
Reading package lists... Done
Reading package lists... Done
Building dependency tree Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies: linux-headers-generic :
Depends: linux-headers-3.13.0-29-generic but it is not installed
E: Unmet dependencies. Try using -f.
И когда я пытаюсь sudo apt-get -f install
:
Unpacking linux-headers-3.13.0-29-generic (3.13.0-29.53) ...
dpkg: error processing archive /var/cache/apt/archives/linux-headers-3.13.0-29-generic_3.13.0-29.53_amd64.deb
(--unpack): unable to create /usr/src/linux-headers-3.13.0-29-generic/include/config/inotify/user.h.dpkg-new' (while processing./usr/src/linux-headers-3.13.0-29-generic/include/config/inotify/user.h'): No space left on device
No apport report written because the error message indicates a disk full error dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing: /var/cache/apt/archives/linux-headers-3.13.0-29-generic_3.13.0-29.53_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Когда я открываю центр программного обеспечения Ubuntu, я получаю следующий текст:
Невозможно установить новое программное обеспечение, поскольку в настоящее время установлено программное обеспечение. Вы хотите исправить эту проблему сейчас?
У меня есть возможность «исправить» или «отменить». Если я нажимаю «восстановить», я получаю следующую ошибку:
Package operation failed
the installation or removal of a software package failed.
(Reading database ... 417598 files and directories currently installed.)
Preparing to unpack .../linux-headers-3.13.0-29-generic_3.13.0-29.53_amd64.deb ... Unpacking linux-headers-3.13.0-29-generic (3.13.0-29.53) ...
dpkg: error processing archive /var/cache/apt/archives/linux-headers-3.13.0-29-generic_3.13.0-29.53_amd64.deb
(--unpack): unable to create /usr/src/linux-headers-3.13.0-29-generic/include/config/bug.h.dpkg-new' (while processing./usr/src/linux-headers-3.13.0-29-generic/include/config/bug.h'): No space left on device
No apport report written because the error message indicates a disk full error dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing: /var/cache/apt/archives/linux-headers-3.13.0-29-generic_3.13.0-29.53_amd64.deb
Error in function: dpkg: dependency problems prevent configuration of linux-headers-generic: linux-headers-generic depends on linux-headers-3.13.0-29-generic; however: Package linux-headers-3.13.0-29-generic is not installed.
dpkg: error processing package linux-headers-generic (--configure): dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of linux-generic: linux-generic depends on linux-headers-generic (= 3.13.0.29.35); however: Package linux-headers-generic is not configured yet.
dpkg: error processing package linux-generic (--configure): dependency problems - leaving unconfigured
Ошибка переполнения диска является странной, потому что ни один из моих дисков не заполнен. Я знаю это, потому что когда я запускаю df
, я получаю следующее:
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda6 36178648 13162504 21155332 39% /
none 4 0 4 0% /sys/fs/cgroup
udev 3873544 12 3873532 1% /dev
tmpfs 776860 1384 775476 1% /run
none 5120 0 5120 0% /run/lock
none 3884300 25276 3859024 1% /run/shm
none 102400 68 102332 1% /run/user
/dev/sda2 124327968 42583252 81744716 35% /media/sudoer/48AEC994AEC97B48
/dev/sda3 807468724 121812996 685655728 16% /media/sudoer/New Volume
Что мне делать на этом этапе? Заранее спасибо.
В файловой системе Unix файл и каталог имеют две части: inode и данные.
В inodes хранившая информация о файле, таком как разрешение, владелец, время изменения, время доступа, и так далее.
Общее количество inodes ограничено, таким образом, можно добраться No space left on device
если Вы достигаете такого предела, даже если диск не очень полон.
Использование:
df -i
просмотреть inodes, если Вы получаете 100% для IUse
и 0 IFree
, это означает, что у Вас есть много маленького файла.
Например, если у Вас есть 2 миллиарда файлов, размер которых составляет 1 байт, Вы могли достигнуть предела inode, но Ваш диск мог быть не абсолютно полным.
Если это - Ваш случай, попытайтесь удалить больше файла, Вы можете и, чем восстановление apt-get update
.
Можно вымыться, пространство в начальной загрузке / (удалите старые заголовки Linux и т.д.), с:
sudo apt-get autoremove
Я также встретился с этой проблемой. Согласно подсказке,
не могущий создать/usr/src/linux-headers-3.13.0-29-generic/include/...
, Как объяснено Lety, "Общее количество inodes ограничено". Таким образом, я удалил некоторые старые пакеты заголовков Linux с помощью диспетчера пакетов, таким образом /usr
будет иметь достаточно inodes, например sudo apt-get remove linux-headers-3.13.0-3*
, затем я могу работать sudo apt-get install -f
для продолжения установки.
Как @Lety сказал, проблема состоит в том, как найти папки с большим количеством крошечных файлов, которые потратили впустую весь Ваш inodes (как df -i
покажите).
Найдите тяжелые пакеты (как старые ядра) с
wajig sizes | tail -n 30
какой requiere wajig
установленный, иначе:
dpkg-query --show --showformat='${Package;-50}\t${Installed-Size}\n' | sort -k 2 -n | grep -v deinstall | awk '{printf "%.3f MB \t %s\n", $2/(1024), $1}'|tail -n 10
Использовать uname -r
для нахождения текущего ядра Вы не хотите удалять его.
Затем попытка:
sudo lsof +L1
sudo apt-get autoremove
sudo apt-get clean
или вручную на /var/cache/apt/archives
apt-get remove
или sudo dpkg --purge
удалить некоторые старые ядра или тяжелые пакеты. Возможно, Вы все еще добираетесь unable to create /usr/src/linux-headers
...for i in /usr/src/*; do echo $i; find $i |wc -l; done
: /usr/src/linux-headers-*
/var/log/
Определенные счетчики папки:
du --inodes -d 1 /usr/src/ | sort -n
sudo find . -xdev -type f | cut -d "/" -f 2 | sort | uniq -c | sort -n
sudo find . -maxdepth 1 -type d | grep -v '^\.$' | xargs -n 1 -i{} find {} -xdev -type f | cut -d "/" -f 2 | uniq -c | sort -n
Ваш tmpfs
может быть полным. /tmp
жизни в Вашей RAM или подкачка. Можно проверить, сколько пространства используется путем выполнения:
$ df -h | grep tmpfs
Filesystem Size Used Avail Use% Mounted on
tmpfs 3.9G 33M 3.9G 1% /dev/shm
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
tmpfs 3.9G 3.9G 0 100% /tmp
Для временного увеличения его размера попробуйте следующую команду:
sudo mount -o remount,size=16G,noatime /tmp
Можно также постоянно увеличить размер через /etc/fstab
.
Исчерпание инодов в Ubuntu: если приведенные ниже команды показывают ту же ошибку, перейдите в /usr/src
и удалите старые каталоги ядра (неиспользуемые), чтобы решить проблемы .
sudo apt-get -f install
sudo apt autoremove
Для получения дополнительной информации см.: https://medium.com/@brucepomeroy/running-out-of-inodes-on-ubuntu-718aef71ac16