Доступный линукс

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

Недавно я наткнулся на статью об установке linux в виртуальность Windows 2008 R2. Собственно так я и определился с дистрибутивом и способом установки системы. Оставалось только позвонить своему другу, который администрирует сервер под Windows 2008 и, пообещав, что буду аккуратным и ничего не сломаю, попросить у него учетную запись для удаленного рабочего стола и виртуальную машину.

image

Так как я люблю программировать, то было решено установить средства для удаленного использования системы, а именно SSH и оставить визуальный RDP. А так же поднять вебсервер с поддержкой mysql, php5 и Ruby on Rails.

Читать дальше →

Deb пакеты Ubuntu с зависимостями для «offline установки»

Всем привет.

Вступление

При распространении софта в виде deb пакетов для Ubuntu может возникнуть ситуация, когда нужно поставить софт на компьютер, на котором отсутствует доступ в интернет ("offline установка").

Очевидно, что нужно выявить зависимые пакеты и выкачать их. Причем для установки на «чистую машину» нужно получить полный комплект зависимостей, включая возможные подзависимости зависимостей и т.д. При этом нужно выкачать минимальный набор необходимых пакетов относительно «чистой машины». Также нужно учитывать, что в зависимости от версии Ubuntu, установленной на «чистой машине», список пакетов может меняться. Плюс хотелось бы чтобы все это уместилось в shell скрипт.

Найденные мной в интернете способы решения проблемы "offline установки" не решали данную задачу. Поэтому и был написан данный топик. Также, данная статья показывает, насколько велики возможности, которые предоставляет Linux разработчику и с какой легкостью решаются достаточно сложные задачи.

Читать дальше →

Linux-vserver или каждому сервису по песочнице

Для целей размещения проектов я применяю такую схему: каждый сервис запускается в изолированной среде: боевой — отдельно, тестовый — отдельно, телефония — отдельно, веб — отдельно. Это снижает риски взлома систем, позволяет бакапить всё и вся одним rsync'ом на соседний сервер по крону, а в случае слёта железа просто поднять на соседнем железе.

Для создания изолированной среды есть два подхода, именуемые VDS (виртуализация аппаратуры) и VPS/jail (виртуализация процессного пространства).

Для создания VDS изоляций применяют XEN, VirtualBox, VMWare и прочие виртуальные машины.
Для создания VPS на linux используется либо linux-vserver либо openvz.

Плюсы VDS: система внутри может быть совершенно любой, можно держать разные версии ядер, можно ставить другую ОС.
Минусы VDS: высокие потери производительности на IO, избыточное потребление CPU и RAM на сервисы, дублирующие запущенные на серверной ОС.

Плюсы VPS: крайне низкая потеря производительности, только на изоляцию, запускаются только те сервисы, которые реально необходимы.
Минусы VPS: можно запустить только linux и ядро будет только той версии, что уже запущено.

Так как мне не нужны разные ОС, то всюду применяю linux-vserver (так уж сложилось исторически, применяю с 2004го года, а openvz вышел в открытый доступ в 2005м).

Ниже я опишу базовые операции по запуску LAMP сервера в изолированном окружении.

Читать дальше →