0003 — Debian

Когда я учился в школе, я впервые услышал про Linux из какого-то журнала, лежавшего на столе в кабинете информатики. Вполне возможно, это был журнал «Информатика в школе», но сейчас я в этом уже не уверен. Истинная и реальная версии событий в моей памяти давно слились в одну.

Картинки и описания завораживали. Для получения таких же графических эффектов в Windows нужно было ставить сторонние утилиты или патчить системные библиотеки. Только путём довольно хитрых манипуляций можно было сделать свой рабочий стол не таким, как у всех. А для 16-летнего парня это, как вы понимаете, одна из самых важных вещей в жизни.

Каким-то образом ко мне в руки попал диск с Mandriva Linux. Был такой дистрибутив, при том довольно сносно работавший даже на моём совсем скромном железе:

  • AMD Athlon 3200+
  • 256 MB RAM DDR-II
  • Nvidia MX 440 Ti 64MB
  • Maxtor LS120GB

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

К сожалению, Mandriva не умела запускать GTA Vice City, Turbo Pascal и Microsoft Word. На моём компьютере эта система не прижилась.

Потом была учёба в университете.

Родители не дали мне домашний компьютер в общагу, поэтому своя машина у меня появилась только к третьему курсу. Первые 2 приходилось пользоваться соседскими. Естественно, там была Windows.

Однако, на третьем курсе я устроился лаборантом в лабораторию механико-машиностроительного факультета. Надо было вовремя накатывать нужный софт и следить за работоспособностью систем. А ещё там был никому не нужный сервер. Он-то и стал жертвой моих экспериментов.

В университете поддерживалось зеркало OpenSUSE. Очень удобно, учитывая тот факт, что домашний интернет я себе позволить не мог — никто не тянул сети в общагу, а мобильный тогда был по совершенно скотским ценам. Можно было купить несколько десятков мегабайт трафика у других людей, плюс была локальная сеть, но… Скачал через университетскую локалку ISO, записал на диск, запустил установку… Не знаю, чего я хотел добиться. Мне просто было интересно. Естественно, первым же делом я поставил туда Apache и vsftpd. Хотелось делать сайты, что-то полезное.

Спустя какое-то время в общагу протянули оптику. Скинувшись всей комнатой, мы смогли позволить себе нормальный интернет.

Сосед сразу же поставил на свой ноутбук OpenSUSE. Круто! Консоль! Графика! Скрипты! Правда, платить за красоту приходилось длительным и вдумчивым чтением руководств. Но даже это не спасало: у Владимира не работал режим гибернации, и чтобы его включить нужно было поменять какой-то конфиг, отвечающий за управление питанием. Итог — замена видеочипа: этот конфиг управлял напряжением, подаваемым на него в некоторых режимах.

Меня же больше привлекала Ubuntu: это была простая и понятная система, очень похожая на Windows. Ну да, вместо офисных продуктов Microsoft тут OpenOffice (со временем заменён на LibreOffice). Paint’а нет, проводника нет, зато настоящий Linux.

Но мои преподы принимали работы только в формате Microsoft Office, поэтому Ubuntu была не основной системой, а просто поиграться.

В 2011 призвали в армию. Там я впервые услышал про МС ВС и Astra Linux. Дальше будет история появления этих двух дистрибутивов, как я её слышал от одного из людей, причастных к разработке второго дистрибутива.

В 2000-лохматом году руководство МО РФ ВНЕЗАПНО осознало, что информационные системы, обрабатывающие секретную информацию, сплошь производства наиболее вероятного противника, т. е. американские. Было создано техзадание: разработать свою собственную ОС, пригодную для защиты таких данных. Как водится, конкурс, госконтракт, серьёзные люди в дорогих костюмах… Выиграла, как обычно, какая-то шарашкина контора, предложившая минимальную цену.

— Хули тут думать! — воскликнул ведущий разработчик шарашкиной конторы, — Мы сейчас возьмём несвежий RHEL, заменим везде логотипы Red Hat на логотипы МС ВС, а шляпу — на символику ВС РФ. И усё будет в шоколаде! И нескучные обои добавим.

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

Шли годы. Ничего не менялось. МС ВС получила несколько обновлений, суть которых заключалась в повышении номера версии сборки. Ядро и всё остальное оставались прежними. Вроде, какие-то совсем уж лютые баги чинили, но серьёзной доработки, как я понял, никто никогда не делал. Потому что а зачем?

