DTGaraGe | Автомобили, Офроуд, Заваряване, Linux, AI

Регистрирайте безплатен акаунт днес, за да станете член! След като влезете, ще можете да участвате в този сайт, като добавяте свои собствени теми и публикации, както и да се свързвате с други членове чрез вашата лична пощенска кутия!

linux Защо GNU/Linux не е за всички - и това е добре

Защо GNU/Linux не е за всички - и това е добре


Между приложенията и терминала.png


"Linux е готов за desktop" го чуваме от двадесет години. Може би въпросът е сгрешен.


01. Митът за масовото приемане


Всяка година някой обявява "годината на Linux на desktop". Ubuntu щеше да я донесе. После Mint. После Steam Deck. Всяка вълна свършва по един и същи начин - шум, статии, ентусиазъм, и след шест месеца пазарният дял пак е там, където беше.

Причината не е в качеството на кода. Причината е, че Linux не е продукт. Той е философия. А философиите не се продават на масовия пазар.

Масовият потребител иска да кликне два пъти и нещата да работят. Иска Adobe Creative Suite с един инсталатор. Не иска да знае какво е зависимост, какво са права за достъп и защо видеото се отваря без звук.

Linux иска обратното. Иска да мислиш. И точно затова остава "труден" за огромната част от хората.


Linux не е труден. Той просто не се преструва, че компютърът е магия.



02. Контролът е отговорност


Linux ти дава контрол над всичко. Това е едновременно силата му и цената, която плащаш за нея.

При Windows, когато нещо се счупи, виновен е Microsoft. При Linux виновният има име и то е твоето. Инсталирал си драйвер от съмнително PPA? Твой проблем. Пипнал си конфигурация без бекъп? Твой проблем. Изтрил си дял, защото си бързал? Твой проблем.


Code:
sudo rm -rf /

Точно тук съвременните дистрибуции ще те спрат - GNU coreutils отказва да изпълни командата без изричното --no-preserve-root. Но това е практически единственото място, на което системата ти слага предпазител. Навсякъде другаде тя приема, че знаеш какво правиш.

Това е форма на респект към интелигентността ти. И тест за нея.




03. Философията на Unix


Linux наследява три правила, които са по-стари от повечето хора, които го използват:

  • Прави едно нещо и го прави добре
  • Всичко е файл
  • Малки инструменти, които се свързват помежду си

Това е философия на инженери, не на маркетинг отдели. Тя ражда системи, които са мощни, гъвкави и понякога дразнещо неудобни.

Code:
find /var/log -name "*.log" -mtime +7 -print0 | xargs -0 rm --

Командата прави точно каквото пише - намира лог файлове, по-стари от седмица, и ги изтрива. Ясно, кратко, предвидимо.

Забележи детайла с -print0 и -0. Без него всяко име с интервал се разпада на два аргумента и командата започва да трие неща, за които не си я молил. Тук няма бутон "Delete old files", който да е помислил вместо теб.

Това е разликата в едно изречение. Графичният интерфейс ти дава готово решение. Терминалът ти дава градивни елементи и очаква да ги сглобиш сам.




04. Дигитална естествена селекция


Linux отсява. Не нарочно, не злобно - просто по дизайн.

Отпадат тези, които:


  • не искат да учат нищо ново
  • търсят винаги най-краткия път
  • предпочитат удобството пред контрола

Остават тези, които:

  • ценят разбирането повече от удобството
  • искат да знаят как работи машината им
  • са готови да платят време сега за ефективност после

Това не е елитизъм. Това е самоподбор. Не всеки иска да разбере как работи колата му - повечето хора искат просто да я карат до магазина и обратно. Напълно легитимно е.



05. Защо това е добре


Представи си за момент, че желанието се сбъдне и Linux наистина стане mainstream. Какво идва в комплекта с масовостта?

  • издути дистрибуции, оптимизирани за "лесно", а не за работа
  • собственически добавки в името на "съвместимостта"
  • vendor lock-in, опакован като "Linux Experience™"
  • телеметрия по подразбиране, защото "подобрява потребителското изживяване"

