Истории с тегом: факапы

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

9860

Принтер старой школы

В одно злополучное утро ко мне приехал новый друг — НР 1132 MFP. Большой, красивый, многофункциональный агрегат на радость вечно негодующим бухгалтерам. Водрузили его на стол, подключили, выкачали драйвера свеженькие с сайта. Начал умный инсталлятор свои нехитрые манипуляции, копирует, стало быть, прописывает, покуда мы сидим в радостном предвкушении. И тут как снег на голову: «Ошибка!» — молвит мне программа человечьим голосом. Не воткнули, дескать, железку в порт.

Ну ладно, думаю, чем чёрт не шутит? Воткнул в другой порт, заведомо рабочий. Повторяю процедуру. Итог тот же. Тут первый раз промелькнула мысль… И сгинула. Ладно. Включаем логику. Железка многофункциональная, стало быть, надо проверить все функции. Копир — есть. Сканер… Опа! Тоже есть! Принтер — никак нет, сэр.

Лезем спросить мудрого дедушку Гугла. Тот молчит. По сабжу — ни словечка. Ну, думаю, ладно. Попробуем локализовать проблему. Выдернул прибор, притащил к другому компу. Воткнул. Винда бодро пролепетала: нашла новый CD-ROM, что, мол, делать, шеф? Побежал инсталлятор снова по своим делам, радостно собщил, что задание выполнено, попросил нажать «ОК». Закрываю, проверяю. Всё как часики, радость, а не принтер. Но проблема в том, что нужно всенепременно поставить его на тот, изначальный комп. И там, и там винда одна и та же, с одного накопителя, однояйцевые системы буквально. Ну в чём же может быть проблема?

«Мало ли, вирусы», — думает моя высокоуровневая голова. Проверим-с, просканим-с. Чисто. Ну ладно, а почему ж виртуальный сидюк не стартует? Значит, дело в USB. Проверяем драйвер стандартный — до последнего символа совпадает версия. Что ж за чертовщина-то? Снова вопросы Гуглу, обновление драйверов, от чипсета до звука. Два часа шаманств и гугления. Результат нулевой.

Ну, думаю, вариантов нет. Перешьём-ка мы BIOS на поновее. Хм… Секундочку! BIOS!

USB Keyboаrd: Enabled

USB Mouse: Enabled

USB Device Legacy Support: Disabled

Меняю последний параметр. Перезагрузка, старт… Всё работает, все счастливы, а я спокойно топаю домой с фразой: «Ну и дебил…»

9841

Гори, стена, гори ярче солнца

Админю в небольшой конторе в далёком Замкадье. Работа не особо нервная, на полставки, но иногда бывают небольшие форс-мажоры.

Однажды, просматривая логи шлюза, вижу, что auth.log растёт как-то неестественно быстро. Смотрю и удивляюсь: в логах чётко просматривается усиленная долбёжка ко мне на сервер по SSH. Решаю проблему тривиальным образом — перевешиваю SSH на другой порт. Однако, будучи по натуре параноиком, задумываюсь над реализацией сверхзащищённого файрвола.

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

Пытаюсь подцепиться к шлюзу по SSH — болт! Поняв, что перемудрил с правилами файрвола, вылетаю и бегу к шлюзу, который стоит довольно далеко, моля админского бога о том, чтобы поблизости оказались монитор с клавиатурой. В голове бегают нездоровые мысли, что сейчас меня будут бить бесперебойниками, если ничего не заработает. Админский бог помогает, и после очередного ребута система работает отличным образом с дефолтным конфигом.

На этом я не успокаиваюсь, и пишу новый конфиг, уже разрешая SSH. Теперь-то должно прокатить! Вы уже поняли, чем кончилось дело? Да-да, опять меня ждала беготня к серверу…

Админы, если уж вы так любите SSH, не экспериментируйте с файрволом в рабочее время, а если уж и экспериментируете, то постарайтесь, чтобы сервер стоял поближе, оснащённый монитором и клавой. И ещё… Не будьте параноиками, коллеги!

9835

Режь ржавый

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

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

Гаснет свет, взвывают упсы, сервера начинают делать аварийный бэкап… Кем-то включённый тусклый фонарик выхватывает из темноты лицо техника, к данному моменту более похожего на лемура, с глазами в полголовы от ужаса. Он смотрит на главного программиста и лепечет:

