Правильно ли предположить, что операционная система ВСЕГДА помещается в /usr во всех видах UNIX и Linux?

Я пишу сценарий, который должен проверять свободное место в файловой системе операционной системы, и я хочу, чтобы он был универсальным для всех видов (RedHat, Solaris, AIX, SGI, Suse, CentOS и т. Д ...).

Спасибо

3 ответа3

4

К сожалению, нет общего ответа на вопрос, который вы задаете.

Причина в том, что системы Linux и Unix предоставляют полную свободу для установки частей операционной системы в один или несколько разделов, локальных или удаленных.

В дополнение к свободе секционирования некоторые системные администраторы обычно создают символические ссылки на общеизвестные (например, FHS) имена каталогов ОС, такие как /usr/local через разделы. Таким образом, операционная система фактически может быть распределена по нескольким файловым системам. Это означает, что в общем случае не существует понятия "файловая система операционной системы".

Крайним примером этого может быть LiveCD Ubuntu работает с UnionFS RAM диска 60MiB. В этом случае доступно 60 МБ свободного пространства, которое доступно всего, но существует только до тех пор, пока работает ОС.

3

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

В основном вам нужно проверить /, /usr, /var (на большинстве систем /bin и /sbin находятся в / и не смонтированы на отдельных файловых системах). В настольных средах SuSE и некоторых более крупных пакетах может оказаться в /opt и вы можете проверить это.

2

Просто используйте инструмент df(1) для фактического пути, в который вы пытаетесь записать:

$ df /usr/here-is-where-i-want-to-be/
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda2             70105504  13177408  56928096  19% /

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .