Малая девятоиюльская дисковая катастрофа

Вчера (вернее, теперь уже позавчера) был какой-то очень неудачный день. Впрочем, начался он вполне хорошо. Проснувшись, я решил возвращаться в Москву в этот же день, а не ждать до вторника, как планировал изначально, но ехать совем поздно вечером, на последней маршрутке из тех, которые заходят в дальнюю часть деревни. А до этого заняться наконец-то написанием книги. И, надо сказать, наконец-то стало получаться что-то более-менее связное. Написать, правда, успел всего одну страницу, где изложил только про то, что такое Путь. Не успел даже перейти к его этапам. Потом начал мыть посуду, и на это потратил больше времени, чем рассчитывал. К тому моменту, когда я закончил, до намеченного времени выхода оставалось всего 7 минут, а еще нужно было сохранить написанное на флешку, собраться, выключить и закрыть все. Пришлось делать это почти бегом. И вот за минуту до намеченного времени времени выхода я закрываю дом, но остается еще отключить воду, закрыть баню и внешнюю калитку. И тут меня глючит на тему того, что я забыл флешку, так как в спешке не помнил, как клал ее в сумку. Открываю дверь, бегу к компьютеру, и обнаруживаю, что ее там нет! Начинаю метаться, и через некоторое время обнаруживаю, что все же она в сумке, но лежит так, что ее почти не видно. Закрываю дом, закрываю все остальное, в спешке ухожу, рассчитывая в дороге пробежать часть пути бегом и нагнать потерянные минуты. И вот уже, отходя от дома, оборачиваюсь и обнаруживаю, что в отцовской комнате на втором этаже не закрыто окно! Я уже был на нервах из-за флешки, а тут у меня случилась настоящая истерика с неконтролируемым потоком мата на несколько минут.
Но делать было нечего: пришлось возвращаться, открывать калитку и дом, подниматься на второй этаж и закрывать это окно. После этого стало ясно, что отыграть потерянное время уже не удастся, и я в самом отвратительном настроении поплеся уже до следующей остановки, с которой маршрутки ходят регулярно, а не несколько раз в день, как с ближней. Расписания я не знал, а время было уже довольно позднее, поэтому всерьез опасался пропустить и следующую электричку и застрять надолго. Но все обошлось. В маршрутке несколько успокоился. Зато пошел сильнейший дождь! К счастью, к тому моменту, когда мы добрались до города, он уже почти закончился, но до вокзала все равно пришлось пробежаться бегом. На следующую электричку я успел, причем даже с большим запасом. Сама электричка оказалась более быстрой, чем та, на которую попал бы с «дальней» маршрутки, и в результате добирался примерно 2:40, что вполне нормально.
Но дома меня ждала еще одна неприятность. Я запустил ноутбук, открыл броузер и в дополнение к тем вкладкам, которые оставались с прошлого раза, наоткрывал еще множество, причем некоторые из них были весьма тяжелыми. В результате броузер сожрал весь свободный объем оперативки. В Linux, похоже, есть какой-то баг при попытке выделить память, когда ее не хватает физически: вместо того, чтобы вернуть приложению ошибку, происходит зацикливание потока где-то в ядре с загрузкой процессора под 100%. (Впрочем, возможно, еще влияет то, что у меня /tmp в RAM-диске находится, и, возможно делается попытка одновременно и увеличить место для него, и выделить память броузеру, что вызывает какие-то конфликты.) Подождав пару минут и попытавшись переключиться в консоль, я понял, что это бесполезно, и стал делать принудительную перезагрузку клавишей питания. Но даже это сработало далеко не сразу!
Но самое худшее было дальше. Обычно после такого происходит выполнение fsck, обнаруживается несколько потерянных файлов, и все. Но не в этот раз! fsck начала ругаться на некорректные контрольные суммы в группах, и отказывалась исправлять диск вообще. Я попытался было задействовать один из резервных суперблоков, но ничего не изменилось.
После нескольких попыток спасти поврежденный домашний раздел я понял, что это бесполезно. На всякий случай сделал его dump в файл, после чего отформатировал. Но даже после этого глюки не закончились. Во-первых, LXDM отказывался пускать меня в систему (потом выяснилось, что, скорее всего, из-за отсутствия каталога Рабочий стол). Пришлось создать нового пользователя, войти под ним, а потом скопировать все созданные файлы в каталог основного. Дальше — еще одна неприятность: перестали разворачиваться на весь экран окна, что очень раздражало. С этим я уже когда-то давно сталкивался, но никак не мог вспомнить, как победил. И только днем во вторник обнаружил причину: рабочие столы на основном экране и экране ноутбука дублировались вместо того, чтобы располагаться рядом. Но в отличие от Windows, который масштабирует больший экран до меньшего, Linux делает это дублирование совсем иначе.
В общем, потерял почти целый день. Но в информационном плане потери незначительны: слетели, в основном, файлы настроек и сохраненные пароли, а также некоторые скрипты, которые я писал либо для CodinGame, либо просто для тренировки при изучении новых языков программирования. Все остальное лежало либо на отдельных разделах, которые не пострадали, либо имеет резервную копию в Сети или на внешнем жестком диске. Но негативных эмоций я получил много!
Впрочем, один позитивный момент все же нашелся. Пытаясь победить проблему с неправильным размером окна, я отключил графическое ускорение в Opera, и удивился, насколько же меньше памяти она стала потреблять! Правда, и отрисовывает чуть медленнее. Правда, мне с моей гиперчувствительностью к скорости работы, даже это «чуть» заметно, поэтому в итоге я аппаратное ускорение включил обратно, но не стал заниматься его оптимизацией, например, принудительным включением нескольких потоков растеризации.

1