Лучшие практики для установки - могу ли я использовать Yum - PullRequest
1 голос
/ 01 сентября 2010

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

В настоящее время мне нужно установить около 30 пакетов через Yum (от больших, таких как mySQL, до более мелких случайных, размером 70 КБ). Вручную установите кучу других (пакеты Python, которые по сути являются просто командами «python setup.py install») Создайте несколько каталогов, измените некоторые разрешения и т. Д.

Какой лучший способ создать что-то, что автоматически делает это. Я не всегда могу предположить, что на клиентском сервере есть Yum, поэтому нужно ли мне загружать все двоичные файлы и зависимости и чтобы скрипт устанавливал их?

Я знаю, что это загруженный вопрос. Кто-нибудь знает хорошие уроки для этого?

Ответы [ 2 ]

4 голосов
/ 01 сентября 2010

Вы задаете несколько вопросов одновременно, поэтому я просто коснусь упаковки и установки библиотек Python ...

Используя setup.py, вы можете превратить пакеты Python в RPM для установки на любой Red Hat / CentOS коробка используя ням. Вот как я устанавливаю все свои пакеты на своей работе. Предполагается, что установлены базовые утилиты rpmbuild, это просто:

python setup.py bdist_rpm

Это создаст RPM вашего пакета в папке dist (например, dist/mypackage-1.01-1-noarch.rpm). Затем вы можете просто добавить этот RPM к вашему внутреннему зеркалу yum (если у вас есть внутреннее зеркало), и оттуда вы можете легко распространять пакеты на ваши внутренние хосты.

2 голосов
/ 01 сентября 2010

Вы можете создать RPM-пакет, который зависит от того, какие пакеты вам нужны.
http://fedoraproject.org/wiki/PackageMaintainers/CreatingPackageHowTo (для Fedora, но будет то же самое для RHEL / CentOS)

В основном вы бы имелистрока в .spec-файле выглядит следующим образом:
Requires: mysql-server, httpd, php

Таким образом, вы можете добавить это к своему зеркалу yum (если оно у вас есть), тогда тот, кто выполняет установку, может просто выполнить yum install server-setupи он автоматически вытянет все необходимые пакеты.Как сказал jathanism, вы можете создавать RPM-файлы из сценариев setup.py и помещать их в свое зеркало, а затем просто зависеть от этих RPM-метапакетов.

И вы также можете создавать пакеты Debian, если естьвозможность использования системы Debian.

...