— В-в-володя, я… Я всё проверял перед включением! Я несколько раз прозвонил!

Разборки с виновником оставили на потом. Срочно надо дать питание: середина дня, во всём банке работа стоит, начальство грозит карами небесными. Начинают искать. Бегут к главному рубильнику. Тот включён. Лихорадочно звонят районным энергетикам и в аварийку. У тех всё в порядке, никаких работ не ведётся. Но питания в здании нет.

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

История умалчивает, как возвращали питание, но, видимо, кабель «пенсионного вида» пришлось перекладывать. И, видимо, делали это всё те же электрики.

9832

Яблоко о траве

Коллега по среднему образованию решил внезапно разбогатеть. Нашёл брошенный дачный участок, поставил тепличку из мутного полиэтилена и занялся ботаникой. Дело пошло, и скоро он почувствовал себя успешным человеком. А что делает успешный человек первым делом? Правильно, покупает айфон.

Всё бы ничего, но захотелось парню похвастаться фоткой своей эпичной рассады. Фотка была выложена в инет со всеми мерами предосторожности и анонимности, за исключением удаления EXIF.

Полиция приехала в гости по навигатору. GPS в айфоне — он такой GPS!

9820

Отсыпьте мне таких грибов

В детстве у меня был компьютер. Ну, как компьютер — по современным меркам клавиатура с мозгами. «Микроша», аналог самодельной первобытной серии Радио-86РК. Попал он к нам случайно и использовался как игровая приставка к телевизору. Надо сказать, импортные приставки еще не получили широкого распространения, и поглазеть на простейшие, но увлекательные игры стекались друзья со всей округи. «Клад», Ксоникс, «лестница», тетрис — это наше всё! Освоив инструкцию, я воспроизводил простейшие примеры программирования на ассемблере и интерпретаторе Бейсика, но дальше не пошло.

Летело время. На восьмилетие подарили «Денди». Я был на седьмом небе от счастья. Игры переросли на новый уровень, и «Микрошу» я стал потихоньку забрасывать. Забросил бы совсем, не попадись мне тогда подборка журналов «Радио» и «Техника — молодёжи». Из них я подробнее узнал о программировании и схемотехнике. То и дело попадались алгоритмы различных приложений. Разумеется, это были примеры и подсказки для самостоятельной реализации, но я был падок на листинги и воспроизводил всё как есть. Справочника по Бейсику в инструкции хватало понять, как это работает. Кое-где пытался сократить и оптимизировать код. И тут не обошлось без игр. Ажиотаж от запуска собственноручно «написанной» игры дал повод отложить в сторону импортную приставку. Больше всего по нраву пришелся логический Сокобан. Самодельными массивами уровней была украшена не одна школьная тетрадка. Проходить их потом приходилось самому же — сторонников-то не было…

Второе название Сокобана, «Таскать не перетаскать», для меня стало пророческим. Вот представьте, как бы вам сейчас жилось без жесткого диска? Сложновато, да, но есть варианты: сетевая загрузка, облака, белогривые лошадки… В моем же случае вариантов не оставалось. Приложения запускались с магнитофона, все попытки сохранить настроченное на аудиокассету заканчивались провалом из-за ошибок при записи. А модуля ПЗУ в доставшейся мне железке не было и в помине — где его в глубинке достанешь? Вот так и приходилось каждый раз вручную набивать несколько сотен строк кода и стараться растянуть удовольствие как можно дольше.

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

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

«Микроша» потом сменилась настоящим компьютером, а программист из меня так и не вышел.

9793

Домой, домой, пора домой

Я веб-разработчик в новорождённой конторе. Офис только открылся, работы пока не так много, поэтому я взял на себя обязанности системного администратора. Собирал свежие компьютеры для офиса, ставил на них Убунту, сеть прокидывал, по SSH ковырял компьютеры коллег.

Конец дня. Я закрываю все программы, переключаюсь на консоль и ввожу:

sudo shutdown -h now

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

Пришлось долго извиняться. Это ещё хорошо, что не в разгар рабочего дня.

9778

Данные — это временно

Устанавливал я Генту на ноутбук знакомой по её просьбе. Так как Генту — мой основной рабочий инструмент, я с minimal CD выполнил базовую установку и настройку и сразу же поставил иксы вместе с десктопным софтом. В полной уверенности в правильности своих действий я отдал ноут знакомой, не загружаясь в новую систему.

