озадаченный & ldquo; без места & rdquo; жалоба от кв

Справочная информация: Мой раздел был на 93%, но у меня было немного нераспределенного пространства, поэтому я создал новый дом для / usr. После перемещения использование пространства выглядит следующим образом:

>df -k
Filesystem     1K-blocks     Used Available Use% Mounted on
//dev/sda1       15747484  6822736   8124800  46% /
udev             1954244        4   1954240   1% /dev
tmpfs             786052     1040    785012   1% /run
none                5120        0      5120   0% /run/lock
none             1965124      512   1964612   1% /run/shm
cgroup           1965124        0   1965124   0% /sys/fs/cgroup
/dev/sda5       62993332 30014168  29779216  51% /home
/dev/sda7       26540640       32  26540608   1% /windows
/dev/sda8       10320184  7156516   2639432  74% /usr

Теперь система работает, но когда я разрешил нормальное обновление программного обеспечения, часть заголовков ядра выдала ошибку:

dpkg: error processing /var/cache/apt/archives/linux-headers-3.2.0-55_3.2.0-55.85_all.deb (--unpack):
 unable to create `/usr/src/linux-headers-3.2.0-55/arch/arm/mach-pxa/include/mach/eseries-irq.h.dpkg-new' (while processing `./usr/src/linux-headers-3.2.0-55/arch/arm/mach-pxa/include/mach/eseries-irq.h'): No space left on device

This » Жалоба "Space" и приведенный выше вывод df, похоже, противоречат друг другу.

Я получаю ту же ошибку при попытке исправить хранилище (sudo apt-get -f install). Думая, что у меня слишком много старых версий ядра, я попытался удалить некоторые (sudo apt-get remove linux-headers-3.2.0-38 linux-headers-3.2.0-38-generic linux-image-3.2.0-36-generic. ...) но это приводит к ошибке и предложению попробовать apt-get -f install.

Некоторая системная информация:

> uname -a
Linux <hostname> 3.2.0-55-generic-pae #85-Ubuntu SMP Wed Oct 2 14:03:15 UTC 2013 i686 i686 i386 GNU/Linux
> cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04.3 LTS"

Боюсь, что не смогу обновить любое программное обеспечение, пока я не получу эту проблему с заголовками. Я надеюсь, что кто-то там может помочь.

2
задан 18.04.2020, 03:45

2 ответа

В нем говорится, что у вас нет свободного места в разделе / ​​usr, вы можете попробовать удалить что-то там.

Вы пробовали установить apt-get -f?

0
ответ дан 18.04.2020, 03:46
1116 У иноды есть. Еще раз спасибо, gertvdijk.

В моем комментарии вы можете видеть, что файловая система, хотя и не почти полная, почти не содержит inode. Посмотрев на man mkfs.ext4, я решил сократить его соотношение байт / иноды вдвое. Это соотношение задается параметром -i. Быстрый расчет, основанный на выводах df -k и df -i, показал, что у меня около 2 ^ 14, поэтому я бы выбрал 2 ^ 13. (Ниже я использовал {} для обозначения объектов-заполнителей, детали которых могут отвлекать.) Затем я

  1. решил использовать временное хранилище {tempmountpoint}, смонтированное на {tempdev}. Это достаточно большой файл для хранения моего дерева / usr.

  2. скопировали содержимое / usr в {tempmountpoint} с

    rsync -avu /usr/ {tempmountpoint}
    
  3. размонтировали оба этих

  4. и смонтировали / usr to {tempdev} (чтобы я мог продолжать работать над другими вещами через все это)

  5. переформатировал / оригинальный (и возможный целевой) раздел usr с

    mkfs.ext4 -i 8192  /dev/sda8
    
    [119 ]
  6. монтировал / dev / sda8 в {tempmountpoint}.

  7. скопировали содержимое временного / usr обратно в целевой раздел с помощью

    rsync -avu /usr/ {tempmountpoint} .
    
  8. Наконец, я посмотрел (новый) UUID с

    [ 113]
  9. использовали этот UUID для редактирования записи / usr в / etc / fstab, и

  10. перезагрузились.

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

> df -k /usr
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda8       10156344 7349228   2282880  77% /usr
> df -i /usr
Filesystem      Inodes  IUsed  IFree IUse% Mounted on
/dev/sda8      1310720 679355 631365   52% /usr

Некоторые примечания:

(i) / home уже имеет свой собственный раздел. Если бы это было в / usr, я бы подошел к этому немного по-другому.

(ii) Выбор инструментов: мне нравится ls / dev / disk / by-uuid, потому что ls очень, очень хорошо известен. Я частично использовал rsync, потому что, когда мне пришлось какое-то время заняться чем-то другим, прежде чем вернуться к этому, я мог снова запустить ту же команду rsync, чтобы «обновить» копию. Кроме того, мне это нравится, и это может сделать это. Другие могут иметь различные утилиты, которые удовлетворяют этим критериям. Например, пока несколько лет назад я не использовал cpio. Все, что проходит через байт.

(iii) Заполнители относятся к файловой системе fat32 (vfat) в / dev / sda7, смонтированной в / windows. Я переформатировал это хладнокровно перед вышеупомянутой процедурой. Я никогда не задумывался об изменении имени точки монтирования, что может сбить с толку подержанного.

Спасибо всем, кто помог или помог.

1
ответ дан 18.04.2020, 03:46

Теги

Похожие вопросы