Скрипт для установки и компиляции Python, Django, Virtualenv, Mercurial, Git, LessCSS и т. Д. На Dreamhost - PullRequest
6 голосов
/ 26 мая 2010

История

После очистки домашней папки моего общего сервера Dreamhost от всей кучи, накопленной за это время, я решил начать заново и скомпилировать / переустановить Python. Все учебники и фрагменты, которые я нашел, казались чрезмерно упрощенными, предполагая (или игнорируя) кучу зависимостей, необходимых Python для правильной компиляции всех модулей. Итак, начиная с http://andrew.io/weblog/2010/02/installing-python-2-6-virtualenv-and-virtualenvwrapper-on-dreamhost/ (пока лучшее руководство, которое я нашел), я решил написать сценарий Bash «поставил и забыл», чтобы автоматизировать этот болезненный процесс, в том числе и кучу других вещей, которые я планирую использовать.

Сценарий

Я размещаю скрипт на http://bitbucket.org/tmslnz/python-dreamhost-batch/src/

ТОДО

Пока все работает нормально и делает все, что нужно, примерно за 900 секунд, что дает мне в конце процесса полностью функциональную настройку Python / Mercurial / etc ... даже без необходимости выходить из системы и входить обратно .

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

  • Проверка на наличие ошибок и разрыв
  • Проверьте наличие мелких версий пакетов и выдайте предупреждения
  • Проверка на известные зависимости
  • Используйте аргументы для установки только некоторых пакетов вместо комментирования строк
  • Организовать код так, чтобы его было легко обновить
  • При необходимости можно сделать установщики и компилировать без вывода сообщений, с записью ошибок в файл
  • отказоустойчивая модификация .bashrc для предотвращения взлома логинов ssh и необходимости входа через FTP для ее исправления

РЕДАКТИРОВАТЬ : Подразумеваемый вопрос: может ли кто-нибудь, более застенчивый , чем я, дать общий совет о достоинствах вышеупомянутых пунктов или выделить любые проблемы, которые они видят при таком подходе? (см. мой ответ на комментарий Ry4an ниже)

Суть

Я не UNIX, не Bash или эксперт по компиляторам, и это было построено итеративно, методом проб и ошибок. Это как-то идет к apt-get (ну, 1% от этого ...), но поскольку Dreamhost и другие, очевидно, не могут предоставить root-доступ на общих серверах, это выглядит для меня как потенциально очень полезный обходной путь; особенно это касается некоторых общественных работ.

Ответы [ 2 ]

2 голосов
/ 13 июня 2010

Один из способов упростить это - заставить его работать с одним из: capistrano / fabric, puppet / chef, jhbuild или buildout + minitage (и множеством задач cmmi). Есть некоторые возможности для учета общего кода, особенно с чем-то более высоким, чем bash. Однако вы столкнетесь с проблемами начальной загрузки, так что, возможно, оставьте достаточно хороших в покое.

Если вы хотите просмотреть менеджеров пакетов пользовательского интерфейса , есть автоматический пакет (хорошо загружается), nix ( быстрый запуск ) и stow (просто, но помогает с изоляцией).

1 голос
/ 27 мая 2010

Честно говоря, я просто собрал бы пакеты с префиксом имени для всех частей и установил их под /opt, чтобы они не мешали. Таким образом, для этого требуются только время загрузки и немного времени установки.

...