Как использовать весь inodes

Когда Вы работаете make с тем make-файлом цель по умолчанию out, и первая предпосылка calc.o, который строка сборки для той цели - то, что находится по Вашей ошибке.

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

Но Вы, возможно, не используете что-то, что квалифицирует как sh совместимый:

SHELL=cpp2

Переопределение этого (это уже определяется в среде), средства cpp2 используется, и очевидно это не ведет себя правильно.

5
22.07.2018, 06:16
3 ответа

Да, вы можете потреблять все inodes систем. Они являются ограниченным ресурсом, таким образом, как Diskspace, и они предварительно выделены при выполнении MKFS.Ext4 , например.

Вы можете использовать такие инструменты, как TUNE2FS -L <устройство> или DF -I , чтобы увидеть, сколько выделено и используется.

Пример

$ df -i /
Filesystem               Inodes  IUsed   IFree IUse% Mounted on
/dev/mapper/fedora-root 3276800 355850 2920950   11% /

Итак, эта файловая система содержит 2920950 бесплатно. Если бы я начал делать файлы, каталоги или ссылки на файловую систему, это было бы всем, что мне нужно было сделать, чтобы потреблять их все. Поймите, что я мог бы потреблять все эти inodes с небольшими файлами или ссылками, и все еще есть примерно все дископространство, все еще доступно для меня.

Потребляющие inodes без файлов?

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

Пример

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

$ df -i /
Filesystem               Inodes  IUsed   IFree IUse% Mounted on
/dev/mapper/fedora-root 3276800 355850 2920950   11% /

$ sudo mkdir /somedir

$ df -i /
Filesystem               Inodes  IUsed   IFree IUse% Mounted on
/dev/mapper/fedora-root 3276800 355851 2920949   11% /

Самый простой способ потреблять inodes, вероятно, сделает каталог дерева каталогов.

$ sudo mkdir /somedir/1
$ df -i /
Filesystem               Inodes  IUsed   IFree IUse% Mounted on
/dev/mapper/fedora-root 3276800 355852 2920948   11% /

$ sudo mkdir /somedir/2
$ df -i /
Filesystem               Inodes  IUsed   IFree IUse% Mounted on
/dev/mapper/fedora-root 3276800 355853 2920947   11% /

$ sudo mkdir /somedir/3
$ df -i /
Filesystem               Inodes  IUsed   IFree IUse% Mounted on
/dev/mapper/fedora-root 3276800 355854 2920946   11% /

Вот еще один пример, где я употребляю inodes, создавая несколько ссылок с использованием LN TOTHE TOY FILE.

$ ln -s afile ln1
$ df -i .
Filesystem                          Inodes   IUsed    IFree IUse% Mounted on
/dev/mapper/fedora_greeneggs-home 26722304 1153662 25568642    5% /home

$ ln -s afile ln2
$ df -i .
Filesystem                          Inodes   IUsed    IFree IUse% Mounted on
/dev/mapper/fedora_greeneggs-home 26722304 1153663 25568641    5% /home

$ ln -s afile ln3
$ df -i .
Filesystem                          Inodes   IUsed    IFree IUse% Mounted on
/dev/mapper/fedora_greeneggs-home 26722304 1153664 25568640    5% /home
8
27.01.2020, 20:31

Этот скрипт создаст столько файлов, поскольку у вас есть inodes, доступных на вашем / файловой системе:

while [ $(df --output=iavail / | tail -n1) -gt 0 ]; do 
    touch $((i++)); 
done

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

8
27.01.2020, 20:31

файлы inodes.

Тем не менее, вы можете создавать файлы, которые не связаны с любым каталогом и все еще используют inode. Например:

zsh -c 'repeat 1000 ((repeat 1000 {exec {fd}> file; rm file}
          exec sleep 1000 >&-) | cat)'

будет (в конечном итоге) использовать 1 000 000 inodes. Эти inodes будут удалены файлы, которые еще не были восстановлены с момента тех, сколько процессов .

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

5
27.01.2020, 20:31

Теги

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