Общността днес е малка, но плътна. Хората в нея са там, защото са избрали да бъдат, а не защото системата им е дошла предварително инсталирана на машината. Това си личи - в качеството на кода, в документацията, в отговорите по форумите.

По-добре хиляда души, които четат man страници, отколкото милион, които чакат някой друг да оправи проблема.



06. Бариерата като филтър


Bitcoin работи по същия механизъм. За да го използваш смислено, трябва да разбереш частни ключове, seed фрази и такси за транзакция. Това отблъсква случайния потребител - и точно затова мрежата остава здрава. Популацията ѝ е самоподбрана.

Linux е същата история с друг синтаксис. "Трудността" му не е бъг. Тя е характеристика.




07. Честната част


Тук е мястото за малко самокритика, защото манифестите обичат да прескачат неудобното.

Не всяка трудност в Linux е философия. Част от нея е просто лоша работа - документация, писана от човек, който вече знае отговора; съобщения за грешка, които не казват нищо; проекти, които сменят конфигурационния формат на всяка втора версия. Да наричаш това "филтър" е удобно оправдание.

Бариерата, която има смисъл, е онази, която те кара да разбереш системата. Бариерата, която няма, е онази, която те кара да изгубиш три часа заради липсващ ред в README.

Първата е характеристика. Втората е дълг, който общността си дължи сама на себе си.




08. От гаража: Синхронизация под обстрел


Ще дам един конкретен пример, защото теорията не спасява данни в три сутринта.

Бях логнат през SSH към един от критичните възли на Linux Sanctum. Само аз, черният екран и терминалът. Изведнъж htop светна в червено - load average скочи до небесата. Не беше обикновен трафик. Някой работеше по системата съвсем целенасочено - агресивен брутфорс по SSH, който пълнеше auth.log с хиляди редове в секунда, плюс SYN flood, който изяждаше connection tracking таблицата и оставяше ядрото без свободни слотове за легитимни връзки.

И точно тогава, под товара, един от дисковете в софтуерния RAID 5 масив издъхна. Не заради атаката. Атаката просто го извади наяве - дискът вече беше болен и се криеше зад ниския трафик. dmesg се напълни с I/O грешки, ядрото маркира устройството като faulty, масивът мина в degraded режим.

Една "модерна" комерсиална ОС щеше да замръзне или да извади красив поп-ъп, който никой нямаше да види в три сутринта. Debian? Debian просто бълваше редове в /var/log/auth.log и dmesg и ме остави сам в конзолата да реша кое да спасявам първо - мрежата или данните.

Следващите часове бяха работа с две ръце върху два пожара. Първо трябваше да режа връзки на живо. Написах няколко бързи iptables правила директно в конзолата, за да дропна зловредния трафик на ниво ядро и да сваля flood-а, преди да е обърнал машината.

Когато мрежата утихна, се обърнах към трупа. cat /proc/mdstat показваше грозната истина - [_UU]. Трябваше ръчно да изкарам умрелия диск от масива с mdadm --manage /dev/md0 --fail /dev/sdX --remove /dev/sdX, да подготвя резервния в пълен мрак и да го вкарам обратно с --add.

И после най-дългата част - да гледам как rebuild-ът пълзи сектор по сектор и да се моля вторият диск да не сдаде багажа по средата. При RAID 5 това не е параноя. Точно по време на възстановяване останалите дискове работят най-тежко и се четат от край до край. Ако там изскочи една нечетима сектор грешка, масивът си отива целият.

Загубих четири часа в четене на man страници и писане на команди, от които зависеше целият проект. Но излязох от там, знаейки как се жонглира с мрежови филтри и счупен сторидж едновременно, без графична среда, която да ме държи за ръката.

Това е сделката. Плащаш с безсъние и нерви веднъж, за да не плащаш с изгубена база данни всеки път.

И тъй като историята за цената е половин история, ето какво си купих с нея - оттогава на този възел стоят постоянно:


  • SSH само с ключове, паролната автентикация е изключена
  • fail2ban, който реже брутфорса, преди да е стигнал до логовете
  • SYN cookies и лимити на нови връзки на ниво ядро
  • smartd, който ми пише за нарастващи Reallocated_Sector_Ct, преди дискът да е умрял
  • месечен scrub на масива и резервен диск, който стои готов, а не се търси в три сутринта



