С Новым Годом!
Пусть в Новом году у вас всё

Virens.
читать далее... а если копируете статью - поставьте ссылку на оригинал!
В этом блоге публикуются заметки и решения,
найденные в процессе работы, освоения и жизни
в дистрибутиве Debian GNU/Linux.[мобильная версия]

Задача: восстановить информацию с повреждённого CD-диска, копирование с которого прерывается из-за ошибок чтения.
Решение: есть несколько утилит, в том числе базовых, которые позволяют в той или иной степени восстановить данные.
Утилита dd
Старая, как сам UNIX, утилита, входящая решительно в любой нормальный дистрибутив UNIX-основанных систем. Более того, на блоге уже упоминался вариант её использования для проверки дисков. Теперь она послужит нам для нужд восстановления.
Собственно, её использование приведёт к копированию данных, несмотря на ошибки. Внимательное чтение мануала man dd даёт ключ к использованию:dd if=/dev/cdrom of=~/bad.iso bs=2048 conv=noerror
Игнорирование ошибок чтения обеспечивает именно последний параметр, при этом вы будете наблюдать многочисленные сообщения об ошибках.
В Сети есть мануал на русском для тех, кто испытывает трудности с англицким наречием.
Утилита recoverdm
В комплект поставки дистрибутивов она входит редко, но распространяется под лицензией GPL, и скачать её отсюда.
Требует рутовых прав, так как использует некоторое "трюкачество", например сброс состояния контроллера и чтение "сырых" данных (RAW-data). Обеспечивает большую точность восстановления, чем dd, и больший набор параметров. Однако работает гораздо медленнее dd в силу того, что гораздо большее количество попыток чтения совершается. Способна восстанавливать данные с дискет, CD/DVD и жёстких дисков. Кроме того, поставляется с утилитой mergebad, которая полезна в случае, например, когда есть несколько компакт-дисков, и все они битые, а информация на них распределена.
Компиляция из исходников посредством команды make не представляет никакой трудности. Нужно поставить на ней соответствующие права и выполнить команду:sudo ./recoverdm -t 20 -i /dev/hda -o bad.iso -l badsectors.bad -n 10 -r 12
После чего начнётся медленное и печальное восстановление. Лучше всего ставить эту процедуру на ночь, так как при сколько-нибудь обширных сбоях чтения компакт-дисков такое считывание может занять несколько часов (мой злосчастный миморекс читался 7 часов).
В процессе считывания вы будете видеть в консоли такие вот сообщения:Trying RAW read...
Tried reading 10 times, failed doing that. Continuing...
error at 732188672 bytes, retrying: 1
error at 732188672 bytes, retrying: 2
error at 732188672 bytes, retrying: 3
seek to end...
error at 732188672 bytes, retrying: 4
resetting device...
error at 732188672 bytes, retrying: 5
resetting controller...
error at 732188672 bytes, retrying: 6
error at 732188672 bytes, retrying: 7
error at 732188672 bytes, retrying: 8
error at 732188672 bytes, retrying: 9
error at 732188672 bytes, retrying: 10
Trying RAW read...
Tried reading 10 times, failed doing that. Continuing...
которые будут тем многочисленнее, чем больше запорчен диск и чем больше вы поставили попыток чтения. Естественно, утилита не волшебная, и те данные, которые восстановить не удалось, просто заменяет пустыми блоками. Если на диске было много фотографий, потерю десятка вы переживёте менее болезненно, чем всего диска целиком.
Восстановление этой программой занимает существенно больше времени, чем dd. Не ждите, что диск с обширными повреждениями (более 10% секторов) проутюжится меньше, чем за 7-8 часов (при многократном считывании с параметрами, указанными выше). Но есть проверенный способ: ставим на ночь и идём спать...
Личный опыт
Восстанавливал при помощи этих двух утилит один фильм со славных своим "качеством" дисков фирмы Memorex. Так назвать их можно было только из глубокого сарказма - даже безродная китайщина до сих пор читается на максимальной скорости (записаны 5 лет назад!), зато славные миморексы сдохли всем десятком через каких-то полтора года.
Как бы там ни было, но dd и dd_rescue работали долго и в итоге было слишком много пропущенных секторов - фильм шёл с заметными "глюками". Тот же диск, отутюженный recoverdm с приведёнными выше параметрами дал существенно меньшее количество пропусков и фильм шёл куда более "плавно" и при этом выпали только три-четыре незначительных эпизода по 5-6 секунд. Более чем удовлетворительный результат при том, что обычное копирование прерывалось на половине диска с истерическим воплем "I/O error, пишите письма".
Ссылки:
Пост был вдохновлён собственными потребностями в восстановлении данных с дисков МимоMemorex и этой отличной статьёй. В ближайших планах апробация программы testdisk, про которую писали тут.
читать далее...





