Истории с тегом: unix

Всего историй: 33

1470

Экзорцизм

Я когда-то работал админом в телекоммуникационном центре одного института. Это что-то вроде серверной, но серверов у нас было всего два, да и один из них был по совместительству моей рабочей станцией.

Руководство института пригласило священника, чтобы освятить помещения. Заходит он в нашу серверную и на моём экране воочию видит красного рогатого чёрта с вилами, прыгающего в темноте. Поп, выпучив глаза, усиливает громкость молитвы и одновременно набирает на веник побольше святой воды. Тут я понял, что зря всё-таки держу системник на столе, а его крышку под столом, и грудью встаю на защиту чуть ли не единственного в институте Pentium II MMX. Мне, к счастью, усиленный заряд святой воды не повредил.

1270

Ни единого разрыва

eth0 down, говорите? Ага-ага.

Как-то настраивал веб-сервер, подключенный к локальной сети предприятия. Поднял систему, поставил Апач, SQL, Cамбу до кучи, чтобы народ со своих виндоус-машин мог на него файлы по локалке скидывать. Системник будущего сервера стоит у меня на столе, подключенный к моему монитору и клавиатуре (на сервер этого добра не выделялось за ненадобностью). Всё настроил, проверил. Последний штрих перед сдачей — открываю системник, выдираю видеокарту, переключаю монитор с клавой к себе и захожу через SSH с своего компа. Всё работает, я доволен. Можно уже домой идти, но я увлёкся и стал «наводить красоту».

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

Просветление снизошло внезапно. Разумеется, сервак вовсе не вис: он исправно отрубался от сети, продолжал работать, отрезанный от внешнего мира, и плевать хотел на мои судорожные попытки поднять его по сети. Мой же SSH-клиент, построенный в духе никсового интеллектуального минимализма, никак не комментировал разрыв связи с сервером, а при его повторном появлении в сети исправно подключался автоматически.

Было стыдно, тем более, что в отчаянных попытках восстановить систему я привел её почти что к изначальному виду. Исправлять пришлось уже на следующий день.

1211

Консольное Ремесло

Дело было на первом курсе университета. Проходил у нас тогда практикум по Unix — мы писали скрипты, подключаясь к серверу через PuTTY. Мужская часть группы (12 человек), дружно игнорируя изучение awk и sed, во время практикума играла в Warcraft III.

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

Естественно, однажды утром свободных машин нам не досталось. За десять минут был написан скриптик (таким образом, я, кстати получил знания об awk), который вытаскивал с сервера список пользователей и отправлял каждому файл с тысячей пустых строк. Крик, визг из машинного зала — конец всему, что сделано за утро! Прекрасная половина курса отправилась работать домой, а мы спокойно продолжили «творческий процесс».

1036

Да, мой повелитель!

Роскошно я сегодня разыграл коллег!

Накануне написал несколько простеньких скриптов в пару строк, выполняющих стандартные команды, но обозвал их совершенно «неполиткорректно» и ввёл кое-где небольшие задержки перед выполнением команд для имитации «раздумий» машины.

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

Дальше события развивались примерно как в американских фильмах про хакеров, когда на черном экране зелеными буковками пишут непонятные слова, за три секунды подбирают любой пароль и входят в суперсекретные сети. Чтобы усыпить бдительность, начал скучно:

ps -ef | grep java

cd ...

ls ...

Все тоскливо смотрят на экран и зевают. Перехожу к «домашним заготовкам»:

# goddamit web server now you'll die!

Коллеги хихикнули — поняли, мол, шутку, продолжай уже. Но в этой шутке доля правды была как никогда высока, и после нажатия на Enter веб-сервер стал жалобно выключаться.

Коллеги в легком шоке. Корчу эффектную гримасу: «Фигасе! Что ваще происходит?!» Подождав завершения остановки сервера, написал как бы дрожащими руками:

# what da hell is going on?

Cервер прилежно вывел информацию о текущих задачах — вот, мол, что сейчас происходит. Коллеги «присели на измену». Я продолжал:

# come on now, restart comanche!

Cервер помолчал пару секунд и переспросил:

— Do you mean Apache?

# yeah whatever! just restart it.

# now what?

Апач запустился, и на экране опять появился список процессов.

# bring the web cube back up NOW!

— Web cube? Do you mean WebSphere?

# alright, let it be sphere.

«Сфера» включилась.

# good boy!

— Thank you, Master!

Коллеги бились в экстазе. Кто-то попробовал повторить, но фигушки — последняя команда потёрла все скрипты. Я молчал и хитро улыбался.

963

Не смешите начальника СБ, он лопнет

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

Как-то сидим, админим наши сервера. Работа достаточно скучная, так как настроены они по всем «фэн-шуям» и вероятность факапа минимальна. Внезапно сонное лицо руководителя группы администрирования Unix-систем, оживает, и он помпезно изрекает: «%Adminname%, я считаю, что употребление слов „жопа“ и „косяк“ неприемлемо при постановке служебного задания».

Через минуту хохота %Adminname%, Oracle-админ, начинает оправдываться, что он скопировал в задачу кусок из своих ночных записей — в них было отмечено, что старт инстанса Oracle с такими-то параметрами и с использованием такого-то массива приводит к жопе с производительностью, и это явно косяк в Solaris!

857

FreeBSoD

Дома стоит файловый сервер на FreeBSD с двумя винчестерами. Так случилось, что достался мне ещё один диск, который я решил туда тоже подоткнуть — места много не бывает. Сразу протестировать его руки не дошли, и я даже не был в курсе, что там лежит.

