Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Victor Wagner                        2:5020/400     03 Mar 2005  10:13:56
 To : George Shuklin
 Subject : Re: положение файлов
 -------------------------------------------------------------------------------- 
 
 George Shuklin <George.Shuklin@f1377.n5030.z2.fidonet.org> wrote:
 
  GS> А, это ты All! Вот что я тебе сказать хотел...
 
  GS> Подскажите, где должны лежать файлы:
 
  GS> 1) конфигурации
  GS> 2) кэша
  GS> 3) Исполняемый файл
  GS> 4) файлы документации к программе
 
  GS> P.S. Утилита user-level для работы с видео/аудио, консольная.
 
 fhs почитать тебе уже рекомендовали. К сожалению, в fhs написано не всё.
 Он же рассчитан на авторов дистрибутивов, которые уже собаку съели в
 программировании под *nix и призван выработать единую схему,
 собирающую все лучшие из выработавшихся за 35 лет истории Unix традиций.
 
 Поэтому по пунктам:
 
 1. Файлы конфигурации
   В многопользовательских системах, к которым относятся все *nix, и
   теоретически (хотя об этом не думают большая часть авторов 3rd-party
   софта) относится семейство Window NT, принято иметь два файла
   конфигурации (вернее, два источника конфигурационой информации, в
   windows это обычно две ветки реестра) для user-level програм.
     а) site-wide, т.е. общая для всех пользователей
   б) per-user - т.е. индивидуальная для каждого пользователя.
   
   site-wide лежит в системной директории конфигурации, которая
   традиционно называется /etc и доступен для редактирования только
   администратору системы. Более менее работоспособная заготовка такого
   файла обычно создается при установке пакета. (см ниже про sysconfdir в
   autoconf)
   
   per-user лежит в домашней директории пользователя, и обычно называется 
   .<имя-софтины>rc.  Он создается либо пользователем вручную (например,
   путем копирования системного и изменения необходимых настроек) либо
   софтиной, если она достаточно интерактивная, чтобы уметь сохранять
   настройки.
 
 2. Файлы кэша опять таки могут быть общими для системы, тогда им место в
 /var/cache, либо индивидуальными для пользователя, тогда им место в 
 ${HOME}/.<имя софтины>/cache. (а индивидальный конфигурационный файл
 тоже может переехать внутрь ${HOME}/.<имя-софтины>. Тогда ему уже не
 нужна точка в начале - признак скрытого файла)
 
 Впрочем, в последнем случае рекомендуется предусмотреть возможность
 явного указания расположения кэша в конфигурационном файле. Причем так,
 чтобы его можно было прописать в системном конфиге, и для каждого юзера
 сгенерился бы правильный путь.
 
  Дело в том, что ${HOME} может быть смонтирован по сети, а кэшироваться
  на сетевой диск - медленно. Поэтому надо сделать возможность указать
  там что-нибудь вроде /var/tmp/<софтина>-cache-$username
 
 3. Исполняемый файл бывает обычно в /bin, /usr/bin и /usr/local/bin.
 Т.е. общая схема ${prefix}/bin. Эти каталоги у пользователя и так в PATH
 есть. В /bin твоя софтина скорее всего никогда не попадет, там место
 только тому, что необходимо при загрузке системы, до того как смогли
 смонтировать /usr.  В /usr/bin она попадет только в том случае, если её
 включат в соответствующий дистрибутив и соберут в пакет. Hо не стоит
 заранее зарекаться, что этого не случиться. В /usr/local/bin она должна
 по умолчанию попадать при установке make install.
 
 4. Файлы документации. Для начала, должны быть man-страницы. Они
 располагаются в ${prefix}/share/man/<секция>. где секция это man1 для
 программ, man5 для форматов файлов (в частности конфигов), man7 для
 всего, что не вписывается в остальные категории. В man man описано и все
 остальное. man <софтина> настолько естественное действие, что ни в коем
 случае нельзя оставлять софтину без хотя бы краткой man страницы. Там
 может быть только перечислены основые опции (чтобы опытный пользователь
 данной софтины, не имевший с ней дела пару месяцев, вспомнил что к чему)
 и дана ссылка на основную документацию в info, pdf или html. Hо эта
 страница должна быть.
 
 Если есть документация в info, она ставится в ${prefix}/share/info и
 прописывается в сообветствующий dir-файл.
 
 Документация в нестандартных форматах (pdf, html, etc) складывается
 в ${prefix}/share/doc/<софтина>.
 
 И еще. Есть такая штука как autoconf. Её рекомендуется освоить и
 использовать. В частности она позволяет тому, кто собирает софтину явно
 задать prefix, и явно задать sysconfdir.
 
 Рекомендуется почитать info autoconf и создать хотя бы минимальный
 configure скрипт. Особенно, если программа работает не только под Linux.
 Если у тебя есть уже написанный makefile, то совершенно необязательно
 при этом связываться с automake. Хотя можно. Если программа требует
 всяких не слишком стандартных библиотек, которые должны быть установлены
 в системе независимо от неё (из дистрибутива или портов во FreeBSD) -
 пригодится.
 -- 
 Прежде, чем стиснуть зубы, показывайте язык.
        --- С.Е. Лец
 --- ifmail v.2.15dev5.3
  * Origin: Free Net of Leninsky,45 (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 положение файлов   George Shuklin   02 Mar 2005 06:18:40 
 Re: положение файлов   Serge Matveev   02 Mar 2005 23:48:33 
 положение файлов   George Shuklin   03 Mar 2005 01:54:54 
 положение файлов   Michail Shurutov   03 Mar 2005 11:11:26 
 Re: положение файлов   Roman Belenov   03 Mar 2005 12:07:08 
 положение файлов   George Shuklin   05 Mar 2005 16:34:38 
 Re: положение файлов   Kirill Frolov   03 Mar 2005 22:24:44 
 Re: положение файлов   Victor Wagner   03 Mar 2005 10:13:56 
 положение файлов   George Shuklin   05 Mar 2005 16:57:30 
 Re: положение файлов   Victor Wagner   08 Mar 2005 11:46:01 
 положение файлов   George Shuklin   08 Mar 2005 13:45:08 
 Re: положение файлов   Alexei Dets   09 Mar 2005 05:10:49 
 Re: положение файлов   Yoric Kotchukov   03 Mar 2005 22:10:37 
 положение файлов   George Shuklin   08 Mar 2005 12:05:34 
 Re: положение файлов   Yoric Kotchukov   10 Mar 2005 21:45:12 
 положение файлов   Sergey Klimov   04 Mar 2005 09:28:50 
Архивное /ru.linux/151787785efcd.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional