Года три назад у моего знакомого был нетбук: три гига флеш-памяти и только один USB-слот. Естественно, всё забито до невозможности. Знакомый часто работал и с Unix-системами, и с Windows. Естественно, места под ОС не хватало. Выход был найден простой: купить несколько 4-гигабайтных флешек, на каждую установить по LiveUSB-версии системы. Пока нетбук включался, знакомый быстро вставлял нужную флешку. Если было нужно что-то поменять, нетбук перезагружался (благо время ребута было мало), со скоростью болида «Формулы-1» флешка менялась на другую, и работа продолжалась.
Unix
Сборка лени из пакетов
До сих пор можно встретить мнение, что Linux (или Unix) — это нечто очень сложное, якобы требуется «собирать» систему, что-то там компилировать и настраивать. Я ничего такого не замечал. Давно уже использую GNU/Linux по работе, а последнее время установил и на ноутбуке как основную систему. Какой-нибудь Debian или Ubuntu ставится за 15 минут. Настраивать там ничего не надо (ну, кроме как пароль вайфая ввести), работает всё из коробки, меня устраивает. И людей, которым я ставил GNU/Linux по их просьбе, тоже всё устраивает, пока что никто не жаловался.
На самом деле, я понимаю, откуда растут ноги у мифа о сложности ОС на основе Linux. Есть люди, которых интересуют сам процесс. По этой причине лёгких путей они не ищут. И, понятное дело, зачастую их привлекает именно Linux, так как он позволяет растянуть процесс, поиграть с настройками… Вот случай из практики.
Началось с того, что друзья позвали меня пить пиво по случаю переезда в новый офис их маленькой софтостроительной компании. Пиво — это хорошо, но я узнал, что в офис уже завезли новые компьютеры, пока без ОС, а я как раз хотел посмотреть новый тогда Solaris 10 на реальном железе. Я взял с собой диск и как-то между пивом установил Solaris. Очень просто: нажимай себе кнопку Next, дальше оно само.
Увидев Solaris, все очень удивились. Я предложил оставить, к примеру, на сервере: всё-таки настоящий Unix. Есть софт в комплекте, можно установить из пакетов. Но нет, не хотят, боятся, что не разберутся. Ну ладно… Оказывается, есть у них специалист по линуксам, он везде установит и настроит. Конечно, это логично — доверить установку человеку, который впоследствии сможет и обслуживать.
Человек выбрал Gentoo. Говорит, очень удобно: всё равно что-то собирать нужно будет. Ну ладно… Через пару дней спрашиваю, как дела. Оказывается, плохо: «специалист» всё ещё ставит Gentoo на сервер, работа стоит. На том же железе, на котором «соляра» поставилась за 20 минут, старая версия Gentoo никак не пошла из-за несовместимости ядра, а новая компилится уже сутки, что ли. «Специалист» проблемы в этом не видит и предлагает на рабочие станции также установить Gentoo. На своей сборку он уже начал…
Людям уже надоело, и они сами установили на свои компьютеры кто что хотел — Федору, Убунту — и начали работать.
Но это не конец истории. С сервером были проблемы. Чего-то не хватало, что-то криво собралось, не хотело взаимодействовать, требовало настройки. «Специалист по линуксам» оказался сам не в состоянии всё сделать как надо — чего-то не знал, что-то не успевал просто.
Когда всё было очень плохо, звали меня на помощь. Я с Gentoo вообще не знаком, но с трудом разобраться удалось — так, чтобы хоть как-то работало. А потом «специалист по линуксам» ушёл, а сервер с Gentoo ещё стоит, его боятся трогать: чуть что не так сделаешь — и часы увлекательной сборки пакетов обеспечены.
Всё-таки лень бывает иногда полезной, позволяя избежать ненужных телодвижений. И себе, и окружающим.
Карманный мейнфрейм
Интересно почитать прогнозы из прошлого. Что-то фантасты угадали, что-то нет. Многие предсказывали карманные компьютеры. Многие предсказывали, что у каждого будет радиотелефон. Некоторые даже угадали, что эти функции будут совмещены в одном устройстве.
Но никто, никто не угадал, что эти карманные компьютеры-радиотелефоны будут в большинстве своём работать под управлением самых настоящих клонов UNIX. Ведь тогда само это слово ассоциировалось с огромными мейнфреймами, квадратными метрами, киловаттами, тоннами, бобинами магнитных лент. Даже когда бытовые компьютеры уже перестали быть редкостью, мало кто предполагал, что UNIX или его клон когда-нибудь можно будет использовать в быту. Разве что по телефонной линии, через «терминалку».
Возможно, и вы сейчас читаете эту историю, держа в руке такой «мейнфрейм в кармане». Задумайтесь, насколько же неисповедимы Господни пути, раз этого никто не угадал!
Системные толерасты
Я тот самый 40-летний дядька с 20-летним стажем. И больше, чем юные фанатики одной операционной системы, меня бесят только системные толерасты. Потому что именно мне потом приходится разгребать за ними завалы из редких и плохо поддерживаемых сочетаний систем и приложений.
Самый вопиющий случай был, когда мне попалось сложное приложение, работающее на десяти серверах. На пяти был Gentoo, на остальных — FreeBSD, RHEL, Debian и… Windows. В качестве СУБД использовались одновременно Berkley, MySQL, PostgreSQL и MS SQL. На каждом сервере была своя файловая система «для лучшей производительности». Про список редких библиотек числом за сотню уже даже как-то и упоминать неловко. Весь этот зоопарк адски глючил и сыпался при обновлениях или просто от смены фазы Луны. Что интересно, админ, который с ним работал, сидел на OS X и тоже «досконально знал все системы».
Так что, товарищи, я буду резок. Говорить о преимуществах лишь одной системы — удел юных. Говорить о том, что все системы всегда и везде хороши, — удел идиотов, косящих под мудрецов.
Дерьмо хорошо на поле, где растят хлеб, но не на столе конечного пользователя.
Яблочко от яблоньки
Угу, линукс — дитя студентов. А ещё есть такая OS X. Спортсменка, нашистка, красавица. Дитя хороших родителей, разумеется. Ну, с какой стороны хороших… Папа — бывший советский чиновник, в девяностые в открытую занимался рэкетом, рейдерством, наркоторговлей и организацией организованной преступности, однако с наступлением нулевых резко перевоплотился из бандита в состоятельного бизнесмена и уважаемого человека, женился на модели и сделал дитя. С детства балованное, занимавшееся танцами, музыкой и рисованием. Стройная, прекрасная девушка. Вот только пользы от неё никакой, а денег просит, как не знаю что: две тысячи долларов в месяц на макияж, полторы на фитнес, три на рестораны и шопинг, парочку на прочие расходы… А увидев у потенциального объекта отношений машину хуже «лексуса» или БМВ (а то и вообще её отсутствие), презрительно корчит нос и отворачивается.
А шесть лет назад, в спокойные-стабильные путинские времена, наша OS X родила дитё. Естественно, не от какой-то жалкой осишки, нет. Её любимый сынок iOS — это созданный по самым современным нанотехнологиям её уменьшенный клон. Красивый, миниатюрный, шустро бегает. Только вот читать не умеет. И писать. И считать. И даже говорит так себе. Лучше всего у него получается слово «хочу». И «купи». Как смачно он их выкрикивает по десять раз на дню, это надо слышать. То мишку говорящего ему хочется, то котика спящего, то мультик слегка интерактивный, то машинку на радиоуправлении. Всё от 99 центов! А мамочка и рада деньгами разбрасываться: их её, хе-хе, пользователи приносят немеряное количество, вот она и заваливает кровиночку игрулечками, приговаривая, что раз она платит, значит, получает ребёночек только лучшее и качественное. А то, что в машинку уже надо монетки кидать, чтобы метр проехала, в упор не замечает — привыкла уже.
Но страшный секрет хранит внешне дружная и благополучная яблочная семья. Папа Darwin на самом деле — старший сын тёти Unix, родной брат Linux. Стыдятся они этого родства, но ничего поделать не могут. Не достигли бы они без никсовых генов даже того шаткого трона, что сейчас под ними покачивается. Так и живут, скрывая под внешней красотой и благополучие страх, ненависть и желание отомстить всему миру.
Посмотреть глазами и поправить руками
Впервые столкнувшись с UNIX, я был несколько удивлён: почему для обмена данными активно используется текстовый формат? В файлах, в протоколах, в конфигах. Ведь памяти много не бывает — можно упаковать все в биты и байты, в бинарные структуры, сэкономив кучу места и в памяти, и на дисках. Я и упаковывал, чуть ли не побитно расписывая внутренние форматы.
Правда, периодически при обновлениях версий возникали проблемы: появление лишнего бита могло привести к необходимости расширения разрядности поля флагов с последующим обновлением описания форматов, добавлением поля версии, добавлением проверки на корректность версии, обновлением необходимых библиотек на другой принимающей стороне и т. д. Хуже всего, когда разработчик менялся или переставал поддерживать изменения — приходилось изобретать конвертеры. А если требовалось залезть ручками, посмотреть или поправить, приходилось писать специальные просмотрщики и редакторы.
Прошло время. Сейчас мало кого можно удивить терабайтным диском или парой гигов оперативной памяти. Модная тенденция — использовать XML. Для того чтобы передать значение пары переменных, создадим XML-файл и DTD к нему, поставим с десяток тегов и задействуем парочку библиотек для корректного формирования и корректного разбора. А что — теперь же все понимают, что такое переносимость и как избавиться от проблем бинарных форматов!
А в UNIX (теперь и в Linux) по-прежнему для обмена данными используют текстовый формат. Который можно посмотреть глазами, исправить любым текстовым редактором, сохранить в архив и поднять из архива десятилетней давности.
/всякаяфигня
Прочитал историю про постоянство временного. Коллега, вы явно не в одиночестве! Бывают и более запущенные случаи мирового масштаба.
В Unix-подобных ОС каталог /etc создали для файлов, которые не знали, куда приткнуть. Несколько раз хотели переименовать, но название («и так далее» в переводе) приросло. Спустя
Русский путь: украсть бесплатное
Дали мне падавана. Только за первые пару месяцев он столько штук отколол!
— Я себе дома Убунту как вторую операционку установил, а у неё проблемы с интернетом. Подсоединись по Тимвьюеру, посмотри, плиз!
— А как я подсоединюсь, если у неё нет инета?
— Там же ещё «семёрка» стоит! К ней подключимся, перезагрузимся и зайдём в Убунту.
* * *
— Я хочу Юникс с Ораклом установить. У тебя есть?
Скачиваю ему «фряху», отдаю образ.
— На, устанавливай. Сможешь — подумаем об Оракле.
— А что такое FreeBSD? Я же Юникс просил…
Часовая лекция о FSF, «никсах» и т. д.
— Понял?
— Ага.
Проходит десять минут.
— А у тебя на неё кряк есть?
— Нет. В Гугле поищи.
Через полчаса становиться жалко.
— Как у тебя с английским?
— Отлично!
— Как ты думаешь, существует ли кряк на FreeBSD?
— Непонял?
— На FreeBSD.
— Так где найти?
* * *
Пишет запрос в мелкомягкую БД.
— А какие мне нужны записи? Где поле %field% NULL или где не NULL?
— И те, и другие бери: %field% здесь ни при чём.
Решил посмотреть, что он там сотворил. Точно: «WHERE %field% IS NULL OR IS NOT NULL». Невинные глазки: «Ну, ты же сам сказал, что и те, и другие надо…»
Знать противника в лицо
— Папа, зачем мне этот забытый Юникс? — спросила мена пару лет назад дочка.
— Твоему дедушке сорок лет назад на Дамане хватало АК, чтобы разговаривать с китайцами, а тебе хватит знаний винды и английского из учебника?
Ребятёнок оказался не только понятливым, но и талантливым. Теперь дочь бегло говорит на английском и французском, пишет студентам иняза контрольные на традиционном китайском. А под популярные у китайцев линуксовые сборки у нас есть наш ответ Мао Цзэдунам, правда, без экстремизма: в день рождения Дэн Сяопина каждый запуск сопровождается мелодией «Да здравствует революция» из штатного спикера.