Я пишу новое приложение Python, которое я намереваюсь распределить нескольким коллегам. Вместо моего нормального беззаботного отношения просто наличия всего сам содержавший и выполненный в папке в моем корневом каталоге, на этот раз я хотел бы расширить свой горизонт и на самом деле попытаться использовать структуру каталогов Linux, как это было предназначено (по крайней мере несколько). Можно ли считать мою разбивку ниже и прокомментировать ли и или предоставить ли рекомендации, если это не корректно.
Позволяет называют программу "narf"
/usr/narf - Install location for the actual python file(s).
/usr/bin/narf - Either a softlink to the main python file above or use this location instead.
/etc/narf - Any configuration files for app narf.
/var/log/narf - Any log files for app narf.
/usr/lib - Any required libraries for app narf.
/run/narf - Any persistent (across reboot), but still temp files for app narf.
/tmp/narf - Very temp files for app narf that go away with reboot
Я предполагаю, что должен придерживаться использования/usr/X (например,/usr/bin вместо просто / мусорное ведро), так как мое приложение не является очень важной системой и простое дополнение.
Я в настоящее время использую 16 LTS, однако часть этого, предназначают как способ попытаться стандартизировать мое приложение для любого популярного дистрибутива Linux.
Спасибо за справку.
Единственная проблема, с которой вы можете столкнуться - это каталог /run
. Он также используется как временное хранилище и рекомендуется только для привилегированных процессов. Таким образом, файлы, хранящиеся там, не являются постоянными, как вы предполагаете, и пропадут после перезагрузки.
В зависимости от назначения этих постоянных файлов вы можете хранить временные данные в пользовательском каталоге ~/.local/share/narf
, если эти данные относятся к конкретному пользователю, или использовать /var/cache/narf
(или /var/tmp
, поскольку они должны быть постоянными в соответствии с Распределение Википедии ) для постоянных данных.
/usr/narf - Install location for the actual python file(s).
не Делают. Пакеты не создают каталоги верхнего уровня в /usr
для себя. Если это файлы Python для использования Вашим приложением, поместите их где-нибудь в /usr/share/narf
, который является для архитектурно-независимых файлов, используемых пакетом narf. Например, разделитель и /usr/share/terminator/terminatorlib/translation.py
.
, Если Вы не создаете пакет, затем все в /usr
перемещения к /usr/local
(так /usr/local/bin/narf
, /usr/local/share/narf
, и т.д.).