Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

OS Linux для начинающих. Новости + статьи + обзоры + ссылки :: Выпуск #59 (Статьи - Знакомство с Linux) - попытка #2


Информационный Канал Subscribe.Ru

Рассылка LinuxBegin
Выпуск #59 - Статьи. (30.10.03). Подписчиков: ~ 17000.
Рассылка для тех, кто делает первые шаги в мир Open Source!
Новости, статьи, обзоры и ссылки.
В этом выпуске:
Новости рассылки
Знакомство с Linux. Часть 17
Знакомство с Linux. Часть 18
Читайте в следующем номере
 Новости рассылки:

После (не)большой паузы рассылка Linuxbegin продолжает свою работу.

Результаты голосования:

Тема
За
Против
Результат
Знакомство с Linux - продолжение
35
0
32
Webmin
32
2
30
OpenOffice
25
3
22
ASPLinux 9 - сколько людей, столько и мнений
23
4
19
Веселые зарисовки на тему Linux и Windows
21
3
18
Против всех
-
-
9

Обещанная статья (про backup) из цикла "Знакомство с Linux" не вышла до сих пор. (Отложим её опубликование до следующего выпуска рассылки?). Поэтому в этом выпуске публикуются только 2 последних части - про звук и про восстановление данных.

Новое на сайте: (не считая новых статей, которые появляются регулярно).

1) Долгожданное обновление в разделе "LinuxHumor / Linux wallpapers" - более 70 новых картинок и wallpaper'ов!!! (включая такие произведения искусства, как "Russian Linux", "Tux - CCCP (с серпом и молотом :)", "The Incomparable Tux", "Steve the Supervillain", "Penelope Copyleft", ...).

2) Обновлена страница с лучшими ссылками, в самом низу которой появилась ссылка на образец моего не-Линуксовского творчества (а точнее - на моё руководство по PBeM-игре "E-civ" для начинающих :o).

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


From: shafff
Subject: Re: Интересная статья
Date: Wed, 8 Oct 2003

По поводу переписки, опубликованной в рассылке (с чуваком - как и я - из Украины)
Я купил на Петровке (книжно-пиратский рынок в Киеве) т.н. энциклопедию Linux (Ричард Петерсен) с прилагающимся дистром Red Hat 7.2.

Да, с неё я начал непосредственное общение с Linux. Да, в ней были описаны "установка, обеспечение безопасности, конфигурирование системы, <...>, администрирование, <...>,программирование на bash, <...>

Теории в этой книге почти нет (разве что про причины противостояния gnome&kde), а все процессы описываются конкретно для данного дистрибутива и для стандартных ситуаций, т.е когда все библиотеки (и headers) для компилирования прог уже есть и т.д.
Также там описываются все пункты настройки в LinuxConf (и есть упоминание о webmin), но этой проги уже нет ни в одном уважающем себя дистре, и книгой я воспользоваться не могу.

И так со всем, т.е. книга просто рассказывает о том, что возможно в Linux.

А цель же при обучении человека компутеру (и не только) - научить его учить всё новое самому, т.е. не решать уравнения по шаблону, когда в условии меняются только коэфициенты, а сделать так, чтобы он мог решить НЕстандартную олимпиадную задачу.

/* Вспомнил, как один придурок гордо говорил, что он "программист на языке Basic" */


From: D. Adamian
Subject: Что лично я хочу видеть в рассылке.
Date: Wed, 8 Oct 2003

Лично я хочу в ней видеть нечто более связанное с, так сказать, идеологией Unix, чем указания в какую кнопку тыкать при установке/настройке различных дистирибутивов. Например, объяснение того, что же делают с огромной кучей стандартных утилит, зачем она такая нужна. Того, почему же производители _нормальных_ (а не чайнико-самоварных) дистрибутивов не делают каких-то мегаконфигураторов для всего типа Мастера ...'' из Windoze, почему такой путь может быть удобнее. Наконец, того, почему же вообще-то надо знать свою систему хорошо, а не полагаться на то, что умные дяди все за тебя уже сделали.

Надо как-то побуждать читателей рассылки переходить из начинающих в продолжающие. Все-таки если человека интересует, как поставить Линух, ему таки придется становиться системным администратором. А системный администратор должен хотя бы прилично знать, как система работает. Знание же всех тонкостей установки какого-нибудь ASP или Mandrake или какого-то еще дистрибутива для него совсем не обязательно. Можно жить вообще без дистрибутивов (сам так живу, только изредка ковыряюсь со Slackware).

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

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


From: Lan Manager
Subject:
Date: Thu, 9 Oct 2003

Из Вашей рассылки...

> Но есть другие проблемы - например, документы из столицы идут исключительно в
> виндовозных форматах и с требованиями такого же в ответ, программы,
> распространяемые из столицы, рассчитаны на хворточки, а назойливые
> рекомендации сверху таки купить винду ... это что-то новое, по сравнению с
> некоторыми буржуинскими странами, где Линукс поощряется, а
> коммерчески-падучий софт не приветствуется, где привыкли считать денежки,
> особенно бюджетные, а мы, при нашем нищем бюджете, носимся с виндовз, как с
> безальтернативной операционной системой (читай "як дурень с писаной торбой").

А почему - так липнет к ручкам то, и оччень хоррошо липнет за такие рекомендации из ЦЕНТРА... А там за такое - садють в острог... И крепко садють...

Ребята, не о том разговор. Правильно подметил автор, что для пользователя все едино, какая ОС стоит, она должна выполнять просто и без напряга то, что нужно по службе (прошу прощения, бывший военный, 22 годочка оттрубил, закалка есть)... У меня была ссора с однодумцем, ставим Линукс, и началось, надо ручками прикрутить и тд... А все должно быть проще... Никому не нужна ОС, которая требует высшее образование и постоянный блеск в глазах (я могу с черного экрана, а для вас? Слабо???). Это все для вечеринок, сходок за питием пивка и тд. А на работе - все быстро и понятно...

