CITKIT.ru - свободные мысли о свободном софте
Деловая газета CitCity.ru Библиотека CITForum.ru Форумы Курилка
Каталог софта Движение Open Source Дискуссионный клуб Дистрибутивы Окружение Приложения Заметки Разное
29.03.2017

Последние комментарии

ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)
24 December, 22:53
Kubuntu Feisty (15)
24 December, 18:42
Один на один с Windows XP (3758)
24 December, 11:46

Каталог софта

Статьи

Дискуссионный клуб
Linux в школе
Open Source и деньги
Open Source и жизнь
Windows vs Linux
Копирайт
Кто такие анонимусы
Лицензии
Нетбуки
Нужен ли русский Linux?
Пользователи
Дистрибутивы
Идеология
Выбор дистрибутива
Archlinux & CRUX
Debian
Fedora
Gentoo
LFS
LiveCD
Mandriva
OpenSolaris
Slackware
Zenwalk
Другие линуксы
BSD
MINIX
Движение Open Source
История
Классика жанра
Окружение
shell
Библиотеки UI
Графические среды
Шрифты
Приложения
Безопасность
Управление пакетами
Разное
Linuxformat. Колонки Алексея Федорчука
Заметки
Блогометки
Файловые системы
Заметки о ядре

Дистрибутивы :: LiveCD

Пользователям просьба не беспокоиться...

Нижеследующее представляет собой набор советов моим коллегам: администраторам и тех. специалистам, однажды пожелавшим воспользоваться Linux-livecd. То есть: вполне определённым людям при вполне определённых обстоятельствах. Этим объясняются некоторые особенности изложения:

  • под livecd подразумевается RIP Кента Роботти, слегка доработанный на предмет чтения кириллицы в именах каталогов и файлов на NTFS и FAT разделах (см. "Причуды симбиоза или снова: сделай сам");
  • предполагается, что читающий знаком, как минимум, с архитектурой IBM PC вообще и его дисковой подсистемой, в частности (догадывается о различиях между ATA, SATA и SCSI);
  • во всех случаях целью предпринимаемых действий являются так называемые "спасательные операции", а не получение удовлетворения от вычислительной системы посредством превращения её в плейер, кинотеатр или игровую приставку.

Из последних двух пунктов, собственно, и происходит название опуса: "пользователям — просьба не беспокоиться". Пригодится кому-то еще — хорошо, не пригодится — "не очень-то и хотелось". Итак...

Устройства

Прежде всего, стоит оценить "внутренности" системы, которая попала к вам "на стол". Для этого в Linux достаточно поинтересоваться содержимым двух каталогов: /sys и /proc. Полностью описывать их (как и читать об этом, наверное) — занятие утомительное, так что остановимся только на самых "популярных" объектах.

Поскольку "голая" командная строка неизменно пугает человека, привыкшего к тому, что вычислительная система — это "IBM PC + ms windows", то можно сразу рекомендовать mc (MidNight Commander) — как ближайший аналог Far/nc/vc. В gui же варианте — это emelfm. Хотя, в gui варианте имеет смысл начать с изучения меню — может, вы и сами найдёте там нужную информацию.

Вернёмся к варианту консольному, поскольку речь пойдёт о вещах, совершенно не зависящих от того, консоль вы предпочитаете или gui.

Так вот, каталог /sys описывает, как ни странно... систему. Причём, как её аппаратные, так и программные компоненты. Поскольку сам по себе Linux нас сейчас не особенно интересует, сразу перейдём к каталогам, описывающим преимущественно аппаратные ресурсы.

Подкаталог block — наиболее любопытный, поскольку описывает блочные устройства. Интерпретация наименований всех устройств, кроме устройств "ramN" (представляющих из себя виртуальные "диски в памяти") затруднений вызвать, вроде, не должна. Достаточно знать, что имена IDE-устройств начинаются с букв hd (hard disk), а имена SCSI-устройств — с букв sd (SCSI disk). Практически все блочные устройства, кроме IDE и FDD, эмулируются в Linux как SCSI (реальные и виртуальные RAID-массивы пока опустим).

Третья буква в имени устройства — "порядковый номер": a — для IDE-0, master, b — для IDE-0, slave и так далее. Поскольку о "каналах" и "лунах" на шине SCSI сейчас мало кто знает, то можно сказать, что устройства, эмулирующие SCSI, получают буквы алфавита последовательно, в порядке их обнаружения системой.

