В этом году ядру Linux исполняется тридцать пять лет…
Началом отсчёта считается 17 сентября 1991 года, когда Линус Торвальдс выложил свои
исходники в общий — в узком кругу специалистов — доступ.
Обзоры по этому поводу уже были, так что я просто воспользуюсь случаем чтобы несколькими общими мазками оценить эту систему. Ну да, точнее — систему на основе ядра GNU/linux.

«Разрешения» файлов

В общем первый вопрос который у меня возник с момента знакомства с linux, это
«разрешения». Зачем было делать несколько способов описывать эти права в параметрах
команд? Да, для отображения на экране или в логах разные варианты уместны. Но в командах
это просто ненужная избыточность управления элементарным параметром.

Может по началу это было важно для разработчика, но как пользователь, я просто не стал забивать себе голову расширенными вариантами. Не знаю, может для профессионалов linux это разнообразие имеет более острое значение?

Вторая проблема, опять же, связана с «разрешениями», причём не только для доступа к
файлам, но и к устройствам. Например, устанавливаешь программу и не можешь понять —
почему она не работает как ожидается? Ответ может оказаться неожиданным: неправильно
выставлены права на «файлы»! И это при том, что есть, худо‑бедно, «установщик», который
вроде бы и должен был решить эту задачу. Но почему‑то не смог.

Заслуживает внимания и алгоритм изменения «разрешений». Сама команда для задания
разрешений изменяет их везде, где может дотянуться, исходя из прав текущего пользователя.
Это настолько неудобно, что, как минимум, приходится выполнять две команды:
сначала изменить права на всё, а потом выискивать файлы‑каталоги, чтобы задать им
разрешения на «исполнение». (Этот метод есть в сети интернет, за что автору моя
признательность.
)

Проблема в том, что различать файлы и каталоги при операциях — это и есть одна из
задач ОС. Но в линукс пошли по лёгкому пути «разработки», в итоге это привело к неоправданной нагрузке на пользователей и администраторов.

В некоторых случаях обновление системы приводит к тому что настроенные ранее разрешения снова перестают работать. И поиск проблем начинается с начала.

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

Разумеется когда администратор настраивает права для других пользователей, он должен
держать в голове какую‑то внятную схему. Но когда приходится копаться в недрах системы
просто потому что разработчик допустил ошибку… Это всё‑таки сильный перебор.

Файловые системы

Ещё хочется отметить надёжность файловых систем ex4 и, по‑моему, fuse — драйвер доступа к разделам ntfs.
«Спасибо», разработчики, за всё время пользования разнообразными накопителями данных, именно в linux — хорошо, в двух ОС на его основе — я внезапно терял файлы.

Понятно, что это были съёмные диски, надёжность ниже и так далее… Но всё же я не припомню, чтобы на windows были такие проблемы. Хотя должен сразу отметить, что сбои с потерей файлов
бывают и у ntfs.

У меня напрашиваются только два варианта: либо это плавающие ошибки в коде, либо разработчики просто схалтурили.

И да, понятно что сбои дисков, по большей части, связаны с их подключением через USB. Но от этого не легче: файлы потеряны.
Причём, они потеряны не сразу, а позднее, при следующих подключениях, просто потому, что система решила откатить файловый журнал. И уничтожила всё, что было добавлено после повреждения ф.с.; в то время, как у конкурента стратегия исправления сбоев ф.с. ориентирована на сохранение имеющихся данных.

При всём этом fuse вообще ставит на все файлы «исполняемый», что тоже не способствует поддержанию безопасности ОС.
(Однако глубокое сравнение файловых систем выходит за рамки этой статьи.)

В любом случае решение этой проблемы «гениально»: приучайтесь «копировать» и не
используйте «перенести»! Но почему нельзя повысить надёжность самой системы?
Копирование приводит к замусориванию накопителей и множественному дублированию
информации, которую неизбежно приходится разгребать. Это утомляет. Словно инструмент, который должен облегчать работу — но сам требует постоянного, внезапного ремонта.

Репозитории и обновление

Разумеется разработчики GNU/linux периодически пытаются исправлять ошибки и обновлять своё детище.

Но и здесь всё настолько плохо, что для проблемы обновлений дали название — «ад зависимостей». Но самое удивительное то, что за тридцать с лишним лет для linux не придумали что‑то лучше.

Может, кому‑то кажется, что не надо ремонтировать, пока не сломалось, но ведь оно
постоянно ломается! По сути, толком и не работает. В интернете достаточно информации о проблемах, связанных с linux и ОС на основе этого ядра. Нет смысла повторять всё это по новой. Я лишь поделился несколькими личными наблюдениями.

Предварительный вывод

Вывод получается не особо оптимистичный: за три десятка лет «монолитное» ядро GNU/linux постоянно «мутирует» создавая для пользователей — а особо для администраторов и разработчиков — избыточную нагрузку там, где этого можно и нужно было избежать.

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

Интересная деталь: Долгое время линукс использовался только на серверных ЭВМ и якобы был просто не интересен рядовым пользователям. И вот только когда домашние ПК стали
достаточно мощными…