Прошу прощения, что влез в спор... Задело.. Сегодня из-за растопыренных пальчиков таких ГУРУ, я сутки искал решение проблеммы, чуствовал себя пнем идиотским, а оказалось, что ГУРУ делал-делал, а потом увлекся новой проблеммкой... И все сели... Словом, ПО это не столько искусство, сколько средство РЕШЕНИЯ ЗАДАЧ. Вы задумывались, каким карандашем излагаете свои мысли?? А почему не ПАРКЕР??)).. То-то... Мне НУЖНО РЕШАТЬ ВОПРОС. И КОМПЬЮТЕР - ЭТО ВСЕГО ЛИШЬ И?НСТРУМЕНТ (дядя Билли это понял, а потому и живет ххоррошшшо). А мы носимся - я вот могу с черного экрана, а ты - ЛАМЕРЮКА... И чего ты сюда суешься??? Шо, слабо... А может этот ламерюка готов писать под Линуксом новую "Войну и Мир", или "Анну Каренину"??... А мы ему - ты сначала полазь по ФАКАМ (это же надо выдумать)... А потом почитай Маны... Шо слабо??

Словом ребятки, мое мнение - Линукс, это оччень серьезная вещь. И если МЫ ВСЕ приложим к нему свои руки, да по уму объясним остальным что к чему - ПИНГВИНЫ будут водиться не только в Европе, Азии, но и НА ПРОСТОРАХ одной шестой части суши...

Хочу верить в это...


Может быть, мне в следующем выпуске опубликовать ответы на эти ответы, и таким образом превратить рассылку в почтовую конференцию? :))).

 Знакомство с Linux. Часть 17

  братец кролик, 20.09.2003, Fcenter.ru

То ли осень, а то ли бабье лето; то ли дожди, то ли солнце... В любом случае, возобновление наших еженедельных Linux-штудий имеет смысл начать с чего-нибудь яркого, вкусного, шумного, наконец. Скажем - с рассказа о том, как заставить систему зазвучать.


Собственно, настроить звуковую карту под Red Hat Linux на воспроизведение аудиофайлов сложности не составляет. На завершающих этапах инсталляции для любых, даже самых современных, аудиокарт эта операция проводится вообще без каких бы то ни было сложностей. Если по какой-то причине вы эту настройку пропустили, вернуться к ней можно в любое время, исполнив из командной строки (терминальной либо "графической", вызываемой сочетанием клавиш Alt+F2) команду redhat-config-soundcard. Казалось бы, о чём ещё можно говорить теперь в отношении звука? Загружай любимую коллекцию mp3 да подпевай на здоровье. Да не тут-то было!
Дело вот в чём. По умолчанию (сразу по завершении инсталляции) система лишена возможности эти самые mp3 воспроизводить. Как? А вот так. Linux - операционная система с открытым кодом, и распространяется она (а также всевозможные разработанные для нее пакеты) по лицензии GPL. Которая предусматривает, помимо всего прочего, достаточно свободный подход к дальнейшему продвижению программных продуктов. Просто сохраняйте указание на авторство - и этого довольно. Никаких отчислений, никакого лицензирования... Формат же MP3, как всем хорошо известно, запатентован разработчиком, и за его использование, вообще говоря, правообладатель ожидает авторских отчислений. Уж с компаний, производящих ПО с функциями воспроизведения MP3-файлов, - точно.

Вот почему просто так прослушать из-под Linux записанные в вашей домашней директории файлы этого формата не выйдет. Если запустить noatune - стандартный проигрыватель Red Hat, - и попытаться воспроизвести в нем MP3-композицию, в итоге вы получите вместо ожидаемого звука из колонок информационное окошечко на "Рабочем столе". Так, мол, и так, будет сказано в окошечке, из-за некоторых неувязок лицензионного характера подобные файлы вам послушать не удастся. Извините.
Но разве мы собираемся ждать милостей от природы? Ни в коем случае!
Когда линуксоиду недостает каких-либо программных средств - да вот, к примеру, того же самого медиаплеера с поддержкой MP3, - он отправляется... нет, вовсе не на пиратский рынок. А в один из веб-депозитариев бесплатного ПО - в такой, к примеру, как большой и удачно структурированный портал freshmeat.net.


Заглянем прямиком в раздел аудиоплееров. На странице http://freshmeat.net/browse/123/?topic_id=123 располагаются ссылки на сайты множества проектов свободных (в той или иной степени, т. е. с различными лицензионными политиками) программных аудиоплееров под самые разные ОС - в том числе и под Linux. Давайте пока из всего представленного там разнообразия выберем один плеер под названием GQmpeg (адрес его страницы на Freshmeat - http://freshmeat.net/projects/gqmpeg/) и скачаем его в виде архива tar.gz или .tgz. А заодно и полезную программку mpg321 со странички http://freshmeat.net/projects/mpg321. Из описания Gqmpeg можно почерпнуть сведения о том, что он является всего лишь графической оболочкой для плеера командной строки mpg321. И замечательно! Не будем умножать сущностей - и заполучим себе единый музыкальный "движок", который позволит при необходимости запускать музыку на воспроизведение прямо из терминала, а также снабдим его удобным графическим интерфейсом. Вместо того чтобы скачивать для графического режима отдельную программу.

Способов архивации в Linux существует немало. Один из наиболее общеупотребительных - сборка множества файлов воедино при помощи программы tar и упаковка полученного утилитой gzip. На страницах руководства (команда man tar) содержится масса полезной информации о дополнительных опциях, но нам для текущей работы понадобятся лишь несколько: t - тестирование архива, x - его распаковка, v - "вербализация", то есть включение в выходной поток данных комментариев о производимых программой действиях, z - применение gzip-фильтра при распаковке, и f - указание на имя файла, над которым будут производиться все перечисленные операции.