Нужно отметить, что SATA-диски, унифицированные на уровне собственно винчестера, для ОС представляются множеством контроллеров, некоторые из которых соответствующий драйвер представляет как устройство IDE (hdX), а некоторые (большинство) — как SCSI (sdX). Более того, в зависимости от "моды", заданной для данного контроллера в BIOS Setup, один и тот же диск может быть представлен и как IDE, и как SCSI. В этом нет ничего удивительного: и windows будет использовать в данном случае разные драйвера (если найдёт подходящие, разумеется), просто для обозначения дисков будут использованы одни и те же буквы алфавита. Об этих-то буквах (C:, D:, E: и т.д.), представляющих собой ни что иное как DosDevices (имя для DOS), лучше забыть сразу, потому как диски и разделы это — "жизнь", а C:, D:, E: и т.д. — "погремухи", оставленные в NT только для совместимости с DOS, а точнее — с CP/M. Чем скорее вы это сделаете, тем проще будет определить, что и как нужно "спасать", как отредактировать при необходимости boot.ini, восстановить загружаемость системы и т.п.

Что касается самих "мод", в которых может работать SATA-контроллер, то если вы не разобрались в этих legacy/enhanced/ahci раньше, то Linux вам в этом, к сожалению, не поможет.

Подкаталогами каталогов дисков (/sys/block/hda, /sys/block/sda и т.д.) будут разделы, которые на "живом" винчестере имеют место всегда, на CD/DVD, Zip и FDD — никогда, а на флэшке — в зависимости от того, как выполнялась ее форматирование (как жесткий диск или как гибкий — возможно и то, и другое).

При анализе структуры разделов винчестера рекомендуется вспомнить, что первичных разделов может быть только четыре, и только один из них — расширенный (extended). В соответствии с этим имена разделов и нумеруются: 1..4 — первичные, 5 и более — логические. То есть в конечном счёте: hda2 — это второй первичный раздел винчестера, включённого как master на IDE-0, а sda5 — первый логический раздел расширенного раздела винчестера, представленного как SCSI (SATA, скорее всего). Флэшка, как каталог в /sys/block будет появляться при её подключении и исчезать при отключении. Так что перепутать её с SATA диском трудно.

Вышеупомянутые каталоги помимо подкаталогов могут содержать и файлы. Вполне доступные для просмотра. Так, при желании, можно узнать тип (съёмный или нет) и ёмкость накопителя, используемый драйвер (а исходя из этого — тип контроллера). И так далее — "дорогу осилит идущий".

В каталоге /sys/class/net можно увидеть доступные сетевые интерфейсы. Правда, видны будут только те адаптеры, для которых в загруженной версии Linux имеются соответствующие модули (драйвера). Подобным образом можно узнать "что делается" на шине USB (/sys/bus/usb). Все это, однако, довольно редко требуется в случаях, когда использование rescue-cd — насущная необходимость. Так что не увлекайтесь: разобрались с дисками — и пошли дальше.

Возможно, вы не заметили, но при разговоре об устройствах ни разу не упоминалось их содержимое. Дело в том, что блочные устройства — это только набор блоков. Осмысленными данными эти наборы единиц/ноликов становятся только в рамках файловой системы. Представление же раздела в виде файловой системы — совсем другая история. Для этого требуется так называемое монтирование (в любой, кстати, ОС), но об этом — позднее. Сначала о том, что весьма полезным может быть и доступ на уровне устройств ...

Во-первых, существуют утилиты, которые работают именно с устройствами, а не с файловыми системами. Резервное копирование, дублирование разделов — мало ли? Причем ОС, под которой выполняется задание, может не иметь ни малейшего представления о файловой системе обрабатываемых разделов. В сущности, подобным образом могут работать и Ghost, и PQMagic. Просто они при этом скрывают от нас: когда работают на уровне устройств, а когда переходят на уровень файловой системы.

Во-вторых, есть не так уж мало случаев, когда интересует именно устройство. Так, для сохранения (и восстановления) MBR винчестера достаточно сохранить (или записать) всего лишь один нулевой блок. Сделать это можно всегда доступной утилитой dd (disk dupe):

dd if=/dev/hda of=mbr.save count=1
здесь if — входной файл, of — выходной, а count — счётчик блоков. По-моему, аббревиатуры настолько очевидны, что расшифровки не требуют. А команда
dd if=/dev/zero of=/dev/sda count=100
заполнит нулями первые 100 блоков устройства /dev/sda, не оставив даже следа о том, как это устройство было отформатировано. Именно такой операции нужно подвергнуть флэшку, чтобы превратить её из fdd в hdd-подобную (или наоборот).

