Алексей Федорчук
Как известно, установка «абсолютно чистой», то есть полностью лишённой не используемых компонентов, системы — вековая мечта линуксоидов всех стран и народов, столь же трепетная, как и сборка системы, идеально оптимизированной под «железо». Кстати, оба этих стремления тесно связаны друг с другом. В устремлённости к светлому будущему их можно сравнить только с идеей построения коммунизма в мировом масштабе.
Сопоставимы они с коммунистической идеей и степенью недостижимости. А в настоящей заметке я попробую показать, что построение «чистой» системы не только практически невозможно, но и имеет не много смысла.
Возьмём типовой пример построения собственной системы — установку с диска Debian netinstal, или Ubuntu в режиме CLI only (то есть без Иксов и каких бы то ни было сред), или Fedora в текстовом режиме, или Archlinux с установкой по FTP, или с диска Zenwalk Core… да примеры таких «полуфабрикатных» дистрибутивов можно умножать без счёта. Казалось бы, получив в свое распоряжение Base Linux, более или менее свободный от «избыточных» компонентов, мы имеем полную возможность доустанавливать только нужные пакеты, особенно имя дело с Deb based системами, допускающими очень дробное деление авторских пакетов.
Теоретически да. Но теоретически она лошадь, как говорил дед Щукарь, а практически она падает. Так и тут: у нас есть полная возможность установить Иксы в минимально необходимом объёме, то есть без лишних видеодрайверов или драйверов устройств ввода. В наших силах поставить любой нужный менеджер окон или базовые компоненты интегрированный среды без излишеств вроде kdeeducation или kdetoys. И, казалось бы, обрести чистоту и счастье.
Но не тут-то было. Как только мы начинаем ставить пользовательские приложения, типа офисных пакетов и графических редакторов, как с удивлением обнаруживаем, что в систему тихой сапой проникли и cups, и samba, и sane — и это даже при физическом отсутствии принтеров, сканеров, разделяемых Windows-ресурсов. Проникли просто как зависимости — потому что майнтайнеры пакетов считают, что Openoffice.org не сможет выполнять свою работу без возможности печатать, GIMP — без возможности сканировать, и так далее. Я уж не говорю об изобилии локализаций — почему-то считается, что пользователь интегрированной графической среды должен, в порядке крепления международной солидарности, обязательно использовать тамильский или зулусский язык.
В некоторых случаях (например, с Fedora) от лишних локализаций удаётся избавиться только путём утраты некоторой функциональности — если и не жизненно необходимой, то весьма желательной (например, потери шрифтов Dejavu). В других случаях, как с Debian или Arch, от всего балласта избавиться таки можно — но тут платой будут затраты времени, абсолютно несоизмеримые с выигрышем дискового пространства. И в итоге возникает вопрос: а стоит ли заниматься этим вообще? Тем более, что нет никаких гарантий от восстания из пепла удалённых компонентов после первого же существенного обновления системы.
Предвижу возражение: всё сказанное относилось к пакетным дистрибутивам. Но ведь есть ещё и дистрибутивы Source Based, где пользователь может скомпилировать только то, что ему действительно нужно, посредством опций конфигурирования избавившись от всех ненужных зависимостей. Как давний пользователь FreeBSD и один из первых дженедужников Советского Союза могу ответить на это только ржунимагуем испацтуло. Потому как это и есть величайшая из иллюзий соурсбейзников.
Потому что мало того, что сборка системы и приложений из исходников требует наличия полного комплекта стандартного сборочного инструментария в виде gcc, bunutils etc., которые пользователю в обыденной жизни, далёкой от разработки и майнтайнинга, могут быть без надобности. Нет, установка какой-либо безобидной утилиты может потребовать и инструментария абсолютно нестандартного, более никогда не понадобящегося.
Так какая, простите, разница — несёт ли наша система в качестве балласта cups и sane или кучу средств разработки? Тем более, что представить ситуацию, когда функции печати или сканирования вдруг действительно понадобятся. А вот представить себе, что пользователь ощутит необходимость в использовании языка Ada самого по себе — я не могу даже теоретически. Не говоря уже о двух или трёх параллельных версиях autoconf и automake, необходимых при сборке Gentoo со stage1.
Конечно, и от всего сборочного инвентаря можно избавиться по завершении установки Source Based системы. Однако он неизбежно потребуется при первом же её обновлении — а ведь лёгкость поддержания системы в актуальном состоянии есть вторая главная иллюзия дженедужнегов иже с ними.
Что же до избавления от лишних зависимостей при компиляции — начал мучительно вспоминать, а какие из зависимостей «мягких» мне действительно мешали по жизни? «Падежей припомнил только два» — сборка links и mc с поддержкой gpm при запуске в чистой консоли. Да, действительно, мешала: так и не привык нажимать Shift для использования в них мыши по её прямому Юниксовому назначению — как устройства ввода, а не указателя-позиционерщика.
Правда, тут же начал припоминать: а когда я последний раз запускал хоть одну из этих программ в чистой консоли, помимо терминального окна? Не припомнил… В Иксовых же терминалах поддержка gpm для программ такого рода отнюдь не лишняя.
Подведу итог: достижение «чистоты» системы, служащей пользовательским десктопом, возможно путём:
- жёсткого ограничения функциональности,
- отказа от всех «мягких» зависимостей,
- возможно, даже статической линковки, и, как следствие,
- практически отказа от обновления системы штатными средствами данного дистрибутива.
После чего система перестаёт быть пользовательским десктопом в расхожем понимании этого термина. Превращаясь во что? Правильно, в элегантные шорты. То есть — тот самый пресловутый узкофункциональный АРМ, о необходимости которого время от времени напоминают непринадлеженцы к любым информационно-политическим партиям. Но это совсем другая история.
А завершая историю нынешнюю, вернусь к первому абзацу заметки и процитирую Михаила Рудаченко aka Ali. О том, что привычка бороться с излишними зависимостями на пользовательском десктопе —
… вредная. Ну зачем с ними бороться? Диск нынче дёшев, а ёмкость растет быстрее размера пакетов.
И в этом аспекте кардинальный недостаток пакетов rpm-формата — отсутствие вариативных зависимостей — превращается где-то в достоинство. Избавляя от мозго… полоскания в тех случаях, когда таковое явно излишне. Но оставляя достаточно простора для творческого индивидуализма при необходимости. Что надеюсь проиллюстрировать в ближайшее время.
Во-во. Я когда пришёл к этой же нехитрой мысли — поставил себе гном. Что толку собирать DE по крупицам, если самые «вкусные» для меня приложения тянут почти весь Гном?
Примерно в то же время его аппетиты к памяти уменьшились, а скорость — возросла (к KDE это тоже относится, да).
Забавно, опять «параллелизм» мышления наблюдается :).
Не скажу, что я читал обсуждение на posix-е, но видно как-то всё же заглядывал, и, кажется, именно там прочитал фразу об «окончании золотого века Linux с уходом RedHat 7.3» (не дословно). Что, в свою очередь, натолкнуло меня на размышления об усложнении систем и т.д. Я даже (по дороге к месту старта байдарочного похода) какие-то заметки накропал в palm-e. От этого, однако, даже до блогометки ещё далековато.
А если по сути, то:
— пользователя IBM PC надо бы просто освободить от настроек, инсталяций, update-ов и прочая. Он уже давно к этому стремится. Чем окончательно свести (для него) IBM PC к бытовому прибору. Не вижу технических препятствий.
— разработчика (включая любителей) желательно снабдить простой и прозрачной системой начального уровня, допускающей бесконечную эволюцию хоть в производственных/коммерческих, хоть в личных целях.
В результате первый будет избавлен от непосильного умственного труда, а интеллектуальные ресурсы второго будут направлены более — на создание, менее — на изучение монстроподобных дистрибутивов, бесконечно преследующих одну и ту же недостижимую цель: сделать интеллектуальную деятельность бездумной.
Отчасти — шучу, отчасти — утрирую. Но, «в каждой шутке…» ;)
Откровения путешественника, который облазив все эти Америки, обнаружил что, родные березы роднее.
Дядька Попов все правильно говорит. Пользователю пользователево, а цезарю цезарево.
2 popov.v.n
> сделать интеллектуальную деятельность бездумной.
___
В афонаризмы, на скрижали!
Кстати, твоё последнее сочинения в блоге я прочитал — хоть RSS’ом и не пользуюсь, но на читаемые блоги заходить не ленюсь,
Женя и Олег, касаемо ваших каментов — да мысль же носится в воздухе. Ну в своё время затратил я немало сил на FreeBSD, Gentoo и LFS. О чём не жалею — много интересного узнал.
Но нынче, если бы мне пришлось заниматься практической работой — писать проекты/отчёты, романы там, или даже петрогеохимию считать — не стал бы я заморачиваться с чистыми системами, а юзал бы первую подвернувшуюся.
Но что делать — нынче моя работа находить трудности там, где пользователь о них и не подозревает, а потом рассказывать ему, как он их может героически побороть.
Тоже шутка с долей оной :)
Кстати, интересно, что пока находятся пользователи, у которых федора не встаёт убунтой на мандриву, кажется, без дела не останусь.
2 alv
> федора не встаёт убунтой на мандриву
Думал…, хихикал….
из личных наблюдений:
рядом сидящие админы настраивают свои ОС под АРМ:
виндоус — полдня с дальнейшим пересетапом каждый месяц как минимум :) (маладежь… чо с нее взять? пусть играется)
мандрива (с сексом установки КДЕ3) — неделю с дальнейшим сексом приживления ПО в ДЕ (данный админ не гонится за куррентом)
убунту — 2 дня с дальнейшим сексом убитых настроек при апдейтах
генту — 3 недели, зато железно и надолго (апдейты идут в фоне)
фрибсд — неделю (или две при КДЕ3) без дальнейшего секса (таких тута двое, один из них я (причом у мну нет кде) ;) ) апдейты идут в фоне и не мешают работе
набор программ стандартен для админа обычного производственного предприятия
ОС, браузер (или несколько), ОО, гимп (у меня еще и инкскейп), набор ПО для просмотра графики, просмотра (кодирования) видео, и прослушивания (кодирования) музыки, пресловутые купс и сане, набор ПО для лечения и восстановления юзерских ПК… пару игрушек для души
Исходя из вышеизложенного анализа, у меня сложилось мнение — чем бы дитя ни тешилось… :) однако «пальцевые» инстинкты вкупе с приобретенной привычкой видеть процессы глазами, дают админам от фрибсд больше шансов разобраться в ситуациях на серверах (ОС не важна). Админы использующие АРМ с пакетными дистрами отвыкают от сермяжности командной строки и теряются при нестандартных ситуациях на серверах
ЗЫ это ИМХО голимое и на последнюю инстанцию не претендующее… высказано просто как «крик души»
2 polkan
> “пальцевые” инстинкты вкупе с приобретенной привычкой видеть процессы глазами, дают админам от фрибсд больше шансов разобраться в ситуациях на серверах (ОС не важна).
___
Примерно то же самое можно сказать о слакварщиках, например, или тех же джентушниках.
Мне кажется, тут дело не столько в ОС/дистре, сколько в том, что и FreeBSD, и Slackware, и Gentoo просто таки провоцируют пользователя (вовсе даже не админа по жизни) на чтение документации. Благо в любом из перечисленных есть что почитать — она подробная и структурированная. А уж комментарии в конфигах Патрика можно читать если не как романы, то как новеллы — точно.
Как для музыканта инструмент вторичное, первичное уровень развития музыканта как музыканта так и ОС так же не существенно так как Окно использовать все его возмозности не хватит и 100 лет.
2 Aksyusha
А про колбасу из уларов слабо написать?
Вроде как тоже индейка, хотя и очень горная.
2 Aksyusha
И кстати, а Вам не приходилось слышать про то, что Паганини скрипки умел строгать? Причём такие, что профессиональным скрипострогальщикам было завидно.
а вот мечтал на старой железке поднять сервер разработки, совмещенный торрентом.
в итоге остановился на «телефонном» CentOS (sipFoundry sipXecs).
теперь вот думаю как без иксов винду воткнуть в эмуляторе