Подойдем к процедуре распаковки ответственно. Прежде всего, определимся с местом. В Windows по умолчанию программы сторонних производителей устанавливаются в C:\Program Files; в Linux же принято разворачивать не входящее в состав дистрибутива ПО в каталог /usr/local. Точнее, если данное ПО изначально наличествует в виде tgz-архива, этот самый архив помещают в подкаталог /usr/local/src (от sources - исходные файлы, "исходники"). По умолчанию такого каталога Red Hat Linux 9 при инсталляции не создает, - ничего, мы сможем это сделать.


Войдем в систему как root. В режиме пользовательской графической оболочки для этого необходимо сперва запустить программу эмуляции терминала, и только потом организовать собственно вход. В качестве программы эмуляции предлагаю воспользоваться konsole - ее можно вызвать, набрав название в "графической командной строке", появляющейся на экране по нажатию комбинации клавиш Alt+F2. Программа терминала стартует от вашего имени - от имени того пользователя, который завел текущую графическую сессию. Если это не root - а я искренне надеюсь, что вы не работаете с системой как root в полноценном графическом режиме, - вам придется воспользоваться в данном окне командой su. Или - что, может быть, предпочтительнее - запустить особую терминальную сессию суперпользователя.
Для этого нажмите мышкой на пиктограмму новой сессии в верхней левой части окошка программы и удерживайте ее секунды две. В выпавшем меню выберите Root console. Очень удобно, что эта консоль по умолчанию оформлена отличными от стандартных цветами - черное на желтом, - так что вы всегда будете помнить: данная сессия - суперпользовательская; нужно вести себя осторожно.
После ввода пароля root’а перед вами возникнет привычная командная строка. Создайте каталог /usr/local/src и откройте (при помощи команды chmod) всем пользователям ПК возможность записывать туда информацию.


Теперь вернитесь к той терминальной сессии, которая открыта от вашего имени (достаточно щелкнуть по соответствующей закладке в окне эмулятора терминала). Переместитесь в новосозданный каталог /usr/local/src и скопируйте туда оба файла, выкачанных недавно с freshmeat.net. Для начала имеет смысл проверить, в порядке ли сами файлы? Исполните команду

tar tvzf gqmpeg-0.20.0.tar.gz.tgz
tar tvzf mpg321-0.2.10.tar.gz.tgz
Если по экрану пролетит череда наименований включенных в архив файлов, все в порядке, - можно заняться распаковкой по-настоящему. Если же нет - архив поврежден, и придется скачивать его из Интернета снова. Либо - брать с нашего диска!


Обратите внимание, что каждый архивный файл при отображении командой tar с опцией t (тестирование) приводится с указанием подкаталога, в котором он размещен. Это значит, что в процессе распаковки данный подкаталог будет создан, то есть относящиеся к этой конкретной программе файлы "исходника" окажутся не где-нибудь, а в особой директории. Это замечательно, потому что не даст нам запутаться:

tar xvzf mpg321-0.2.10.tar.gz.tgz
tar xvzf gqmpeg-0.20.0.tar.gz.tgz
Как видно (команда ls), в /usr/local/src образовались два свеженьких каталога с именами, соответствующими нужным нам программам. Заглянем сперва в mpg321- 0.2.10.tar.gz.tgz - и отыщем там инструкцию, по которой и будем действовать дальше. Как правило, инструкции по установке хранятся в файлах с "говорящими" названиями - INSTALL, README и им подобных.


Указания по развертыванию программы из tarball, как правило, стандартны

Традиционно, процесс установки программы из "исходников" в *NIX-подобных системах состоит из трех частей. Вообще, "исходник" (в англоязычном обиходе употребляется термин tarball, от наименования утилиты tar) написан в подавляющем большинстве случаев на языке С или С++, так что вся установка - это подготовка к компиляции программы, собственно компиляция и включение подготовленных двоичных файлов в общую структуру действующей операционной системы. Если вы выбирали установку Linux по максимуму, как я и советовал, то компилятор С у вас уже установлен и полностью готов к работе. Достаточно просто последовать инструкциям из файла INSTALL.


Они просты: сперва выполняется конфигурационный скрипт - запуском на исполнение команды

./configure
Результатом срабатывания скрипта оказывается так называемый файл сборки программы, Makefile, в котором содержатся инструкции по обработке кода "исходника" имеющимися на данном конкретном компьютере программными средствами. Соответственно, по завершении предыдущей операции достаточно будет исполнить команду

make
И последний шаг - установка: грубо говоря, это попросту добавление двоичных файлов скомпилированной программы в те каталоги, к которым система обращается для исполнения команд (это могут быть /usr/local/bin, /usr/bin и т. п.). И если предшествующие две команды прекрасно можно исполнять "от лица" рядового пользователя, то

make install
сработает лишь в том случае, если ее отдает root. Поэтому прежде чем выполнять данную директиву, "станьте" суперпользователем - при помощи команды su, давно нам знакомой, или вернувшись к суперпользовательской консоли. Из соображений безопасности возможность записи файлов в каталоги /bin, /sbin, /usr/bin, /usr/sbin и т. п. запрещена обычным пользователям.


Приступая к конфигурированию и компиляции, запаситесь терпением: процедура эта (особенно если процессор - не слишком мощный) может занять заметное время. Кстати, после того как все пройдет нормально и обе программы (сперва mpg321, потом gqmpeg) будут скомпилированы и установлены, удалите из каталога /usr/local/src их архивы: они больше не понадобятся. Если же желаете сберечь “исходники” на всякий случай, не поленитесь завести для этого отдельный каталог - /usr/local/tarballs, к примеру.

Что делать дальше? Убедиться, что все прошло не зря, конечно же. Для чего взять первый попавшийся MP3-трек и запустить его на воспроизведение. Сперва - из командной строки, отдав приказание

mpg321 <имя_файла>


Затем вызовите "графическую командную строку" и запустите скомпилированную последней программу gqmpeg.


