30 марта, 2010

Linux Quest


  Дано: Fedora 12 на ноутбуке, без установленных драйверов на видеокарту ATI Radeon Mobility 1400. Из-за этого, я полагаю, время от времени, начинало дергаться изображение на экране - лечилось ребутом. Основная машина, с установленными Windows XP и Ubuntu 8.10. А так же я - относительно криворукий хозяин всего этого добра.
  Завязка: Несмотря на то, что на форумах черным по белому написано, что для Fedora 12 драверов на ATI нет, скачивается rpm пакет х пойми откуда и, без единого сомнения, устанавливается. Исксы после перезагрузки не встают.
  Уже слегка включив мозг, решаю разобраться с ситуацией в cli режиме, но, для верности, перед этим слить все важные файлы на флэшку. Видимо, слегка включить мозг было недостаточно. Я тогда не понял, как так случилось, и чем я думал, но вместо флэшки я смонтировал в /mnt/flashka собственный раздел /boot. Увидя кучу непонятных файлов, я решил, что на флэшке был установлен какой-то live дистрибутив linux, и, вновь отказавшись думать, под рутом, бахнул 'rm -rf *'. Осознал я всю прелесть ситуации, когда запустил 'df -h' и увидел, что у меня смонтировано и куда.
  Но это еще не последняя моя глупость - я перезагрузился... Вот тут то и началась веселуха.

  Фиг с ней, с системой - меня все равно уже убедили поставить себе linux mint, но файлы надо было спасать. Вытащив винт из ноута, подключил его к основной машине. Ubuntu 8.10 меланхолично сообщила, что ext4 формат она читать не умеет и не намерена. У XP даже не спрашивал. :) На попытку обновиться до 9ой версии Убунта пожаловалась на то, что не хватает свободного места в коневом разделе и помахала ручкой.
  И тут мне пришла в голову гениальная идея - live CD! Сливаю себе образ Fedora 12 live CD KDE (ну привык я к нему уже) и, счастливый, запускаю на ноуте. Вот тут наступил момент, который я не мог объяснить до последнего - сам винт вполне находился и монтировался без вопросов куда скажут, но ни одного файла на нем не было, и размер его был примерно 120 мегабайт. Забегая вперед, скажу, что live CD Ubuntu 9.10 повел себя точно так же.
  Поборов отчаянье, я обратился к последней моей надежде - установочному диску Федоры, с которого, собственно, систему и ставил. И, о чудо, я обнаружил на нем возможность Repair! Правда восстановить систему так и не вышло, но зато я зашел в cli режиме, с помощью которого обнаружил все необходимые мне файлы! Смонтировал флэшку, на этот раз осторожно и вдумчиво. :) Кстати, пользуясь случаем, хочу спросить - как определять, какие устройства доступны для монтирования и какие файлы в /dev им соответствуют? Я нашел один способ - посмотреть файлы в /dev/disk/by-id - там есть расшифровка, но этот способ кажется мне не совсем красивым и, вроде, так можно сделать, если установлена специальная программа.
  Итак, я сбросил на флэшку важные мне файлы (аллилуйя), но оставался один тонкий момент - на винте еще было 40 Гб непросмотренного и неотсортированного аниме, торрентов, скачанных, но не розданных. Флэшкой это все добро таскать я б замучался, и я приступил к новому раунду борьбы с линухом.
  Знакомый, заехавший в гости, и выслушавший мою печальную историю, дал мне live CD Ubuntu 9.10. То, что файлы на винте он все равно не увидел, вы в курсе. Решив, что сдаваться рано, я решил все же обновить Ubuntu на основной машине. Так как обновление жаловалось на отсутствие места в разделе, решением моим было урезать место у раздела с Windows и отдать его Убунте. Виндовый Partition Magic 8 отказался работать с ext3 разделами и смог только отрезать кусочек от ntfs. На Ubuntu была найдена программа gparted для работы с разделами дисков, но, естественно, система мне не дала изменить размер разделов, на которых она сама была смонтирована. Материться уже не было сил, и я пошел пить чай с мятой и оплакивать аниме. И вот тогда, спасибо доброму товарищу, мне на глаза попался, уже отложенный на дальнюю полочку, live CD Ubuntu. И просто счастьем было для меня обнаружить, что gparted есть в этой сборке. Парой легких манипуляций, которые были ничуть не сложнее, чем в Partition Magic, я подвинул разделы, изменил их размеры и дал долгожданного свободного места корневому разделу... Обновлялась эта "чуда" три часа.
  Ну, я не могу сказать, что был удивлен, когда, в только что обновленной Ubuntu 9.04, мой ноутбучный диск отображался, как 120 мегабайтный и пустой. И тут меня опять же спас gparted. С помощью него я узнал, что на винте два раздела - один 120ти мегабайтный ext4, а второй - lvm2 и занимает он все оставшееся место. И монтироваться отказывается. Это была необходимая зацепка. Погуглив на тему lvm2 я узнал, что это logical volume manager - некий надраздел, пакет для логических разделов, который включает в себя несколько разделов обычных (простите за бедность речи, но если интересны технические подробности - милости прошу в гугл или википедию). Еще пару минут гугления сказали, что для работы с lvm нужен установленный пакет lvm2 в операционной системе. Сказано - сделано - через пару минут пакет установлен. После перезагрузки машины моей радости не было предела - помимо двух физических винтов gparted показывала еще два раздела - root и swap федоры. Дальше дело техники - монтирую /dev/mapper/VolGroup_root в свою папочку (не у каждого такой путь может быть - я увидел его в gparted), даю рекурсивно права 777 на домашнюю папку и запускаю копирование драгоценного аниме на ntfs раздел диска (места там больше).
  Ощущения как после секса - даже закурить хотелось (хотя сам не курю - наверное, стереотип). Сидел как дебил на кресле и улыбался во все стороны. Успокоившись немного, я начал понимать, что же я творил с системой и почему так вышло. В примере монтирования флэшки на форуме не стали особо заморачиваться и написали 'mount /dev/sda1 /mnt', а я бездумно переписал пример в консоль и смонтировал, таким образом, первый раздел винта sda - моего основного винта. Флэшка была устройством sdb1. Получается, я смонтировал первый раздел жесткого диска - а это был раздел с директорией /boot. Дело в том, что grub - загрузчик linux, не умеет работать с lvm и поэтому раздел с /boot выносится из lvm и работает как просто ext4, а все остальные разделы вносятся внутрь менеджера. Потому-то на всех системах на винте виделся только один 120ти мегабайтный раздел, а пустой он был, потому что я сам же его, дурак такой, и очистил.
  Вот так вот благополучно завершился мой linux quest. Сейчас на ноуте уже стоит свеженькая Linux Mint 8 "Росинка", аниме ждет своего часа, торренты раздаются, а я обогатился кучей знаний. Пусть скептики твердят, что линукс сложнее, не так удобен для пользователя во многих аспектах, но одного у линуксоидов им не отнять - того кайфа, который получаешь при работе с этой, уже милой моему сердцу, системой.
  PS: Правильно сказал один мой знакомый сисадмин - "Админом не становятся, админом приходиться становиться".