Но халява кончилась, когда умер отец-основатель, и его правая и левая руки начали бороться за власть и бабки. Прогрессивная правая требовала перейти на что-то более свежее, а умная левая хотела получать бабло и ничего не делать. Ведь кому и зачем это нужно, если и так платят?

Тогда правая рука создал свою фирму и переманил всех более-менее толковых разработчиков. За основу они взяли Debian Linux, добавили туда патчи и систему мандатного разграничения доступа. Конечно, система была совсем сырая. А рабочий стол им вовсе пришлось писать с нуля по ряду причин. Но самое главное, что они тут же выиграли конкурс на создание новой системы разграничения доступа. Важнейшим условием на этом конкурсе было следующее: система разграничения доступа не должна быть основана на SE Linux или заимствовать код из него.

Разработчики МС ВС сказали:

— Хули тут думать! Сейчас мы SE Linux в МС ВС Мандатные метки переименуем, и усё будет в шоколаде!

Они только одного не учли: одна федерально безопасная контора тоже себе хотела нормальную операционку, и для проверки работ они привлекли спецов, которые должны были провести аудит кода. В общем, фокус не удался, и в этот раз много кто закупился Astra Linux’ом.

Естественно, никто сразу не бросился внедрять её, ведь это дело не быстрое. Но бабки плачены, надо устанавливать дистрибутив хоть куда-нибудь. Целью эксперимента стала часть, где я служил. Так я впервые увидел военный Linux. МС ВС видел только на картинках в википедии.

Дембельнувшись, я начал искать работу. В фирме «БАРС Черноземье» (ныне БАРС Центр) нужен был программист. Я не знал Python, зато умел писать на Delphi. Ну как писать… Так, немножко. Прошёл собеседование и был зачислен в штат.

По факту оказалось, что запись в трудовой «инженер-программист» подразумевает много чего, например, быть первой линией техподдержки, а не одно лишь нажимание клешнями на клавиши.

Потихоньку я осваивал PHP и JavaScript. И чем больше осваивал, тем сложнее с ними становилось работать в Windows. Стало очевидно, что нужен Linux, в котором эти штуки работали бы нативно, а не через установку дополнений и библиотек, собранных какими-то чертями непонятно где. Тут-то я и вспомнил про Linux.

Конечно же, я отправился на Distrowatch. Коммерческие дистрибутивы меня не интересовали, а Ubuntu я помнил по университетским годам. Хотелось чего-то стабильного. Стабильные в Linux только глюки, но мой взгляд пал на Debian.

После недолгой возни я перевёл рабочий ноут на него. Серверы «Электронной школы» и «Электронного колледжа» («Электронный детский сад» тогда ещё не существовал, до него ещё 2 года) со временем так же были переведены на этот дистрибутив. Тогда актуальной была версия Debian 7 Wheezy. Количество пользователей, которые смогло держать то же самое железо, выросло на 2 порядка.

Наверняка есть способы подкрутить производительность PostgreSQL и Apache в том числе для Windows, но я пошёл по, как мне кажется, более естественному пути: Linux и нативные приложения.

Спустя некоторое время отказались и от Apache, запустив всё на Nginx + gunicorn. У меня на Blogspot даже была статья про это, но, наверное, она уже устарела.

Так я и стал счастливым пользователем этой системы.

Почему не Gentoo / FreeBSD / Arch?

Мне работать надо, а не выёбываться. Для меня в первую очередь важно, чтобы система работала так, как я ожидаю, и чтобы под неё был весь необходимый рабочий софт. Для Debian / Ubuntu / RHEL и CentOS есть подавляющее большинство как высококачественного свободного ПО, так и коммерческого. Запустить Rutoken? Вот deb-бакет и so-библиотека, просто положите куда надо, передёрните токен, и всё заработает. Нужен Zoom? Он есть, но только для широко распространённых дистрибутивов, указанных выше. Есть даже Sublime Text (которым я не пользуюсь). И официальные репозитории для deb- и rpm-based систем. А для арча и генту почему-то нет.

Может, кто-то скажет, что я неосилятор, не смог, всё такое. Я с вами полностью согласен. Мне проще признать поражение, чем тратить силы на бессмысленный спор. В конце концов, не так уж важно, какие инструменты ты используешь — важно лишь то, умеешь ли ты с их помощью добиваться поставленной цели. Это относится ко всему, кроме PHP и Electron. Про них поговорим отдельно.