Независимая от платформы версия / var / lib и ~ / .config - PullRequest
1 голос
/ 10 июля 2009

Мы видим, что такие программы, как apt-get, хранят информацию в нескольких местах:

/var/cache/apt      <- cache
/var/lib/apt        <- keyrings, package db, states, locks, mirrors
/etc/apt            <- configuration file
~/.aptitude/config  <- user configuration file

Итак, мы видим здесь четыре вида путей:

  1. Путь кеша
  2. Путь данных
  3. Общесистемная конфигурация
  4. Конфигурация пользователя

Возможно, (1) можно сделать частью (2) для простоты. Может ли кто-нибудь придумать способы получить такие подходящие пути независимо от платформы? Есть ли библиотека, которая делает это, или нужно изобретать это колесо?

Ответы [ 2 ]

1 голос
/ 14 июля 2009

Для Linux ознакомьтесь со стандартом иерархии файловых систем (но учтите, что эти стандарты относятся к программному обеспечению, являющемуся частью дистрибутива, программное обеспечение, устанавливаемое локально, не должно мешать управлению пакетами дистрибутива и находиться в / usr / local / и /var/local/).

Если вы хотите быть по-настоящему кроссплатформенным, IMO лучше всего оставить эту настройку настраиваемой для упаковщика, по умолчанию для запуска в текущем каталоге (чтобы пользователи без административных привилегий могли просто распаковать и запустить программу). Таким образом, люди, упаковывающие данные для конкретной ОС / дистрибутива, будут устанавливать разумные значения для общесистемной установки, и пользователи смогут использовать ее локально без прав администратора для машины.

0 голосов
/ 10 июля 2009

Вы имеете в виду что-то вроде virtualenv ?

...