Как освободить Иноды? [dубликат]

Эти две записи являются неотъемлемой частью файловых систем на вашем компьютере и присутствуют в списке, возвращенном функциями низкоуровневого каталога ядра.

Как говорили другие, .. является ссылка на родительский каталог, а . - ссылка на текущий каталог.

Некоторые интерфейсы, такие как nautilus, скрывают эти две записи, потому что они не так важны в графической среде, но они все еще там.

Почему они существуют?

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

Ярлык .. позволяет ссылаться на родителя каталога с directory/.., его дедушкой и бабушкой с помощью directory/../.. и скоро. Ярлык . позволяет явно ссылаться на текущий каталог, в случаях, когда приложение требует, чтобы вы указали каталог (или каталоги) для поиска, и вы хотите выполнить поиск в текущем каталоге. Например, . может быть добавлен к переменной среды PATH, позволяя по умолчанию искать текущий каталог для соответствия исполняемых файлов. Или, если он не существует в PATH, вы можете использовать ./myscript для запуска скрипта в текущем каталоге, даже если переменная среды PATH в противном случае не будет выглядеть в текущем каталоге исполняемого файла.

Почему они существуют?

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

С помощью ядра операционной системы Запись .. даже работает через точки монтирования, гарантируя, что корень точки монтирования будет иметь запись .., реализованную как ссылка на родительский каталог, в котором находится mount. Это происходит независимо от типов файловой системы - это произойдет даже в виртуальных файловых системах, таких как /proc.

. и .. являются зарезервированными именами файлов - невозможно создать фактический файл или каталог и дать это . или .. как имя (хотя вы можете inode имя файла с этими символами).

23
задан 2 February 2016 в 14:28

6 ответов

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

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

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

#!/bin/bash # count_em - count files in all subdirectories under current directory. echo 'echo $(ls -a "$1" | wc -l) $1' >/tmp/count_em_$$ chmod 700 /tmp/count_em_$$ find . -mount -type d -print0 | xargs -0 -n1 /tmp/count_em_$$ | sort -n rm -f /tmp/count_em_$$

Поместите этот скрипт в текстовый файл ~ / bin / count_em, а затем выполните команду

chmod +x ~/bin/count_em

, чтобы сделать его исполняемым. Если вам нужно было создать каталог ~ / bin, то он еще не будет на исполняемом пути, поэтому просто войдите и снова войдите.

Чтобы запустить программу, просто введите

count_em

, и в нем будут перечислены номера всех файлов в текущем каталоге и подкаталогах по каталогу с наивысшим показателем последнего. Очень удобно!

21
ответ дан 18 July 2018 в 07:03

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

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

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

#!/bin/bash # count_em - count files in all subdirectories under current directory. echo 'echo $(ls -a "$1" | wc -l) $1' >/tmp/count_em_$$ chmod 700 /tmp/count_em_$$ find . -mount -type d -print0 | xargs -0 -n1 /tmp/count_em_$$ | sort -n rm -f /tmp/count_em_$$

Поместите этот скрипт в текстовый файл ~ / bin / count_em, а затем выполните команду

chmod +x ~/bin/count_em

, чтобы сделать его исполняемым. Если вам нужно было создать каталог ~ / bin, то он еще не будет на исполняемом пути, поэтому просто войдите и снова войдите.

Чтобы запустить программу, просто введите

count_em

, и в нем будут перечислены номера всех файлов в текущем каталоге и подкаталогах по каталогу с наивысшим показателем последнего. Очень удобно!

21
ответ дан 24 July 2018 в 18:43

Вы также можете отобразить отсортированный список каталогов по числу inodes с помощью этой команды: du --inodes -d 3 / | sort -n | tail

Оттуда вы можете определить, какие каталоги удалить

4
ответ дан 18 July 2018 в 07:03

Я обнаружил, что использование inode происходит из /root/.local и удаляет эту папку.

2
ответ дан 18 July 2018 в 07:03

Вы также можете отобразить отсортированный список каталогов по числу inodes с помощью этой команды: du --inodes -d 3 / | sort -n | tail

Оттуда вы можете определить, какие каталоги удалить

4
ответ дан 24 July 2018 в 18:43

Я обнаружил, что использование inode происходит из /root/.local и удаляет эту папку.

2
ответ дан 24 July 2018 в 18:43
  • 1
    Ничего особого не следует использовать /root/.local, и оно существует только по соображениям совместимости. Вам нужно узнать, что написало много крошечных файлов в этом каталоге. – fabricator4 22 December 2012 в 10:05

Другие вопросы по тегам:

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