Документация/Подготовка к непредвиденным случаям
Материал из Mandriva Russian Community Wiki
Не исключена вероятность, что однажды ваши (или других людей) действия могут привести к непредвиденной ситуации, когда привычные вам вещи перестают работать. Возможно вы не сможете запустить X, и окажетесь без утилит с графическим интерфейсом. Что же делать?
Подготовка к непредвиденным случаям
- Несколько вещей, которые можно сделать сейчас, чтобы последствия непредвиденных ситуаций были менее разрушительными.
- Разберитесь в устройстве системы. Если произойдет что-то плохое, постарайтесь понять, почему это случилось. Не паникуйте, думайте о произошедшем, как о незначительной и некатастрофической проблеме. Вспомните порядок действий, которые вы осуществили перед сбоем и попробуйте вернуть все как было. До тех пор, пока вы не разрушите таблицу разделов жесткого диска, существует большая вероятность, что вы сможете восстановить свою систему.
- Резервируйте все важные данные как можно чаще. Например можно поставить задание в cron так, чтобы раз в день монтировался резервный жесткий диск, куда копируется все необходимое, после чего этот диск размонтируется. Однако если у вас большой объем данных, такая операция может занять очень много времени. На самом деле вы можете сохранять только произведенные за день изменения.
- Что именно резервировать. Ваши личные файлы, находящиеся в /home/имя_пользователя, файлы конфигурации системы в /etc. Некоторые программы хранят информацию в /var/lib, так что можно делать копию и этого каталога.
- Установите и испытайте следующие пакеты, научитесь ими пользоваться до того, как они действительно понадобятся -
- Документация: apropos, man, info и howto. Разберитесь, как читать различные форматы, от man до html, без использования X.
- Проблемы с диском и файловой системой: fdisk, fsck, mount. Все они должны быть хорошо изучены, перед тем, как использовать их по-настоящему.
- Проверка оборудования: lspci, usbview, /proc, dmidecode, lm_sensors.
- Командная строка: ls, grep, find, pipe-каналы и перенаправление, pico/nano/vi/emacs, и perl для чайников.
Удобные программы для работы в консоли
- Редактор: nano
- Файловый менеджер: mc
- Браузер: links
Если вы не сделали это раньше, установите эти программы через консоль. Запустите Konsole, перейдите в режим root, введя 'su' [без кавычек, просто su]. Установите программу командой 'urpmi nano'. Теперь с помощью nano вы можете посмотреть файл /var/log/messages [команды управления, указанные как ^R означают одновременное нажатие клавиш CTRL и R].
Что где находится
Когда происходит сбой, вы начинаете смотреть, что же произошло на самом деле. Необходимая информация, даже для одной программы, может оказаться в нескольких различных местах. 'man [название_программы]' выводит информацию по этой программе, а иногда совсем не по той, по которой вы искали. :-)
Корневой каталог
- /bin : Бинарные файлы важных пользовательских команд (для всех пользователей) [bash, cp, ls, и т.д.] Эти файлы доступны при загрузке.
- /boot : Статические файлы загрузчика. Ядро и другие необходимые для загрузки файлы находятся здесь.
- /dev : Файлы (и каталоги с файлами) устройств [ide, cdrom, дисковод, принтеры и т.д.]
- /etc : Настроенные под конкретный компьютер конфигурационные файлы
- [cups, devfs, foomatic, kde, samba, ssh, udev, webmin, принтер и т.д]
- /etc/syslog.conf: Контролирует запись в журнал сообщений системы и ядра, что и куда будет сохраняться.
- /etc/X11 : Конфигурация системы X Window
- /etc/rc.d: Скрипты, срабатывающие при запуске системы.
- /etc/rc.d/init.d: Скрипты, контролирующие запуск и остановку системных служб (сервисов). См. /usr/share/doc/initscripts-<версия>/sysvinitfiles
- /etc/sysconfig: В этом каталоге хранятся конфигурационные файлы для различных системных скриптов. См. /usr/share/doc/initscripts-<версия>/sysconfig.txt
- /home : Домашние каталоги пользователей [всегда делайте их резервную копию!]
- В home имеются каталоги для каждого пользователя: /home/yuri, /home/olya и т.д.
- Эти пользовательские каталоги содержат все файлы и каталоги, относящиеся к каждому пользователю. В них хранятся ваши данные (фотографии, музыка и т.д.), поэтому следует регулярно делать резервную копию.
- В каждом пользовательском каталоге находятся 'скрытые' каталоги и файлы, название которых начивается с точки, например .kde. В консоли команда ls не выводит скрытые файлы, их покажет команда 'ls -a'. В скрытых каталогах обычно хранятся конфигурационные файлы системы и программ, распространяющихся на работу конкретного пользователя. Многие конфигурационные файлы называются [название_программы]rc. Например .wgetrc.
- /initrd : Используется для создания RAM-диска при установке нового ядра. НЕ связывайтесь с этим.
- /lib : Важные общие библиотеки и модули ядра
- /mnt : Точка монтирования для временных файловых систем [cdrom, дисковод, камера и т.д.]
- /opt : Некоторые программы устанавливаются в этот каталог [на некоторых системах может быть вообще пустым]
- /proc : Процессы, запущенные на компьютере - файловая система процессов создается ядром. Не создавайте в ней ничего сами.
- /root : Домашний каталог пользователя root [НЕ трогайте там то, что вы туда не помещали сами]
- /sbin : Системные бинарные файлы и скрипты, необходимые для загрузки системы.
- [addpart, dump, fdisk, fsck, hotplug, lilo, mnt, udev, etc]]
- /sys : Это еще одна виртуальная файловая система. Является частью настройки udev, описывает системное аппаратоное обеспечение.
- /tmp : Временные файлы
- /usr : Доступные только для чтения данные и файлы, изменение которых во время работы системы не подразумевается. Однако не все программы следуют этому правилу.
- Во время загрузки системы программы и файлы из каталога /usr могут оказаться недоступными. Иногда файловая система /usr находится на отдельном разделе жесткого диска. Если так, то каталог будет примонтирован вместе с остальными не кроневыми фаловыми системами после окончания загрузки.
- /usr/bin : Большинство пользовательских команд [БОЛЬШОЙ каталог; установленные пользователем программы]
- /usr/etc : ????? [пустой на некоторых системах]
- /usr/games : Используется для игр [может быть большим на некоторых системах :-)]
- /usr/include : Каталог для стандартных подключаемых файлов. [пустой на некоторых системах]
- /usr/lib : Библиотеки для программ [БОЛЬШОЙ каталог] - Они не требуются во время загрузки.
- /usr/local : Этот набор каталогов предназначен для файлов, которые вы компилируете из исходных кодов самостоятельно.
- /usr/sbin : Системные бинарные файлы и скрипты, которые не требуются для загрузки системы.
- /usr/share : Данные и файлы, которые не зависят от типа используемого процессора
- В нем хранятся файлы конфигурации, особенно в /usr/share/config
- /usr/share/applications : содержит файлы .desktop для файлов, находящися на рабочем столе.
- /usr/share/apps : Данные для установленных программ
- /usr/share/man : Руководства (man-страницы)
- /usr/src : Исходный код [пустой на некоторых системах] Исходный код ядра находится здесь.
- /usr/tmp : В системе Mandriva, это просто символьная ссылка на каталог /var/tmp.
- /usr/X11R6 : Файлы X system
- /var : Данные и файлы, которые могут быть изменены системой в ходе работы.
- /var/cache : Данные кэша программ
- /var/catman : ?????
- /var/db : ?????
- /var/lib : Переменные данные о состоянии системы
- /var/lib/rpm/alternatives : Некоторые конфигурационные файлы
- /var/local : ?????
- /var/lock : Блокировочные файлы (lock-файлы)
- /var/log : Файлы и каталоги журналов (логов)
- [многие лог-файлы помогут рассказать, что же случилось - читать их может пользователь root]
- /var/log/messages это общий для многих служб (сервисов) лог-файл. Попробуйте команду 'less /var/log/messages' в консоли.
- /var/mail : Почтовые ящики пользователей
- /var/opt : Переменные данные для /opt
- /var/run : Переменные данные времени выполнения
- /var/spool : Очереди данных для приложений
- /var/spool/lpd : Очередь печати для демона LPD
- /var/tmp : Временные файлы, сохраняемые между перезапусками системы
- /var/yp : Файлы базы данных сетевой информационной системы NIS [может быть пустым]
- [в /var, имеются другие каталоги, не указанные в списке, в зависимости от установленных программ. Некоторые могут быть пустыми]
Обратите внимание, что некоторые программы не следуют этому стандарту
Что делать, когда произошел сбой
Вот несколько подсказок о том, как определить причину сбоя и что с этим делать.
- Меню lilo/grub пропало после установки Windows. Решение одно - переустановить загрузчик
- Система не загружается. Где может быть ошибка? 1.BIOS 2.Загрузчик 3.initrd 4.скрипты инициализации
- Машина не повинуется, но можно проникнуть через ssh.
- Чтобы все было по правилам, если система X не запускается и не восстанавливается, по крайней мере компьютеру можно дать команду init 6 (перезагрузка, проверьте /etc/inittab), что гораздо лучше, чем жать кнопку RESET. (ssh root@badbox init 6)
Может ли помочь какой-нибудь web-сайт?
Если X не работает, используйте программы lynx, links, wget и curl чтобы получить что-нибудь из интернета.
Midnight Commander (mc) отличный консольный файловый менеджер. Он позволяет делать с файлами и каталогами все то, что вы могли сделать через графический интерфейс.
Помощь, которая уже на вашем компьютере
util-linux: Каталог /usr/share/doc/util-linux-<версия> содержит несколько полезных файлов README для различных программ.
- README.cfdisk - программа для работы с разделами жесткого диска с удобным текстовым интерфейсом.
- README.fdisk - стандартная программа для работы с разделами жесткого диска.
- README.rescuept - восстанавливает таблицу разделов. Ищет разделы жесткого диска и перестраивает таблицу разделов.
Восстановление таблицы разделов жесткого диска
Первое, что нужно помнить, это то, что если вы только что удалили таблицу разделов жесткого диска, на котором установлен Linux НЕ ПЕРЕЗАГРУЖАЙТЕ СИСТЕМУ ДО ПОЛНОГО ИСПРАВЛЕНИЯ! Система будет продолжать работать и без таблицы разделов, используя информацию, полученную при загрузке, но перезагрузиться с диска система не сможет. Поэтому исправлять ошибки необходимо сразу, пока есть доступ ко всем утилитам. Если вы перезапустите систему или выключите компьютер, вам понадобится загрузочный CD с набором утилит для восстановления таблицы разделов. Режим восстановления, доступный с инсталяционного CD, вам не поможет (повторяем, ни меню, ни консольные команды не помогут).
Diskdrake - работает как с графическим интерфейсом, так и в консольном
В консольном режиме переключение между иконками производится клавишей Tab. Чтобы выбрать какой-либо пункт меню, используйте клавиши со стрелками, потом клавишей Tab перейдите на кнопку Ok и нажмите Enter.
Эта программа может так же сохранить таблицу разделов в файл и восстановить ее из файла. Возможно стоит сделать резервную копию таблицы.
testdisk - работает в консоли
Testdisk это консольная программа, управляемая через меню. Клавиши со стрелками вверх и вниз используются, чтобы выбрать диск из списка, стрелками влево и вправо выбираются команды в меню. Нажмите Enter, чтобы выполнить выбранное действие над определенным диском.
Приятные мелочи:
- Объясняет назначение каждого выбранного пункта меню.
- Спрашивает подтверждения перед выполнением серьезных операций.
Если не вышло с diskdrake, попробуйте testdisk.
Использование режима восстановления на установочном CD
Чтобы запустить режим восстановления, используя установочный CD, выполните следующие шаги:
- Загрузитесь с установочного CD Mandriva
- Выберите пункт Rescue System/Загрузка аварийной системы (в предыдущих выпусках, таких, как 9.2 и 10.1 для этого необходимо было нажать F1 и вписать слово rescue).
Появится меню. Вам на выбор будет предложено:
- Re-install Boot loader - Переустановить загрузчик. Пригодится, если вы устанавливали Windows после установки Linux, и загрузчик был затерт.
- Restore Windows Boot loader - Восстановить загрузчик Windows. Используйте это при удалении Linux с диска.
- Mount your partitions under /mnt - Смонтировать ваши разделы в каталог /mnt. В результате этого действия вы сможете добраться до ваших конфигурационных файлов. Монтировать можно так же вручную из консоли. Преимущество использования этого пункта меню в том, что монтируется сразу все, что есть в /etc/fstab. Например, если у вас /home находится на отдельном разделе, он тоже примонтируется в /mnt/home. Таким образом будет создана рабочая среда, готовая для chroot. Это не сработает, либо не все разделы будут примонтированы, если в файле допущены ошибки. Если вы видите сообщения от ошибках при использовании этого пункта, то дело скорее всего в /etc/fstab.
- Go to console - Перейти в консоль. Вы окажетесь в терминале с командной строкой, где можно использовать утилиты, консольные и с текстовым интерфейсом. Первым действием нужно примонтировать ваши разделы в каталог /mnt. Поэтому было бы неплохо использовать пункт Mount your partitions under /mnt до входа в консоль. Если это действие пройдет без ошибок, вы сможете дать команду chroot /mnt и окажетесь в своем обычном окружении. Вы не будете ограничены утилитами режима восстановления, а сможете использовать весь арсенал, находящийся на жестком диске. Но если в вашем /etc/fstab что-то не так, часть диска может оказаться сначала недоступной.
- Reboot - Корректное завершение работы и перезапуск системы.
- Doc: - Здесь находится информация о действиях, доступных в режиме восстановления.
Восстановление загрузчика
Восстановление MBR (Master Boot Record) - дело простое, независимо от использования lilo или grub.
Для lilo дайте простую команду:
# lilo -v
Для grub выполните:
# grub --device-map=/boot/grub/device.map grub> root (hd0,0) grub> setup (hd0) grub> quit

