dimabagow

Slackware - контроль

Коли мене запитують, чому я свого часу користувався Slackware, зазвичай відповідаю просто: мені була потрібна операційна система, а не нянька. Надворі 2008 рік. Інтернет уже перестав бути іграшкою для ґіків, Linux стає модним, Ubuntu безкоштовно розсилають поштою, а натовпи вчорашніх користувачів Windows встановлюють красиві теми й Compiz, щоб вікна палали та оберталися кубом.

Саме тоді я остаточно зрозумів: що «дружнішим» стає дистрибутив, то менше користувач розуміє, що відбувається всередині. Slackware був повною протилежністю. Linux для параноїків, для людей, які хочуть знати, який демон запускається, чому він запускається, звідки береться конфіг, хто відкрив порт і який клятий процес з'їв усю пам'ять.

Він нічого не приховував. Жодної магії, чарівних кнопок чи шаманських утиліт, які переписують половину конфігів, а потім розводять руками: «Воно саме так вийшло». Ти сам відповідаєш за систему. Саме тому Slackware чудово навчає Linux.

init як хірургічний стіл

У більшості сучасних дистрибутивів система нагадує лікарню, де пацієнта під'єднали до сотні апаратів, половини з яких уже ніхто не розуміє. Slackware радше схожий на анатомічний театр.

Ось rc.M, rc.inet1, rc.modules і rc.local. Читай, редагуй, розумій.

Хочеш вимкнути сервіс?

chmod -x /etc/rc.d/rc.httpd

Ця команда вимикає запуск httpd через стандартні завантажувальні скрипти Slackware. Уже запущений сервер вона не зупиняє: для цього потрібна команда /etc/rc.d/rc.httpd stop. Обидві команди виконуються з правами root.

Усе. Жодних рівнів абстракції й демонів, які керують іншими демонами, що запускають третіх. Проста й зрозуміла поведінка. Це як хірургія. Якщо лікар не знає, де проходить артерія, пацієнт помре. Якщо адміністратор не знає, який скрипт піднімає мережу, одного дня система не завантажиться. Slackware змушує це розуміти.

Пакетний менеджер без наркотиків

У Slackware немає автоматичного розв'язання залежностей, і це чудово. Так, сьогодні звучить дико. Але саме необхідність самостійно розбиратися із залежностями робить тебе інженером, адже ти зобов'язаний розуміти:

В інших системах пакетний менеджер нагадує медсестру, яка без запитань уколює пацієнтові двадцять препаратів одразу. Slackware змушує читати інструкцію. І раптом виявляється, що половина бібліотек узагалі не потрібна.

Компіляція як спосіб пізнання

Багато хто скаржиться:

«Навіщо щось збирати вручну?»

А я завжди ставив інше запитання:

«Чому ви настільки довіряєте бінарнику, який зібрав невідомо хто?»

Компіляція змушує розуміти систему. Ти починаєш дізнаватися:

Один раз зібравши KDE або Xorg вручну, починаєш розуміти Linux краще, ніж після року користування Ubuntu. Це як розтин. Поки студент-медик читає книжки, хірург уже тримає органи в руках і бачить, як усе влаштовано насправді.

Система стає передбачуваною

Передбачуваність є головною перевагою Slackware. Якщо щось зламалося, майже завжди розумієш, де шукати проблему. Жодної чорної магії, прихованих генераторів конфігів чи десятків шарів автоматизації.

Не працює мережа? Дивишся в rc.inet1. Не запускається демон? Перевіряєш його rc-скрипт. Не стартує X11? Читаєш журнал.

Linux знову стає інженерною системою, а не набором заклинань.

Параноя як спосіб мислення

Slackware формує надзвичайно шкідливу звичку. Після кількох років із ним починаєш підозріло дивитися на будь-яке програмне забезпечення. Чому запускається цей сервіс? Чому цей демон відкритий назовні? Чому бінарник має SUID? Чому програма потребує двадцяти залежностей? Чому система робить щось без мого дозволу?

Приходить розуміння: безпека полягає в розумінні того, що відбувається, а не лише в наборі патчів. Більшість зламів трапляється не тому, що люди дурні, а тому, що вони не знають, що саме працює на їхніх машинах. Slackware лікує цю хворобу швидко й жорстоко.

Мінімалізм як терапія

Сучасні системи нагадують пацієнта в реанімації:

Slackware більше схожий на здоровий організм. Усе просто, усе видно, усе можна пояснити. Якщо не можеш пояснити, навіщо існує якийсь компонент, то недостатньо добре розумієш власну інфраструктуру.

Чому я користувався Slackware

Я хотів повністю контролювати машину. Хотів розуміти Linux, а не просто користуватися ним. Хотів знати, що відбувається в пам'яті, які демони слухають порти, як запускається система й чому вона взагалі працює.

Slackware не робить тебе зручним користувачем. Він робить тебе трохи параноїком. Але саме ця параноя потім рятує сервери, інфраструктуру й нерви. Сьогодні багато хто вважає Slackware застарілим. Можливо. Але саме він дав величезній кількості людей фундаментальне розуміння Unix.

Коли черговий модний дистрибутив раптово ламається після оновлення, а користувач шукає на форумах чарівне рішення, старий слакварник відкриває журнал, дивиться на проблему й спокійно її виправляє. Він знає анатомію системи.

А лікар, який знає анатомію, завжди має перевагу перед тим, хто вміє лише натискати красиві кнопки.

Slackware