Файл требований для apt-get, аналогичный pip

Мне нравится, как вы можете управлять зависимостями с требованиями протокола. Есть ли что-то подобное в случае apt-get?

http://www.pip-installer.org/en/latest/requirements.html#requirements-file-format

Ответы

Ответ 1

Ваш вопрос в том, что вы хотите иметь список системных зависимостей в одном файле, чтобы иметь возможность установить его с помощью одной команды.

Я не рекомендую вам включать версию пакета в системные зависимости. В зависимостях от программной системы, таких как "build-essential" или "uuid-dev", вы обычно хотите получить последнюю версию пакета. В "жестких зависимостях", таких как python, postgres или что-то еще, обычно версия указывается в самом имени самого пакета, например "python2.6-dev" или "postgresql-8.4". Еще одна проблема, с которой вы, возможно, определяете точную версию пакета, состоит в том, что, возможно, версия 8.4.11-1 of postgresql-8.4 не будет доступна в репозитории через три месяца или через год, и вы закончите установку текущей версии в репо.

Пример. Вы можете создать файл с именем "requirements.system" с системными пакетами, которые вам нужны для проекта:

python-virtualenv
python2.6-dev
uuid-dev
python-pip
postgresql-8.4

Затем в вашем файле INSTALL объясните, как установить системные пакеты.

# Install system depencences by running
cat ~/project/install/requirements.system | xargs sudo aptitude install

У нас есть эта конфигурация в течение примерно двух лет, нужно несколько раз воссоздать среду из скреста, и у нас никогда не было проблемы.

Ответ 2

Мы используем формат aptfile. Это просто оболочка bash с встроенными встроенными помощниками.