Только я бы не советовал начинать Linux-эксперименты с команды dd — чревато. Достаточно усвоить, как именуются блочные устройства и запомнить, что для представления их в виде файлов требуется префикс: /dev/, а утилиты, которые с ними работают — найдутся. То есть: /dev/hda — обращение к IDE-диску, как к блочному устройству, а /dev/sda3 — к разделу.

Еще один интересный каталог — /proc. Не обращаем внимания на подкаталоги с цифровыми названиями — это представления процессов, выполняющихся в системе, а вот подкаталоги acpi, ide, scsi могут быть интересны. Так, в acpi можно увидеть все показания температурных датчиков и скорости работы вентиляторов (для ACPI-систем, разумеется). Справедливым окажется предположение, что подкаталог ide содержит информацию об IDE-устройствах, а scsi — соответственно, о SCSI (к коим относятся, напомню, и SATA, и "флэшки"). Названия файлов cpuinfo и partitions говорят за себя сами. А вот насколько успешно вы воспользуетесь полученной таким образом информацией — зависит уже от вас. Знаете что такое Vendor/Product ID — имеете полное представление об аппаратной конфигурации. Не знаете — ничего страшного. Идём дальше: утилит, заменяющих это знание, предостаточно.

Монтирование

Если команды fdisk /dev/hda, или testdisk /dev/sdb, или dd_rescue /dev/hda1 /dev/sda2 уже не вызывают чувства недоумения (в смысле: пока, быть может, не ясно, что они делают, но уже понятно — с чем), то можно перейти к монтированию. Это — просто.

Поскольку в *-nix-ах есть только один корневой каталог (это, кажется, знают все) и нет никаких букв-устройств, то ясно, что "ещё одно" устройство можно "подключить" только в качестве дополнительного каталога. Это тем более должно быть ясно, поскольку и в NT с некоторых пор тоже предлагается подключение устройств в качестве каталогов. То есть всякий раздел (или, если быть точным, любую файловую систему) можно "примонтировать" к какому-нибудь каталогу (обычно — пустому) и с момента монтирования получить доступ к ней, как к каталогу.

Итак: требуется поблочный доступ — обращаемся к устройству, интересует содержимое файловой системы — монтируем и обращаемся, как к каталогу. Автомонтирование возможно, но в рамках "спасательных" операций слишком часто бывает не совсем уместным. Никогда не приходилось испытывать раздражение, дожидаясь, пока ms windows прекратит попытки монтирования не читаемого DVD или неисправного винчестера?

Команда монтирования проста, "как правда": mount устройство каталог. Но руководство, описывающее опции, применяемые при монтировании различных файловых систем (а их для Linux известно более десятка), занимает далеко не одну страницу. К счастью, необходимый набор опций может быть определён, подготовлен и сохранён производителем дистрибутива (или тем, кому читать документацию было не лень) в файле /etc/fstab или скрипте, выполняющем монтирование. В нашем частном случае (для модифицированной версии RIP) таким скриптом является mumount. Скрипт с одинаковым успехом работает как в консоли, так и под X Window.

Если же ваши потребности вышли за рамки возможностей скрипта (мне, например, случалось "ремонтировать" польские и немецкие версии ms windows, и проблемы локализации проступали в них вновь и вновь), то изучения документации вам не миновать.

Локаль

Вообще говоря, монтирование различных файловых систем может быть достаточно сложным: уж очень они разными бывают. Но если ограничиться только файловыми системами от MS, то проблемы сводятся к чтению имён каталогов и файлов, набранных в кодировках, отличных от ascii. Дело в том, что, сохраняя для пользователя возможность именования в национальных кодировках, MS трижды меняла способ кодирования. Для кириллицы это были cp866, win-1251 и, наконец, utf-8. К счастью, на последнем этапе MS (наконец-то!) не стала изобретать велосипед (в надежде получить "на ровном месте" ещё один патент) и использовала международный стандарт.

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

Осталось определить нужные опции монтирования. И для этого лучше всего обратиться к документации. Банальное man mount — именно то, что нам нужно. Поиск (/) и copy/paste из man-a непосредственно в командную строку — вот и вся премудрость.

Утилиты