На самом деле, проблема была в другом, изначально GNU/linux был жёстко привязан к сетевому адаптеру компьютера. А на домашних ПК сетевые карты до какого‑то момента были редкостью. Так что установленный линукс тупо показывал чёрный экран…
Вероятно, на новых процессорах, имеющих специальные таймеры, эта проблема была решена.

В общем получается что GNU/linux — это не тот проект, на который стоит делать абсолютную ставку, пытаясь жадным взглядом заглянуть в будущее. За тридцать лет многое изменилось. И должно изменится ещё больше. Основная проблема в том, что — и пользователи, и разработчики стараются держаться за то что уже есть в наличии, просто потому что лучшего предложения не существует.

Этакий классический парадокс: работать с текущим инструментом тяжело, а на разработку нового времени не хватает — оно пожирается использованием имеющегося инструмента. Замкнутый круг…

Кстати, есть очень точное описание linux, которое всё объясняет:

(картинка из м/ф «Ну, погоди!», выпуск 14: самодельная машина Волка)
(картинка из м/ф «Ну, погоди!», выпуск 14: самодельная машина Волка)

И не стоит обольщаться, суть современной windows тоже была отмечена задолго до её
появления:

(картинка из м/ф «Ну, погоди!», выпуск 14: Волк в «космической ракете»)
(картинка из м/ф «Ну, погоди!», выпуск 14: Волк в «космической ракете»)

Примечание: Это была, так называемая, вводная. Я не собираюсь впустую перебирать проблемы существующих ОС. Я попробую описать модель Системы, которая должна использовать накопленный за десятки лет опыт. (Естественно, отдельные не очевидные новшества я придержу на будущее, для себя.)

Комментарии (6)


  1. Habetdin
    07.09.2026 09:40

    Проблема в том, что различать файлы и каталоги при операциях — это и есть одна из задач ОС. Но в линукс пошли по лёгкому пути «разработки», в итоге это привело к неоправданной нагрузке на пользователей и администраторов.

    Похоже, что «неоправданная нагрузка» — это чтение руководства? Цитирую man chmod:

    execute/search only if the file is a directory or already has execute permission for some user (X)

    Наверное, винить стоит не «лёгкий путь разработки», а «лёгкий путь использования».

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

    С использованием упомянутого флага X подобную задачу можно выполнить и одной командой, например: chmod -R a=r,u+w,a+X /mnt/example/.


    1. NeoCode2
      07.09.2026 09:40

      Кстати, зачем концептуально вообще нужен флаг X (execute)? Есть два фундаментальных действия - чтение и запись. Если есть чтение, то очевидно что есть и исполнение - загрузить программу в память (это чтение) и передать ей управление.


      1. kablag
        07.09.2026 09:40

        как минимум не позволяет что-то запустить случайно :) по типу: вы точно хотите перейти по внешней ссылке?
        а так это всё исторические вещи


    1. WakaUgawara Автор
      07.09.2026 09:40

      Наверное нужно было включить следующее пояснение в саму статью:

      «Читать маны» — замечание обоснованное, но я же не единственный кто этого не делает; почти всегда на вопрос по линуксу — «как это сделать?», среди ответов предлагается «читать мануалы»; и если мало кто их читает, значит man’s, как минимум, не удобные.

      Собственно так было и у меня с этими правами на каталоги: сначала я менял их вручную, в mc; почти сразу стало понятно что это конкретный геморрой и случился «гугл в помощь», где мне сразу попалась статья о применении двух команд.

      И почему «гугл» не посоветовал просто «читать маны»? (это сарказм)

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

      По поводу нескольких вариантов указывать «права» в команде тоже есть предположение.

      Скорее всего это связано с разными способами вывода этих «прав», чтобы в сценариях не мучится с преобразованием форматов: например данные вывода одной программы просто скармливаются в chmod, если нужно и он сам их переваривает. (Но это лишь моё предположение.)

      Наверное, винить стоит не «лёгкий путь разработки», а «лёгкий путь использования».

      А Вы предпочитаете путь неоправданного усложнения рутинной работы? Лёгкость и удобство использования — это одна из основ эволюции технической мысли.


  1. AndrewBond
    07.09.2026 09:40

    Все претензии к линуксу сводятся к одной простой фразе - "в мире нет двух одинаковых линуксов".

    Отсюда и "установщик не выставляет все права" и всё остальное.

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


  1. alexs89
    07.09.2026 09:40

    «Спасибо», разработчики, за всё время пользования разнообразными накопителями данных, именно в linux — хорошо, в двух ОС на его основе — я внезапно терял файлы.

    Понятно, что это были съёмные диски, надёжность ниже и так далее… Но всё же я не припомню, чтобы на windows были такие проблемы.

    Если у Вас на Windows не возникало подобных проблем - Вам крупно повезло. Если выдернуть флешку не отмонтировав раздел (на любой ОС, не только Linux), возникает ненулевая вероятность потери данных. Вообще в Linux с поддержкой файловых систем дела обстоят гораздо лучше, чем, к примеру, в Windows. Linux умеет "из коробки" общаться с разделами, созданными другой ОС, а Windows не умеет. И, кстати, в ядре 7.1 появился новый драйвер NTFS, который работает значительно лучше, чем предыдущие.