В FreeBSD программное обеспечение сторонних разработчиков предназначено для установки в /usr/local
. Каталог /usr/games
, если он существует, не должен касаться.
В ОС X программные приложения в комплекте и установлены в папку /Applications
, но текстовая базовая игра (которая, как я полагаю, есть), вероятно, не имеет смысла. Если вы устанавливаете программное обеспечение с помощью MacPorts, оно имеет тенденцию идти в /opt/local
. Если вы устанавливаете программное обеспечение с помощью Brew, оно имеет тенденцию идти до /usr/local
, чтобы избежать конфликта с MacPorts. Но «правила» иерархии под /*/local/
отличаются от «правил» иерархии под /Applications
.
В большинстве дистрибутивов Linux программное обеспечение может быть установлено в любом месте, если оно не конфликтует с ранее установленным программным обеспечением. Насколько я могу судить, есть рекомендации, но они меньше соответствуют им.
Большая общая черта между ними заключается в том, что в нем задействована система упаковки. Обычно вы можете делать все, что захотите, до тех пор, пока вы отслеживаете, что делаете в упаковочном листе. (См port contents {portname}
в MacPorts, pkg info -l {portname}
в FreeBSD, dpkg-query -L {pkgname}
в APT-систем, rpm -ql {pkgname}
в системах ППД на основе и т.д.)
Мой совет будет держать вашу установку, как простой, но как можно более гибким, и пусть локальная система упаковки применяет свои правила о том, куда идти. Ваше программное обеспечение не должно меняться, потому что какая-то операционная система решила, что игры должны жить в другом месте.
Установите свой префикс как-то вроде PREFIX?=/usr/local
, чтобы его можно было легко перезаписать прилагаемым скриптом или Makefile. Ознакомьтесь с различными вариантами команды install
, чтобы определить, существует ли базовый набор опций, которые являются универсальными в платформах, которые вы собираетесь поддерживать, а если нет, просто скопируйте файлы с cp
или включите собственный скрипт install
как часть вашего программного обеспечения.
AFAIK,/usr/games по-прежнему остается местом для игр в FreeBSD, но это необязательная установка - не все хотят или нуждаются в ней. Тем не менее, существует предварительный уровень для установки вещей в $ prefix/$ packagename /, например PostgreSQL, входящий в/usr/local/pgsql во FreeBSD. Вы также можете использовать $ prefix/bin для двоичных файлов, $ prefix/lib для библиотек, $ prefix/etc для конфигурации и т. Д., Если ** файлы, которые вы добавляете в систему, записываются в локальную систему управления пакетами **. Программное обеспечение, которое не красиво сочетается с упаковкой, никогда не будет установлено на поддерживаемые мной системы. Период. – ghoti
Кроме того, я боюсь, что это звучит не так, как на тему для SO. Я рекомендую вам обратиться в IRC-каналах для различных операционных систем, которые вы заинтересованы в поддержке. Вполне вероятно, что разные платформы будут иметь разные предпочтения. – ghoti
@ghoti Нет, это не так. Например, на моей Linux-системе nethack устанавливается в '/ usr/games/nethack', тогда как на FreeBSD порт исправлен для установки в'/usr/local/bin/nethack', потому что 'games' отменен. – fuz