Появившееся на экране окошко не потрясет вас, быть может, художественным великолепием, но оно вполне функционально и открывает дорогу к массе возможностей по управлению звуком. Просто щелкните, наведясь на него, правой кнопкой мыши и выберите опцию "Playlist..." из открывшегося списка. В окне выбора композиций, которое появится перед вами вслед за тем, отыщите MP3-файл, который пожелаете услышать, и добавьте его в список. Можно, конечно, ограничиться опцией "Open" из выпадающего меню, но формирование плей-листа - очень полезная функция, как известно всякому компьютерному меломану, чей музыкальный архив превышает в объеме пару сотен мегабайт.


Список песен можно сохранить (по умолчанию он окажется запрятанным в каталог .gqmpeg/playlists/ - обратите внимание на лидирующую точку в имени!). Его можно также загружать заново и обновлять - меняя порядок песен при помощи кнопок Top и Down, добавляя отдельные песни и целые каталоги, а также случайным образом перемешивая композиции в списке. Кстати, пара подсказок: чтобы добавить к списку заполненный аудиотреками каталог, в окне Directories слева щелкните правой кнопкой мыши на цели и выберите Add Recursive. А для расстановки песен в случайном порядке уже в правом большом окне исполните команду Randomize list из меню правой кнопки.
Органы управления основного окна программы GQplayer по внешнему виду и функциям достаточно стандартны: прямая и обратная перемотка, контроль громкости, включение/отключение повторов, закольцовывание плей-листа и т. п. Дополнительтные (и весьма многочисленные) опции доступны по нажатию крохотной квадратной кнопочки справа внизу, на которой изображено нечто напоминающее, если вглядеться получше, гаечный ключ.

Остановимся теперь на минутку и задумаемся: каким же образом пуристы-линуксоиды, эти поборники свободного, чистого, не запятнанного приватными лицензиями ПО, обходятся в своей повседневности без оцифрованной музыки? Неужели использование MP3 (ради чего нам пришлось выкачать пару дополнительных программ) - постыдная слабость? А как же быть с действительно удобной оцифровкой честно приобретенных CD, - с оцифровкой в целях личного использования, что даже в просвещенной Европе не считается преступлением?

Да все в порядке с оцифровкой. Просто в мире Linux принято пользоваться для этих целей не разработками Фраунгоферовского института, а полностью свободным и бесплатным (лицензия GPL, опять-таки) программным обеспечением - Ogg Vorbis.


Сколько копий сломано на просторах Интернета в попытках выяснить, лучше или хуже кодируется музыка в формат ogg, чем в MP3, - об этом вам немало может поведать любой поисковик. Тема серьезная, заслуживающая подробного рассмотрения - но вне рамок нашего практикума, конечно. Пока важно одно: на типичном компьютерном конечном аудио оборудовании - имеются в виду предназначенные прежде всего для игр колонки - разница между этими технологиями при схожих начальных условиях неразличима. Что нам, собственно, и сослужит хорошую службу прямо сейчас. Когда мы примемся кодировать "сырые" треки с компакт-диска в формат ogg.


Поскольку технология Ogg Vorbis - открытая, существует немало программ для ее применения. Но прежде, чем браться за перевод аудиоданных в компрессированный вид, надо получить эти данные "сырьем" - хотя бы как файлы wav. И сейчас я обращусь к самой, наверное, культовой из предназначенных для этого программ - cdparanoia: она входит в комплект поставки Red Hat Linux 9. Термин "паранойя" стал составной частью ее накзвания всего лишь потому, что утилита эта способна считывать информацию с заметно поврежденных аудио-CD. Даже при установках по умолчанию cdparanoia будет стремиться прочесть самые трудные участки диска, пока не получит оттуда всю необходимую для качественной расшифровки звука информацию - либо пока не удостоверится, что это физически невозможно.
Простейший способ обращения с программой таков: вы организовываете в своей домашней директории (временный) каталог, перемещаетесь в него и отдаете команду

cdparanoia -vwB
Ключ v, как вы уже, надеюсь, начали привыкать, означает указание программе быть поразговорчивей при исполнении и отображать подробные сведения о своей работе. Литера B способствует разбиению захватываемого с CD аудиопотока на отдельные файлы: на каждый трек, соответствующий отдельной песне, - свой файл. И наконец, ключ w обеспечивает сбережение данных именно в виде wav-файла. Сырые данные - это полуфабрикат; довести его до готовности поможет утилита - oggenc: Ogg Encoder, разумеется. Обращаясь непосредственно к ней, придется поработать ручками.
Помните о таком замечательном изобретении, как Mp3-теги? Это текстовые метки, позволяющие внутри самого файла MP3 хранить информацию об авторе и исполнителях музыки, ее жанре, названии альбома и т.п. Так вот, формат Ogg Vorbis также предусматриваает создание подобных тегов.


Опций у кодировщика oggenc немало, но мы ознакомления ради ограничимся лишь самыми насущными. Вот такими:

oggenc -b 256 -l "<альбом>" -G "<жанр>" -a "<автор>" -t "<название_трека>" track01.cdda.wav
Сразу очевидно, что ключ -b задает среднее значение применяемого при кодировании битрейта (именно среднее, ориентировочное: Ogg Vorbis использует переменный битрейт). Назначение прочих приведенных ключей тоже вопросов не вызовет, а о том, какие у oggenc имеются дополнительные возможности, традиционно можно узнать, листая соответствующие страницы руководства (man oggenc).

Переведя таким образом все "захваченные" с CD треки в сжатый ogg-формат, сотрите файлы wav и переместите получившуюся директорию с оцифрованным альбомом в какое-нибудь приметное место на своем винчестере. Я, скажем, склонен держать всю музыку в границах Windows-раздела. Так она точно будет доступна из-под обеих установленных у меня систем - ведь vfat-устройства у меня монтируются при загрузке Linux по умолчанию, а последние версии популярных медиаплееров под Windows (взять хотя бы легендарный Winamp) прекрасно справляются с форматом ogg. Так что дублировать коллекцию аудио не приходится - что, учитывая ее объем, радует несказанно.