Если в gui рекомендуется начать работу со знакомства с меню, то в консоли можно рекомендовать просмотр каталога /usr/doc/RIPLinux. Названия программ в большинстве случаев информативны, mc обеспечивает контекстный поиск, практически все программы имеют встроенный help, способ вызова которого универсален:

программа --help
Ну, и man имя_программы всегда в вашем распоряжении.

Справедливости ради: и в консоли есть меню: pdmenu называется. И познакомиться с ним стоит. Только ограничиваться им не следует. Без преувеличения: в составе RIP на порядок (если не на два) больше утилит, чем представлено в меню. Поэтому, если какой-либо вопрос вас интересует на профессиональном уровне — не пожалейте пяти минут: выполните контекстный поиск в каталоге документации (Ctrl+? в mc) и, скорее всего, вам найдётся над чем подумать.

Перечислять утилиты смысла не вижу: их больше, чем вариантов ситуаций, когда rescue-cd может потребоваться. В контексте работы с win-разделами стоит упомянуть разве что семейство ntfs-progs. И опять же: кроме аббревиатуры ntfs запоминать ничего не нужно. Клавиша табуляции, нажатая после ввода ntfs, заставит интерпретатор командной строки вывести все программы, имена которых начинаются с 'ntfs' — вот вам и весь список утилит семейства. Мне кажется, что названия ntfsfix, ntfsresize или ntfsclone говорят сами за себя, но если это не так, то вышеупомянутые '--help' и 'man' — в вашем распоряжении.

Что? Не по-русски написано? Sorry. Неумение читать по-английски при обслуживании средств вычислительной техники и администрировании сетей рассматривается, как признак профессиональной непригодности. Чай, не в качестве пользователя — в качестве "админа" фигурируете. Так не уподобляйтесь "доктору", не способному прочитать латинское название препарата.

И ещё две утилиты, которые могут пригодиться при оценке состояния дисков:

  • 'hdparm -t устройство' даст возможность оценить скорость обмена (стоит сравнить её с аналогичной под windows — что-то слишком часто в последнее время встречаются инсталляции XP с неприлично низким transfer rate);
  • а 'smartctl -a устройство' выведет данные SMART. Не "истина в последней инстанции", но может пригодиться. Незнание того, что такое SMART наказуемо, поскольку свидетельствует о некомпетентности.

Консоль

Несколько советов для работы в консоли.

Рядом с упомянутым в предыдущем параграфе автодополнением (табуляция при наборе в командной строке) стоит упомянуть "историю команд". Стрелки вверх (Up) и вниз (Down) позволяют "путешествовать" по истории, а "глубина" её по умолчанию — 500 команд.

Вообще, консолей в вашем распоряжении несколько. Восемь в случае RIP. Начиная с 9-й — графические (в варианте с X Window, разумеется). Переключение между простыми консолями — Alt+Fn (где n номер консоли), Переход из X Window в обычную консоль — Ctrl+Alt+Fn.

Осталось освоить copy/paste c помощью мыши — и вы "во всеоружии". Это тоже просто; копирование == выделение фрагмента при нажатой левой кнопке, вставка (в точке фокуса (маркер ввода)) == нажатие средней (если есть) или правой (если средней нет) кнопки мыши. Под mc — всё то же самое, но с Shift-ом. Обмен между консолями — обычная практика. Фокус за указателем мыши не следует. Всё.

GUI

Ну, а gui — и есть gui. Интуитивно понятный интерфейс. Нет? Тогда буквально пара советов:

  • taskbar появляется только при нахождении указателя мыши у нижней кромки экрана;
  • самый быстрый способ доступа к меню — клик правой кнопкой в свободной области десктопа;
  • десктопов — четыре, вдвое меньше, чем консолей, но вполне достаточно;
  • и не забывайте, что, несмотря на наличие gui, система осталась прежней: все сказанное об устройствах, файловых системах и, следовательно, монтировании — в силе.
Всё. Пока.



Комментарии

Страницы комментариев: 1 :: 2 :: следующая

petrofimov@yandex.ru, Sat Dec 13 00:21:03 2008:
> Всё принципиально новое - это очень хорошо забытое старое :)

