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

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

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

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

1
JiminyCricket 1 Сен 2010 в 00:06

2 ответа

Лучший ответ

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

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

python setup.py bdist_rpm

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

4
jathanism 31 Авг 2010 в 20:38

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

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

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

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

2
jonescb 31 Авг 2010 в 20:48