Кстати, чтобы не набивать всякий раз повторяющуюся информацию в командной строке, используйте такую замечательную функцию оболочки bash, как возможность вызова предыдущей набранной команды по нажатии клавиши "Стрелка вверх". Тогда останется только вернуться к названию трека, используя "Стрелку влево", исправить его, а затем и номер wav-трека на следующий, - после чего жать на Enter снова.

Умение обращаться с командной строкой - дело нужное; это мы помним. Но согласитесь, странно было бы предполагать, что в сообществе Linux не удосужились позаботиться об автоматизации оцифровки CD в графической оболочке. Верно ведь? Верно. Программа, сочетающая в себе функции cdparanoia и oggenc - а также еще многих и многих, для которых она является интерфейсом, - носит название Grip и также входит в стандартный набор утилит Red Hat Linux 9 (по крайней мере, его полной установки). Вызвать Grip можно, либо набрав ее имя в графической "командной строке", либо через меню кнопки запуска в левом нижнем углу экрана; той, что с изображением красной шапки, - последовательно через разделы "Звук и видео" и "Дополнительные приложения".


В программе с интуитивно понятным графическим интерфейсом - да еше и с всплывающими при наведении на каждую кнопочку подсказками - каждый наверняка разберется без труда. Остановлюсь лишь на нескольких деталях.

Первая: если вы установили в свой CD-привод диск, уже известный сообществу FreeDB, и если связь с Интернетом у вас на данный момент налажена, названия треков, самого диска, его жанра и т. п. объявятся в соответствующих полях автоматически - или в крайнем случае, по нажатии кнопки Initiate/abort FreeDB lookup (нижний ряд, третья слева). FreeDB - это свободная альтернатива проекту CDDB, базе данных по всем выпущенным в мире аудио-компакт-дискам (по крайней мере, оба проекта стремятся к максимальному охвату).


Заполнив все интересующие поля на титульной странице Grip, имеет смысл перейти к закладке Rip -"Захват" - и выбрать опцию Rip+Encode. Здесь все будет произведено автоматически: аудиофайлы взяты с CD, сжаты в формате Ogg Vorbis и записаны в каталог ogg в вашей домашней директории - в подкаталоге с именем группы/исполнителя на первом уровне и с названием альбома - на втором. В качестве имен файлов выступят названия композиций, причем - если не отменить исходную установку явно - пробелы в именах будут преобразованы в символы подчеркивания. Вообще говоря, настраивать Grip можно долго и с большим интересом - благо программа снабжена подробной справочной системой (закладка Help). В частности, можно указывать альтернативные oggenc-кодировщики wav в ogg, формировать названия результирующих файлов по собственному вкусу и т. п. В общем, экспериментировать тут можно очень и очень долго.


На этом аудиовозможности Linux, понятное дело, не заканчиваются. Даже исследуя категорию "Звук и видео" меню запуска Red Hat Linux 9, можно найти немало любопытных приложений - визуализаторов звуковых эффектов, MIDI-утилит и тому подобного. А сколько чудных открытий таит тот же freshmeat.net!


В заключение - еще один небольшой совет: как добавить в "Панель управления" аудиомикшер, который позволит регулировать громкость воспроизведения синтезированного звука, CD, отдельных каналов, уровень записи с микрофонов и т. п. Наведите мышиный курсор на "Панель", щелкните правой кнопкой, выберите в открывшемся меню "Добавить - Аплет - KMixApplet". Обращаться с появившимся на панели приложением очень удобно, и оно всегда под рукой, что немаловажно. Можно выставить во всех используемых графических аудиоприложениях максимальный уровень громкости и забыть об этих регуляторах до следующего крупного апгрейда системы, регулируя общую громкость одним-единственным ползунком. И приберечь силы для того, чтобы уделить свое драгоценное внимание знакомству и с другими аспектами Linux...
 Знакомство с Linux. Часть 18

  братец кролик, 04.10.2003, Fcenter.ru

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

С точки же зрения Linux, процедура ликвидации информации не так уж проста и обратима. Файлы в этой операционной системе представляют собой логические контейнеры данных, с каждым из которых связана структура индексного дескриптора (inode, index-node structure). Эта структура содержит важные с точки зрения ОС метаданные о файле: сведения о его владельце, правах доступа, времени последнего обновления и т. п. Так вот, при удалении файла в Linux (в файловой системе ext2) даже индексные дескрипторы физически не стираются с диска, - они просто помечаются как свободные. Соответственно, и содержимое удалённых файлов остаётся (в теории) доступным для восстановления; по крайней мере, пока на занимаемые ими физические сектора не была записана новая информация. Но как же до этого содержимого добраться?

Прежде всего обратим внимание на восстановление информации особого рода. Есть на каждом разделе винчестера запись, наиболее ценная с точки зрения пользователя: так называемый суперблок - "точка отсчёта" файловой системы. Размер суперблока всего лишь 1024 байта, но содержит он массу важнейших данных: размер файловой системы; количество, список и индексы свободных блоков; размер списка индексов и т. д. "Затереть" суперблок, вообще говоря, не так-то просто - доступ к занимаемой им области винчестера имеет не каждая программа. И всё же есть вероятность того, что он будет просто механически разрушен - вследствие аппаратного сбоя диска, например. Что в таком случае делать? Пользоваться резервными копиями. Автоматически, на наше счастье, создаваемыми при форматировании раздела.

