История
После очистки домашней папки моего общего сервера 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-доступ на общих серверах, это выглядит для меня как потенциально очень полезный обходной путь; особенно это касается некоторых общественных работ.