Мой недочёт обнаружился через неделю, когда подруга пыталась выполнить su. Я не запаролил рута (sudo тоже не было установлено), соответственно, система посылала далеко и надолго все попытки повышения привилегий. Что ж, под рукой флешка с PCLinuxOS. Загружаемся, mount, chroot, passwd, reboot и… ничего. Даже загрузчика. Просто девственно чистые разделы файловой системы на винте ноута.

После долгих разбирательств выяснилась моя ошибка. Я примонтировал файловую систему ноута в каталог /tmp в $HOME, который лайв-система посчитала за пользовательский эквивалент /tmp и благополучно вычистила при выключении. Виной всему была лень — лень набирать лишние пути (например, в /mnt), лень сделать umount перед перезагрузкой, лень всё ещё раз проверить перед тем, как отдать ноут.

Никогда не ленитесь проверить работу, даже если навыки доведены до уровня рефлексов.

9770

Я случайно весь сервер

rm -rf /etc/xrdp — вроде бы обычная, ничего не предвещающая команда.

Но оказывается, ты за каким-то хреном создал директорию aaa в /etc/xrdp и примонтировал через SSHFS корневую директорию основного сервера — видимо, потому что каждый раз западло набирать пароль в scp. Гений, @#$!

9736

Ковровая перезагрузка

Предприятие среднего уровня. В процессе монтажа видеонаблюдения нам выделили небольшое отдельное помещение. Серверной назвать тяжело, но функциональное назначение именно таково. Трудятся там три сервера видеонаблюдения (около сотни камер) и системы турникетов и учёта рабочего времени (специально разделили для надёжности), пара свитчей по 24 порта, мини-АТС, сервера бухгалтерии, прокси, блоки питания камер, CDMA-терминалы и еще куча всякого оборудования.

Боремся за повышение надёжности. Сервера разделены, питание идет от двух упсов (онлайн и смарт), АТС имеет ещё и собственные аккумуляторы. Два независимых ввода силового питания с АВР, кондиционер. Помещение обшито металлом и закрыто на замок, ключи только у охраны и у меня. Всё работает стабильно, но ничего не может работать со стопроцентной надёжностью.

Не помню, какой из компьютеров сбойнул. Звонит мне охрана. Обьясняю: надо пойти в серверную и перезагрузить сервер на второй сверху полке. Задачу передают человеку, который понимает, что жать. Кладу трубку. Через десять минут перезванивают: «Всё, заработало». Попутно слышу какой то разговор, спрашиваю, что там такое.

— А, девочки из бухгалтерии забегали.

В душе какое-то странное чувство.

— А вы какой сервер перезагрузили?

— А мы всё перезагрузили!

Как потом выяснилось, часть не перезагрузили, а выключили.

Помните следствие закона Мёрфи? «Если четыре причины возможных неприятностей заранее устранены, то всегда найдётся пятая».

9726

svn blame boss

Работал начальником программистов. Как-то техподдержка обнаружила баг в нашем продукте. Условия были весьма хитрые, но, надо отдать должное, передали достаточно информации, чтобы я смог воспроизвести баг на своей машине. Ошибка оказалась пустячной. Быстро исправил, проверил. Насторожило то, что это ядро, на котором построен не один десяток приложений. Значит, им грозит обновление ядра и внеочередной релиз.

Решил узнать, насколько всё запущено: кто и когда сделал эту ошибку, кто пропустил при проверке, кого ругать. svn blame ничего не дал. Код не менялся с самой первой ревизии при импорте из старых хранилищ. Не поленился, поднял старое. Нашёл. Оказалось, что бывший начальник во время рефакторинга ядра случайно удалил одну нужную строчку… семь лет назад. За все эти годы никто не заметил ошибки. Конечно, приложения падали регулярно, но на это была куча других причин: неисправности сети, вирусы, несовместимые сторонние компоненты.

Я подумал, что у хорошего программиста и баги живут долго. Экс-шеф — программист, как говорится, от бога: смотришь на код десятилетней давности, и ничего не можешь ни прибавить, ни убавить. Зато появилась традиция: если что-то падало, все до выяснения причин начинали винить бывшего начальника. Связался с ним, рассказал. Вместе посмеялись. Сам я уже тоже там не работаю, но жду, когда стану во всём виноват.