1

Я перехожу на OSX и мне нужно выяснить, когда следует хранить свои скрипты и библиотеки. У меня есть код на Perl и Python, и библиотеки, которые я написал на обоих языках. Я единственный пользователь этой машины, поэтому я представляю разницу между ~/bin/ и / usr / local /bin/ менее очевидной, чем на многопользовательской машине.

Я не уверен, что правильное расположение таких файлов находится под Unix (даже после возни, например, здесь) и тем более под нестандартным расположением OSX.

Где я должен положить сценарии, которые я на самом деле запустить? В ~/bin/? В /usr /local /bin/? Должен ли я разделять Python и Perl, скажем, в ~/bin/python / и ~/bin/ perl /?

И (как мне кажется, сложнее) куда мне положить библиотеки? В ~/lib/? В ~/lib/python/ и lib/ perl/? Или где-то в ~/ Library/?

1 ответ1

1

Если вы хотите поддерживать совместимость с другими системами Unix/Linux, вы должны использовать /usr/local/bin и /usr/local/lib , даже если вы являетесь единственным пользователем на машине. Стандарт иерархии файловой системы указывает, что иерархия /usr/local:

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

Локально установленное программное обеспечение должно быть размещено в /usr/local а не /usr если оно не устанавливается для замены или обновления программного обеспечения в /usr .

Технически, если программы предназначены только для вашего собственного использования, вы можете использовать ~/bin , ~/lib и т.д., Но я обычно резервирую эти каталоги на случай, если я не являюсь пользователем с правами администратора на общем компьютере (в моей сети хост, например).

Что касается разделения по языку, все двоичные файлы должны быть в /usr/local/bin , но библиотеки могут быть в /usr/local/lib/perl5 , /usr/local/lib/python3.3 и т.д.

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