Является ли частью какого-либо стандарта (например, POSIX) то, что системные файлы должны быть в нижнем регистре?

Является ли частью какого-либо стандарта (например, POSIX) то, что системные файлы должны быть в нижнем регистре?

Моя компания перепродает приложение, название бренда которого состоит из букв разного регистра, например «ApplicationName».

Установщик приложения создает все пути и имена файлов в этом стандарте. Например, главный каталог — /opt/ApplicationName, файл init называется , ApplicationNameпоэтому мне нужно запустить service ApplicationName statusи т. д.

На мой взгляд, это нарушает все разумные соглашения, и я считаю, что все файлы и каталоги должны быть в нижнем регистре (есть прецедент в других приложениях, таких как MySQL, в которых все файлы и каталоги называются mysql, даже такие приложения, как Apache и Tomcat, отказываются от предшествующей заглавной буквы).

Если я подниму это как отчет об ошибке, я хотел бы выдвинуть более веский аргумент, чем просто "Я думаю, что это неправильно". Так предписано ли в чем-то вроде стандарта POSIX, что системные файлы, подобные этому, должны быть в нижнем регистре?

решение1

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

Фактически, исторически пакеты программного обеспечения, установленные в, /optначинались с биржевого символа компании, предоставившей пакет, состоящего из заглавных букв, например, SUNWSun Microsystems или ORCLOracle.

Поэтому такие пакеты, как файловая система QFS от Sun, будут установлены в каталоге с именем вроде /opt/SUNWqfs.

решение2

В стандарте POSIX есть раздел с рекомендациями посоответствующие коммунальные услуги(т.е. «такие, которые написаны специально для локальной системы или являются компонентами более крупного приложения»), который гласит:

  1. Названия утилит должны содержать от двух до девяти символов включительно.
  2. Названия утилит должны включать строчные буквы (классификация символов нижнего регистра) и цифры только из переносимого набора символов.

[ссылка:12.2 Правила синтаксиса утилит]

Мне неясно, означает ли использование слов «должны включать» на самом деле «должнытольковключить». (В комментариях ниже единодушное мнение, что это означает «следует только включить»).

Приложение в системе Unix, которое не претендует на то, чтобы быть утилитой, соответствующей POSIX, может в противном случае использовать любое имя, которое оно хочет. Если оноделаетпретендует на звание утилиты, соответствующей стандарту POSIXкоторая является частью утилит оболочки POSIX, текст после указаний в разделе 12.2 гласит, что «should» меняет значение на «shall».

Насколько мне известно, подобных рекомендаций относительно имен каталогов не существует. macOS (котораясертифицированный продукт UNIX 03при запуске на компьютере Mac на базе Intel) используется /Usersв качестве префикса, например, для домашних каталогов пользователя, а также для ряда других имен каталогов в смешанном регистре.

решение3

Помимо указаний POSIX, я думаю, что это могло бы иметь еще больший вес в пользовательской традиции. Имена регистров, такие как "ApplicationName", стали популярными с взрывом Wiki, приучая некоторых людей (вроде меня) использовать заглавные буквы вместо дефисов или, что еще хуже, пробелов. Но это было через несколько лет после того, как Linux и подобные ОС стали популярными, с очень давней традицией Unix позади.

Эта традиция всегда была (есть) простотой, не только следовать правилам, на которые указал Кусалананда, даже сокращать слова только из четырех-шести символов (например, /usrдля «пользователь», или /srvдля «обслуживать», или /mntдля «монтируемый») и, очевидно, более длинных значений ( /sbinдля «двоичные файлы суперпользователя»). В этой традиции заглавные буквы, заставляющие вас нажимать клавишу Shift, а может быть, и случайно клавишу Caps Lock, являются просто злом.

В какой-то степени это удивительно, поскольку Unix-системы долгое время могли записывать длинные имена файлов с учетом регистра, в то время как MS-DOS/Windows, напротив, были ограничены короткими именами файлов без учета регистра (восемь символов плюс три для расширения), но быстро потеряли эту простоту («Program Files», «My Documents» и т. д.), когда Windows 95 преодолела это ограничение.

Тем не менее, сегодня есть несколько исключений, таких как NetworkManagerдемон, и, вероятно, в будущем мы увидим больше WikiWords. Но мы все еще ненавидим мышь и пишем в терминале длинные имена, которые можно закончить только автодополнением TabTab. Или кто-то видит какие-то преимущества в переименовании vimв VisualImproved?

Связанный контент