LINUX.ORG.RU
ФорумAdmin

Помогите вылечить систему после того, как закончилось место

 , , , ,


1

2

Дано

  1. Fedora OS
  2. btrfs
  3. получил «no space left on device» (UPD: но успел удалить ненужных 50гигов)
  4. загрузиться в rescue mode не вышло, т.к. «no access to root» - пароля на руте нет
  5. загрузился с liveCD, подмонтировал раздел root из btrfs диска, но сменить пароль не дает, т.к.
# passwd -R /mnt/sysimage root
passwd: can not get previous SELinux process context: No such file or directory
passwd: root is not authorized by SELinux to change the password of root

Тут мой гугл-конфу начал подводить меня.

★★★★★

Последнее исправление: bvn13 (всего исправлений: 2)

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

Только не слушай местных экспердов, которые, наверняка посоветуют заменить btrfs на сраное говно типа ext4/ext3. На любой файловой системе если кончится место ты не сможешь залогиниться. Удаляй всякое говно: ~/Downloads, ~/.cache и всякий мусор.. Я не знаю чем можно 450 гигов засрать, я при заполнении на 70% чистить начинаю, потому как нужно 20-30% свободного места на диске для обеспечения нормальной скорости работы, если диск забивается, то уже тормоза должны заставить провести чистку места

rtxtxtrx
()
Последнее исправление: rtxtxtrx (всего исправлений: 1)
Ответ на: комментарий от rtxtxtrx

Я не знаю чем можно 450 гигов засрать

Торрентами можно и гораздо больше «засрать».

А если по теме, то я бы предложил бы сделать резервную копию, на оригинальной фс всё удалить (или пересоздать фс), из резервной копии исключить лишние файлы (чтоб освободить место) и восстановить всё остальное. Учитывая, что за целый день решения не нашлось, то метод грубой силы самое то - он по крайней мере в конечном итоге приведёт к восстановлению работоспособности системы.

u5er
()
Ответ на: комментарий от bvn13
mount -o subvol=@ /dev/nvme... /mnt
mount -t proc /proc /mnt/proc
mount --rbind /sys /mnt/sys
mount --rbind /dev /mnt/dev
mount --rbind /run /mnt/run
chroot /mnt

# как сделали chroot
mount -a
# переустановим все пакеты
dnf reinstall \*
# переустановим гроб
grub2-install
# выходим из chroot
exit

reboot
rtxtxtrx
()
Ответ на: комментарий от rtxtxtrx

На любой файловой системе если кончится место ты не сможешь залогиниться

4.2, ФС, спроектированные не хипстерами, по дефолту закладывают возможность руту залогиниться в ситуации, когда юзеры сожрали место.

$ man mke2fs

    -m reserved-blocks-percentage
        Specify the percentage of the file system blocks reserved for the super-user. This avoids fragmentation, and allows root-owned daemons, such as  syslogd(8), to continue to function correctly after non-privileged processes are prevented from writing to the file system. The default percentage is 5%.
leave ★★★★★
()
Ответ на: комментарий от MagicMirror

Не могу сказать про нее ничего хорошего на основе пятилетнего опыта использования в продакшене. Отказались и вернулись на ext4. xfs слишком нежна на нестабильных хранилках.

leave ★★★★★
()
Ответ на: комментарий от leave

The first stable version of the ext4 filesystem, also known as the Fourth Extended File System, was released on December 25, 2008, as part of Linux kernel 2.6.28

Linux File SystemsRelease datelimitations
Ext4December 2008Does not have secure deletion feature
XFSMay 2000Slower metadata operations
BtrfsMarch 2009High level of data fragmentation
ZFSJune 2006Failure to check RAM health in the case of data errors
rtxtxtrx
()
Ответ на: комментарий от leave

Да. Поэтому ее в код ядра включили, а reiserfs выпилили

