В середине
семидесятых в США была очень популярна такая отрасль психологической
науки, как экспериментальная психология. Среди её постулатов выделялся
особенно один: мы такие, какими себя представляем. Имеется в виду, что
объективные внешние факторы имеют, конечно, большое значение, но если
по-настоящему поставить себе цель и полностью вложиться в её
достижение, обязательно к ней придёшь. Мой
цикл статей - замечательное подтверждение этой теории, как я начал
понимать в последнее время. Ведь я описываю в нём повседневную работу с
рядовой домашней Linux-системой - и в то же время, стараюсь сделать
свои рассказы наиболее общими, то есть полезными для людей в самых
разных ситуациях. Так вот, с любопытными, достойными описания
ситуациями я теперь сталкиваюсь гораздо чаще, чем, скажем, с полгода
назад. А может, раньше я просто не обращал на важные мелочи достаточно
внимания? Вот
живой пример: после того, как в прошлой статье цикла я рассказал о
подготовке системы к переустановке "вчистую", совершенно логичным шагом
было эту переустановку произвести. Что я и сделал. Однако по пути
столкнулся с несколькими любопытными деталями, к описанию которых
незамедлительно и приступлю. Надеюсь - с пользой для аудитории. Итак,
подготовка была завершена. А именно: все достойные сохранения данные
упакованы в архивы *.tar.bz2 и перенесены на внешние носители (CD-R,
CD-RW) либо на соседние файловые системы (vfat, к примеру), которые при
переустановке не предполагается форматировать. Кстати, небольшое
замечание: если вы собираетесь сложить в единый архив всё содержимое
домашней директории, подойдите к вопросу творчески. Есть данные,
которые сжимать не имеет ни малейшего смысла - картинки в формате JPEG,
MP3- и OGG-музыка, уже когда-то созданные архивы и т.п. Такие данные
лучше собирать в несжатые .tar-архивы (с опциями, позволяющими сберечь
права владения и обращения с файлами, разумеется). Заодно экономится
время, которое не будет израсходовано на бесплодные попытки утрамбовать
их ещё на пару процентов. Ну
что же, архивы размещены в безопасности, установочный диск дистрибутива
помещён в привод... Перезагружаемся (командой reboot из root'овской
консоли, к примеру) и встречаем знакомое уже текстовое приглашение к
началу инсталляции. Нажимаем на Enter, пропускаем тест носителей
командой Skip - ведь мы их уже тестировали, когда занимались
апгрейдом... Общесистемную раскладку клавиатуры снова выбираем Russian
(Microsoft) - для тех, кто привык, что точка возникает на экране при
нажатии расположенной у правого Shift'а клавиши, а не по Shift+7.
На
следующем экране программы инсталляции указываем - "Выполнить новую
установку Red Hat Linux". Затем - "Выборочная установка" и "Ручное
разбиение программой Disk Druid". Открывающийся перед нами следующим
экран выглядит знакомым по самым первым нашим занятиям, - примерно так
же он смотрелся при установке RHL 7.3. Вполне возможно, что вам
переразбиение диска выполнять не придётся. А вот я свой подход к
распределению пространства на нём пересмотрю. Поэтому сперва удалю
имеющиеся разделы ext3 - выделяя их мышкой в списке и щёлкая по кнопке
"Удалить". Получу в итоге массу свободного места.
Прежде
всего, необходимо отвести пространство под swap-файл. Согласно
стандартным рекомендациям, оно должно вдвое превышать наличный объём
оперативной памяти. Затем - раздел /boot, где будут храниться
скомпилированные образы ядра системы. Его я создал равным 128 Мбайт,
чтобы иметь возможность хранить там несколько образов, не беспокоясь о
том, поместится ли туда очередной или нет. Нужда в обновлении ядра
возникает по мере выхода заплаток функциональности и безопасности, либо
при оснащении системы дополнительными способностями. Ну, например: если
винчестер съёмный и путешествует между двумя различными по конфигурации
компьютерами, вполне можно создать по собственному образу ядра для
каждого из них, а при старте - выбирать нужный. Или, скажем, если вы
загорелись желанием создать домашний кластер из нескольких старых ПК,
но не собираетесь держать ферму работающей всё время, достаточно
хранить на винчестере скомпилированное с патчем MOSIX ядро и пускать
его в дело по мере надобности. Есть
пара служебных разделов, которые я также предпочитаю отграничивать от
прочего пространства винчестера: это /tmp, хранящий всевозможные
временные файлы, и /var, где содержится много статистической и
контрольной информации (лог-файлы), а также почтовые спулы. На эти
разделы я щедрой рукой отвожу по гигабайту (общий объём места, которое
в итоге займёт Linux на моём HDD, - 20 Гбайт). Помня о том, что полная
инсталляция всех входящих в три дистрибутивных CD пакетов занимает
почти 5 Гбайт, и рассчитывая на установку дополнительных пакетов помимо
того, я отвожу 8 Гбайт под раздел /usr - именно там будут храниться
программы, как исполняемые файлы, так и исходные тексты. Раздел /, так
называемый корневой, - это базовый раздел системы, где содержится
домашний каталог суперпользователя и системно-служебные директории
вроде /dev и /bin. Пусть тоже расположится на гигабайте дискового
пространства. И наконец, /home займёт всё остальное. Примерно 5 Гбайт.
На первое время - хватит. При
указании параметров каждого раздела не забывайте разрешать их
форматирование, а также поиск сбойных блоков. Это поможет получить
представление о том, насколько ваш винчестер ещё в состоянии выполнять
свои функции. Мне, кстати, помогло: после того, как я закончил
указывать параметры установки и нажал на кнопочку "Начать", система
приступила к проверке и форматированию разделов - и вот тут-то я
получил сообщение о наличии сбойных блоков на устройстве /dev/hde9, том
самом, что я отвёл под /tmp. Это всё-таки случилось. Да,
под Linux существует утилита, позволяющая локализовать сбойные блоки, и
я её в своё время применю. Но в принципе, "осыпание" винчестера -
процесс необратимый и прогрессирующий. Раз уж сбойные блоки появились,
меньше их не станет. А стало быть, надо больше внимания уделять
резервному копированию, пока HDD не заменён. Поговорим о нём подробней
чуть позже, а пока просто отменим проверку поверхности для раздела /tmp
- оставив форматирование, конечно. И порадуемся, что сбой обнаружился
на /tmp, а не на /home или /usr, скажем. Дальше всё пойдёт гладко.
После
установки всех пакетов система предложит наладить драйвер
видеоадаптера. Мне вместо GeForce 4 MX Generic был сперва предложен
драйвер GeForce 4 Generic, который я мужественно отверг в пользу более
подходящего. И пока не стал устанавливать тот, что скачал с сайта
NVIDIA, - решил проверить, как ведёт себя стандартный.
Первый
старт системы после перезагрузки встретил появлением на экране оболочки
firstboot: система настаивала на том, чтобы я завёл ещё одного (помимо
root'а) пользователя, настроил звук и некоторые дополнительные
параметры, не слишком существенные, чтобы включать их в исходную
инсталляцию. Между прочим, выбор русского языка в качестве основного
привёл к тому, что клавиатура после старта стала работать в
кириллическом режиме - переключение в латинский и обратно
осуществляется по умолчанию одновременным нажатием двух клавиш Shift.
Позже мы научимся модифицировать такое поведение. А
пока - самое интересное. Давайте-ка войдём в систему как root и
займёмся первичной настройкой и возвращением сбережённых данных на свои
законные места. Прежде
всего, сам процесс входа. Если вы выбрали графический вход в систему на
этапе настройки видеокарты, поздравляю, - дополнительные текстовые
консоли, на которые мы переключались раньше при помощи комбинаций вроде
Alt+Ctrl+F2, отныне по умолчанию заблокированы. Поэтому придётся войти
root'ом графическим образом, запустить консоль от его имени и уже в ней
производить необходимые операции. Я предпочитаю работать в программе
эмуляции терминала, которая так и называется - konsole. Вызвать её
можно, одновременно нажав клавиши Alt и F2: посреди экрана появится
строка приглашения (что-то вроде директивы "Выполнить" в меню кнопки
"Пуск" Windows); наберите там konsole и нажмите на Enter. Вот она,
консоль.
Сперва
разберёмся с vfat-разделами. Создадим точки монтирования /mnt/c и
/mnt/d, после чего (без дополнительных изысков пока) подсоединим, что
требуется: mount -t vfat /dev/hde5 /mnt/d
(допустим,
что файл etc.tar.bz2, архив бывшей директории /etc со всеми системным
настройками, располагался именно там - на Windows-диске D:). Убедимся,
что мы находимся в домашнем суперпользовательстком каталоге /root, и
выполним команду: tar xvjpf /mnt/d/etc.tar.bz2 Моментально
образуется дерево каталогов /root/etc, в котором и будут содержаться
сохранённые настройки прежней системы. Подойдём к их восстановлению
творчески. Рассудив
здраво, удалим из новообразованного /root/etc все каталоги и файлы,
названия которых нам не знакомы. Ведь если мы с ними не работали
вручную, значит, они и так оптимально настраиваются системой, - стало
быть, при новой установке об их адекватности беспокоиться не нужно.
Оставшиеся давайте рассмотрим поподробнее. Но прежде - обратим более
пристальное внимание на каталог /mnt. Два
привода, стоявшие на моём компьютере (DVD-ROM и CD-RW) были опознаны и
автоматически смонтированы как /mnt/cdrom и /mnt/cdrom1 соответственно.
При этом анализ (ls -l) каталога /dev показал, что /mnt/cdrom указывает
на /dev/hda, а /dev/cdrom1 - на /dev/scd0. Необходимость обращаться к
IDE-приводу CD-RW как к устройству SCSI обусловлена особенностями
реализации программ для записи CD в Linux и никаких проблем
совместимости не вызывает. Зато вот лично у меня вызывает недовольство
такой порядок именования устройств, который в системе сложился на
данный момент. И я хочу свести его к предыдущему: CD-RW монтировать к
/mnt/cdrom, а DVD-ROM - к /mnt/dvdrom.
Сделать это очень просто. Создаём символическую ссылку ln -s /dev/hda /dev/dvdrom Уничтожаем неадекватную ссылку и модифицируем её: rm -r /dev/cdrom ln -s /dev/scd0 /dev/cdrom И, наконец, создаём новую точку монтирования: mkdir /mnt/dvdrom rm -r /mnt/cdrom1 ln -s /dev/hda /dev/dvdrom Вот теперь - самое время приняться за правку /etc/fstab.
Для
примера откроем /root/etc/fstab в другом окне, и приведём действующую
таблицу монтирования в соответствие со здравым смыслом. Помня, что
текущая кодовая страница у нас - utf, а вовсе не koi8-r. Чтобы
внесённые в /etc/fstab изменения возымели действие, отмонтируем пока
/mnt/d и применим новую таблицу: umount /mnt/d mount -a Дальнейшие
действия достаточно очевидны. Файлы /etc/group, /etc/hosts, /etc/passwd
и /etc/shadow приводятся в соответствие с их аналогами из /root/etc.
Будьте внимательны с /etc/shadow - там есть смысл сохранить текущий
пароль root (и прочих пользователей, если вы уже успели их завести).
Очень важно убедиться, что учётные номера вновь заведённых
пользователей с прежними именами совпадают с теми, что были раньше.
Ведь в архивах, которые мы специально создавали с опцией сохранения
принадлежности файлов, указание на права владения каждого файла
хранится в виде явного указания номеров UID и GID. Кроме того, не
забудьте перенести файл .bashrc из /root/etc/skel в /etc/skel - не зря
же мы его создавали в своё время! Теперь
можно приняться за пользовательские домашние директории. Распаковав их,
внимательно просмотрите все каталоги и файлы, названия которых
начинаются с точки: вам вряд ли понадобится старое содержимое
подавляющего большинства из них - хотя хранящиеся в каталоге .licq
настройки ICQ-клиента и логи "асечных" разговоров я постарался, конечно
же, сохранить. Финальный
штрих, которым мы завершим эпическое полотно переустановки системы -
это то, чего ради, собственно, я вообще её затеял. Активизация
нормального переключения клавиатурных раскладок. Однако для того, чтобы
достичь этого, я не стану забираться в дебри настроек Центра управления
KDE. Обращусь напрямую к конфигурационному файлу - /etc/X11/XF86Config.
В
секции InputDevice, посвящённой клавиатуре, внесём некоторые изменения
в параметры данного устройства. Во-первых, сделаем так, чтобы по
умолчанию при старте системы раскладка была английской, а в
альтернативной - русской, чтобы знаки препинания располагались на
привычных по Windows-приложениям местах: Option "XkbLayout" "us,ru(winkeys)" Затем
назначим ответственными за переключение раскладок клавиши Alt и Shift
при одновременном нажатии. А заодно - пусть загорающийся индикатор
ScrollLock сигнализирует нам о факте переключения: если он не горит,
значит, раскладка - первичная (us), если горит - альтернативная (ru): Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll" Другие варианты переключателей таковы: grp:toggle - переключение правым Alt; grp:shift_toggle - двумя клавишами shift; grp:ctrl_shift_toggle - ctrl+shift; grp:ctrl_alt_toggle - ctrl+alt; grp:caps_toggle - переключение по CapsLock; grp:lwin_toggle - переключение по левой "Win" клавише на Windows; grp:rwin_toggle- переключение по правой "Win" клавише на Windows клавиатуре (для X Window старше 4.2); grp:menu_toggle- переключение по клавише "Контекстное меню" на Windows клавиатуре (для X Window старше 4.2); ctrl:ctrl_ac - CapsLock; grp:switch - переключение по правому Alt только на момент нажатия [5]; Вот теперь - можно начинать работу. Со следующего раза и приступим...
К следующей статье
К оглавлению
|
|