К сожалению, Алексей Федорчук, эта поговорка действительно есть, и она достаточно мудра, но вы применили ее не по адресу. Она не универсальна. Например, изобретение компьютеров - каким хорошо забытым старым оно является?
Алексей Федорчук, Wed Dec 3 20:41:42 2008:
2 аноним, среда, 3 декабря 2008 г. 14:31:16:
___
Не смотря на Вашу анонизменность, +1
Всё принципиально новое - это очень хорошо забытое старое :)
аноним, Wed Dec 3 14:31:16 2008:
2 petrofimov@yandex.ru

>Принципиально новые средства и технологии появляются каждый год.

не смешите мои тапочки:D
petrofimov@yandex.ru, Wed Dec 3 14:15:06 2008:
Смотрите, Алексей Федорчук, допустим профессия плотника, ее тонкости и секреты работы не изменяются уже веками, вернее меняются, но настолько медленно, что можно заранее стопроцентно сказать, что отец-плотник порвет во всех отношениях сына-плотника, сыну достичь того уровня можно только когда он достигнет возраста отца, то есть реально превзойти отца у него никогда не получится. Почему? Потому что здесь все определяет опыт, и сколько не работай - это все идет в твою копилку, сама работа при этом не меняется.

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

А дожить до более преклонных лет и все понять - скорей всего это значит смириться с такой ситуацией, и говорить потом "эх, молодежь". Конечно, у меня будет точно так же. Все мы люди.
Алексей Федорчук, Tue Dec 2 01:53:18 2008:
2 petrofimov@yandex.ru
если Вам очень повезёт - доживете до более преклонных лет.
может, чего и поймёте :)
хотя вряд ли...
petrofimov@yandex.ru, Tue Dec 2 01:38:30 2008:
2 Алексей Федорчук
)))))))))))) да, это да
да я к тому в принципе, что людям предыдущего поколения как не старайся, уже не понять даже базиса современных технологий, с этим соглашайся не соглашайся - это факт. и я в свои 20 лет (пусть это мой возраст) никогда бы не написал такой дилетантсткой статьи. уже сам заголовок "Пользователям просьба не беспокоиться..." ясно говорит о том, что этот человек сам едва только выбрался из толпы юзеров и безумно гордится этим. Профессионал никогда не проявит даже капельки гордости по этому поводу. А эта фразочка просто как ведро холодной воды - "Что? Не по-русски написано? Sorry. Неумение читать по-английски при обслуживании средств вычислительной техники и администрировании сетей рассматривается, как признак профессиональной непригодности." - Добрый день автор. Из какого вы века? Я ни то что знакомого программиста, даже обычных знакомых у меня таких нет, которые не знали бы английский. Программист который гордится знанием английского - простите, это архаизм. Лет еще 10 назад такие такое было в порядке вещей, но никак не сейчас. "Ну, а gui — и есть gui. Интуитивно понятный интерфейс." - Выучили определение? Неужели. Наверняка даже словарь такой компьютерных терминов продают в электричках.

Прошу прощения за все неуважение. Это неуважение отнюдь не как к человеку. Ничего личного. Просто раз уж начал...
Алексей Федорчук, Mon Nov 24 00:42:47 2008:
2 petrofimov@yandex.ru
Очевиднейший вывод - автору настоящего поста лет 20, в лучшем случае он не учился нигде, в худшем - получил современное т.н. образование. И зачем только время на него терял?
petrofimov@yandex.ru, Sun Nov 23 22:41:43 2008:
сначала показалось что это трэш двадцатилетней давности, но с удивлением увидел что статья добавлена в 2008 году, отсюда просто очевиднейший вывод - автору лет 40-50, и учился он по советским учебникам где еще комп называется ПЭВМ, а мышка - двухкнопочный манипулятор ввода. зачем только люди время теряют?
alogic, Sat Sep 27 03:02:36 2008:
Достали, видно, эти виндовые админы своими научи, да научи.
Ilya, Thu Sep 25 23:39:30 2008:
Все хорошо написано, хотя в общем-то по большей части известно тем кто называет себя админами хоть по минимальному праву.
Вопрос возник только - почему именно RIP?

Страницы комментариев: 1 :: 2 :: следующая

Комментарии заморожены.

Новости:

Все новости на CitCity.ru

Компании месяца

 
Последние комментарии
Почему школам следует использовать только свободные программы (101)
20 Декабрь, 14:51
ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)
профнастил с17 1090
24 Декабрь, 22:53
Linux в школе: мифы про школу и информатику (334)
24 Декабрь, 22:43
Kubuntu Feisty (15)
24 Декабрь, 18:42
Software is like sex: it's better when it's free.
©Linus Torvalds