Загружаюсь, через boot menu выбираю нужный диск, наслаждаюсь «фряхой». На что-то отвлёкся, через десять минут вернулся и выпал в полный осадок: монитор демонстрировал «синий экран смерти». Мои эмоции от получения BSoD на FreeBSD словами передать было сложно.

Как потом выяснилось, мощности блока питания на три харда не хватало. Пока меня не было, комп ребутнулся, подцепил новый винчестер с останками винды и неблагополучно попытался загрузить систему.

821

Без даты

В далеком 2000 году я работал продавцом дисков в переходе. Во время перечисления системных требований свежей игрушки очередному юному клиенту ко мне подходит интеллигентного вида покупатель в костюме, наклоняется и вкрадчиво говорит:

— Не @изди.

Я опешил. Переспрашиваю:

— Что?

— Не @изди!

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

— Молодой человек, скажите ясно, что вам нужно ?

Фри-би-эс-ди! FreeBSD у вас есть?

708

Большому кораблю — большие бэкапы

Стоял в американском порту большой научный корабль, готовился к приемо-сдаточным испытаниям. Все на корабле было на совесть, с двойным запасом прочности: сервер телеметрии под управлением HPUX, еще один такой же в горячем резерве, плюс ленточка с полным бэкапом на всякий пожарный. Для пущей сохранности оборудования на борту постоянно дежурили два админа из русской команды - смена три недели, потом на берег. Дошла очередь дежурить и до меня. Узнав, что за сервера будет отвечать мой старший и более опытный напарник, я тихо порадовался — опыт работы с HPUX у меня был небольшой.

И вот мы поднимаемся на борт и заступаем на дежурство. Через некоторое время я вижу, как ложится основной сервер телеметрии. Выяснив, что система не поддерживает кириллицу, мой коллега решил исправить недостаток, что-то напутал, система продержалась 20 минут и легла.

Коллега, как я уже говорил, был старше и опытнее меня, поэтому я решил, что не вправе делать ему замечания. Зря он так, конечно, ну ничего, ситуация под контролем! Сейчас мой старший товарищ поднимет резервный сервер, восстановит из бэкапа основной, и все будет хорошо. Пока я успокаивал себя, напарник поднял резервный сервер и продолжил свои эксперименты.

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

Зачем нужна поддержка кириллицы на сервере телеметрии, работающем только и исключительно с потоками двоичных данных, напарник мне так и не объяснил. Сервера мы всё-таки починили, но для этого нам потребовалось несколько часов переговоров с Москвой по спутниковой связи (от пяти долларов за минуту и выше). Веру в безоговорочный авторитет старших коллег я потерял навсегда.

С возрастом, знаете ли, приходит не только опыт, но и маразм.

592

UNIX это судьба

Сразу после вуза я некоторое время работал админом в межрайонной налоговой инспекции.

Однажды меня вызвала начальница отдела и спросила, работает ли у нас на каком-нибудь сервере UNIX (кто или что ее вдохновило на этот вопрос – не знаю). Говорю, что нет. Вопрос: "А почему?". Начинаю было объяснять, почему применение ему найти будет трудно или нецелесообразно (налоговый фронт-енд работал на файл сервере и ms sql, почта ms exchange, фаервол на поставленной из министерства жесть-приблуде "Dionis").

Начальница прерывает меня и заявляет, что это очень плохо, что я не понимаю, зачем нам нужен UNIX. Короче, получалось так, что я должен был пойти к себе и немедленно подумать о внедрении ЮНИКСА, потому что все уважаемые специалисты всегда говорили нашей начальнице, что UNIX - это круто.

В общем, спорить я не стал. Не особо долго думая, поставил freeBSD 4.7PC на pentium 100, унес в серверную, подключил монитор, воткнул патчкорд в свитч. Через пару дней позвал в серверную начальницу. Показал ей на этот PC c монитором и текстовым freebsd login screen и сказал:

- Вот от UNIX, он у нас есть! Он стоит в серверной, он включен и работает!

После того, как я доказал, что это действительно UNIX, наступило счастье, ибо от меня отстали с внедрением UNIX. А начальница получила возможность в годовой IT отчет для министерства об используемых в налоговой операционных системах в ячейку "Семейство операционных систем UNIX" поставить единичку. Межрайонная налоговая инспекция №ХХ г. %cityname%. использует UNIX!

557

Что-то ищем где-то не там

Очередной проект по доделке и переделке авторских недоделок в программе заказчика.

Угу.

Заявлена кроссплатформенность - используется Qt, есть клиенты для Windows и никсов. Клиентов беспокоит, как Гондурас странная особенность: под никсами программа уверенно работает отовсюду, кроме каталогов, расположенных в /home (например - на рабочем столе, что должно быть интуитивно понятно и привычно для пользователей Windows). Угу.

Авторы грешили на особенности сборки Qt, на примечания к документации QFileSystemWatcher "о зависимых от системы лимитах на количество одновременно наблюдаемых путей". Но почему-то программистов заказчика не обеспокоила такая особенность систем, под которые портировалась изначально виндозная программа, как чувствительность к регистру путей файловой системы. Аффтары нечувствительно приводили путь к lowercase, а потом проверяли существование каталогов типа Desktop или "Рабочий стол" для пользователей типа Vasya_Pupken.

А метод проверки QDir::exists(), спроектированный с учетом особенностей *nix, имел их всех в виду.