Btrfs (b-tree filesystem) is commonly pronounced as «Better F-S», «Butter F-S», and «B-tree F-S». Btrfs is a filesystem that was designed at Oracle in 2007 and has since been in use throughout the Linux community. By 2012, Oracle Linux and SUSE Linux Enterprise had adopted Btrfs as a production-viable and supported file system. In November of 2013, the filesystem was considered to be stable by the Linux community and was officially incorporated into the Linux kernel. SUSE Linux Enterprise Server 12 was the first distribution of Linux to make Btrfs the default filesystem in 2015. Fedora 33 has been the most recent distribution to do the same in 2020. As time progresses, perhaps more distributions will do the same and adopt Btrfs as a default as well.

rtxtxtrx
()
Ответ на: комментарий от anonymous

Любая система не превращается в тыкву. ext4 может намана работать - у самого не раз было ноль байт потому что какой-нибудь ллвм компилился толсто, и ничего, жива система.

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

Bfgeshka ★★★★★
()
Ответ на: комментарий от Bfgeshka

Он не мог авторизоваться, потому что кончилось место. Он его освободил, а теперь система не грузится, потому что место кончилось во время ее обновления, те похерело образ initramfs или еще какой системный пакет. Тут вообще существующая файловая система ВТОРИЧНА. Вся тема - это разговор слепых с глухими.

А держать конфиги и вот это вот всё на отдельных партициях?

Так местные же псевдоэксперты пишут, что не нужно разносить систему на разные разделы. А ее как раз и разносят чтобы в руте место не кончилось из-за чьей-то зловредной деятельности. Но и это замечание не в тему.

rtxtxtrx
()
Ответ на: комментарий от rtxtxtrx

Причём тут ОН, я про свой случай говорю. Кто теперь слепоглухой?

Так местные же псевдоэксперты пишут, что не нужно разносить систему на разные разделы. А ее как раз и разносят чтобы в руте место не кончилось из-за чьей-то зловредной деятельности.

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

ОП ССЗБ уже по пунктам 0 и 1.

Bfgeshka ★★★★★
()
Ответ на: комментарий от rtxtxtrx

Если брать по времени включения в ядро, то ext4 таки 2006 года :) Ты определись, крестик или трусы. А если по «considered stable», то у нас Dec 2008 vs Nov 2013.

Показательно, что шапка два релиза поддерживала бтрфс как preview, и в итоге дропнула.

leave ★★★★★
()
Ответ на: комментарий от MagicMirror

За инодами следишь?

Там, где это важно - мониторинг следит.

А Linux тут при чём?

Не вижу слова «Linux» в комментарии

Список не хипсторских ФС в студию

leave ★★★★★
()
Ответ на: комментарий от anonymous

Технически это верно, просто сейчас необходимое для обновления метаданных место уже должно быть зарезервировано. Последний раз у меня заканчивалось место на Btrfs несколько лет назад, и удаление файлов никаких затруднений не вызвало. О существовании balance я и вовсе не вспоминаю уже давно.

anonymous
()
Ответ на: комментарий от leave

Ну, допустим, 2006. И тогда фраза будет «ext4, вышедшая на три года раньше btrfs»… Прикол то в том, что ты вообще в теме не разбираешься и думал, что ext4 лет на 20 старше, а не такой же новодел. То что её при первом релизе в ядро включили ничего не значит. ZFS до сих пор не включено, а bcachesfs так же как ext4 была сразу включена, но это не значит, что последняя стабильнее и надёжнее 18-летней разработки. Включению в ядро как правило мешают не баги, а лицензионные ограничения

anonymous
()
Ответ на: комментарий от anonymous

Точнее при удалении файла размер записанного блока с метаданными должен быть меньше количества освобождённых блоков. И это условие выполняется всегда, поэтому им можно пренебречь. Те файлы можно удалить всегда, даже если занято всё место, но этих псевдо экспертов даже опыт опа успешно удалившего файлы при заполнении ФС 100% не может убедить усомниться в бредовости их заявлений

anonymous
()
Ответ на: комментарий от anonymous

И это условие выполняется всегда

Нет, несколько лет назад на Btrfs можно было поймать ENOSPC при попытке удалить файлы с переполненной ФС. Но запуск balance помогал. Сейчас с такой ошибкой столкнуться если и можно, то явно потребуются усилия для этого.

anonymous
()