Если в системе произошёл сбой суперблока на одном из файловых разделов, при загрузке Linux - ещё до появления графической заставки, на этапе монтирования системы - вы увидите запись вроде "Невозможно автоматически исправить ошибки. Попробуйте запустить e2fsck вручную". В том случае, когда "засбоил" не корневой раздел Linux, можно продолжить загрузку (повреждённый раздел окажется неподмонтированным), а затем приступать к лечению, произведя логин от имени суперпользователя. Если же рухнул именно корневой раздел - лучше всего загрузить систему с компакт-диска установки в режиме recovery, заполучить доступ к root shell, и тогда уже следовать рекомендациям системы.
А суть этих рекомендаций - в том, чтобы воспользоваться резервной копией суперблока. При форматировании каждого раздела этих копий создаётся несколько, и нормально работающая система поддерживает их в актуальном состоянии. Номера блоков, начиная с которых располагаются в разделе резервные суперблоки, кратны определённым степеням двойки: то есть команда


e2fsck -b 8192 /dev/hda6

или

e2fsck -b 32768 /dev/hda6

или

e2fsck -b 655366 /dev/hda6
(если допустить, что сбой произошёл именно на разделе /dev/hda6) обратится к указанному блоку и попытается восстановить работоспособность раздела, основываясь на содержащейся в резервной копии информации. Как правило, так даже серьёзно "посыпавшийся" винчестер можно надеяться на какое-то время реанимировать - и хотя бы перекачать с него данные в более надёжное место.

