Понимание системных папок Mac

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

Но для чего нужны различные системные папки? Что такое «bin», и как это помогает вашему компьютеру? Мы рассмотрим наиболее часто упоминаемые системные папки ниже.

Папка «/System» на вашем Mac сама по себе не содержит много данных. Сначала мы посмотрим на ее содержимое, прежде чем перейти к другим, более глубоким системным папкам.

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

Папки библиотеки: /System/Library и ~/Library

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

Вы найдете огромное разнообразие файлов и папок как в пользовательской библиотеке (находится в «~/Library»), так и в системной библиотеке (находится в «/System/Library»). Эти файлы сохраняют настройки, базы данных приложений, метаданные, плагины, сохраненные состояния приложений, системные профили, куки и многое другое.

Поддержка приложений

Папка «~/Library/Application Support» — это наиболее часто используемая библиотечная папка. Здесь приложения сохраняют файлы, необходимые для их работы. Удаленные от пользовательских папок с данными, эти файлы могут быть сегрегированы, чтобы избежать загрязнения или изменения.

Когда пользователи обращаются к этой папке, это, как правило, для изменения работы программы тем способом, который не поддерживается настройками по умолчанию, или для исправления каких-либо ошибок кэша или базы данных. Удаление папки поддержки приложения — отличный способ сбросить программу в ее исходное состояние и принудительно начать заново. И если вы хотите поэкспериментировать в приложении, вам быстро придется зайти в папку поддержки этого приложения.

Какова разница между /System/Library и ~/Library?

Зачем macOS нужны две папки библиотеки? Системная библиотека используется всеми пользователями для системных нужд. Она доступна всем пользователям. Пользовательская библиотека, с другой стороны, доступна только конкретному пользователю.

Папки Unix: /bin, /sbin, /usr, /var, /private

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

Вы найдете довольно много папок Unix в своей домашней директории. Наиболее заметные из них — «/bin» и «/sbin», «/usr», «/var» и «/private».

«/bin» и «/sbin» содержат бинарные файлы. «sbin» содержит бинарные файлы, необходимые для загрузки, восстановления, восстановления и ремонта системы, даже без подключенной файловой системы. «/bin» содержит, по сути, команды пользователя для использования всеми пользователями. «bin» означает bin арные файлы, а «sbin» означает sистемные bin арные файлы.

В macOS большинство бинарных файлов монтирования файловой системы в «/sbin» ссылаются на плагины файловой системы macOS в папке «/System/Library/Filesystems».

«/usr» содержит бинарные файлы и библиотеки, используемые во время обычной работы системы. Файлы здесь используются после подключения файловой системы. «usr» — это сокращение от «user» или U nix S ystem R esources.

«/var» содержит файлы, которые система записывает в процессе своей работы, такие как кэши, библиотеки данных и журналы. Var означает var и обычно записывается только ядровыми системными приложениями. В macOS «/var» ссылается на «/private/var».

«/private» содержит конфигурации демонов и командных инструментов, кэши, переменные, файлы подкачки виртуальной памяти, временные файлы и образы сна. Некоторые папки системы Unix, такие как «/etc» и «/tmp», ссылаются на идентично названный каталог в /private для их содержимого.

Если вы хотите узнать о содержимом этих папок, вы можете ознакомиться с этим подробным описанием папок Unix Mac.

Расширения

Если вы когда-либо создавали Hackintosh, вы слышали о «System/Library/Extensions». Обычно сокращенно «S/L/E», эта папка содержит «kexts» или расширения ядра, которые расширяют функциональность ядра macOS. Добавление kexts помогает ядру macOS общаться с новым оборудованием. Если вы из мира Windows, kexts — это как драйверы.

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

Агенты и демоны

Демоны и агенты работают в фоновом режиме, выполняя задачи без взаимодействия с пользователем. Необычное название (произносится как «демон») происходит от демона Максвелла.

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

  • «~/Library/LaunchAgents» содержит агенты пользователя, запущенные от имени текущего пользователя
  • «/Library/LaunchAgents» содержит глобальные агенты, запущенные от имени текущего пользователя
  • «/System/Library/LaunchAgents» содержит системные агенты, запущенные от имени текущего пользователя
  • «/Library/LaunchDaemons» содержит глобальные демоны, запущенные от имени root
  • «/System/Library/LaunchDaemons» содержит системные демоны, запущенные от имени root

Вы можете создать новые демоны и настроить существующие с помощью командной программы launchctl.

Заключение

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