Оставайтесь на этой волне с RSS-лентой новостей!
Если вы столкнулись с необходимостью собрать ядро Linux, наложить патч для ядра Линукс или просто вы уже забыли, как это делается - здесь приводятся рекомендации и ссылки для "быстрого старта".
Зачем?
Если всё работает, цветёт и пахнет - не трогайте ничего! Есть старая поговорка "не сломалось - не чини!", в ней мудрость многих поколений пользователей UNIX, бессонные ночи и море слёз. Ну так зачем же это надо?
Как говорят классики, полезно пересобрать ядро в следующих случаях:
Не бойтесь пересобирать ядро Линукс. Это забавно и полезно. И никакой чёрной магии в этом нет.
Как собрать или пересобрать ядро Линукс?
Вы хорошо подумали, взвесили все "за" и "против" и решились-таки на этот шаг. Это не так сложно, как может показаться, процесс автоматизирован и упрощён до известных пределов. Я поделюсь некоторыми очевидными (для тех, кто уже наступал на грабли) или не очень (кто их удачно обошёл) подводными камнями, подстерегающими вас на этом пути.
Прежде всего, заполучите статью "Ставим ядро 2.6, или Ядерная физика для домохозяйки" (тут - новая версия этой статьи). Не надо оскорбляться таким названием - это исчерпывающая статья по сборке ядра, её автор, Михаил Зарипов, перевёл на русский почти все опции ядра!
Статья построена из расчёта, что человек использует make menuconfig и некоторых параметров вы в ней не найдёте, но основное в ней отражено. Качаем, читаем и следуем приведённым в ней рецептам - это 99% даст положительный результат.
Какие бывают ядра Линукс?
Вот здесь об этом здесь много и долго говорилось. Кратко: идём в архив официальной серии ядер, выпускаемых непосредственно Линусом Торвальдсом. Прежде всего, надо разобраться, что такое стабильные и нестабильные ядра (stable и development) и как они нумеруются. Пусть имеется ядро версии a.b.c.d
Официальные ядра в виде исходных текстов можно скачать с ftp://ftp.kernel.org. Идём туда и видим кучу ядер. Нам какое? Есть несколько соображений:
Какие могут быть грабли при сборке ядра?
Проблем при сборке обычно не бывает, только если вы не намудрили с компилятором или недоустановили его. В процессе сборки проблем не так много, они обычно возникают после сборки ядра по следующим причинам:
На эти грабли можно и не наступать - есть несколько рекомендаций.
С чего начать?
С того, что к сборке ядра нужно подготовиться: это займёт много времени, особенно если вы это делаете в первый раз. У меня пересборка первого ядра заняла 4 часа - вдумчивое чтение статьи, поиск параметра, включение или выключение и так далее. У вас это может занять времени меньше - затем я это и пишу.
Хорошо бы взять конфиг из вашего дистрибутива - дистростроители в сборке ядер понимают, как правило, больше вас, так что не стесняйтесь. Копируем в каталог с ядром и пишемmake oldconfig
Флажки параметров ядра должны расставиться соответствующем конфигу образом, если только в вашем дистрибутиве не принято накладывать на ядро 33 заплатки. Конфиг так же можно попросить у ближайшего линуксоида - будет кого пинать и доставать своими вопросами. Если охота проявить творчество, можно попросить создать конфиг с умолчальными настройками:make defaultconfig
Не увлекайтесь заплатками, особенно поначалу. Каждая из них добавляет возможности в ядро, но может привести к дестабилизации системы и крайне неприятным последствиям. Обзор различных интересных патчей и веток ядер Линукс дан в этой прекрасной статье.
Где лежат большие грабли
Как и всё остальное в Линукс, тексты ядра прокомментированы и можно в процессе сборки попросить помощи. В menuconfig это крайняя правая кнопка HELP. Комментарии есть практически к каждой опции, более или менее внятные, и их стоит почитать, если из статьи не ясно, что это такое.
Перво-наперво, не включайте в ядро и не делайте модулем никаких функций, рядом с которыми написано слово EXPERIMENTAL или DEPRECATED! Это может вывести систему из стабильного состояния и добавить вам совершенно ненужных проблем - включайте только в том случае, если это очень необходимо и вы знаете, что делаете.
Чтобы система после перезагрузке загрузилась с новым ядром, обязательно включите поддержку следующих опций монолитно:
Чтобы не ломать голову и не думать, почему не работает что-то, имейте в виду:
Далее для сборки набираем:
от простого пользователя:
make bzImage
(собрать ядро)
make modules
(собрать модули
mkinitramfs -o /boot/initrd-вашаверсияядра вашаверсияядралибо (для старых или специфических дистрибутивов)
mkinitrd -o /boot/initrd-вашаверсияядра вашаверсияядраТо есть например:
mkinitramfs -o /boot/initrd-2.6.20 2.6.20После этого прописываем в загрузчике (скорее всего это будет GRUB):
title Debian Linux (2.6.20)
root (hd0,0)
kernel /vmlinuz-2.6.20 ro root=/dev/sda1
initrd /initrd-2.6.20.img
Номер системы, загружаемой по умолчанию, равен 0. Чтобы определить по умолчанию загрузку вашего нового ядра, либо поместите описывающий его раздел файла, в начало, либо измените номер системы по умолчанию на нужный вам (помните, что номера начинаются с 0) Если вы используете GRUB, после редактирования файла конфигурации вам не нужно выполнять какие-либо команды.
Вот все грабли, на которые я наступал и которые вспомнил. Уважаемые комментаторы приглашаются к конструктивной критике и дополнению вышеописанных подводных камней.



# apt-get install sshи ждём несколько мгновений, когда оно настроится. После этого мы получим возможность SSH доступа в систему и управления ей. Так как технология эта кросс-платформенная, то можно управлять по SSH Linux или FreeBSD можно и из Windows. Для этого есть putty, SSH Windows клиент.
ForwardX11 yesКлиентская машина теперь может запускать удалённо графические приложения на сервере. Настройка SSH на стороне клиента закончена, теперь идём к админу далёкого сервера...
ForwardX11Trusted yes
$ ssh -X user@server1.mydomain.comили
$ ssh -X user@192.168.x.xесли лезть в конфиги на своей стороне не хочется, но у меня это почему-то не работало...
X11Forwarding yesЭтим мы разрешаем серверу запускать удалённо графические приложения и отправлять их на клиентскую машину. Перестартуем сервис:
X11DisplayOffset 10
X11UseLocalhost yes
sudo /etc/init.d/ssh restartТеперь мы сможем заходить на машину не только в консольном режиме, но и с запуском иксовых приложений.
/etc/ssh/sshd_configAllowUsers hacker@*
AllowUsers *@192.168.1.*
Впрочем, это уже для более продвинутых товарищей.$ ssh имя_пользователя_удалённой_машины@ip_адрес_или_сетевое_имя_удалённой_машиныНапример, в моём случае, когда я захожу удалённо на ноутбук, пишу ssh beast@192.168.1.5 - так как у меня не настроен сервер имён, пишу адреса. Опять-таки, доступ по SSH может быть не только из Linux или FreeBSD, но и из Windows - при помощи putty.
penta4@penta4rce:~$ ssh beast@192.168.1.5Теперь, в окошке терминала, который на нашей машине, мы рулим компьютером, к которому мы подключились. Не перепутайте терминалы, а то вырубите не тот компьютер :-) Здесь всё просто и логично, но нам бы хотелось ещё и запускать графические приложения на удалённой системе. Легко!
Password:
Linux notebeast 2.6.15.7 #3 PREEMPT Sun Jul 2 12:51:07 MSD 2006 i686 GNU/Linux
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Oct 10 19:23:57 2006 from 192.168.1.1
beast@notebeast:~$
$ gimp &;
Это запустит на удалённой машине GiMP в фоне и вернёт вам консоль для дальнейших действий. Если вы не поставите амперсанд после имени приложения, то управление в консоль будет возвращено только после завершения приложения.
На приведённом скриншоте: слева gimp, запущенный на "родной" машине, справа - на удалённой. Кнопочки чуть разные из-за того, что на удалённой машине другие настройки gimp. В остальном - как родной.
Итак, у вас запустится графическое приложение точно так же, как если бы оно работало у вас. Есть одно но: это приложение будет работать на вашем экране, но с документами и настройками удалённой машины. Если файл для обработки находится в вашем домашнем каталоге, то его нужно будет передать на удалённую машину. Оно (и другие приложения, которые вы запустите) будет работать ровно до того момента, пока открыто ssh-соедиение. Туда же, в консольку ssh-соединения, будут выдаваться служебные сообщения запускаемых вами приложений.
Заключение
Ну вот, как выясняется, удалённое соединение и работа по SSH может быть полезна и простым смертным, а не только бородатым админам. Очень удобно, например, быстренько влезть на компьютер коллеги и помочь ему в чём-то (прочитать логи, например), тихо и незаметно поставить софт, просто загрузить чем-то полезным простаивающую машину. В общем, много применений.
Так как пост делался с упором на простого пользователя, тут не рассматривается шифрованное копирование файлов и прочие тонкости. Они есть тут на русском вместе с более кратким описанием настройки SSH, а ещё очень подробная статья с nixp. Хорошая справка (правда, на английском) здесь и тут. Думаю, что этого хватит.


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