От восстановления раздела перейдём к реанимации стёртого по неосторожности файла. Стандартных утилит вроде unerase в мире Linux не существует - и всё-таки шанс восстановить только что загубленные данные имеется. "Только что" - ключевое слово. Linux/*NIX относятся к по-настоящему многозадачным системам. В частности, это означает, что на освободившееся после уничтожения файла место каким-то из активных на данный момент процессов может быть произведена запись. Очень хорошо, если неосторожная команда вроде

rm -rf *
была дана в каталоге, допустим, /home, располагающемся на отдельном логическом разделе. Тогда есть гарантия, что по крайней мере никакие временные служебные файлы никакими активными процессами туда записываться не будут - на то существуют разделы /var и /tmp. Если мы ведём речь о домашнем компьютере, то скорее всего, кроме вас на данный момент у него нет пользователей. В противном случае необходимо позаботиться об их немедленном (по возможности) отключении - иначе они, действуя в пределах того же самого раздела /home, могут сами того не желая, произвести запись на опрометчиво освобождённые вами участки диска. Предупредить пользователей об отключении и попросить их временно завершить свои сеансы можно, воспользовавшись командой wall. Сообщение, отправленное при помощи этой команды, отобразится в каждой терминальной и графической сессии, открытой на данном компьютере, в том числе и на удалённых терминалах.



Удостоверившись, что в системе вы остались в гордом одиночестве (команда ps aux (см. man ps для пояснений; в первом столбце вывода отображаются владельцы активных процессов), можно приступать к реанимации. Реанимация потребует специальных инструментов... Прежде всего, войдите в систему как root - это лучше сделать, не прерывая текущего сеанса, воспользовавшись командой su -. Затем... "Хороший тон" системного администрирования требует затем произвести определённое количество нетривиальных действий. А именно - отыскать достаточно свободного места на одном из разделов для того, чтобы можно было скопировать туда (целиком, в виде файла) подлежащий восстановлению утерянной информации раздел. Весь раздел, ведь удалённый файл мог быть сильно фрагментирован. И потом уже искать нужную информацию в полученном файле. Смысл данной операции - в том, чтобы на каждом шаге иметь возможность безнаказанно совершать ошибки. В крайнем случае, всегда можно создать ещё одну копию раздела, и приступить к поискам с учётом этих самых ошибок.

Но! Для наших тренировочных целей, вообще говоря, сгодится и более простой путь. А именно - восстановление файла "по живому". Типичный пример: вам приходит некое письмо, вы просматриваете его одним глазком - и без долгих размышлений "грохаете". То есть насовсем, а не в папку "Удалённые", - допустим, вы используете для беглого просмотра почты из командной строки текстовый клиент вроде pine или elm. Приходящая почта в Linux (если за её приём отвечает программа sendmail) накапливается в каталоге /var/spool/mail в файле с названием, соответствующем логину каждого из пользователей, на имя которых поступают письма. Итак, условия задачи: восстановить уничтоженный в разделе /var текстовый файл письма, зная, какая информация там содержится. "Зная" - значит, что точно может быть воспроизведена хотя бы небольшая последовательность символов, уникальная для данного файла. Чем она длиннее, тем меньше времени займёт поиск.


А сам поиск мы осуществим посредством полезнейшей утилиты grep, непременно присутствующей в каждой инкарнации Linux/*NIX. Эта утилита осуществляет поиск текстовых строк по заданному шаблону, причём не только в файле (файлах), но и на всём пространстве указанного дискового раздела. В том числе, как нетрудно догадаться, в поиск включаются и формально удалённые файлы, если их информация ещё не погребена под более поздними наслоениями. Так что если искомый файл не был слишком длинным (то есть если он при записи на диск не подвергался фрагментации), есть очень высокая вероятность отыскать его при помощи этой утилиты. Параметры должны задаваться при этом поиске такими:

grep -a -B[размер1] -A[размер2] 'текст' [наименование_раздела]
Здесь размер1 - количество строк, которые нужно выводить на экран, после заданной параметром текст искомой строки, а размер2 - количество строк перед ней. Помните, пожалуйста, что под "текстовой строкой" в Linux подразумевается последовательность символов, завершающаяся символом конца строки. Можно довериться программе и не выводить найденный текст на экран, а сразу перенаправить вывод в файл, чтобы затем уже в спокойной обстановке отрезать от искомой последовательности строк свсё лишнее и заполучить уничтоженное сообщение обратно.


Что же делать, если файл был длинным и оказался фрагментированным? Или вообще не был текстовым?.. Можно, конечно, сильнее углубиться в теоретические основы построения файловой системы ext2. Можно выяснить, каким образом файловые дескрипторы хранят информацию о всех блоках данного файла и как на основе этой информации восстановить любой уничтоженный файл - не только текст, но и изображения, и музыку... Но давайте не будем пока торопиться с активным применением ручного труда. Чуть позже станет ясно, почему.


Одним из наиболее популярных в Linux-сообществе средств автоматического восстановления файлов является утилита с немудрёным именем recover, созданная Томом Пике (http://recover.sourceforge.net/). Распространяется утилита в виде .tar.gz-архива, а значит, проинсталлировать её (точнее, скомпилировать на своей машине) для вдумчивого читателя уже не составит труда. Нужно только распаковать архив в каталоге /usr/local/src, изучить, как положено, файл readme и в соответствии с его рекомендациями выполнить команды

make
make install
Сразу же после этого утилита готова к работе. Наберите в командной строке (от имени root)

recover /dev/hda6

(если утерянные данные вы рассчитываете найти именно на этом дисковом разделе).


Утилита сообщит, что проводится поиск индексных дескрипторов, после чего станет задавать наводящие вопросы. А именно: в каком году был удалён искомый файл? В каком месяце, и - приблизительно - какого числа? В какой час дня, в какую минуту часа? Если вы не помните ответа на один (или не один) из вопросов, ничего страшного, - просто предъявленный затем список потенциально готовых к восстановлению файлов может оказаться очень длинным. Утилита уточнит также возможный размер файла в байтах и вероятный UID (user identifier) его владельца, после чего - если совпадение с указанными вами критериями встретилось ей при просмотре индексных дескрипторов - сообщит о находке. Предпоследним вопросом, заданным вам, будет, куда записать восстановленную информацию; последним - не желаете ли произвести поиск ещё раз. Собственно, всё. Никаких таинственных фокусов recover не проделывает - просто является удобным интерфейсом для стандартных средств реанимации файловой системы ext2.


По духу к ней близок другой программный пакет, e2undel, детище Оливера Дедриха. Адрес этого пакета в Интернете - http://e2undel.sourceforge.net. Полезной и удобной опцией e2undel является то, что она позволяет производить восстановление файла по его имени. Файловая система ext2 устроена так, что имя файла - это, фактически, единственная информация, которая при стирании его стандартными средствами действительно теряется бесследно. Установив полностью пакет e2undel, вы сможете положиться на него в этом вопросе: всем удаляемым файлам будет отныне вестись учёт, и реанимировать их удастся с сохранением оригинального имени.

Внимательный читатель, возможно, уже заметил некоторую нелогичность в моём изложении: хотя подразумевается, что с некоторых пор в данном цикле статей речь идёт об ОС Red Hat Linux 9, устанавливающейся по умолчанию на файловой системе ext3, до сих пор я рассказывал об утилитах, предназначенных для работы с ext2. Обычно с точки зрения пользователя разница между этими файловыми системами не слишком заметна: ext3 является журналируемой версией ext2, - такого пояснения в общем случае достаточно. Однако в том, что касается способности восстанавливать стёртые файлы, между столь близкими родственницами имеется принципиальное несогласие. А именно: уничтожение файла в ext2 означает, в частности, что: а) занимавшиеся им блоки помечаются как свободные (хотя физически не заполняются, допустим, нулями); б) индексный дескриптор файла объявляется свободным, хотя продолжает хранить служебную информацию о файле. Так вот, в ext3 всё далеко не так человечно - информация из индексного дескриптора файла там действительно удаляется. То есть пусть даже физически занимаемые информацией файла блоки остались нетронутыми - неоткуда больше получить указание на то, где именно их искать. Остаётся, конечно, описанный самым первым способ ручной реанимации текстовых файлов, когда путём прямого просмотра всех подряд блоков файлового раздела можно по памятным ключевым словам "вытащить" расположенные в непосредственной их окрестности строки. Но как быть с потерянными прелестями автоматизации? Как восстанавливать музыку и картинки?

"Чаще надо резервные копии делать", - примерно в таком духе высказываются на форумах Linux-гуру, которым растерянные новички задают подобные вопросы. Но помимо резервного копирования (оставлять которое без внимания ни в коем случае нельзя!), можно предложить ещё один рецепт. Срабатывать он будет, правда, лишь для тех файлов, которые вы решите восстанавливать после знакомства с ним. Рецепт заключается в том, чтобы попросту подменить стандартную команду уничтожения файлов rm чуть более интеллектуальной утилитой, которая даже в командной строке позволит создать некий аналог Windows Trash Can. Чтобы удаляемые файлы отправлялись не в небытие, а в "корзину", откуда потом их в случае чего не составит труда извлечь.

И такая утилита уже написана! Поблагодарим некоего MDK aka Dileep Kumar M, который разместил на своём сайте http://www.kumarayil.net/recycled.htm пару небольших bash-скриптов: rm_secure и empty_trash (их также можно взять здесь). Первый из них как раз маскирует стандартный, брутальный rm; второй предназначен для опустошения "корзины" - если вы на сто три процента уверены, что ничего важного в ней не осталось. Инсталлировать скрипты не просто, а очень просто. Поместите их в каталог /usr/loca/bin, а затем измените права доступа, разрешив их исполнение, а также откройте на просмотр и запись для всех и каждого каталог /lost+found - это, по умолчанию, хранилище всевозможного "мусора", который ОС обнаруживает на диске при восстановлении корневой файловой системы после сбоев. Теперь там же будет размещаться и наша "корзина командной строки":

chmod +x /usr/local/bin/rm_secure
chmod +x /usr/local/bin/empty_trash
chmod 777 /lost+found


Далее нужно произвести собственно подмену rm новой утилитой. Проще всего это сделать на уровне каждого индивидуального пользователя (включая root'а), благо на домашнем компьютере у вас их наверняка немного. Файл, содержащий пользовательские настройки оболочки (обычно это .bashrc; хорошим вариантом будет также подправить /etc/skel/.bashrc, чтобы и каждый новый эккаунт снабжался этой функцией), дополните строкой

alias rm='/usr/local/bin/rm_secure'
Вот и всё. Теперь, чтобы пустить в дело старый, "безвозвратный" rm, надо будет выполнять rm с опцией -n, или -nosecure. Если же этот ключ употреблён не был, после опрометчивого удаления файла достаточно выполнить команду

rm --viewtrash
чтобы выяснить, каково на данный момент содержимое "корзины". И, обнаружив там нужный файл, извлечь его из предварительного небытия командой

rm --restore [имя_файла]
Команда же

rm --emptytrash
очистит "корзину" насовсем. Пользуйтесь ей с осторожностью - но и не затягивайте с применением, так как удаляемые "понарошку" файлы будут занимать на винчестере вполне реальное место. Либо поставьте команду очистки "корзины" в список заданий демона crond - либо вручную контролируйте время от времени текущую ёмкость диска. Реализовать первый способ можно, изучив руководство к команде cron (man cron); второй - регулярно пользуясь утилитами df и du. О каждом из этих программных средств мы будем ещё говорить, однако самые нетерпеливые могут воспринимать их исследование как домашнее задание.


Как прекрасно известно каждому, кто хотя бы мельком знакомился с Рабочим столом Windows, почётное место на нём занимает Корзина. Именно туда отправляются удаляемые в "Проводнике" и прочих утилитах с графическими интерфейсами файлы и каталоги. В любое время - пока Корзина не очищена - оттуда можно извлечь любой файл в полном объёме. А в Linux, стало быть, до такого простого и изящного решения не додумались?


Додумались, на наше с вами счастье. В графической оболочке KDE (и Gnome, конечно, тоже) Корзина наличествует - и после первого старта системы каждый из пользователей может насладиться её успокаивающим видом в левом верхнем углу Рабочего стола. Более того, в меню действий, выпадающем при щелчке правой кнопкой мыши по файлам или каталогам в окне программы Konqueror, KDE-аналоге Проводника Windows, имеются целых две опции удаления: действительно уничтожить файл (этому соответствует клавиатурная комбинация Shift+Del), либо отправить-таки его в Корзину (просто Del).Внешний вид пустой и заполняемой Корзин различается, так что даже беглый взгляд на десктоп позволит вам определить, не пора ли забраться в trash и полюбопытствовать, что за содержимое в нём хранится.


Физически Корзина является одной из папок домашнего каталога пользователя, поэтому доступ к находящимся там файлам имеет исключительно сам пользователь (ну и вездесущий root, конечно). Корзина KDE сберегает информацию о предназначенных к удалению объектах целиком, то есть ликвидируя каталог, вы можете быть уверены, что в Корзину он переместился с полным сохранением своей внутренней структуры, включая, разумеется, права владения и доступа. Так что восстанавливать файлы из этого хранилища-чистилища просто - достаточно мышкой перетащить их в оболочке Konqueror в любую "настоящую" папку, либо просто на Рабочий стол.


Итак, нам всё-таки удалось заставить систему давать нам время от времени последний шанс на восстановление опрометчиво удаляемой информации - и в графическом, и в текстовом режимах работы. А что делать, если данные нужно не сберечь, а именно уничтожить? Навсегда, с гарантией? В Windows для этого применяют не входящие в базовый комплект системы утилиты-шреддеры. В Linux можно ограничиться стандартными средствами, хотя существуют и большие специализированные пакеты - такие, как The Coroner's Toolkit Дэна Фармера, к примеру (http://www.porcupine.org/forensics/tct.html). И всё-таки стандартных средств обыкновенно хватает. Особенно если речь идёт об удалении "под корень" картинок - их-то рассеянные во множестве по файловому разделу блоки собрать вместе не так просто, как обрывки текстовых файлов.

К стандартным средствам относится, во-первых, интенсивное использование данного раздела сразу после удаления чувствительной информации. Чем больше и чаще вы что-то на диск запсываете, тем меньше вероятность, что уже помеченные как свободные блоки прежнего файла останутся нетронутыми. К тому же, процесс можно автоматизировать. Специальная системная утилита dd позволяет побитово перезаписывать информацию из файла в файл; утилита sync форсирует запись информации на диск (в том случае, скажем, если операция была произведена в оперативной памяти, а реальное её воплощение на поверхности винчестера система почему-либо отложила). Комбинируя эти полезные средства, можно поступить следующим образом: заполнить занимаемый приготовленным к уничтожению файлом объём нулями (из особого "устройства" /dev/zero), а затем уже удалить этот, обнулённый, файл. Все операции - синхронизировать. Вот так:

dd if=/dev/zero of=[имя_файла]
sync
rm -n [имя_файла]
sync
(Помните, что команду rm мы слегка подправили, и чтобы заставить её действовать по-старому, нужно указывать отныне ключ -n). Вот теперь добраться до ваших данных будет по-настоящему сложно.


Чего бы вы ни добивались от Linux в отношении сохранности файлов - восстановления ли случайно удалённых, гарантированного ли уничтожения - теперь вам известно, что для обоих этих действий имеются в наличии и возможности, и способы. Особенно для уничтожения: тут вполне хватит стандартного набора системных утилит. А вот в том, что касается восстановления, можно, конечно, полагаться на разнообразные "корзины", но всё-таки лучше научиться регулярно создавать полноценные резервные копии. Так оно будет вернее. Каким образом это делать, какие на этом пути имеются тонкости и проверенные рецепты - поговорим с вами в следующий раз...
 Читайте в следующем номере:

Webmin - Программа для удобной настройки системы.

Ваше предложение - Пишите на xoid26@linux-online.ru, какую информацию хотели бы вы видеть в рассылке, и, может быть, в следующих выпусках вы найдете именно то, что вам нужно!!

/\ Наверх /\ OS Linux для начинающих. (c) 2003 Valery V. Kachurov


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное