Последние две недели приходилось пользоваться несколькими серверами, на которых не было прав рута.
В результате чего пришлось тупо скомпилировать все возможные программы руками в свой хомячок.
Потом оказалось, что хомячок использую не только я, но еще и много разных других людей. Кроме того, один и тот же /home используется между разными серверами, на которых установлены разные ОС.
что привело к такой структуре папок:
/home/user - директория заданная изначально дистрибутивом
/home/user/virtualuser1 - директория, в которой происходит весь замес
/home/user/virtualuser1/env/subuser1 - директория с настройками окружения для различных «подпользователей». При этом пользователь virtualuser выступает для них как-бы-админом.
/home/user/virtualuser1/servers/server1/usr - префикс, по которому конпеляются программы, например есть server1/usr/bin, ну вы понели
/home/user/vierualuser1/system/ - здесь лежат все скрипты на питоне, позволяющие выполнять это безобразие
Виртуальные юзеры первого уровня переключаются командой user, например «user virtualuser1», виртуальные юзеры второго уровня - командой subuser, например «subuser subuser1»
Все эти команды вшиты в специальный bash-скрипт, который source'ится из основного ~/.bashrc.
Таким образом, мы получаем работающий кросскомпилированный Linux... т.е. сорри, GNU-окружение с кучей программ, с поддержкой пользователей, групп, обновлений, и много всего остального - работающий без ведома админа!
В «стандартном наборе» я также написал кучу полезных скриптов. Например, ssh с возможность логина открытым текстом, из командной строки или из файла конфигурации (тоже открытым текстом!). Никаких открытых ключей, админ ничегошеньки не узнает о нашем чорном деле. Или цепочка таких вот плэйнтекстовых «ssh-туннелей», даже если ssh-туннели напрямую запрещены админом. Или «фоновая» цепочка сквиов, которая позволяет получить доступ к любому из серверов сети по www, даже если это прямо запрещено админом (но разрешено открывать порты ггг).
Последний этап, который я запланировал на воскресенье - система виртуальных «пакетов», которая будет хранить базу данных в mercurial на bitbucket и скрипт автоматической установки всей этой фигни.
Хочу спросить у общественности, хотеть ли они новый дистрибутив на основе этой системы. Я могу, ибо всё работает.
У специалистов (и это упаси боже не технический вопрос, а просто тема для обсуждения!): хочу сделать, чтобы обновление одной программы не затрагивало обновления другой. А то как, обновляем прогу - и тут же требуется обновить либу, от которой она зависит. Обновляем либу - приходится переконпелировать все программы, которые зависят от этой либы. Неприятно аднака! Есть ли какой-нибудь способ монолитно вконпелять в программы все их зависимости, так чтобы обновление любоей программы не затрагивало остальные? ) Тема имхо благодатная, можно потратить несколько страниц на обсасывание ))
Ответ на:
комментарий
от nu11
Ответ на:
комментарий
от stevejobs
Ответ на:
комментарий
от alman
Ответ на:
комментарий
от stevejobs
Ответ на:
комментарий
от nu11
Ответ на:
комментарий
от derlafff
Ответ на:
комментарий
от stevejobs
Ответ на:
комментарий
от sign
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Тупняк (2008)
- Форум Немного тупняка (2016)
- Форум Где тупняк (2017)
- Форум Немного тупняка (2016)
- Форум Новогодний тупняк. (2015)
- Форум Определение тупняка (2024)
- Форум Принципиально новый тулкит (2017)
- Форум ARM принципиальная схема (2012)
- Форум Принципиально новая ОС (2014)
- Форум [принципиально новый][тулкит] (2010)