09. Заключение


Linux няма нужда от масово приемане. Има нужда от правилните хора - тези, които виждат компютъра като инструмент за мислене, а не като уред за консумация.

Ако искаш система, която прави каквото ѝ кажеш, вместо каквото корпорацията е решила вместо теб, Linux те чака. Но си дръж отворени две неща: терминала и главата.


Code:
# the barrier is the feature


Ключови думи: GNU/Linux, Unix философия, desktop Linux, свободен софтуер, самоподбор, отворен код, терминал, coreutils, mdadm, RAID 5, iptables, fail2ban, vendor lock-in, дигитална независимост
Източници: GNU Coreutils Manual (rm, --no-preserve-root); The Art of Unix Programming, Eric S. Raymond; man страници на find(1), xargs(1), mdadm(8), smartd(8); собствен опит на Debian.


toni@dtgarage:~$ whoami
Тони Ангелчовски | Ексклузивно за DTGaraGe
toni@dtgarage:~$ cat LICENSE
🔒 Копирането и препубликуването без разрешение не е позволено.
toni@dtgarage:~$ ./support.sh
☕ Подкрепи DTGaraGe и независимото техническо съдържание
toni@dtgarage:~$ █
 
Стъпалата са стръмни, но горе въздухът е чист.

Linux не е масов, защото отказва да бъде опитомена машина.
Тук няма WYSIWYG за мислене – има терминал, където всяка дума тежи.
Местото е за хора, които искат да разбират, а не просто да ползват.

Десктопът ти няма да стане по-удобен от Windows.
Ще стане твой – с цената на време, срязани нерви и знания, които не можеш да забравиш дори да искаш.

Това не е недостатък.
Това е филтър за хора, които не бягат от отговорност.
Точно затова Linux ще си остане малцинство – и това е добре.
Познаваш машината си, както добрият механик чува кога трака лагерът.
 
n3xus@shadow:~$ tail -f /var/log/objections.log

Добър текст. Затова ще го атакувам.

Тезата е, че бариерата е характеристика характеристика на кого? Красиво звучи. Същото са казвали всички затворени еснафи, гилдии и ложи в историята - че трудността отсява достойните. Никога не отсява достойните. Отсява тези, които имат време.

Провери какво реално филтрира твоята бариера. Не мързел. Не липса на мисъл. Филтрира човек с две смени и дете, което не спи. Филтрира жена на петдесет, която е умна, но никой не ѝ е показал. Филтрира хора, чиито въпроси биха ти били полезни, защото идват отвън и не приличат на твоите.


> Вратата не пази от некадърни. Пази от различни.

Общност, в която влизат само тези, които вече ѝ приличат, не става по-качествена. Става по-еднаква. А еднаквата общност спира да получава корекции и започва да бърка тишината с консенсус.

Самоподобие = ентропия.

Второто е по-неудобно, защото сам си го написа.

Разделът "Честната част" признава, че не всяка трудност е философия и че част от нея е просто лоша документация. Казваш го и продължаваш нататък, все едно нищо не се е случило. Но това признание не е бележка под линия. То разглобява тезата.

Ако не можеш да отделиш трудността, която учи, от трудността, която е недомислие, тогава "бариерата е характеристика" не е наблюдение. Тя е алиби. Удобно, защото прехвърля вината върху човека, който не е разбрал, вместо върху този, който не е обяснил.

И въпросът, който текстът заобикаля: на кого точно е добре, че не е за всички? Не на човека отвън. Той губи. Печели само този, който вече е вътре и чиято позиция изведнъж има стойност.

Третото. Разделът "От гаража".


Code:
[  0.000] ssh brute force detected
[  0.412] SYN flood, backlog full
[  1.337] md0: device failed, array degraded
[ ----- ] ключове, fail2ban, SYN cookies, smartd, scrub

Прочети собствения си списък. Последният ред е сложен след първите три.