Оставайтесь на этой волне с RSS-лентой новостей!
Вопрос: хочется поставить DSL (основанном на Debian) в качестве первой или пробной системы рядом с Windows XP Damn Small Linux, но при этом не потерять данные и не убить информацию на разделах - возможно ли?
Ответ: конечно, причём исключительно открытыми и свободными средствами.
Процесс несколько нетривиален, и для новичка может стать непреодолимой преградой. Но у нас есть не только DSL, но и GParted, который нам поможет. Немного упорства и находчивости, и через несколько минут на нашем жёстком появится Пингвин.
Подготовка к установке Маленького Пингвина
Вставили диск в привод, в BIOS переставили очерёдность загрузки на CDROM. Загрузка идёт в автоматическом режиме - и не волнуйтесь, никто ваши данные не сотрёт. После загрузки видим что-то вроде этого:
В меру аскетично и красиво. Не забываем, что эта система, вместе с графической оболочкой, занимает 50Мб, а софта в ней много больше, чем в винде сразу после установке.
В качестве графической оболочки есть Fluxbox со включённой Transfluency (псевдо-полу-прозрачность). В рассматриваемой версии DSL 3.1 uname -a говорит про ядро 2.4.26, скомпилированное с поддержкой многопроцессорности. Да, свежестью ядро не отличается, большинство современного оборудования останется за бортом - зато система получается компактной и шустрой.
Посмотрели, прикинули, захотели поставить это чудо на диск.Хочу предупредить сразу: делать это стоит только ради озорства или острой необходимости, так как количество проблем после установки вас может неприятно удивить и создать неправильное представление о Linux. Многих новых программ в DSL нет, кириллица отсутствует, очень старое ядро (то есть многие ваши железяки могут не работать - например, SATA, PCI-E и новые звуковые и видеокарты), выкинули систему управления пакетами, устанавливать которую придётся через Интернет. Такие экстремальные развлечения новичку не нужны.
Всё делалось в эмуляторе QEMU v0.7.2 с ускоряющим модулем kqemu, образом диска на 4Гб, в котором стоит Windows XP.
Но уж если вам так хочется - я проиграл ситуацию с установкой DSL на диск вместе со Windows XP и привожу результаты.
Установка DSL вместе со Windows XP
Правый щелчок мышью, далее Apps - Tools - Hard drive install. Спросили, куда я хочу ставить. На hda2.
Предупредили, что все данные сотрут. И тут я прочитал предупреждение, что партиция должна быть создана ДО того, как инсталляция начнётся. Средствами DSL это, видимо, сделать нельзя.
Установка на жёсткий диск DSL несколько нетривиальна из-за отсутствия утилиты изменения размера дисков. Но у нас есть GParted, которым мы скоро воспользуемся.
Откусываем место на диске от Windows XP при помощи GParted
Загружаемся с Gparted, который выдаёт графическую менюшку, с помощью которой сокращаем объём партиции, создаём вторую партицию, и форматируем её в ext3. Для установки DSL нам потребуется около 200 мегабайт, но лучше дать больше места - мало ли чего нам потом захочется. После всего жмём на Apply, выгружаемся и снова загружаем DSL. Выглядит это примерно так:
Не забываем после всех манипуляций с партициями нажать на Apply и дождаться окончания процесса переразбивки, который может быть достаточно длительным.
Ставим DSL
Всё, партиция готова, и мы готовы. Щёлкаем правый кнопкой мыши, Apps - Tools - Hard drive install. На вопрос "куда ставить" пишем hda2. Потом спрашивают, нужен ли нам многопользовательский вход. Пишем y, теперь наш пользовательский логин dsl. Спросили, хочу ли я ext3 и почему-то не порекомендовали её для слабых машин. Ответил y. Писать ответы важно, иначе установка не начнётся.
Пойдёт форматирование и копирование данных, с ужасом смотрим на экран и грызём ногти от волнения. Дальше - установка загрузчика. Спросят, какой хотите - Lilo или GRUB. Написал g, то есть GRUB. Спросили, есть ли у меня Зло на первой партиции (/dev/hda1), написал y, то есть имеется. Всё, попросили перезагрузиться.
После загрузки нас встречает меню Grub, первая строка с DSL, потом несколько вариантов с framebufer, на последнем месте Windwos XP. И это правильно...
При первой загрузке вас попросят ввести пароль рута и юзера dsl. Вводим и запоминаем, особенно рутовый пароль, и никому его не говорим. Дальше попросят авторизоваться, пишем логин dsl и пароль, который вводили для этого пользователя. Всё это идёт в текстовом варианте:
Сразу пойдёт загрузка иксов, и загрузится всё тоже самое, что и с livecd, только с жёсткого диска. После всего был произведён контрольный запуск Windows XP: загрузка Windows XP прошла без проблем, оно даже не заметило, что рядом появилась правильная ОС.
Впечатления от DSL
Вот оно и поставилось, что в общем заняло (учитывая разборки с партицией, GParted, не ахти какой скоростью эмуляции и прочем) около полутора часов. У новичка может занять больше, так что лучше подготовиться к этому основательно. Что можно сказать после непродолжительного пребывания в DSL, установленным второй системой?
Железо
Эмуляторное железо, которое есть в QEMU, DSL распознал без проблем (что не удивительно, так как оно проще некуда). Иксы запустились нормально, в качестве видеокарты была поставлена VESA инсталлятором. Всё работает достаточно быстро и без нареканий.
Софт
Заранее говорю: до красот Ubuntu или тем паче SuSe здесь очень далеко - но орлы из DSL этого и не добивались. На таком ограниченном пространстве размещена куча нужного и полезного софта. Претензий к нему быть не может - скажите спасибо, что он там вообще есть.
Вызвал терминалку, запустил MC, русского, естественно, нет: ни в консоли, ни в иксах. После ввода mc открывается другая терминалка, где MC и работает. Поэтому Ctrl+O не действует. Партиция со Windows XP не примонтирована - в общем, это не проблема, особенно при умении искать гуглом. Сладкой жизни на 50Мб никто не обещал.
Занимает DSL 124 мегабайта сразу после установки. Это со всем софтом и иксами. Очень впечатляет. Чтобы утоптать DSL в 50Мб, надо было приложить много стараний, очень многим пожертвовав. К слову, свеже установленный консольный Дебиан будет занимать никак не меньше 150 Мб.
Подборка софта умиляет. В разделе Офис - Ted, SiagOffice и Калькулятор. Зашибись какой офис, но это на голову выше того, что идёт в комплекте с Windows XP.
Ну да, а чего вы хотели от 124Мб вместе с иксами? Из остального: есть броузер Firefox 1.0.6, маленький броузер Dillo, почтовик Sylpheed, аудиоплеер XMMS, графический редактор xpaint, просмотрщик xpdf и для картинок zZGV. В общем софта в DSL много больше по умолчанию, чем в том же Windows XP.
Утилиты управления софтом: осталось только воспоминания - dpkg нет, только dpkg-restore, apt-утилит нет вообще. Компилятора тоже нет. Что делать дальше и как ставить софт, в общем, не очень понятно.
Так, в /Apps/Tools найдена загадочная строка Enable Apt и Synaptic. Обе строки при нажатии просятся что-то скачать из Интернета.
Заключение
В общем, DSL оставляет очень приятное впечатление как демонстрационный диск. Но использовать его на рабочей машине можно, только будучи чрезвычайно стеснённым ресурсами: на машинах с P1 и 32Мб оперативной памяти он будет неплохо смотреться. Но утилиты управления софтом или хотя бы компилятор прикрутить к нему нужно.
А в остальном DSL целиком и полностью оправдывает своё название: Чертовски Маленький. И это не нужно забывать.
читать далее...
-ленту.
краткая лента новостей.
Блокнот интересных ссылок в Twitter