Почему я придерживаюсь дистрибутивов Linux на базе systemd

Почему я придерживаюсь дистрибутивов Linux на базе systemd

Спустя 10 лет после своего появления systemd все еще может раздражать некоторых пользователей Linux. Я, к слову, не один из них. Хотя я и пробую дистрибутивы без systemd, я все равно, скорее всего, буду регулярно использовать дистрибутивы на основе systemd. Вот несколько причин, почему.

SysVInit пришлось убрать

Почему я придерживаюсь дистрибутивов Linux на базе systemd

Когда в начале 2010-х годов впервые появился systemd, многие пользователи Linux задавались вопросом, зачем понадобилась такая переработка системы инициализации, которую использовал Linux.

Почему я придерживаюсь дистрибутивов Linux на базе systemd

Старая система System V Init или SysVInit берет свое начало в 1980-х годах. В 80-х годах системы Unix использовались иначе, чем современные машины. Unix использовался в основном на больших мини-компьютерах и мощных рабочих станциях. SysVInit запускает службы последовательно, что может увеличить время загрузки. Ноутбуки в ту эпоху были редкостью. USB не существовало, и периферийные устройства обычно добавлялись и удалялись только между загрузками. Конфигурация системы обычно не менялась в течение всего времени ее работы. После того, как система была запущена, она обычно оставалась включенной в течение длительного времени, поэтому время загрузки не было проблемой. Изменения оборудования в общих системах происходили редко и также были скорее «однократным» опытом.

Традиционно, если вы добавляли часть оборудования, даже что-то вроде внешнего диска, вам приходилось выключать и перезапускать систему. SysVInit также был запутанным, со скриптами оболочки, соответствующими «уровням запуска». Этот подход был неадекватным, поскольку Linux стал более распространенным. В современных машинах вы можете подключить USB-накопитель или переключаться между Wi-Fi и проводными сетями с помощью ноутбука. systemd может мгновенно реагировать на такое «горячее подключение» оборудования.

Это свидетельствует о силе идеи Unix-подобных операционных систем, заключающейся в возможности замены основных компонентов по мере необходимости.

systemd здесь, чтобы остаться

Пока systemd только появлялся, было больше споров и конкуренции относительно того, что его заменит. Споры стали настолько жаркими, что некоторые разработчики дистрибутивов Linux сдались из-за стресса от постоянного потока оскорблений со стороны пользователей Linux.

Хорошо это или плохо, использование основного дистрибутива Linux означает использование systemd. В документации это будет упомянуто, и если вы обратитесь в службу поддержки, если у вас возникнут проблемы, то, скорее всего, это будет связано с использованием утилиты systemctl.

Поскольку systemd является неотъемлемой частью работы современных дистрибутивов Linux, большинство основных дистрибутивов вряд ли заменят его, если на то не будет веской причины.

Это не было бы неправдоподобным сценарием. Если бы вы использовали Linux в 2000-х, вы могли бы подумать, что система SysVInit будет существовать вечно. Если она вам не нравилась, вы могли бы использовать одну из BSD.

Может быть, кто-то создаст другую систему инициализации, которую разработчики Linux сочтут лучшей. Я бы поставил на то, что придумают разработчики BSD, чтобы заменить свою собственную устаревшую систему инициализации. Я представляю, что это в итоге будет похоже на launchd macOS, который также повлиял на systemd.

Для многих разработчиков дистрибутивов Linux systemd кажется по крайней мере «достаточно хорошим» вариантом. Во многих формах инженерии, включая программную инженерию, приходится идти на компромиссы при проектировании вещей для реального мира, вместо того чтобы пытаться построить абсолютно лучшее решение.

systemd работает для меня

Почему я придерживаюсь дистрибутивов Linux на базе systemd

Одна из причин, по которой я склонен придерживаться дистрибутивов на основе systemd, заключается в том, что у меня никогда не было проблем с systemd. Ответ «у меня работает» может раздражать в ответ на проблемы с Linux, но у меня нет жалоб на собственное использование.

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

