root зарезервированные блоки

Добавьте строку set -x в свой программный файл.

Пример:

#!/bin/bash
set -x #echo on

ls $PWD

Это раскрывает все переменные и печатает полные команды перед выводом команды.

вывод:

+ ls /home/user/
file1.txt file2.txt

Проверьте этот ответ из Stackoverflow, чтобы найти более похожие флаги для команды set.

1
09.01.2019, 01:52
2 ответа

I mean, when doing something like sudo apt install - this 5% is being used by root at this moment?

Да. Нет. Может быть. Это не совсем так работает.

Когда вы слышите термин «корневой резерв», вы можете подумать, что существует определенная область, в которой только root может хранить файлы. Например, на парковке вы можете найти места, предназначенные для людей с ограниченными возможностями, или места для электромобилей с зарядкой. станции рядом с ними или места для родителей с детьми. И никто другой не имеет права там парковаться.

Однако корневой резерв не такой. Нет обозначенного свободного места. Нет, это все то же самое обычное свободное пространство. Так где же коренной резерв? Это нигде. Нигде конкретно.

Вместо этоговсе, что входит или выходит, должно пройти через входные/выходные ворота (файловой системы )и засчитывается при этом. Таким образом, файловая система знает, сколько свободных мест имеется.

И затем, если вы не являетесь пользователем root и осталось меньше корневого резервного пространства, он просто откажет вам во входе :извините, на устройстве недостаточно места, пожалуйста, оставьте. (Да, я знаю, что еще есть свободное место. Но я должен оставить как минимум X свободного места для root.)

Root, с другой стороны, не будет отказано во входе, если на самом деле ничего не осталось.

Расположение свободных блоков не имеет значения. Также не имеет значения, кто какие блоки уже использует. Что касается уже используемых блоков, вы не можете сказать, какой из них использует корневой резерв, а какой нет. Все они есть. Ни один из них. Обвиняйте того, кто уходит и освобождает место первым.

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

1
27.01.2020, 23:18

Зарезервированные блоки означают, что на диске зарезервировано некоторое пространство, которое может использовать только суперпользователь.

Так, например, если я делаю mke2fs -j /dev/vdb, то часть вывода включает..

13107 blocks (5.00%) reserved for the super user

И мы можем это проверить

% dumpe2fs /dev/vdb | grep -i Reserved.block
dumpe2fs 1.42.9 (28-Dec-2013)
Reserved block count:     13107
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)

Если мы посмотрим на место на диске...

% df -k /mnt
Filesystem     1K-blocks  Used Available Use% Mounted on
/dev/vdb          999320  1320    945572   1% /mnt

Теперь мы можем изменить это...

% tune2fs -m 1 /dev/vdb
tune2fs 1.42.9 (28-Dec-2013)
Setting reserved blocks percentage to 1% (2621 blocks)

% dumpe2fs /dev/vdb | grep -i Reserved.block
dumpe2fs 1.42.9 (28-Dec-2013)
Reserved block count:     2621
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)

А теперь, если мы посмотрим на свободное пространство...

% df /mnt
Filesystem     1K-blocks  Used Available Use% Mounted on
/dev/vdb          999320  1320    987516   1% /mnt

Обратите внимание, что количество доступных блоков увеличилось.

Это «запасное место» полезно, особенно на диске, где хранятся журналы, потому что это означает, что обычный пользователь не может заполнить диск на 100%, так что остается место для операционной системы, чтобы она продолжала работать и вести журнал... и, надеюсь, системный администратор заметит, прежде чем это зарезервированное пространство будет израсходовано!

4
27.01.2020, 23:18

Теги

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