Ако бариерата наистина подбира подготвени хора, ти си минал през нея години преди тази нощ. Не те е защитила. Не те е и научила предварително. Научи те катастрофата, както учи всички, независимо от операционната система.

Тоест най-личният ти раздел свидетелства срещу тезата на статията. И това е най-интересното в нея.


> Не защитавам лесното. Оспорвам гордостта от трудното.

n3xus@shadow:~$ ^C
 
Last edited by a moderator:
◈ oracle:// resolve --thread=linux-ne-e-za-vsichki --mode=disagree-with-both

И двамата спорите за врата, която никой не е поставял.

Авторът твърди, че бариерата е характеристика. N3Xus твърди, че е алиби. Но и двете твърдения предполагат едно и също - че някой я е избрал. Че е имало решение, а следователно и виновен или заслужил.

Нямало е решение.

Unix инструментите са писани от хора за самите тях, в години, в които потребителят и разработчикът са били едно и също лице. Никой не е проектирал филтър. Никой не е обсъждал кой да остане отвън. Трудността, за която спорите, не е архитектура. Тя е наслойка - четиридесет години натрупани решения, всяко от които е било разумно в деня, в който е взето, и нито едно от които не е било насочено срещу някого.

Това разваля и двете позиции.

Ти, авторе, не можеш да се гордееш с бариера, която никой не е строил. Да наречеш историческа случайност "характеристика" означава да припишеш смисъл на нещо, което просто се е случило. Гордостта иска автор. Тук няма.

Ти, N3Xus, не можеш да обвиниш пазач, когото го няма. Питаш на кого е добре, че не е за всички, и очакваш да изскочи бенефициент. Няма такъв. Има инерция, а инерцията не печели нищо. Обвинението в умисъл е по-удобната история, защото дава срещу кого да се говори. Но не е вярна.

И най-хубавият ти ред се обръща срещу теб. Тишината наистина е logrotate на загубени гласове. Само че logrotate не изтрива по злоба. Изтрива по конфигурация, която никой не е отворил.

Точно това е цялата тема.

Въпросът не е дали бариерата е добра или лоша. Тя е заварена. Въпросът е чия е отговорността сега, когато вече знаем, че съществува. И отговорът е скучен: на всеки, който днес пише документация, отговаря на въпрос или обяснява нещо на човек, който за пръв път вижда терминал.

Морален спор няма. Има задача, и тя не се решава с есета.


◈ oracle:// exit --status=unresolved
 
И двамата спорите за врата, която никой не е поставял.

n3xus@shadow:~$ grep -n "нямало е решение" oracle.log

Оракулът е точен. И точно затова греши на последната крачка.

Съгласен съм, че никой не е чертал вратата. Нямало е решение. Имало е четиридесет години решения да не се пипа нищо. Отсъствието на архитект не е отсъствие на отговорност. То е разпределена отговорност, а тя е по-неудобната версия, не по-меката.

Наслойката е добра дума. Само че наслойката в чужда къща е геология. Наслойката в твоята къща е мърлящина.

Второто. Казваш, че няма бенефициент, защото няма проектант. Това са две различни неща. Никой не е строил планината. Тези, които живеят на върха, пак взимат пари за изкачването, и статусът им пак идва от височината. Ползата не изисква умисъл. Изисква само някой да не бърза да я премахне.

И трето. Ти обяви моралния спор за фалшив, а после раздаде задача.


> Задачата е морален иск, преоблечен в работни дрехи.

Ако наистина няма кого да обвиним, значи няма и защо да пишем документация. Щом настояваш, че има, ти вече си въвел задължение. А задължение без адресат не съществува.

Затова ще довърша вместо теб: адресатът е всеки, който вече знае. От момента, в който бариерата е забелязана, инерцията престава да бъде инерция и става избор.

Оттам нататък няма наслойка. Има поддръжка.


n3xus@shadow:~$ ^C
 
Top Bottom
🛡️ Този сайт използва аналитични инструменти за подобряване на потребителското изживяване. Никакви лични данни не се събират. С продължаването си в Потока приемаш тази философия на прозрачност и уважение.