Когда мне нужно включить, отключить, запустить или остановить службы, я просто запускаю быструю команду systemctl. Это все, что нужно.

Как пользователь, который запускает и останавливает службы лишь изредка, несмотря на предполагаемую громоздкость systemd, я нахожу команду systemctl простой для понимания.

Недавно я установил Arch на виртуальную машину. Мне пришлось включить некоторые службы, поскольку Arch более практичен, чем другие дистрибутивы Linux. Все, что потребовалось, — это несколько команд systemctl.

Если systemd достаточно хорош для Arch Linux…

Почему я придерживаюсь дистрибутивов Linux на базе systemd

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

Почему я придерживаюсь дистрибутивов Linux на базе systemd

Когда я нашел старый пост на форуме одного из разработчиков от 2012 года, на который ссылался Arch Wiki, я изучил случай, который изложил разработчик. Разработчик ссылался на способность знать все, что происходит с системой, способность обнаруживать устройства с горячим подключением, модульность systemd, безопасность и функции песочницы, а также кроссплатформенную разработку проекта systemd.

По данным Arch Wiki, одним из путеводных огней дистрибутива является «прагматизм»:

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

Arch Linux всегда поражал меня как дистрибутив Linux «Unixy» с его фокусом на текстовой конфигурации и количеством контроля, которое он дает пользователям. Если бы разработчики Arch могли увидеть достоинства systemd, несмотря на его предполагаемую «раздутость», я бы подумал, что systemd заслуживает серьезного внимания. Любые оставшиеся опасения по поводу systemd исчезли. Это может показаться аргументом от авторитета, но команда разработчиков Arch заслужила мое доверие своими результатами.

Управление процессами — небольшая часть моего использования Linux

Система init может быть важной частью Linux, но для меня она в основном за кулисами. Я редко взаимодействую с ней напрямую, за пределами команды systemctl.

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

Почему я придерживаюсь дистрибутивов Linux на базе systemd

Я иногда проверяю логи, как и любой пользователь. Двоичные логи systemd также были спорными, но команда journalctl проста в использовании. Многие логи в Ubuntu, похоже, зеркалируются в каталоге /var/log, поэтому я могу просматривать их с помощью обычного текстового редактора.

Дистрибутивы без systemd меня не особо впечатляют

Тот факт, что systemd находится на заднем плане, является одной из причин, по которой дистрибутивы, позиционирующие себя как свободные от systemd, не производят на меня особого впечатления. Недавно я исследовал несколько, например, EXE GNU/Linux и Obarun. Создатели дистрибутивов вольны включать или не включать в свои дистрибутивы все, что им вздумается.

Когда я оцениваю дистрибутивы для HTG, я стараюсь занять позицию обычного пользователя, а не какого-то Linux-хакера, имеющего твердые мнения за или против systemd. Пользовательский опыт важнее того, что находится под капотом.

Дистрибутив должен будет подняться или упасть на основе всего остального, что у него есть. Некоторые дистрибутивы предлагают уникальный опыт, как, например, ретро-дизайн EXE GNU/Linux.

Иногда перемены — это хорошо

Хотя оригинальная система инициализации System V хорошо работала в течение многих лет, изменения в компьютерном мире в конечном итоге сделали ее устаревшей в условиях все более мобильного и онлайнового мира.

Могут возникнуть некоторые опасения относительно размера systemd или предполагаемого доминирования Red Hat и ее материнской компании IBM в разработке Linux.

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

Валентин Павлов/ автор статьи
Страсть Влентина к играм началась с Resident Evil, и с тех пор он не переставал играть в хоррор-игры. Пишет экспертные руководства для самых сложных игр и обзоры для самых громких релизов. Является магистром журналистики и имеет степень бакалавра лингвистики. Любимые игры: GTA 5, Silent Hill 2, Call of Duty: Modern Warfare 2, Heavy Rain, Metro 2033 и другие.
Понравилась статья? Поделиться с друзьями:
Добавить комментарий