Версия для печати

Архив документации на OpenNet.ru / Раздел "Документация для Linux" (Многостраничная версия)

LAMER
(Linux Administration Made Easy Russian)


Перевод на русский выполнен Алексеем Паутовым в рамках проекта Russian LDP, <rldp@ftp.botik.ru>


Основано на Linux Administration Made Easy

by Steve Frampton, <frampton@LinuxNinja.com>

Руководство “Linux Administration Made Easy” (LAME) рассматривает наиболее частые задачи и проблемы администрирования Linux. Является частью Linux Documentation Project.
Оглавление
1. Предисловие
Благодарности
Информация о авторских правах
Просьба о помощи
2. Введение
Обзор
Выбор дистрибутива Linux
3. Обзор Linux
Что такое Linux?
Разрушение мифов
Перспективы одного пользователя
4. Установка и настройка оборудования
Создание установочных дискет
Загрузка программы установки Linux
Разделение на разделы жесткого диска
Установка свопа
Выбор разделов для форматирования
Выбор пакетов для установки
Настройка оборудования
Загрузка с LILO
Мультизагрузка с другими OS
Скачивание и установка обновлений для Red Hat
5. Настройка X Window System
Настройка X Window System с помощью X-Configurator
Использование X Desktop Manager
Настройка шрифтов под X
Выбор Window Manager для X
Установка и настройка GNOME
Установка и настройка KDE
6. Общие задачи и проблемы системного администрирования
Логин Root
Создание пользователей
Изменение паролей пользователей
Выключение пользователей
Удаление пользоватеей
Пароли в Linux & формат файла Shadow
Выключение и перезапуск системы
7. Тонкая настройка системы
Администрирование Web-сервера и HTTP Proxy
Настройка и администрирование Domain Name Server (DNS)
Авторизация пользователей Internet с TACACS
Файловый сервис и печать через Samba
Файловый сервис и печать через Netatalk
Сервисы Network File System (NFS)
Настройка от A до Z программой Linuxconf
8. Резервирование и восстановление
Резервирование сервера
Резервирование программой ``tar'':
Резервирование программой ``KDat'':
Восстановление сервера
Восстановление программой ``tar'':
Восстановление программой ``KDat'':
Резервирование настроек роутера Cisco
9. Различные задачи администрирования
Проверка места на дисках
Управление процессами
Запуск и завершение процессов
Планирование процессов: Cron и файлы Crontab
10. Обновление Linux и других приложений
Использование Red Hat Package Manager (RPM)
Установка и обновление без RPM
Стратегии обновления и поддержки системы
Обновление ядра Linux
Обновление Red Hat Stock Kernel
Построение специального ядра
Переход к ядрам Linux 2.2.x
Настройка Apache Web Server
Настройка Squid HTTP Caching Proxy
Настройка Sendmail
11. Крупные системы и Linux
Улучшаем производительность
Высокая надежность и RAID
Проблемы расширения и переноса сервера
12. Стратегия безопасности сервера
13. Получение помощи
Установка Linux на нестандартном оборудовании
Повреждение файловой системы после отключения питания или система рухнула
Где искать помощь
Указатели на дополнительную документацию

Linux Administration Made Easy
Назад Вперед

Глава 1. Предисловие

Локальное оглавление
Благодарности
Информация о copyright
Просьба о помощи

Благодарности

Я хочу поблагодарить Linux-сообщество, особенно тех его членов, которые принимали участие в конференциях USENET и списках рассылки с советами о том, как работать с Linux лучше всего.

Данный документ написан в формате DocBook SGML после чего конвертирован в форматы HTML, postscript, Rich-Text-Format и PDF пакетом SGMLTools 2.x. О нем подробнее можно узнать на сайте проекта SGMLTools http://www.sgmltools.org


Linux Administration Made Easy
Назад Вперед

Глава 8. Резервирование и восстановление

Локальное оглавление
Резервирование сервера
Восстановление сервера
Резервирование настроек роутера Cisco

Выполнение резервирования должно иметь один из высших приоритетов у ответственного администратора системы. Хотя Linux чрезвычайно надежная операционная система, сбои могут быть, и вероятно произойдут. Они могут быть вызваны аппаратным сбоем, отключением электричества или другими непредвиденными проблемами.

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

Если Вы регулярно резервируете данные (желательно ежедневно, по крайней мере для пользователей, чьи данные меняются часто), вероятность потери данных будет минимальной, а Вы сильно облегчите себе жизнь.

Самый безопасный метод выполнения резервных копий состоит в том, чтобы записать их на разные носители (лента, съемный диск, writeable CD...) и хранить где-нибудь подальше от Вашей Linux-системы. Иногда это не может быть практически выполнено: возможно, Вы не имеете несгораемого хранилища, в котором Вы можете хранить резервные ленты. Тем не менее, копии все же надо делать и хранить их получше.

Я выполняю резервное копирование на нескольких Linux-серверах. В зависимости от сервера, некоторые копии пишутся на ленты, другие на отдельный сервер за пределами сети, а третьи просто на отдельный раздел диска (файловая система ``/archive'') заданием для cron (возможно, из-за того, что сервер физически находится даоеко, и ежедневные визиты затруднены или невозможны).

Дома я не имею внешней резервной системы, и при этом я не имею большого количества доступного дискового пространства, чтобы писать копии на диск. Следовательно, я поддерживаю только мои файлы пользователя ``/home/'' также как некоторые файлы конфигурации в `` /etc/'' и записываю резервую копию в отдельный раздел диска.

Резервирование сервера

Имеется ряд методов выполнения копий с Linux. Они включают инструментальные средства командной строки, включенные в каждый дистрибутив Linux, например ``dd'', ``dump'', ``cpio'' и ``tar''. Также доступны утилиты, основанные на тексте, например ``Amanda'' и ``Taper'' разработанные, чтобы добавить более дружественный интерфейс к процедурам резервирования и восстановления. Имеются также GUI-утилиты, например ``KDat''. Также доступны коммерческие утилиты, например ``BRU'' и ``PerfectBackup+''. Любое из этих решений может обеспечивать защиту для ценных данных.

Краткий перечень некоторых из доступных инструментальных средств, включая то, где они могут быть получены, может быть найден на “Linux Applications and Utilities Page” по адресу http://www.xnet.com/blatura/linapp2.html#back. При выборе утилиты Вы должны рассмотреть следующие факторы:

Caution

Предостережение: При резервировании файловых систем НЕ резервируйте псевдосистему `` /proc''! Файлы в /proc не настоящие, а только указатели на структуры данных ядра. Резервирование файлов типа ``/proc/kcore'', который является псевдофайлом, с содержанием всей памяти, является довольно большой и бессмысленной тратой ленты. Также не стоит резервировать файлы в ``/mnt'', поскольку там находятся файлы на CD-ROM, дискетах, сетевых дисках и других смонтированных внешних носителях.

Понятно, что конкретные действия по резервированию и восстановлению зависят от конкретного пакета. Здесь будут рассмотрены два средства, которыми я пользуюсьчаще всего: ``tar'' (“Tape ARchiver”), утилита командной строки, очень распространенная в *nix системах; и ``KDat'', GUI утилита поставляемая вместе с KDE (см. в разделе установка и настройка KDE главы 5 подробности о KDE).

Даже если утилита не имеет средств для автоматизации резервного копирования, процесс иногда удается автоматизировать, используя cron. Подробности в разделе Планирование процессов: Cron и файлы Crontab главы 9.

Резервирование программой ``tar'':

Если Вы используете для резервирования ``tar'', разберитесь с ее параметрами командной строки: наберите “man tar ”, там будет подробное описание. Еще потребуется знать, как обращаться к резервным носителям. В мире Unix все устройства доступны как файлы. Если запись идет на символьное устройство, имя “file” является именем устройства, например `` /dev/nst0'' для SCSI-стриммера).

Следующая команда скопирует Вашу Linux-систему в файловую систему ``/archive/'', исключив псевдофайловую систему ``/proc/ '', все смонтированные файловые системы в `` /mnt/'', саму систему `` /archive/'' и Squid cache, который незачем резервировать, да и занимает он немало места.


tar -zcvpf /archive/full-backup-`date '+%d-%B-%Y'`.tar.gz \
    --directory / --exclude=mnt --exclude=proc --exclude=var/spool/squid .

Не пугайтесь длинной команды! Разделите ее на компоненты и поймите ее красоту и простоту.

Здесь использованы опции: ``z'' (сжать резервную копию программой ``gzip''), ``c'' (создать архивный файл), ``v'' (отображать список файлов при архивации), ``p'' (сохранить в архиве права доступа к файлам: при восстановлении они будут тоже восстановлены). Опция ``f'' (file) указывает, что следующий параметр задает имя файла или устройства длязаписи. Обратите внимание на то, что имя архивабудет содержать дату его создания, поскольку в имя файла включена команда ``date''. Общее соглашение об именах состоит в том, чтобы к имени архива добавлять ``tar'', а к имени сжатого архива добавлять `` tar.gz''.

Опция ``--directory'' задает имя начального каталога, из которого надо брать данные для архивации (в данном случае ``/''). Опция ``--exclude'' указывает каталоги, которые не надо архивировать. Наконец, символ ``.'' указывает, что упаковать все надо с путями относительно текущего каталога.

Note

Обратите внимание: Опции для tar cAsE-sEnSiTiVe! То есть, чувствительны к регистру символов. К тому же, многие опции могут задаваться как один символ (например, ``f'') или как несколько (например, ``file''). Краткая форма предваряется одним символом ``-'', а полная двумя такими символами.

Другой пример: запись только определенных файловых систем (в противоположность записи всех, кроме некоторых, как было показано выше).


tar -cvpf /dev/nst0 --label="Backup set created on `date '+%d-%B-%Y'`." \
    --directory / --exclude=var/spool/ etc home usr/local var/spool

Здесь опция сжатия ``z'' не использована. Я строго рекомендую записывать именно несжатые данные на ленту потому, что при повреждении части ленты со сжатыми данными, Вы потеряете весь архив, а с несжатыми только ту часть, которая и правда оказалаась запорчена.

Поскольку стриммер устройство символьное, невозможно указать имя файла архива на ленте. Имя в команде tar просто задает имя устройства, ``/dev/nst0'', первый стриммер на SCSI.

Note

Обратите внимание: При использовании имени `` /dev/nst0'' лента не будет перемотана после записи архива, что позволяет записывать несколько архивов один за другим на ленту стриммера. А если перемотка нужна, используйте имя ``/dev/st0''.

Поскольку мы не используем имя файла, можно вписать сведения об архиве прямо в него опцией ``--label''.

Будут архивироваться файлы из каталогов ``/etc/'', ``/home/'', ``/usr/local'' и ``/var/spool/'' (кроме Squid cache).

При работе с лентой можно использовать команды для перемотки и извлечения кассеты из стриммера:


mt -f /dev/nst0 rewind

mt -f /dev/nst0 offline

Tip

Замечание: Первый символ ``/'' (slash) будет удален программой tar после создания архива. Такой режим работы задан по умолчанию и нужен, чтобы Вы случайно не перезаписали критические файлы их старыми версиями. Если Вы хотите как раз обратного результата, задайте параметр ``--absolute-paths'', тогда tar сохранит полные пути. Я не советую делать это, поскольку такой подход опасен!

Резервирование программой ``KDat'':

При использовании KDE утилита ``KDat'' может показаться более подходящей из-за ее дружественного интерфейса. На самом деле KDat всего лишь оболочка для ``tar''. Так что все, что зарезервировано с помощью KDat можно прочитать в tar! Совместимость гарантирована.

Tip

Замечание: Даже если не установили полный комплект KDE, можно использовать KDat до тех пор, пока установлены библиотеки Qt.

При первом запуске KDat нужно создать профиль резервирования. Он сообщает KDat какие файлы нужно резервировать. Если желаете, можете создать больше чем один профиль в зависимости от потребностей (например, Вы могли бы создать профили “Full Backup” для полного резервирования системы и “Quick Backup” для резервирования только пользовательских файлов).

Для создания профиля выберите “Create Backup Profile” из пункта “File” в строке меню (или щелкните правой кнопкой мышки на папке “ Backup Profiles” и выберите “ Create Backup Profile”). Можно задать разные опции в окне KDat: имя профиля, имя архива, опции tar и прочее. Щелкните на “Help” для подробного описания опций.

Для указания того, какие файлы надо резервировать, щелкните левой кнопкой на checkbox около папки ``/ ''. Это включит в список каталог вместе со всеми его подкаталогами. Теперь щелкните левой кнопкой на маленьком ``+'' рядом с папкой. Папка откроется, показав что в ней есть. Теперь можно исключить ненужные объекты простым щелчком левой кнопкой на checkbox рядом с каждым каталогом или файлом, в резервировании которых нет необходимости. Закончив выбор объектов, щелкните левой кнопкой на создаваемом профиле, а затем на кнопке “ Files >>” для перемещения выбранных объектов в профиль резервирования.

Note

Обратите внимание: Если данные не помещаются на носитель, придется создать по профилю на каждую порцию данных.

Для выполнения резервирования вставьте ленту в стриммер и выберите “Mount Tape” из меню “ File” (или щелкните левой кнопкой на пиктограмме ленты). Лента будет смонтирована. Поскольку стриммер устройство символьное, его нельзя монтировать как диск. Так что KDat перемотает ленту на начало и попытается прочитать заголовок. Если найдет, попытается найти на жестком диске оглавление ленты. В противном случае KDat предложит отформатировать ленту.

Note

Обратите внимание: Если KDat начнет жаловаться, что лента не находится в стриммере, а она там, Вы должны гарантировать что в настройках определено правильное имя устройства: щелкните левой кнопкой мыши на пункт “Edit” в меню и выберите пункт “User Preferences”.

Когда KDat смонтирует ленту, перед началом резервирования надо выбрать профиль, который будет использован. Щелкните правой кнопкой мышки на нужном профиле и левой кнопкой на опции “Backup ”. KDat сначала отобразит диалоговое окно, показывая Вам детали профиля, щелкните левой кнопкой на “Ok” для начала резервирования.

В процессе резервирования KDat отобразит диалоговое окно со статистикой (прошедшее время, сколько зарезервировано, процент завершения, предполагаемое оставшееся время, количество файлов и их размер) и список зарезервированных файлов. Полное резервирование имеет дело с гигабайтами данных и может занять несколько часов. Оно может быть прервано в любое время щелчком левой кнопкой мышки по кнопке “Abort”.

После завершения резервирования размонтируйте ленту, выбрав из меню “Edit” пункт “Unmount Tape” или щелкнув левой кнопкой мышки по пиктограмме ленты, что приведет к перемотке и выдаче кассеты.


Linux Administration Made Easy
Назад Вперед

Глава 9. Различные задачи администрирования

Локальное оглавление
Проверка места на дисках
Управление процессами
Запуск и завершение процессов
Планирование процессов: Cron и файлы Crontab

Linux очень надежна. На протяжении четырех лет она работала на моей машине в качестве Internet-сервера, и требовала не так уж много администрирования для поддержания в рабочем состоянии. Вся рутинная работа может и должна быть автоматизирована записями в crontab и файлами скриптов. Однако, для бесперебойного функционирования системы следует периодически выполнять ряд проверок. В них входят:

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

Время от времени проверяйте количество свободного места на дисках с помощью команды “df”. На моем рабочем сервере Internet результат выглядит так:

Filesystem         1024-blocks  Used Available Capacity Mounted on
/dev/sda1            1888052  135908  1654551      8%   /
/dev/sdd1            4299828  100084  3977246      2%   /archive
/dev/hda2            3048303  897858  1992794     31%   /archive2
/dev/hda1              11677    1380     9694     12%   /boot
/dev/sdc1            4299828  350310  3727020      9%   /home
/dev/sdb1            4299828  598504  3478826     15%   /usr
/dev/sda2            1888083  700414  1090075     39%   /var
/dev/scd0             593958  593958        0    100%   /cdrom

Ряд файловых систем стабильны в том плане, что очнь мало меняют свою загруженность.

Файловая система “/” (она же root), смонтированная на /dev/hda1, хранит ядро Linux, файлы устройств и другие каталоги. Почта пользователей харнится в ( /var/spool/mail/), а логи в (/var/adm/), но почта уходит и приходит, а логи регулярно очищаются, так что свободное место почти не колеблется (примерно на 1% в месяц). Логи чистятся и резервируются еженедельно автоматически.

Tip

Замечание: Если эта файловая система возрастает быстро, сконцентрируйте свои усилия на каталоге /var/spool/mail directory: поищите там огромные почтовые ящики (например, командой `` find /var/spool/mail -size +1000k'', которая выведет список почтовых ящиков, превышающих размерами 1Mb). Если обнаружен ящик размером больше 1,000,000 байт, значит пользователь его не чистит или подписан на большое число списков рассылки. Войдите с ним в контакт или просто сотрите его почту командой “> mailbox”, (например, ``>smithj'' сотрет почтовый ящик Joe Smith). Если пользователь возмутится уничтожением своей почты, не придавайте значения: вы администратор, а он пользователь, значит никто. Если места все еще мало, проверьте каталог ``/tmp/ '', который тоже надо чистить: программы должны удалять свои временные файлы, но удаляют их далеко не всегда...

Файловая система “/usr/”, смонтированная на /dev/hda2, хранит софт, установленный администратором системы, web-страницы Вашего сайта, разные библиотеки, файлы заголовков для С и тому подобное. Система самая большая, но обычно растет медленно. Логи для web-страниц могут находиться здесь, и вот они-то растут быстро. Проверяйте и урезайте до приемлемых размеров. На моих системах в начале месяца логи для web перемещаются в сводный протокол за месяц (access_log.11 для логов за ноябрь). В конце года логи стираются и все начинается сначала, так что 1 января свободное место в системе резко увеличивается.

Tip

Замечание: Если эта файловая система растет быстро, проверьте каталоги ``/usr/local/etc/httpd/logs'' и ``/usr/local/squid/logs/'' (если они есть). Здесь могут быть слишком разросшиеся логи (например, если на сервер в последнее время пшла волна посетителей). Если логи регулярно автоматически урезаются, беспокоиться не о чем, и лучше их не торопится стирать: они могут пригодиться при анализе посещаемости Вашего сайта. Другое место, где лежат потенциально стираемые файлы, это ``/usr/tmp/''.

Файловая система “/home” (там лежат личные файлы пользователей), смонтирована на /dev/hda3, хранит все каталоги пользователей и их файлы. Кроме того, основная страница web-сервера в дистрибутиве Red Hat хранится в каталоге /home/httpd, хотя другие дистрибутивы обычно хранят ее в файловой системе /usr (подробности в разделе Администрирование Web-сервера и HTTP Proxy главы 7).

Tip

Замечание: Если данная система выросла резко и неожиданно, значит кто-то положил много файлов в свой каталог. Проверьте файлы протокола ``/var/adm/xferlog.*'' для выявления того, кто расширил свою web-страничку.

Я также имею систему “/archive/”, смонтированную на /dev/hdb1, который является жестким диском емкостью 1.02 Gb, который может использоваться для всего (данные, пакеты программ и прочее). Большая его часть (около 70%) занята резервной копией системы (disk-to-disk full current backup).

Еще есть CD-ROM, смонтированный как “/mnt/cdrom/” на /dev/scd0, который представляет из себя 24X SCSI CD-ROM, способный читать CD в формате ISO9660. Он используется прежде всего для установки программ, но DOS/Windows CD также могут быть смонтированы и доступны из Windows 3.x/95/NT как разделяемый сетевой ресурс с помощью сервиса Samba (подробности в разделе Файловый сервис и печать через Samba главы 7).

Команда “rm” удаляет файлы. Используйте ``rm filename''. Если нужно, чтобы перед удалением файла система спросила подтверждение, используйте параметр “-i” (например, `` rm -i *''). В этом случае перед удалением каждого файла система спросит, уверены ли Вы.

Note

Обратите внимание: Это значение по умолчанию для нормальных пользователей, но root система переспрашивать не будет, если не задан параметр “-i ”!

Будьте осторожны, особенно при работе как “root”: дело может кончится сожалениеями об удалении нужного файла.


Linux Administration Made Easy
Назад Вперед

Глава 10. Обновление Linux и других приложений

Локальное оглавление
Использование Red Hat Package Manager (RPM)
Установка и обновление без RPM
Стратегии обновления и поддержки системы
Обновление ядра Linux
Обновление Red Hat Stock Kernel
Построение специального ядра
Переход к ядрам Linux 2.2.x
Настройка Apache Web Server
Настройка Squid HTTP Caching Proxy
Настройка Sendmail

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

Использование Red Hat Package Manager (RPM)

Red Hat Linux, включая ядро, библиотеки и приложения поставляется в файлах RPM. Файлы RPM, также известные как “пакеты” позволяют распространять программы, просто их ставить, удалять, обновлять, получать сведения о них. RPM файлы хранят данные о имени пакета, его версии, зависимостях от других файлов, платформе (Intel или Alpha, etc.), и о том, куда по умолчанию ставить файлы.

Утилита RPM была сначала разработана Red Hat и представлена как продукт Open Source, как и положено в мире Linux. Другие разработчики улучшили ее и добавили функциональность. Метод RPM упаковки файлов стал популярным и используется не только в Red Hat, но и в других дистрибутивах.

Популярные прикладные программы Linux почти всегда выпускаются как файлы RPM довольно быстро. Однако, в Unix мире defacto-стандартом для пакетов продолжает быть так называемый “tarballs”. Tarballs просто файлы, которые являются читаемыми утилитой ``tar''. Установка с помощью tar обычно более утомительна чем использование RPM (замечание переводчика: после работы с обеими утилитами у меня сложилось прямо противоположное мнение!). Так почему же люди так поступают? К сожалению иногда требуется несколько недель, чтобы дождаться последней версии пакета, преобразованного в RPM (много разработчиков сначала выпускают их как tarballs).

Если Вы ставите или обновляете пакеты, используя tar, база данных RPM станет устаревшей и непоследовательной. Это не страшно (когда я использовал Slackware, я использовал исключительно tar: не было никакого другого выбора, без слишком большого дискомфорта), но везде, где возможно, я пробую быть терпеливым и ждать, пока не станет доступным RPM, или посылаю вежливый запрос разработчику пакета. (Вы можете также формировать ваши собственные файлы RPM и раздавать их другим, что является иногда полезным для разработчиков, которые не имеют возможности или времени, чтобы произвести такие файлы непосредственно.)

Хорошее место для выяснения есть ли данный пакет в формате RPM: репозитарий RPM на http://rufus.w3.org/linux/RPM. Репозитарий поддерживает индексирование по категориям и хранит тысячи ссылок на пакеты.

Для запроса пакета используйте ``rpm -q pkg-name'' (например, ``rpm -q pine''). RPM сообщит Вам, какая версия пакета уже установлена, или что пакет не установлен.

Допустим, что пакет стоит, но вы скачали его новую версию. Обновите пакет командой ``rpm -Uvh pkg-name''. Если все идет хорошо, пакет будет автоматически установлен и немедленно готов для использования. Если нет, RPM даст Вам довольно хорошую причину (например, возможно, что пакет от которого зависит устанавливаемый пакет должен быть обновлен). Это может требовать немного размышления, но решения здесь очень прямые.

Если пакет еще не установлен, и Вы решаете установить его, введите: ``rpm -ivh pkg-name''. Если предварительно надо поставить еще какие-то пакеты, RPM Вам сообщит.

Иногда надо поставить пакет, доступный только в исходниках. Такой подход уменьшает шанс получить в бинарном коде троян или подобную пакость. Однако, на солидных сайтах (например, Red Hat FTP), такое маловероятно, поскольку там RPM проверяются на такие вещи. Но относительно пакета стороннего разработчика никаких гарантий нет.

В утилите RPM есть параметр ``rebuild'':

rpm -ivh --rebuild foo.src.rpm

Данная команда настроит и откомпилирует пакет ``foo'', изготовив двоичный RPM файл в каталоге `` /usr/src/redhat/RPMS/i386/'' (предполагается, что используется Linux на платформе Intel). Затем такой пакет можно поставить обычным порядком.

В заключение, если Вы имеете проблемы при получении исходного пакета, для компиляции (возможно Вы должны изменить makefile, или изменять опцию конфигурации) Вы можете использовать следующие шаги: создайте новый двоичный пакет и установите из него:


rpm -ivh foo.src.rpm
cd /usr/src/redhat/SPECS
pico -w foo.spec

Внесите любые необходимые изменения в файл ``.spec'' и введите:

rpm -ba foo.spec

Данная команда пересоздаст пакет, используя изменения из файла ``.spec''. Результат будет помещен в каталог ``/usr/src/redhat/RPMS/i386/ '' и может быть установлен оттуда на общих основаниях.

Самый лучший источник сведений про RPM ``Maximum RPM'', который доступен в формате postscript на http://www.rpm.org/maximum-rpm.ps.gz (если хотите его напечатать, имейте в виду, что понадобится много бумаги!). Есть небольшое руководство ``RPM-HOWTO'', доступное на http://www.rpm.org/support/RPM-HOWTO.html.


Linux Administration Made Easy
Назад Вперед

Глава 4. Установка и настройка оборудования

Локальное оглавление
Создание установочных дискет
Загрузка программы установки Linux
Разделение на разделы жесткого диска
Установка свопа
Выбор раздела для форматирования
Выбор пакетов для установки
Настройка оборудования
Загрузка с LILO
Скачивание и установка обновлений для Red Hat

Эта глава подробно описывает установку Red Hat 6.1 на системе x86. Порядок установки не имеет особых отличий в GUI или text-ориентированном режиме. Многое из данной информации уже описано в Red Hat User's Guide (поставляется как бумажная книжка в “Official” поставке, есть в каталоге ``/doc'' на CD и доступна на ftp://ftp.redhat.com/pub/redhat/redhat-6.1/i386/doc/rhinst/index.html, Однако, есть несколько моментов, которые не получили должного освещения в Red Hat User's Guide.

Создание установочных дискет

Первым делом надо найти способ запустить программу установки. Обычный метод состоит в том, чтобы создать диск установки, хотя, если Вы устанавливаете с CD-ROM, и BIOS вашей системы поддерживает загрузку с него, попробуйте загрузиться с него.

В противном случае создайте диск установки, для чего надо записать на дискету ``boot.img'' (который представляет собой простой образ ext2-дискеты с Linux, на которой есть программа установки). Файл `` boot.img'' находится в каталоге /images Red Hat CD-ROM или может быть загружен с FTP ftp://ftp.redhat.com/pub/redhat/redhat-6.1/i386/images.

Вы можете создать дискету начальной загрузки из DOS или Windows, или из существующей системы Linux или Unix. В качестве дискеты-адресата Вы можете использовать неформатированную или предварительно форматированную (для DOS) дискету (замечание переводчика: если на дискете были какие-то файлы, а вы их просто стерли, дискету надо переформатировать! Иначе процесс записи образа на дискету пройдет нормально, а вот загрузиться с нее не получится).

Под DOS: если привод CD-ROM имеет имя D:, введите:

d:cd \images
..\dosutils\rawrite

В качестве имени исходного файла введите: `` boot.img''. В качестве имени файла результата введите: ``a:'' (если дискета вставлена в привод A:). Программа ``rawrite'' распакует и запишет файл ``boot.img'' на дискету.

Под Linux/Unix: Если файл `` boot.img'' находится в текущем каталоге (смонтируйте CD-ROM на /mnt/cdrom, тогда файл будет в /mnt/cdrom/images), введите:


dd if=boot.img of=/dev/fd0

Утилита ``dd'' скопирует данные из исходного файла (“if”), ``boot.img '' в выходной файл (“of”) /dev/fd0 (если дискета стоит в /dev/fd0).

Возможно, ваша Linux или Unix система не позволяет кому попало производить запись на дискету. В таком случае данную команду надо выполнять как админимтратору. Если Вы знаете пароль для root, наберите ``su'', чтобы стать суперпользователем, выполните ``dd'' и введите ``exit'' для возврата к статусу обычного пользователя.

По любой из данных схем Вы сможете создать дискету установки для Red Hat 6.1 и установить Red Hat Linux.


Linux Administration Made Easy
Назад Вперед

Глава 12. Стратегия безопасности сервера

Linux может считаться более безопасной, чем другие версии UNIX. Дело в том, что по мере роста популярности Linux она становится все более интересной для хакеров, что приводит к выявлению дырок в защите и их ликвидации. Открытость системы также весьма способствует процессу устранения ошибок.

Я не специалист по защите системы, но я имел дело с большинством проблем с ней и я дам советы по обходу наиболее распространенных проблем. Хотя обновление регулярное обновление системы не дает гарантию, что защиту не обойдут, все же шансы хакеров сильно уменьшатся.

Хотя есть немало способов ворваться в систему (например, IMAP daemon exploit), основная угроза исходит все же изнутри. Связей с внешним миром не так и много, а вот в системе есть множество команд и утилит, в которых могут быть ошибки, которые могут использоваться хакером.

По этой причине я избегаю открывать пользователям доступ к оболочке, если он не абсолютно необходим. Даже если Вы рассматриваете ваших пользователей как полностью заслуживающих доверия, для взлома системы требуется только, чтобы один из этих пользователей имел слабый пароль. Получив в систему хакер непременно будет искать в ней еще дырки (замечание переводчика: точно, я сам так делаю).

Однако, можно успешно противостоять таким атакам. Детальное рассмотрение проблем защиты выходит за рамки данного руководства, так что здесь перечислено только то, что необходимо делать для уменьшения риска:

По поводу безопасности системы посмотрите хороший ресурс “Securing RedHat 5.x” доступный на http://redhat-security.ens.utulsa.edu. Еще один отличный сайт по Linux crypto и смежному софту находится на http://replay.com/redhat.


Linux Administration Made Easy
Назад Вперед

Глава 13. Получение помощи

Локальное оглавление
Установка Linux на нестандартном оборудовании
Повреждение файловой системы после отключения питания или система рухнула
Где искать помощь
Указатели на дополнительную документацию

Linux по всему миру зарабатывает репутацию эффективной и надежной системы. Однако, никакая система не совершенна, и время от времени Вы встретитесь с проблемами. Частота их возникновения измеряется месяцами и они, как правило, быстро решаются.

Установка Linux на нестандартном оборудовании

( Under construction :-p )


Linux Administration Made Easy
Назад Вперед

Глава 2. Введение

Локальное оглавление
Обзор
Выбор дистрибутива Linux

Linux 2.2.0, выпущен 25-Jan-99: Вперед к мировому господству...

Если Вы не слишком хорошо знаете Linux и ищете перечень наиболее частых задач и проблем настройки и администрирования, которые Вам придется решать, то этот документ как раз то, что нужно!

Обзор

Здесь рассматривается в общих чертах установка, настройка и поддержание в рабочем состоянии Вашей Linux-системы (сервера или рабочей станции). Здесь система не рассматривается во всех деталях: есть много хорошей документации по конкретным проблемам, и здесь предусмотрены ссылки на нее.

Вообще, Linux нетребует значительных усилий по настройке. Рутинные задачи, вроде ротации логов и их замены автоматизированы. Однако, в случаях особых потребностей или сбоя системы эта документация может оказаться полезной.

Я в настоящее время использую Linux дома и на работе. Она вот уже около четырех лет работает вполне надежно в качестве Internet и file/print сервера.


Linux Administration Made Easy
Назад Вперед

Глава 5. Настройка X Window System

Локальное оглавление
Настройка X Window System с помощью X-Configurator
Использование X Desktop Manager
Настройка шрифтов под X
Выбор Window Manager для X
Установка и настройка GNOME
Установка и настройка KDE

X Window System, или “X” (часто и ошибочно называется “X Windows”) является GUI для Linux. В отличие от Microsoft Windows, X Window System может работать и выглядеть очень по-разному.

Настройка X позволяет сделать все от простого до самого сложного! Это вызывает недовольство среди пользователей, плохо знакомых с Linux, и я сам боролся с параметрами настройки очень долго. Удачно, что такая настройка становится все проще и более автоматизированной в новых дистрибутивах Linux. Фактически, если Вы используете Red Hat 6.1, Вы не будете волноваться относительно этой проблемы. Замечание переводчика: тем не менее, мне повозиться пришлось немало...

Хотя в большинстве случаев X может быть конфигурирован автоматически, имеются исключительные ситуации; я рекоменую, чтобы Вы знали или выяснили тип платы видео и количество видео RAM, тип монитора, его разрешение, частоту горизонтальной и вертикальной развертки (эта информация обычно доступна в руководстве пользователя монитора, или может быть найдена на WWW).

Настройка X Window System с помощью X-Configurator

Имеются два основных метода получения работающей X в Red Hat Linux. Первый и самый простой метод, состоит в том, чтобы использовать собственную утилиту Red Hat ``Xconfigurator''. Она делает попытки обнаружить ваши аппаратные средства и установить применимое программное обеспечение X с соответствующими параметрами настройки конфигурации.

Если ничего не получилось, попробуйте применить утилиту ``xf86config''. Она не такая дружественная как Xconfigurator, зато дает Вам более полный контроль над процессом конфигурации графической системы.

Наконец, если уж совсем ничего не получается, придется редактировать файл `` /etc/X11/XF86Config'' ручками и подбирать параметры настройки. В такой ситуации разумно спросить совета у специалистов по Linux (см. раздел Где искать помощь в главе 13). Однако, Xconfigurator обычно все делает нормально!

После успешного запуска X Вы можете быть удивлены малым числом цветов. Дело в том, что X использует по умолчанию глубину цвета в 8 бит на пиксел (``bpp''). Вы можете использовать любую глубину цвета, поддерживаемую вашей аппаратурой.

Различные цветные глубины перечислены в вашем файле ``/etc/X11/XF86Config'', и выглядят следующим образом:

Subsection "Display"
        Depth       24
        Modes       "800x600" "1024x768"
        ViewPort    0 0
        Virtual     1024 768
    EndSubsection

Данная секция показывает возможные разрешения, которые доступны при использовании 24-разрядной цветной глубины (800x600 и 1024x768, как указано в строке “Modes”); они могут переключаться “на лету” использованием клавиш <Alt>< +> and <Alt>< ->.

Tip

Обратите внимание: Как значение по умолчанию, при запуске X задано использование самого низкого разрешения. Если Вас такое поведение не устраивает, просто отредактируйте файл ``/etc/X11/XF86Config'' и переставьте разрешения (то есть, “1024x768” “800x600”).

При запуске графики можно проверить каждое значение глубины цвета, набрав ``startx -- -bpp 24'' (для глубины 24 бита на пиксел) и посмотреть как будет работать X.

Если Вы способны успешно использовать более высокую цветовую глубину и хотите использовать ее как значение по умолчанию, Вы должны создать файл ``/etc/X11/xinit/xserverrc '':

exec X :0 -bpp 24

Здесь задано использование X глубины 24 бита на пиксел (если есть проблемы, попробуйте 16 или 32 вместо 24).

Если Вы сконфигурировали X правильно, запустите его командой ``startx'' от имени любого пользователя. X GUI запустится, и после окончания работы с ним и выхода из X, Вы вернетесь в обычную консоль Linux.

Опционально, X может запускаться при начальной загрузке системы, и всегда выполняться (см. раздел Использование X Desktop Manager). Это может быть удобно для тех пользователей, у кого аллергия на консоль.


Linux Administration Made Easy
Назад Вперед

Глава 6. Общие задачи и проблемы системного администрирования

Локальное оглавление
Логин Root
Создание пользователей
Изменение паролей пользователей
Выключение пользователей
Удаление пользоватеей
Пароли в Linux & формат файла Shadow
Выключение и перезапуск системы

Логин Root

Логин “root” наиболее привилегированный в Unix системе. Этот логин дает Вам способность выполнить все аспекты администрирования системы, включая добавление пользователей, изменение паролей пользователей, исследование журналов, установка программного обеспечения и т.д.

При использовании этого логина следует быть настолько осторожно насколько возможно. Логин “root” не имеет ограничений защиты, наложенных на нормальных пользователей. (Замечание переводчика: на самом деле сам логин root ничего не значит, важно то, что у него стоит идентификатор пользователя UID=0.). Система не спросит никаких подтверждений команд у администратора. Значит, ошибочной командой очень просто стереть критические файлы...

При работе как “root” приглашение shell будет иметь символ '#' в качестве последнего символа (если используется bash). Данный символ призван предупредить о абсолютной силе root (замечание переводчика: символ можно без проблем переопределить на $).

Никогда не заходите как “root” без крайней необходимости. Когда от “root” вводите команду, проверьте ее тщательно, а уж только потом жмите return. Как только сделаете все необходимое, тут же выйдите из системы как “root” и зайдите как нормальный пользователь. Пароль для “root” должен быть надежным! (Замечание переводчика: ненадежный пароль стоил нервов уже не одному сисопу.)

От переводчика: никогда не оставляйте на консоли доступ под логином root когда уходите! Да, дверь комнаты с сервером (наверное) имеет хороший замок, а ключи есть только у вас и других людей "кому можно". Но вот что произошло с одной моей знакомой:

Теперь о сладкой парочке: screen-сейвер и Enter. Когда saver гасит
экран я жму клавишу CTRL: научилась. Однажды я хотела почистить
каталог /tmp. Из-под root набрала:

cosga# rm -r /tmp/* # точнее хотела набрать, поскольку в момент
cosga# rm -r /      # звонит телефон и меня куда-то вызывают.

Через час я вернулась, увидела погашенный экран, и нажала клавишу
Enter. Угадай последствия. На 2 винтах по 23 ГБ. Ты думаешь, я успела
сбросить команду? Никоим образом: файловая система ext2 очень быстрая,
разработана для серверной ОС и стирает файлы оперативно.


Linux Administration Made Easy
Назад Вперед

Глава 7. Тонкая настройка системы

Локальное оглавление
Администрирование Web-сервера и HTTP Proxy
Настройка и администрирование Domain Name Server (DNS)
Авторизация пользователей Internet с TACACS
Файловый сервис и печать через Samba
Файловый сервис и печать через Netatalk
Сервисы Network File System (NFS)
Настройка от A до Z программой Linuxconf

В принципе, при установке стандартной конфигурации Red Hat Linux проблем быть не должно, но есть маленькие детали в настройках, которые хотелось бы поправить.

Локальный администратор должен знать следующее:

Web Server and HTTP Caching Proxy Administration

  1. Создайте Internet-пользователя как обычного. “shell” для логина ``/bin/bash'' (FTP требует нормальной оболочки).

  2. ``cd /home; chown root.root user'' Теперь из соображений безопасности каталог “theuser” принадлежит root.

  3. ``cd /home/theuser; mkdir www; chown theuser.theuser'' Это создает подкаталог “www” и установит владельца так, что он сможет читать/записывать в него.

  4. ``echo "exit" > .profile'' Это создает файл настройки ``.profile'' с одной строкой ``exit''. Если пользователь попробует зайти через telnet, он будет немедленно отсоединен. Замечание переводчика: если пользователь не совсем уж дурак, он исправит данный файл по FTP.

  5. Командой ``ls -l'' проверьте, что в каталоге есть только 2 файла (кроме ``..'' и ``.''):

    • .profile (принадлежит root.root)

    • www (принадлежит theuser.theuser)

    Все остальные файлы удалите (``rm .less; rm .lessrc '')

  6. Если пользователь должен переадресовывать почту, создайте файл .forward и впишите в него одну строку: e-mail адрес, на который надо пересылать почту.

Вот и все. Теперь пользователь может по FTP укладывать странички. Примерно такая технология реализована многими провайдерами.


Linux Administration Made Easy
Назад Вперед

Глава 3. Обзор Linux

Локальное оглавление
Что такое Linux?
Разрушение мифов
Перспективы одного пользователя

Добро пожаловать в Linux!

Что такое Linux?

Linux 32-битная оерационная система, работоспособная на многих платформах, в том числе: Intel, Sparc, Alpha и Power-PC (на таких системах, как Alpha, Linux реально 64-битная). Идут работы по переносу ее на другие платформы.

Linux свободно распространяемая версия UNIX, первоначально была разработана Линусом Торвальдсом (Linus Torvalds, torvalds@kruuna.helsinki.fi) в Университете Хельсинки (Финляндия) в 1990 году в качестве альтернативы 286 Minix (маленькой unix-подобной системе).

В конечном счете он объявил, свой небольшой проект в USENET-группе comp.os.minix, и пригласил всех желающих посмотреть и, возможно, поспособствовать проекту. Результаты были феноменальны!

Linux полностью свободна! Linus решил использовать GNU Copyleft license фонда Free Software, которая означает, что хотя код защищен авторским правом, но он должен всегда быть доступен.

Свободный значит свободный: Вы можете спокойно копировать и распространять систему как хотите. Ее можно также продать в виде дистрибутива. Причем, продается не система (она бесплатна!), а дистрибутив, то есть Вы берете деньги за его создание, изготовление, поддержку и т.д. Например, фирма Red Hat упаковала в дистрибутив стандартное ядро Linux, кучу утилит от GNU и множество других программ. Дистрибутив можно купить, а можно и бесплатно скачать из интернета. Наиболее популярны дистрибутивы Slackware, Red Hat, SuSe и Debian. Поскольку исходные тексты доступны, программист может адаптировать систему к своим потребностям.

Linux может и должна рассматриваться как полная реализация unix. Но она не может называться “Unix”; не из-за несовместимости или недостаточной функциональности, а из-за того, что слово “Unix” является торговой маркой AT&T и может использоваться только по лицензии.

Linux ничем не уступает любой другой ОС. Но из-за изначальной философии ее разработки, а также того, что ее никто не рекламирует, есть несколько мифов про нее.


■ · · · · · · · · · · · · · · · · · · · · · · · ·■ · · · │ · · ┌┬┴───═══════─┬─┐ · · ││LAMER HUNTER│ │ · · ││ │ │▀▀▀▀▀▀▀▀▀▀▀▀▀▀ · · └┴─┬──────────┴┬┘ · · ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▄▄▄▄▄▄▄▄ · · █ RLDP █░░░░░░░░░░░░░░░░░░░░░░░░░█WWW▄ · · █▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█ · · │0 0 O O O O O O O O O O O D · · \____________________________________/ · · · · · · · · · · · · · · · · · · · · · · · · · · · · · Если ты не ламеp, Добpо Пожаловать ! · · ■ · · · · · · · · · · · · · · · · · · · · · · · ·■ Перейти к книге LAMER (Linux Administration Made Easy Russian).
Linux Administration Made Easy
Назад Глава 7. Тонкая настройка системы Вперед

Настройка и администрирование Domain Name Server (DNS)

У меня на работе мы используем Linux как DNS-сервер. Этот раздел описывает настройку DNS таблиц и использование пакета BIND 8.x, стандартно поставляемого с Red Hat.

Note

Замечание: Red Hat 5.1 и младше использует BIND 4.x, который использовал немного другой формат файла конфигурации. BIND 8.x предлагает больше возможностей, чем BIND 4.x, а поскольку 4.x более не развивается, лучше обновить пакет BIND до последней версии. Просто установите пакет BIND RPM (см. раздел Использование Red Hat Package Manager (RPM) в главе 10), и преобразуйте ваш файл конфигурации в новый формат.

Преобразование выполнить просто! В каталоге с документацией, который является частью BIND (например, в `` /usr/doc/bind-8.1.2/'' для BIND версии 8.1.2), есть файл ``named-bootconf.pl'', который представляет собой скрипт на Perl. Если Perl у Вас установлен (замечание переводчика: если нет, поставьте: он ОЧЕНЬ пригодится), Вы можете использовать скрипт чтобы преобразовать ваш файл конфигурации. Чтобы сделать это, введите от имени root:


cd /usr/doc/bind-8.1.2 
./named-bootconf.pl < /etc/named.boot > /etc/named.conf
mv /etc/named.boot /etc/named.boot-obsolete

Вы должны теперь иметь файл ``/etc/named.conf'', который должен работать с BIND 8.x. Ваши таблицы DNS будут работать и с новой версией BIND, так как формат таблиц не изменился.

Конфигурация DNS под Linux включает следующие шаги:

  1. Для включения сервиса DNS, файл ``/etc/host.conf'' должен выглядеть следующим образом:

    
    # Lookup names via /etc/hosts first, then by DNS query
    order hosts, bind
    
    # We don't have machines with multiple addresses
    multi on
    
    # Check for IP address spoofing
    nospoof on
    
    # Warn us if someone attempts to spoof
    alert on
    
    

    Определение extra spoof чуть повысит производительность (хотя и незначительный), так что если Вы не беспокоитесь, можете отключить записи “nospool” и “alert”.

  2. Настройте как нужно файл `` /etc/hosts''. Обычно, он невелик, но для увеличения производительности можно добавить в него какие угодно адреса машин, чтобы избежать поиска их в таблицах DNS.

  3. Файл ``/etc/named.conf '' должен быть настроен, чтобы указывать на ваши DNS таблицы согласно примеру ниже.

    Note

    (Замечание: IP-адреса приведены здесь только в качестве примера и должны быть заменены на Ваши значения!):

    
    options {
      // DNS tables are located in the /var/named directory
      directory "/var/named";
    
      // Forward any unresolved requests to our ISP's name server
      // (this is an example IP address only -- do not use!)
      forwarders {
        123.12.40.17;
      };
    
      /*
       * If there is a firewall between you and nameservers you want
       * to talk to, you might need to uncomment the query-source
       * directive below.  Previous versions of BIND always asked
       * questions using port 53, but BIND 8.1 uses an unprivileged
       * port by default.
       */
      // query-source address * port 53;
    };
    
    // Enable caching and load root server info
    zone "named.root" {
      type hint;
      file "";
    };
    
    // All our DNS information is stored in /var/named/mydomain_name.db
    // (eg. if mydomain.name = foobar.com then use foobar_com.db)
    zone "mydomain.name" {
      type master;
      file "mydomain_name.db";
      allow-transfer { 123.12.41.40; };
    };
    
    // Reverse lookups for 123.12.41.*, .42.*, .43.*, .44.* class C's
    // (these are example Class C's only -- do not use!)
    zone "12.123.IN-ADDR.ARPA" {
      type master;
      file "123_12.rev";
      allow-transfer { 123.12.41.40; };
    };
    
    // Reverse lookups for 126.27.18.*, .19.*, .20.* class C's
    // (these are example Class C's only -- do not use!)
    zone "27.126.IN-ADDR.ARPA" {
      type master;
      file "126_27.rev";
      allow-transfer { 123.12.41.40; };
    };
    
    

    Tip

    Совет: Опцией allow-transfer мы ограничили область распространения зональных данных DNS указанным IP-адресом. В данном примере машина 123.12.41.40 (допустим, вторичный сервер DNS нашего домена) может запрашивать зональные данные. Если опция не задана, узнать о Ваших зональных данных DNS сможет любая машина в Internet, что часто используется spammers и IP spoofers, так что я советую ограничить область распространения вторичным DNS сервером или использовать loopback-адрес, ``127.0.0.1''.

  4. Теперь можно задать DNS таблицы в каталоге `` var/named/'' в соответствии с настройкой в файле ``/etc/named.conf''. Настройка файлов базы данных DNS в первый раз очень сложно, и выходит за рамки этого документа. Имеется несколько руководств, которые названы ниже. Я приведу несколько примеров:

    Типовой файл `` /var/named/mydomain_name.db'' прямой файл поисковой таблицы:

    
    ; This is the Start of Authority (SOA) record.  Contains contact
    ; & other information about the name server.  The serial number
    ; must be changed whenever the file is updated (to inform secondary
    ; servers that zone information has changed).
        @ IN SOA mydomain.name.  postmaster.mydomain.name. (
            19990811        ; Serial number
            3600            ; 1 hour refresh
            300             ; 5 minutes retry
            172800          ; 2 days expiry
            43200 )         ; 12 hours minimum
    
    ; List the name servers in use.  Unresolved (entries in other zones)
    ; will go to our ISP's name server isp.domain.name.com
            IN NS           mydomain.name.
            IN NS           isp.domain.name.com.
    
    ; This is the mail-exchanger.  You can list more than one (if
    ; applicable), with the integer field indicating priority (lowest
    ; being a higher priority)
            IN MX           mail.mydomain.name.
    
    ; Provides optional information on the machine type & operating system
    ; used for the server
            IN HINFO        Pentium/350     LINUX
    
    ; A list of machine names & addresses
        spock.mydomain.name.    IN A    123.12.41.40   ; OpenVMS Alpha
        mail.mydomain.name.     IN A    123.12.41.41   ; Linux (main server)
        kirk.mydomain.name.     IN A    123.12.41.42   ; Windows NT (blech!)
    
    ; Including any in our other class C's
        twixel.mydomain.name.   IN A    126.27.18.161  ; Linux test machine
        foxone.mydomain.name.   IN A    126.27.18.162  ; Linux devel. kernel
    
    ; Alias (canonical) names
        gopher      IN CNAME        mail.mydomain.name.
        ftp         IN CNAME        mail.mydomain.name.
        www         IN CNAME        mail.mydomain.name.
    
    

    Типовой файл `` /var/named/123_12.rev'' обратный файл поисковой таблицы:

    
    ; This is the Start of Authority record.  Same as in forward lookup table.
        @ IN SOA mydomain.name.  postmaster.mydomain.name. (
            19990811        ; Serial number
            3600            ; 1 hour refresh
            300             ; 5 minutes retry
            172800          ; 2 days expiry
            43200 )         ; 12 hours minimum
    
    ; Name servers listed as in forward lookup table
            IN NS           mail.mydomain.name.
            IN NS           isp.domain.name.com.
    
    ; A list of machine names & addresses, in reverse.  We are mapping
    ; more than one class C here, so we need to list the class B portion
    ; as well.
        40.41       IN PTR    spock.mydomain.name.
        41.41       IN PTR    mail.mydomain.name.
        42.41       IN PTR    kirk.mydomain.name.
    
    ; As you can see, we can map our other class C's as long as they are
    ; under the 123.12.* class B addresses
        24.42       IN PTR    tsingtao.mydomain.name.
        250.42      IN PTR    redstripe.mydomain.name.
        24.43       IN PTR    kirin.mydomain.name.
        66.44       IN PTR    sapporo.mydomain.name.
    
    ; No alias (canonical) names should be listed in the reverse lookup
    ; file (for obvious reasons).
    
    

    Любые другие обратные файлы поисковой таблицы, необходимые чтобы отображать адреса в различные классы B (типа 126.27. *) могут быть созданы, и будут очень похожи на данный файл, поскольку пример обращает файл поисковой таблицы выше.

  5. Теперь запустите демон named. Обычно он запускается из файла ``/etc/rc.d/init.d/named'' при загрузке системы. Вы также можете запускать и останавливать его ручками; командами ``named start'' и `` named stop'' соответственно.

  6. При каждом изменении таблиц DNS сервер должен быть перезапущен командой ``/etc/rc.d/init.d/named restart''. После перезапуска можно проверить изменения командой nslookup для запроса к машине, которая добавлена или изменена.

Более подробная информация по настройке DNS есть в ``DNS-HOWTO'' по адресу: http://metalab.unc.edu/Linux/HOWTO/DNS-HOWTO-5.html.


Linux Administration Made Easy
Назад Chapter 7. Custom Configuration and Administration Issues Вперед

Авторизация пользователей Internet с TACACS

У меня на работе TACACS используется для аутенфикации dial-up Internet пользователей (которые соединяются с нашим модемным пулом, который связан с двумя Cisco 250x access servers), мы используем Vikas версию “ xtacacsd”.

После компиляции и установке пакета Vikas (последние версии доступны на ftp://ftp.navya.com/pub/vikas; насколько мне известно, пакет недоступен в формате RPM), вы должны добавить такие записи в файл ``/etc/inetd.conf'', чтобы daemon был загружен inetd всякий раз, когда получен запрос TACACS.


# TACACS is a user authentication protocol used for Cisco Router products.
tacacs dgram udp wait root /etc/xtacacsd xtacacsd -c /etc/xtacacsd-conf

Теперь надо поправить файл `` /etc/xtacacsd-conf'' и настроить его для ваших задач.

Note

Замечание: Если используется затенение паролей (подробности см. в разделе Пароли в Linux & формат файла Shadow главы 6), Вы будете иметь некоторые проблемы с этим пакетом. К сожалению, PAM (Pluggable Authentication Module), используемые в Red Hat для аутенфикации юзверей, не поддерживаются этим пакетом. Один способ обхода проблемы в том, чтобы хранить отдельный файл ``passwd'' в каталоге ``/usr/local/xtacacs/etc/ '', который соответствует тому, который лежит в /etc, но не затенен. Конечно, такое решение дает неплохую дыру в защите, так что проследите, чтобы второй файл паролей мог читать только root:


chmod a-wr,u+r /usr/local/xtacacs/etc/passwd

Если Вы используете затенение, Вам придется указать в файле ``/etc/xtacacsd-conf'' расположение незатененного файла паролей (конечно, если используется описанный выше метод).

Дальше надо настроить Ваш access server(s) для входов с желательных устройств (например, dial-up модемов) с аутенфикацией по TACACS. Пример:


mail:/tftpboot# telnet xyzrouter

Escape character is '^]'.
User Access Verification
Password: ****
xyzrouter> enable
 
Password: **** 
xyzrouter# config terminal
Enter configuration commands, one per line. End with CNTL/Z.

xyzrouter(config)# tacacs-server attempts 3
 
xyzrouter(config)# tacacs-server authenticate connections

xyzrouter(config)# tacacs-server extended
 
xyzrouter(config)# tacacs-server host 123.12.41.41

xyzrouter(config)# tacacs-server notify connections

xyzrouter(config)# tacacs-server notify enable
 
xyzrouter(config)# tacacs-server notify logouts
 
xyzrouter(config)# tacacs-server notify slip
 
xyzrouter(config)# line 2 10

xyzrouter(config-line)# login tacacs

xyzrouter(config-line)# exit
xyzrouter(config)# exit
 xyzrouter# write

Building configuration...
[OK]  
xyzrouter# exit

Connection closed by foreign host.

Все сообщения о регистрации по TACACS будут сохранены в ``/var/log/messages''.


Linux Administration Made Easy
Назад Глава 7. Тонкая настройка системы Вперед

Файловый сервис и печать через Samba

Linux может предоставлять сервисы SMB (то есть, сетевое разделение файлов и принтеров в WfW, Win95 и NT), используя пакет Samba. Здесь рассказывается как настроить разделение и обеспечить доступ с клиентских машин.

Пакет Samba включен в Red Hat, Вы можете установлен ли он, и какую версию Вы имеете:

rpm -q samba

Если не установлен, поставьте, используя утилиту RPM (см. подробности в разделе Использование Red Hat Package Manager (RPM) главы 10).

Наиболее важные файлы Samba:

/etc/smb.conf

Файл настроек Samba. Здесь заданы разделяемые ресурсы и прочие параметры (см. ниже)

/var/log/samba/

Расположение файла протокола для Samba

/home/samba/

Здесьрасположены совместно используемые файлы. Однако, Вы можете сменить расположение. Лично я монтирую раздел на /archive/ и располагаю файлы там.

Файл ``/etc/smb.conf'' хранит настройки разделяемых ресурсов. Первые строки содержат глобальные директивы настройки, общие для всех ресурсов (если они не отменены для конкретного ресурса), затем идет настройка каждого ресурса.

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

В приводимом ниже примере я попробую показать Вам некоторые из наиболее важных и интересных параметров:

# Items common to all shares (unless over-ridden on a per-share basis)
[global]
   # Number of minutes of inactivity before client is disconnected
   # to avoid consuming resources.  Most clients will automatically
   # reconnect so this is a good idea to enable.
   dead time = 10

   # Don't let users connect as “root”, just-in-case.  :-)
   invalid users = root

   # Specify the account for guest shares (shares that don't require
   # a password to connect to.  This username must be a valid user
   # in the /etc/passwd file.
   guest account = guest

   # Specify where log files should be written to.  The “%m” suffix
   # means that log files will be created in the format
   # log.machine-name (eg. “log.twixel”)
   log file = /usr/local/samba/logs/log.%m

   # Maximum size of log file, in Kilobytes.
   max log size = 1000

   # Password level 3 means that case is not an issue when entering
   # passwords.  A little less secure than level 1 or 2 would be,
   # but seems to be a fair compromise for user convenience.
   password level = 3

   # Specify that all shares should appear in the browse list
   # (override any you don't want on a per-share basis).
   browseable = yes

   # If this is enabled, you can see active connections using the
   # “smbstatus” command.
   status = yes

   # The level of debugging information that is recorded in the log
   # files.  Higher values generate more information (which is
   # probably not very useful, most of the time).
   debug level = 2

   # This will send any Windows-style “POPUP” messages received on
   # the server to the postmaster by e-mail.  Not very useful, but
   # an interesting demonstration of what can be accomplished.
   message command = /bin/mail -s 'Message from %f on %m' postmaster < %s; rm %s &

   # This is a form of caching that, when enabled, may improve
   # performance when reading files.
   read prediction = true

   # A list of services that should be added automatically to the
   # browse-list.
   auto services = cdrom

   # The location of your “printcap” file, a text file containing
   # definitions for your printers.
   printcap name = /etc/printcap

   # If enabled all printers in the /etc/printcap file will be
   # loaded into the browse-list.
   load printers = yes

   # The print command by which data is spooled to a printer under Linux.
   print command = lpr -r -P%p %s

   # The print command by which job queue information (printer status)
   # can be obtained.
   lpq command = lpq -P%p

   # The print command by which unwanted print jobs can be deleted
   # from the queue.
   lprm command = lprm -P%p %j

   # The level at which Samba advertises itself for browse elections.
   # Currently set to a high value to give it an even “foot-hold” with
   # any swarmy NT servers on the network.  :-)
   os level = 34

# These are user's personal shares.  If the client's username matches on the
# server, they can access their home directory (provided they enter the
# correct password).
[homes]
   # The comments appear in the browse list.
   comment = Home Directories

   # This matches the username of the client to that of the share.
   # If they do not match, no share will be displayed in the browse
   # list, or available to connect to.
   user = %S

   # The path to the share.  For example, “smithj” would map to
   # “/home/smithj”
   path = /home/%S

   # If enabled, allow read/write access to the shares.
   writeable = yes

   # Just an inverted synonym for “writeable”. We don't *really* need
   # to use both. :-)
   readonly = no

   # Keep this disabled so that a password is required to access these
   # shares.
   public = no

   # We don't want this share (after all, it is private) to appear in
   # the browse-list of other users.
   browseable = no

# This is a publicly available print share, called “hp_laser”. It appears
# on the browse lists and can be accessed without a password by any client.
[hp_laser]
   # The comment that appears in the browse-list.
   comment = Main office printer (HP Laserjet 400)

   # The username that this share is accessed as (guest means all users).
   user = guest

   # All generated print files will first be created in the /tmp
   # directory.
   path = /tmp

   # Do not allow file creation except through print spooling.
   writeable = no

   # Set permissions accordingly -- root access to print jobs only.
   create mode = 0700

   # If this is enabled a password is not required to access the share.
   public = yes

   # This should be enabled to indicate that this is a printer share.
   printable = yes

# Here is a service providing access to the CD-ROM device.
[cdrom]
   comment = Shared CD-ROM drive on Linux
   user = guest
   path = /cdrom
   writeable = no
   read only = true
   browseable = yes
   public = yes
   guest ok = yes

Tip

Совет: Недавние версии Samba, начиная с 2.0, имеют утилиту настройки через web ``swat'', которая делает процесс намного больше дружественным. Утилита слушает TCP порт 901 Вашего сервера, так что, чтобы все настроить укажите в браузере адрес сервера и порт 901:

mydomain.name:901

(Конечно, чтобы использовать SWAT нужен запущенный web-сервер, например Apache. См. детали в разделе Администрирование Web-сервера и HTTP Proxy.)

Последние версии Samba также приобрели много дополнительных возможностей по сравнению с версиями ниже 2.0. Стоит обновить пакет.

Клиент должен иметь стек TCP/IP для соединения с разделяемыми ресурсами. Далее, для просмотра, TCP/IP должен быть привязан к NETBEUI. Под Windows 95 это может быть конфигурировано из раздела “Network” в Control Panel.

После настройки клиента, ресурсы сервера должны появиться в “Network Neighborhood” (или аналогичной системе просмотра, если используется не Windows 95/NT). Замечание переводчика: клиенты SMB доступны также под DOS, OS/2, Linux, Solaris и FreeBSD. Вы можете подсоединять сетевые диски из network neighborhood, или указывать полный путь к ресурсам (то есть, “\\mail\cdrom”). Если нужен пароль для доступа к ресурсу, он будет запрошен.

Дополнительная информация о Samba есть на Samba Home Page по адресу: http://samba.anu.edu.au/samba. Замечание переводчика: в рамках проекта Russian LDP планируется перевод документации на Samba.


Linux Administration Made Easy
Назад Chapter 3. Linux Overview Вперед

Разрушение мифов

Я давно пользуюсь Linux и немного в ней разбираюсь. Поскольку я энергичный читатель USENET, я стараюсь следовать за последними новшествами в системе. Мне известно несколько мифов, используемых продавцами коммерческих систем, чтобы протолкнуть свои технологии. Попробую их опровергнуть.

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

Такое раньше и правда имело место. Я знаю немало freeware-программ под DOS и ранние версии Windows, которые были абсолютным мусором), но сейчас это уже не истина.

Мощность Internet сделала возможным соединить некоторые из самых ярких умов в мире, делая возможным их сотрудничество в проектах, которые они находят интересными. Люди, участвовавшие в разработке Linux или тысяч GNU утилит и пакетов прикладных программ делали это из разных соображений.

Здесь есть все: хакеры с их страстью к новинкам в системах, кто-то, кому просто что-то понадобилось (например, монитор сетевого трафика для LAN на работе) и они решили написать программу сами, ученые и просто спецы по компьютерам, которые используют Linux в исследованиях.

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

Помните: Internet создан исключительно на проектах Open Source. E-mail, которой вы ежедневно обмениваетесь с множеством людей, на 80% обслуживается пакетом Sendmail, web-страницы посылаются на ваши запросы сервером Apache более чем на 50% сайтов. Это достаточно надежно?

А для других систем есть? Я имел опыт работы с одной очень популярной коммерческой операционной системой, где так называемая “поддержка” была полностью бесполезна.

Для Linux поддержка есть. Да, коммерческая поддержка. Имеются компании, которые могут обеспечивать так много поддержки, как Вы желаете оплачивать; консультации по телефону и электронной почте, даже выезд к вам, чтобы иметь дело с проблемой на месте!

Однако, в 99% ситуаций с Linux Вы способны выполнить то, что Вы желаете, если Вы можете просто получить ответ на вопрос или два. Это легко сделать в USENET или любом из списков рассылки!

Я ни разу не столкнулся с ситуацией, когда не нашел бы ответа, поискав на http://www.dejanews.com, или поспрашивав в одной из конференций comp.os.linux.*. Обычно ответа приходится ждать от 3 до 12 часов после отсылки вопроса.

Другой интересный аспект Linux то, что, поскольку исходный текст всего ядра и большинства других компонентов операционной системы является свободно доступным, проблемы типа защиты, denial of service, или ошибки в CPU (например, Intel F00F fatal exception) решены очень быстро, обычно на порядок быстрее чем решения, предлагаемые для подобных или идентичных проблем на коммерческих системах. Так где же коммерческая поддержка!?

Есть еще много всяких мифов, но они выходят за рамки данного документа. Если интересно, ознакомьтесь с их опровержением на “Linux Myth Dispeller” по адресу http://www.KenAndTed.com/KensBookmark/linux/index.html и на “The Linux FUDfactor FAQ” по адресу http://www.geocities.com/SiliconValley/Hills/9267/fud2.html.


Linux Administration Made Easy
Назад Chapter 7. Custom Configuration and Administration Issues Вперед

Файловый сервис и печать через Netatalk

Linux может также обеспечивать сервисы Appleshare (файловый сервис и печать для Macintosh), используя пакет Netatalk. Этот раздел описывает, как конфигурировать совместно используемые ресурсы и как обратиться к ним с машин пользователей.

Чтобы использовать Netatalk Вы должны иметь поддержку работы с сетями Appletalk в ядре Linux. Ядра Red Hat обычно уже включают эту поддержку как модуль, или Вы можете скомпилировать собственное ядро с такой поддержкой.

Note

Замечание: Удостоверьтесь, что поддержка Appletalk компилируется как модуль, а не включена как часть ядра (подробности в разделе Обновление ядра Linux главы 10). Иначе Вы будете иметь трудности при остановке и перезапуске Netatalk daemon.

Если поддержка Appletalk добавлена в ядро, надо поставить пакет Netatalk. Поскольку Netatalk не входит в дистрибутив Red Hat, его надо скачать с ftp://ftp.redhat.com/contrib/libc6/i386/.

После установки Netatalk надо его настроить. Настройки хранятся в файлах в ``/etc/atalk/''. Большинство файлов содержит типовые примеры конфигурации, и следовательно по крайней мере частично самодокументируется. Файлы:

config

Этот файл содержит информацию конфигурации для настройки вашего Netatalk daemon. Эта информация определена в системных переменных, и этот файл читается скриптом запуска Netatalk перед запуском сервиса. Вы можете определять число одновременных подключений, разрешен или нет гостевой вход в систему и т.д.

atalk.conf

Этот файл содержит информацию, относительно сети: маршрутизация Appletalk, регистрационное имя и т.п. Вы не должны изменять этот файл; требуемая сетевая информация обнаружена и добавлена к этому файлу, когда Вы запускаете сервер Netatalk в первый раз. Однако, Вы можете добавить ваше имя сервера.

Note

Замечание: Наберите: ``man atalkd '', чтобы получить подробную информацию об этом файле.

afpd.conf

Этот файл позволяет Вам определять дополнительные параметры, которые переданы Netatalk посредством параметров командной строки. Вы можете задать порт или IP-адрес для работы с сервером Netatalk, добавить приветственное сообщение для пользователей и изменить еще ряд опций.

Note

Замечание: Наберите: ``man afpd '', чтобы получить подробную информацию об этом файле.

papd.conf

Файл содержит информацию о предоставлении пользователям Mac права печати на сетевом принтере.

Note

Замечание: Наберите: ``man papd '', чтобы получить подробную информацию об этом файле.

AppleVolumes.default

Хранит список объектов, доступных пользователям Mac по сети. Чтобы разделить некоторый каталог по сети, введите полное имя каталога с текстовым описанием. Например:

~                "Home"
/archive/busdept "Business Department Common Files"

Будут созданы два общих ресурса для доступа пользователей с Mac: домашний каталог соответсвующего пользователя и зона business department.

Tip

Замечание: Неплохо бы обеспечить поддержку данных общих ресурсов и для Samba, тогда пользователи будут иметь одни и те же доступные ресурсы независимо от того, под чем они работают: Mac или Windows. Подробности в разделе файловый сервис и печать через Samba.

AppleVolumes.system

Хранит список объектов, доступных пользователям Mac по сети также, как и ``AppleVolumes.default''. Разница в том, что упомянутые здесь ресурсы будут доступны всем пользователям даже без их регистрации в системе. Здесь также хранится карта типов файлов.

Как только настройка закончена, запустите Netatalk:


/etc/rc.d/init.d/atalk start

Сервисы должны запускаться автоматически при запуске системы.

Подробная информация по данному сервису есть на Netatalk Home Page: http://www.umich.edu/~rsug/netatalk. Кроме того, много полезной информации о настройке хранится в Linux Netatalk HOWTO: http://thehamptons.com/anders/netatalk.


Linux Administration Made Easy
Назад Chapter 7. Custom Configuration and Administration Issues Вперед

Сервисы Network File System (NFS)

Linux может быть клиентом и/или сервером для Network File System (NFS), которая является стандартом для разделяемых файловых систем в Unix.

Note

Замечание: Пожалуйста знайте, что наличие NFS-сервиса на вашей системе может быть небезопасно с точки зрения защиты. Лично, я не рекомендую использовать NFS.

Чтобы использовать NFS, нужно обеспечить поддержку NFS ядром или модулем ядра. См. раздел Обновление ядра Linux в главе 10 для подробностей по поводу настройки ядра Linux.

Разделяемые файловые системы в NFS настраиваются правкой файла ``/etc/exports''. Здесь приведен небольшой пример:

/archive spock.mydomain.name(ro)
/archive2 spock.mydomain.name(ro)
/mnt/cdrom other.domain(ro)
/archive2 10.23.14.8(ro,insecure)

Первая пара строк разрешает системе ``spock.mydomain.name'' доступ к каталогам ``/archive'' и ``/archive2'' через NFS. Они сделаны доступными только для чтения опцией ``(ro) ''. По соображениям безопасности, неплохо бы сделать так для всех каталогов, если можно.

Третья строка разрешает любой машине в домене ``domain.name'' обращаться к CD-ROM. Конечно, CD-ROM надо сначала смонтировать в `` /mnt/cdrom''.

Note

Обратите внимание: Использование опции ``(ro))'' чтобы отметить это устройство только для чтения может казаться немного избыточным, однако оно предотвратит запись в реальную файловую систему, если CD-ROM не смонтирован.

После изменения файла `` /etc/exports'' надо перезапустить NFS daemon. Введите:

/etc/rc.d/init.d/nfs restart

Вы можете также настроить точки монтирования NFS с помощью утилиты ``Network Configurator'' из пакета ``Linuxconf''. Более подробно Linuxconf рассмотрен в разделе Настройка от A до Z программой Linuxconf .

Много информации по NFS можно найти в ``NFS-HOWTO'' по адресу: http://metalab.unc.edu/LDP/HOWTO/NFS-HOWTO.html и на man-страницах по ``nfsd'' и ``exports''.


Linux Administration Made Easy
Назад Глава 7. Тонкая настройка системы Вперед

Настройка от A до Z программой Linuxconf

Имеется превосходный инструмент, названный ``linuxconf '' который может сделать процесс настройки много проще. Linuxconf выполняется на любых средствах отображения: Вы можете выполнять его с консоли, в сеансе telnet или как GUI-инструмент под X, и Linuxconf автоматически запустится соответствующим способом.

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


Linux Administration Made Easy
Назад Chapter 8. Backup and Restore Procedures Вперед

Восстановление сервера

Как обсуждалось в разделе Резервирование сервера, процедуры восстановления зависят от Ваших программных средств. В этом разделе, я буду обсуждать методы восстановления файлов, которые были зарезервированы программами ``tar'' и ''KDat''.

Восстановление программой ``tar'':

Следующая команда восстановит все файлы из архива `` full-backup-09-October-1999.tar.gz'', который был создан в качестве примера в разделе Резервирование программой ``tar'':


tar -zxvpf /archive/full-backup-09-October-1999.tar.gz

Данная команда извлекает все файлы из сжатого архива, сохраняя права доступа и принадлежность оригинальных файлов. Опция ``x '' задает распаковку. (Другие опции описаны в разделе Резервирование программой ``tar'').

Caution

Предупреждение: Извлечение файлов требует осторожности. Возможно, при их упаковке были заданы полные пути, начинающиеся со ``/ '' (указанием опции ``--absolute-paths'' при создании архива), и файлы будут восстановлены по их абсолютному расположению, даже если Вы не хотите этого. Возможна и прямо противоположная ситуация. Еще одной ловушкой является упаковка без указания пути (иногда по недосмотру так бывает), тогда все файлы будут извлечены в один каталог. Так что лучше сначала проверить архив с параметром ``t'' (от type), а уж потом поменять ``t '' на ``x'' (от extract ).

Если Вы не должны восстановить все файлы, содержащиеся в архиве, Вы можете определить один или большее количество файлов, которые Вы желаете восстановить, как в примере:


tar -zxvpf /archive/full-backup-09-October-1999.tar.gz \
           etc/profile usr/local/bin/tolower

Данная команда восстановит из нашего архива-примера файлы ``etc/profile'' и ``usr/local/bin/tolower''.

Tip

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


tar -ztvpf /archive/full-backup-09-October-1999.tar.gz \
    | grep -i profile

В данном примере, все файлы в архиве отображаются в виде списка имен. Результат направляется в трубу команде ``grep'' (использована опция ``i'', чтобы игнорировать разницу в больших и маленьких буквах), после чего отображаются все имена, в которых встречается ``profile''. Определив нужные файлы, задайте их в команде восстановления из архива.

Как сказано в разделе Резервирование сервера, при создании архива tar срезает начальные ``/'' (slash) у полных имен файлов. Благодаря этому файлы можно восстановить в текущий каталог или каталог, заданный опцией ``--directory /''.

Note

Замечание: Безопасней всего распаковать их в какой-то отдельный каталог (например, в Ваш домашний каталог), и сравнить с имеющимися на предмет того, чтонадо восстанавливать.

Восстановление программой ``KDat'':

Для восстановления одного или нескольких файлов из KDat-архива, вставьте резервный носитель в устройство и выберите “Mount Tape” из меню “File” (или щелкните левой кнопкой мышки на пиктограмме ленты).

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

Если оглавление ленты отсутствует (возможно, Вы восстанавливаете из резервного набора, созданного на другой машине, или индексный файл был удален или как-то иначе разрушен на Вашем жестком диске), KDAT сообщит Вам об этом факте и спросит Вас, надо ли освежить оглавление ленты. Поскольку, для чтения чего-либо с ленты нужно оглавление, щелкните левой кнопкой мышки на “Yes”.

Note

(Замечание: Как только лента будет повторно проиндексирована, ее имя изменится на “Reindexed Tape”. Вы должны переименовать ее к первоначальному имени.)

Как только оглавление ленты успешно прочитался, его можно использовать для выбора каталогов или файлов, которые Вы желаете восстановить из резервного набора, аналогично тому, как создавался профиль резервирования (см. подробности о выборе файлов в разделе Резервирование сервера).

После выбора файлов Вы можете начать восстановление, выбрав “ Restore...” из меню “File” (или щелкнув левой кнопкой мыши на пиктограмме восстановления). KDat отобразит диалоговое окно, с подтверждением того, какие файлы будут восстановлены. Дополнительно можно указать каталог, в который их надо восстанавливать.

Для начала собственно восстановления щелкните по кнопке “Okay” KDat прочитает ленту и аосстановит заданные файлы.

Иногда нужно восстановить файлы с копии, сделанной KDat без использования самой программы KDat. Помните, что KDat создает копии, используя ``tar'', утилиту командной строки, которая есть во всех *nix-системах.

Так что при восстановлении с копии, сделанной KDat без использования самой программы KDat, просто используйте tar собычными опциями. Здесь надо учитывать, что KDat-копия не сжата.

Note

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


Linux Administration Made Easy
Назад Chapter 3. Linux Overview Вперед

One User's Perspective

Я работаю с Linux на работе и дома.

На работе Linux используется для предоставления услуг провайдера Internet. Сервисы включают TACACS (dial-in modem user) аутенфикацию, web page hosting и proxy caching, а также SMTP и POP почту. Кроме того, мы используем Linux для поддержки сервиса NFS, а также протокола SMB (WfW/Win95/WinNT) файловый, print и FAX сервисы, предоставляемые пакетом Samba. Замечание переводчика: в Russian LDP планируется перевод руководства Using Samba.

Дома я использую Linux для личных целей: разработка программ, сервисы Internet, и игры (Quake II под Linux работает отлично!). Одна из причин моего хорошего отношения к Linux втом, что она не падает! Она также является хорошим способом для обучения, разработки и поддержки моих Unix-проектов.

Я использую Red Hat Linux 6.1 (см. http://www.redhat.com). Данный дистрибутив включает все необходимое программное обеспечение для полновесной unix системы: оболочки, компиляторы и интерпретаторы, поддержку работы с сетями, X Window System, все сервисы Internet (Mail, news, web server, telnet, etc.). Дистрибутив поставяляется с ядром версии 2.2.12.

На работе Linux-система является главным сервером Internet:

Есть и вторая система (в другом офисе). Она работает под Red Hat 5.2 и обеспечивает файл и print сервисы по сети через Samba, локальный web caching через Squid и вторичный DNS сервис. Увы, вторая система находится в 50 км от места, где я обычно работаю, так что остается фактически на управлении по сети. И работает! Ее конфигурация:

При наличии невероятных 24+ Gb места на диске, с избыточным хранением, конфигурированным аппаратными средствами RAID5 массива, дает чувство спокойствия. Mylex RAID контроллер работает отлично, и я без колебаний рекомендую его всем, кто разыскивает аппаратное решение для RAID! (Если интересуетесь настройкой Linux с массивом RAID, см. раздел Высокая надежность и RAID в главе 11.)

Есть еще четыре системы под Linux; Alpha, Sparc и две машины Intel; и моя домашняя машина.

Этот документ содержит информацию по возможности независимую от аппаратных средств, но знание того, на какой аппаратуре все проверялось иногда может Вам весьма пригодится.


Linux Administration Made Easy
Назад Chapter 9. Various & Sundry Administrative Tasks Вперед

Управление процессами

Чтобы получить список процессов, выполняемых в данный момент, введите: ``ps -aux'', что выведет примерно вот что:

USER       PID %CPU %MEM  SIZE   RSS TTY STAT START   TIME COMMAND
bin         69  0.0  1.0   788   320  ?  S   Nov 30   0:00 /usr/sbin/rpc.portmap
frampton 10273  0.0  2.1  1136   664  p0 S    14:12   0:00 -bash
frampton 10744  0.0  1.1   820   360  p0 R    17:25   0:00 ps -aux
frampton 10745  0.0  0.8   788   264  p0 S    17:25   0:00 more
nobody   10132  0.0  1.8  1016   588  ?  S    13:36   0:00 httpd
nobody   10133  0.0  1.8   988   568  ?  S    13:36   0:00 httpd
nobody   10413  0.0  1.8  1012   580  ?  S    14:56   0:00 httpd
nobody   10416  0.0  1.8  1012   580  ?  S    14:56   0:00 httpd
nobody   10418  0.0  1.8  1012   588  ?  S    14:57   0:00 httpd
nobody   10488  0.0  1.7   976   556  ?  S    15:34   0:00 httpd
nobody   10564  0.0  1.8   988   564  ?  S    16:06   0:00 httpd
nobody   10600  0.0  1.8   988   564  ?  S    16:15   0:00 httpd
nobody   10670  0.0  1.8   988   568  ?  S    16:45   0:00 httpd
nobody   10704  0.0  1.7   976   552  ?  S    17:03   0:00 httpd
root         1  0.0  1.0   776   312  ?  S   Nov 30   1:13 init [3]
root         2  0.0  0.0     0     0  ?  SW  Nov 30   0:00 (kflushd)
root         3  0.0  0.0     0     0  ?  SW  Nov 30   0:00 (kswapd)

Список показывает владельца процесса (“nobody” для специальных сервисов, как web-сервера), идентификатор процесса, % времени CPU, занимаемого процессом, % памяти, занятой процессом и прочие данные.

Для получения подробной информации о процессе, наберите: ``ps pid'' (где “pid” задает идентификатор процесса). Например, “ps 10704 ” выведет:

10704  ?  S     0:00 /usr/local/etc/httpd/httpd

Данный процесс является web-сервером (Apache web-сервер указан в списке задач много раз, почему так получается читайте в разделе Администрирование Web-сервера и HTTP Proxy главы 7).

Если процесс повис (не действует), можно использовать “kill -HUP pid ” (здесь “pid ” является идентификатором процесса, который можно узнать из списка процессов, полученного от команды “ps”). Например, если сервисы Internet (процесс inetd, в нашем примере #123) не работает должным образом, скомандуйте: ``kill -HUP 123'' (или, что безопасней, используйте команду ``killall'' и укажите имя процесса: ``killall -HUP inetd'') должен перезапустить процесс. Опция -HUP команды kill отдает процессу сигнал “hang up”; процесс перезапустится.

Если что-то повисло уже серьезно, и тактика снятия процесса не помогла, придется перезагрузить систему. См. подробности в разделе Выключение и перезапуск системы в главе 6.

Иногда надо приостановить процесс, а потом возобновить его. Например, некая задача интенсивно использует CPU, а вам нужно записать диск на IDE CD-R. Проблема в том, что устройства на IDE используют CPU в своих обращениях к вводу/выводу. Если CPU слишком занят, то вы получите запорченный CD! Следующие две команды отправляют процесс в спячку и оживляют его:

kill -STOP 945
kill -CONT 945

Red Hat имеет лучший способ запуска и останова процессов, который описан в разделе Запуск и завершение процессов, ниже.


Linux Administration Made Easy
Назад Chapter 9. Various & Sundry Administrative Tasks Вперед

Запуск и завершение процессов

Red Hat Linux обеспечивает немного более организованный путь управления процессами. Вместо того, чтобы охотиться и уничтожать их, находя их идентификаторы в таблице процессов, Red Hat обеспечивает Вас комплектом скриптов в каталоге `` /etc/rc.d/init.d'', который позволит Вам запускать и останавливать процессы когда нужно.

Например, длязавершения сервиса ``httpd'' (Apache web-сервер), просто запустите скрипт httpd, как показано ниже:


/etc/rc.d/init.d/httpd stop

Аналогично можно использовать параметр ``start'' для запуска сервиса. Или, если Вы изменили файл настроек и должны перезапустить сервис, чтобы он их усвоил, можно использовать параметр ``restart''.

Note

(Обратите внимание: достаточно странно, но параметр `` restart'' поддерживается не всеми сервисами.)


Linux Administration Made Easy
Назад Chapter 9. Various & Sundry Administrative Tasks Вперед

Планирование процессов: Cron и файлы Crontab

Может пригодиться свойство Linux выполнять задачи в заданное время. Такое полезно при организации рутинных процедур обслуживания системы, которые должны выполняться периодически в заданное время. Такие процедуры не требуют вмешательства администратора, и могут выполняться автоматически. Для их выполнения есть утилита ``cron''. Такие задачи могут выполняться с разной частотой: от раза в минуту до раза в год.

Утилита cron в Linux очень похожа на подобные ей средства в других версиях Unix. Однако, Red Hat имеет несколько особый путь планирования задач, чем принятый в других дистрибутивах Linux. Как и в других версиях, информация о планируемых процессах заносится в системный файл ``crontab'' (в каталоге ``/etc/''), в формате:

минута час день месяц год команда

Каждый компонент может быть задан целым числом (от 1 до 12 для месяцев) или вместо компонента может стоять звездочка (``*''), которая воспринимается как любое значение (то есть, * в компоненте месяца задает выполнение команды в заданное время заданного дня каждого месяца. Например:

# Mail the system logs at 4:30pm every June 15th.
30 16 15 06 * for x in /var/log/*; do cat ${x} | mail postmaster; done

# Inform the administrator, at midnight, of the changing seasons.
00 00 20 04 * echo 'Woohoo, spring is here!'
00 00 20 06 * echo 'Yeah, summer has arrived, time to hit the beach!'
00 00 20 10 * echo 'Fall has arrived. Get those jackets out. :-('
00 00 20 12 * echo 'Time for 5 months of misery. ;-('

Заметим, что команды, вывод которых идет на стандартный вывод системы, (например, команда ``echo'' в данном примере) пошлют свой вывод пользователю ``root'' по почте. Если такой подход Васне устраивает (хотя он удобен для контроля процессов), просто перенаправьте вывод на устройство null:

00 06 * * * echo 'I bug the system administrator daily at 6:00am!' >/dev/null

В дополнение к стандартным записям в ``crontab'', Red Hat добавляет несколько каталогов:

/etc/cron.hourly/
/etc/cron.daily/
/etc/cron.weekly/

Исполняемые файлы могут быть помещены в любой из этих каталогов, и они будут выполнены ежечасно, ежедневно или еженедельно. Это сохраняет немного времени при установке частых задач: только поместите скрипт или программу (или символическую ссылку) в соответствующий каталог, и забудьте про это!


Linux Administration Made Easy
Назад Chapter 10. Upgrading Linux and Other Applications Вперед

Установка и обновление без RPM

Иногда нужно поставить или обновить пакет, для которого нет версии в формате RPM. Конечно, можно делать такое (фактически, это Defacto-стандарт в мире Unix), но я не рекомендовал бы это делать без крайней необходимости (причины изложены в разделе Использование Red Hat Package Manager (RPM)).

Если Вы должны установить что-нибудь из tarballs, общее правило для системных программ, размещать их в файловой системе ``/usr/local/''. Исходники хранятся в ``/usr/local/src/ '', откомпилированные исполняемые файлы в `` /usr/local/bin'', файлы настройки в ``/usr/local/etc/''. Такая схема делает администрирование Вашей системы проще.

Пользователи, желающие установить программное обеспечение из tarballs для их собственного частного использования, будут ставить его в иерархии под их собственными домашними каталогами.

После загрузки tarball из архива, перейдите в каталог с ним и распакуйте его командой (как root, если нужно):

tar zxvpf cardgame.tar.gz

Данная команда распакует все файлы из сжатого архива ``cardgame.tar.gz''. Опция ``z'' показывает, что архив был сжат программой gzip (не указывайте ее, если он не сжат); опция ``x'' задает распаковку всех файлов из архива. Опция ``v'' выдастна консоль имена всех распаковываемых файлов. Опция ``p'' предписывает сохранять владельца файла и права доступа такими, какими они сохранены в архиве. Наконец, опция ``f'' сообщает tar, что следующий за ней параметр задает имя архива. Не забудьте, что опции tar чувствительны к регистру (cAsE-sEnSiTiVe).

Caution

Предупреждение: Как было сказано в разделе Восстановление программой ``tar'': главы 8, я рекомендую сначала использовать опцию ``t'', что позволит просмотреть и проверить оглавление архива, а также защитит от распаковки файлов не в тот каталог, или, еще хуже, перезаписи существующих файлов.

После распаковки архива, поищите в каталоге с ним файл ``README'' или ``INSTALL'', в которых сказано, что делать с пакетом дальше. Обычно, надо скомандовать:

./configure
make
make install

Данные команды настроят пакет на Вашу систему и библиотеки, скомпилируют программу и установят и все необходимые ей файлы (библиотеки, документацию, файлы настроек) куда следует.

Однако, я все же очень советую использовать RPM, если можно.


Linux Administration Made Easy
Назад Chapter 10. Upgrading Linux and Other Applications Вперед

Стратегии обновления и поддержки системы

Время от времени Вы можете услышать о значительных обновлениях ядра Linux или прикладных программам из различных источников. Этими источниками могут быть журналы, newsgroups, web pages и т.п.

Вероятно, самый лучший интерактивный ресурс для администратора Linux http://freshmeat.net/. Этот сайт содержит описания новых Open Source приложений и проектов, документацию и другие объявления, представляющие интерес для сообщества Linux.

Другой ресурс для слежения за новыми объявлениями прикладных программ comp.os.linux.announce. Эта newsgroup хранит анонсы новых прикладных программ, обновлений ядра или прикладных программ, web-страниц и т.п. для Linux. Эта группа модерируемая, так что имеет хорошее соотношение “сигнал/шум”.

Однако, там объявляются не все обновления. Так что посещайте регулярно web-страницы или FTP сайты тех пакетов, которыми пользуетесь.


Linux Administration Made Easy
Назад Chapter 10. Upgrading Linux and Other Applications Вперед

Обновление ядра Linux

Время от времени надо обновлять ядро Linux. В нем регулярно отлавливаются ошибки и появляются новые возможности. Если Вы используете нестандартное оборудование, тоже придется перенастроить ядро.

Этот раздел описывает обновление и настройку нового ядра. Это не так трудно, как Вы можете думать!

Объявления о новых версиях ядра могут быть получены через различные источники, включая comp.os.linux.announce newsgroup, или серверы http://freshmeat.net/ и http://slashdot.org/.

Пожалуйста обратите внимание, что имеется в настоящее время два “потока” разработки ядра: один называется “stable”, а другой “development”. Для критичных приложений, например, сервер Internet, строго рекомендуется использовать stable-версии ядра.

Различие между двумя потоками в том, что development-ядра включают новые, пока еще не проверенные аппаратные драйверы, файловые системы и тому подобное, что находится только в разработке и содержит кучу проблем. Такие версии предназначены для разработчиков ядра и тех, кто ОЧЕНЬ хорошо разбирается в системе

Stable-ядра представляют новые свойства и драйверы только после того, как они были полностью проверены. Малые (Minor) выпуски в этом потоке служат, чтобы очистить любые остающиеся ошибки, которые найдены и исправлены.

Два потока используют номера версии, которые пронумерованы по-разному, чтобы помочь различить их. Устойчивые ядра пронумерованы четным вторым числом в номере версии (2.0.35, 2.0.36, 2.2.4) в то время, как development-ядра пронумерованы со вторым нечетным номером (2.1.120, 2.1.121, 2.3.0).

Последнее устойчивое ядро всегда доступно в исходных текстах и откомпилированном виде на FTP сайте ftp://ftp.redhat.com/redhat/updates. Скачайте нужные пакеты для вашей версии и платформы (например, зайдите в каталог `` /6.1/i386/'' и скачайте файлы ``kernel-*.i386.rpm'' для версии 6.1 для платформы Intel).

Note

Замечание: Вам не нужно скачивать исходные тексты ядра, если Вы не планируете формировать заказное ядро самостоятельно (подробности см. в разделе Построение специального ядра).

Иногда, может быть необходимым использовать ядро, которое еще не было сделано доступным как RPM. В этом случае, Вы можете найти последние ядра на FTP сайте ftp://ftp.kernel.org в каталоге /pub/linux/kernel/. Посмотрите каталог, соответствующий нужной главной (major) версии (сейчас ``v2.0 ''), который хранит все выпуски ядра до самого современного. Загрузите нужный пакет (например, сжатый tarball для версии 2.0.36 называется ``linux-2.0.36.tar.gz'' для платформы Intel) и распакуйте его в каталог `` /usr/src''.

Note

Замечание: Исходники почти всех устанавливаемыех пользователем не из RPM-архивов программ должны быть распакованы в подкаталогах каталога ``/usr/local/src/'' по правилам, но это ядро, и в данном случае для него делается исключение. :-)

Пожалуйста знайте, что, если Вы решаете обновлять ядро из tarball, Вы будете иметь потребность конфигурировать, компилировать, и становить его самостоятельно. Если Вы не имеете специальных потребностей, которые требуют самого последнего ядра, я настоятельно рекомендую, чтобы Вы обновляли его через Red Hat RPM-файлы: они сконфигурированы и откомпилированы для Вас, хотя Вы можете компилировать специальное ядро из RPM-файлов, если оно нужно.


Linux Administration Made Easy
Назад Chapter 10. Upgrading Linux and Other Applications Вперед

Обновление Red Hat Stock Kernel

Самый простой путь обновления вашего ядра: использование ядер в формате RPM как предусмотрено Red Hat. RPM-файлы хранят откомпилированный код ядра с поддержкой для большого числа аппаратных средств и популярных свойств.

Установка такого ядра очень проста и включает совсем не много риска. Просто введите от имени root команды:

rpm -Uvh kernel-2.0.36.i386.rpm
cd /boot
ls

Посмотрите какое имя имеет новое ядро в выводе команды ``ls''. Вам интересны файлы ``vmlinuz'': например, третий RPM-релиз ядра версии 2.0.36 назван `` vmlinuz-2.0.36-3''.

Поправьте файл настройки LILO (наберите: `` pico -w /etc/lilo.conf'') и укажите имя файла нового ядра в строке ``image=/boot/...''. Теперь скомандуйте: ``/sbin/lilo''. Если LILO сообщает об ошибке, проверьте имя файла ядра в файле ``lilo.conf'': оно должно совпадать с именем файла ядра в каталоге `` /boot/''.

Caution

Предупреждение: Не забудьте этот шаг!

(Выше предполагалось, что используется платформа Intel и LILO в качестве загрузчика системы. См. подробности в разделе Загрузка с LILO главы 4 о LILO).

После обновления ядра и исправления данных загрузчика надо перезагрузить систему с новым ядром (подробности в разделе Выключение и перезапуск системы главы 6).


Linux Administration Made Easy
Назад Chapter 10. Upgrading Linux and Other Applications Вперед

Построение специального ядра

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

Обновление ядра включает конфигурирование желательных модулей, компиляцию ядра и модулей, и в заключение установку образа ядра. Это сопровождается перезагрузкой системы, чтобы загрузить новое ядро. Все это описано в файле ``README'', поставляемом с каждым пакетом ядра. Дальнейшая информация может быть найдена в подкаталоге ``Documentation/''. Особенно полезный файл там `` Configure.help'', который содержит детализированную информацию относительно доступного ядра, параметров компиляции и модулей.

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

Первый шаг в формирование заказного ядра: скачать и поставить исходный текст ядра из RPM (рекмендуется) или из tarball. См. в разделе Обновление ядра Linux подробности о том, какие файлы нужны и где их взять.

Теперь утилитой ``rpm'' (или ``tar'') поставьте дерево исходников ядра и файлы заголовков. Например, для установки ядра 2.0.36-3 из RPM:


rpm -Uvh kernel-source-2.0.36-3.i386.rpm kernel-headers-2.0.36-3.i386.rpm

rpm -Uvh kernel-ibcs-2.0.36-3.i386.rpm

(Если Linux используется на notebook, Вам также нужен файл ``kernel-pcmcia-cs-2.0.36-3.i386.rpm '', который поддерживает функции управления питанием.)

После установки файлов ядра, Вы должны быть способны найти новое дерево исходников в каталоге `` /usr/src/linux/''.

Следующий шаг: надо скачать все дополнительные файлы драйверов (если они нужны) и установить их в новое ядерное исходное дерево. Например, чтобы добавить поддержку для Mylex DAC960 (аппаратный контроллер RAID) я загрузил драйвер с сайта http://www.dandelion.com. К сожалению, такое программное обеспечение предлагается обычно только как tarballs, так что ставьте с использованием утилиты ``tar''. Например:

cd /usr/src/
tar zxvpf DAC960-2.0.0-Beta4.tar.gz

Вы должны прочитать документацию, поставляемую с драйвером. Например, драйвер DAC960 включает файл `` README'', который поясняет как разместить скачанные файлы и применить патч ядра:


mv README.DAC960 DAC960.[ch] /usr/src/linux/drivers/block
patch -p0 < DAC960.patch

Следующий шаг: надо гарантировать, что символические связи файлов в Вашей системе не противоречат новому дереву ядра. Фактически, этот шаг должен быть ыыполнен только однажды, так как он нужен только, если Вы не компилировали заказное ядро раньше:


mail:/usr/src# cd /usr/include

mail:/usr/include# rm -rf asm linux scsi

mail:/usr/include# 
ln -s /usr/src/linux/include/asm-i386 asm
mail:/usr/include# 
ln -s /usr/src/linux/include/linux linux
mail:/usr/include# 
ln -s /usr/src/linux/include/scsi scsi
Note

Замечание: данный шаг больше не нужен для ядер версии 2.2.x или выше.

Следующий шаг: сконфигурировать ваши параметры настройки ядра. Это наиболее важный шаг в формировании заказного ядра. Если по ошибке выключите нужную возможность, узнаете про это гораздо позже... Однако, если Вы включите лишние возможности, то зря потратите память в системе (замечание переводчика: что обычно и происходит в неоптимальных стандартных ядрах).

Надо разобраться в том, что Вам нужно в системе, какие возможности должны поддерживаться, какое оборудование имеется. После нескольких попыток настройки ядра, процесс станет очень понятным и знакомым. Это в первый раз трудно, потом привыкнете!

Наберите следующее для запуска процесса настройки:


mail:/usr/include# cd /usr/src/linux

mail:/usr/src/linux# make mrproper

mail:/usr/src/linux# make menuconfig

(Вы можете ввести ``make xconfig'' вместо ``make menuconfig'' при работе в X Window System; см. главу 5 для подробностей о работе в X.)

Чтобы конфигурировать ваше ядро, пройдите различные параметры настройки, разрешите те, которые нужны, и снимите выделение (отключите) с тех, которые не нужны. Вы можете выбирать между наличием поддержки некоторого свойства, встроенной в ядро, и наличием ее как модуля, который загружается и выгружается ядром когда необходимо. (Если Вы компилируете свойство, которое фактически необходимо, чтобы загружать систему, типа SCSI драйвера, как модуль, Вы будете должны создать образ RAMDISK, или система не будет загружаться. Это делается командой ``mkinitrd''; эта процедура описана немного позже.)

При прохождении параметров настройки конфигурации, Вы можете выбрать <Help> для описания того, зачем нужна данная опция ядра.

После того, как Вы сконфигурировали ваши ядерные параметры настройки, введите следующие команды, чтобы откомпилировать ядро:


mail:/usr/src/linux# make dep ; make clean
 
mail:/usr/src/linux# make bzImage

mail:/usr/src/linux# make modules

Если Вы перекомпилируете то же самое ядро, какое Вы имели (2.0.36-3 в данном примере), стоит переместить существующие модули в какой-нибудь резервный каталог командой:


mail:/usr/src/linux# 
mv /lib/modules/2.0.36-3 /lib/modules/2.0.36-3-backup

Теперь установите новые модули:


mail:/usr/src/linux# make modules_install

Теперь скопируйте ядро в каталог ``/boot/'' и используйте LILO для обновления boot record, чтобы новое ядро распознавалось. Следующие команды изготовят резервную копию существующего ядра, скопируют новое ядро и затем обновят LILO boot record:


mail:/usr/src/linux# cd /boot

mail:/boot# cp vmlinuz vmlinuz.OLD
mail:/boot# 
cp /usr/src/linux/arch/i386/boot/bzImage vmlinuz-2.0.36
mail:/boot# /sbin/lilo

Наконец, подправьте файл ``/etc/lilo.conf'', и создайте ссылку “image” на новое ядро. Вы должны также добавить раздел, который указывает на ваше резервное ядро, названное, возможно, “OldLinux”. Пример файла:

boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50

image=/boot/vmlinuz
label=Linux
root=/dev/hdb1
read-only

image=/boot/vmlinuz.OLD
label=OldLinux
read-only

Таким образом, Вы обеспечите себе путь для отступления: если Ваше новое ядро не грузится, (устройство не распознано или daemon не запускается, хотя и должен бы), Вы можете просто ввести ``OldLinux'' чтобы загрузиться со старым ядром и исследовать проблему.

Note

Замечание: Как упомянуто выше, если Вы откомпилировали требуемое для загрузки системы свойство как модуль, Вы должны создать загрузочный образ RAMDISK, чтобы загрузить вашу систему. (Не забудьте откомпилировать Ваше ядро с поддержкой для такого образа начальной загрузки.)

Процедура для создания и использования загрузочного образа RAMDISK:

Вот и все, теперь перезагрузитесь с новым ядром!


mail:/boot# /sbin/shutdown -r now

Если ядро отказывается загружаться, не паникуйте. Загрузитесь с дискеты начальной загрузки, которая была создана в течение установки Linux. Если Вы не имеете копии этих дисков, Вы должны быть способны создать ее с Red Hat CD. Вставьте дискету в дисковод, загрузитесь с нее и на приглашение “boot :” введите:


mount root=/dev/hda1

Данная команда предполагает, что корневой раздел (“/” или root) находится на /dev/hda1.

Linux должен нормально загрузиться с дискеты. Конечно, данное ядро не поддерживает специфических возможностей, так что часть аппаратуры, возможно, не будет работать, но того, что есть хватит для устранения неполадки. Восстановите старое ядро, переустановите LILO (то есть, ``mv /vmlinuz.old /vmlinuz ; /sbin/lilo'') и перезагрузитесь. Теперь можно попробовать перекомпилировать ядро с другими опциями и повторить попытку. Замечание переводчика: если Вы предусмотрели в настройке LILO запись для старого ядра, наберите ``OldLinux'' при загрузке с жесткого диска, чтобы загрузиться со старым ядром и исследовать проблему. Здесь дискеты не понадобятся. Непонятно почему автор предусмотрел упоминание про эту возможность выше, а здесь стал описывать загрузку с дискеты, будто нет возможности загрузить старое ядро. Забыл, что ли?


Linux Administration Made Easy
Назад Chapter 1. Preface Вперед

Copyright Information and Legal Disclaimers

Замечание переводчика: Поскольку приводимая ниже информация об авторских правах является юридическим документом, а я не силен в юриспруденции, привожу ее без перевода, дабы не напутать что-либо юридическое по незнанию. Данный документ переведен на русский язык Алексеем Паутовым в 2000 году. Новые версии (если таковые будут) ищите на страничке Russian LDP http://www.botik.ru/rldp.

Copyright © 1997-1999 by Steve Frampton. This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, v0.4 or later (the latest version is presently available at http://www.opencontent.org/openpub/).

I've written this documentation and am providing it free to the Linux community as a public-service. I have made every attempt to ensure that the information contained herein is timely, accurate, and helpful, but in no way will I be held liable for any damage(s) caused directly or indirectly by any misinformation contained herein.

I will not appreciate being flamed for any errors or omissions. However, if you notice a glaring inaccuracy, or have suggestions for further improvement, please, let me know. However, please check the version number and date of this document (see the table of contents) to ensure you are looking at the most recent version. If this document is more than three months old, please check the Linux Documentation Project home page at http://metalab.unc.edu/LDP/ in case a newer version is available.

This document, currently, should be considered moderate-beta. I began writing it in 1997, and continue to update it as time permits. Development in the Open Source community continues at a rapid pace, and at times it is a challenge to keep this document up to date. As such, this document may have one or more sections which contain obsolete information.

In short, I make no guarantees for any of this information to be correct. If it helps you out, that's great!


Linux Administration Made Easy
Назад Chapter 10. Upgrading Linux and Other Applications Вперед

Переход к ядрам Linux 2.2.x

Ядро Linux 2.2.0 вышло 25 января 1999, принеся много новых свойств, улучшение эффективности и аппаратной поддержки. Любая существующая Linux-система может быть обновлена до одного из этих новых ядер, как описано в разделе Обновление ядра Linux.

Этот раздел описывает, как обновить Вашу систему до новых версий ядра. Так как Red Hat 6.0 (и выше) поставляется уже с новым ядром и пакетами обеспечения, этот раздел будет полезен только для тех, кто работет со старыми версиями, например 5.2. Я, вероятно, удалю этот раздел из будущих версий этого документа, как только я приду к выводу, что большинство пользователей мигрировало к версии 6.0 и выше.

Warning

Предупреждение! Имейте в виду, что обновлять надо не только ядро, но и ряд других пакетов, так что возможно, что кое-что будет идти ужасно неправильно. Как всегда, имейте резервные копии на случай, если что-то пойдет не так. Если Вы не имеете опыта обновления файлов с RPM или компиляции ядра, возможно, имеет смысл обновить систему до Red Hat 6.1.

Вы можете обновляться на подготовленное Red Hat ядро или построить свое собственное. Я рекомендовал бы сначала перейти на подготовленное ядро, а уж потом формировать свое настроенное ядро (см. раздел Обновление Red Hat Stock Kernel.).

Чтобы использовать последнее ядро, необходимо обновить утилиты и системные библиотеки. Red Hat выявила, какие пакеты должны быть обновлены, чтобы поддерживать самое новое ядро и поместила соответствующие файлы RPM на свой FTP сайт ftp://ftp.redhat.com/redhat/updates/5.2/kernel-2.2/i386/ (для Red Hat 5.2 на платформе i386).

Очень хорошая web-страница, детализирующая инструментальные средства которые необходимы для перехода к версии ядра 2.2.x доступна на http://www-stu.calvin.edu/clug/users/jnieho38/goto22.html; ниже я буду пытаться суммировать информацию (элементы, отмеченные ``**'' показывают, что их надо обновить для Red Hat 5.2; элементы, не обозначенные так, возможно не нужно обновлять, но стоит их проверить).

Вы должны скачать и обновить нужные пакеты, используя RPM как требуется (см. раздел Использование Red Hat Package Manager (RPM)).

Caution

Внимание: Обновление пакета ``modutils'' не работает с модулями ядер 2.0.x! Не обновляйте данный пакет пока не поставите новое ядро в ``/usr/src/linux ''.

Послеобновления инструментальных средств системы, Вы можете устанавливать исходные тексты ядра. Их можно найти на Red Hat FTP; я рекомендую загрузить одно из обновлений для Red Hat 6.1 с ftp://ftp.redhat.com/redhat/updates/6.1/i386/. Чтобы поставить нужный пакет, введите:


rpm -Uvh kernel-source*.rpm kernel-headers*.rpm

Когда исходники нового ядра будут установлены, можно спокойно обновить пакет modutils. Однако, новое ядро больше не использует модуль ``kerneld'' для работы с модулями ядра, так что отключите его перед обновлением modutils. Для выключения kerneld и обновления modutils введите от имени “root”:


/sbin/chkconfig kerneld off
/etc/rc.d/init.d/kerneld stop
rpm -Uvh modutils*.rpm

Теперь надо сконфигурировать, откомпилировать и установить ядро 2.2 как Вы обычно строили свои ядра (см. подробности в разделе Построение специального ядра. Вы можете быть удивлены, увидев количество новых параметров настройки конфигурации. Что ж, читайте справку по всем незнакомым параметрам...

Зато при следующей загрузке Вы будете работать с последней и самой большой версией ядра Linux!

Много полезной информации можно найти на Red Hat web-сайте http://www.redhat.com/corp/support/docs/kernel-2.2/kernel2.2-upgrade.html.


Linux Administration Made Easy
Назад Chapter 10. Upgrading Linux and Other Applications Вперед

Настройка Apache Web Server

На работе я использую пакет Apache для предоставления web-сервисов. Apache полнофункциональный web-сервер с полной поддержкой стандарта HTTP 1.1, proxy caching, доступа к защищенным web-страницам по паролю и множеством других возможностей. Apache один из самых популярных web-серверов (по данным Netcraft, более 54% всех web-сайтов Internet используют Apache или одну из его модификация) и предоставляет сервис равный, а часто и лучший, чем коммерческие серверы.

( Under construction. :-p )

Для отслеживания обновлений и исправлений в Apache следите за его web-сайтом http://www.apache.org на котором появляется информация о новых версиях.


Linux Administration Made Easy
Назад Chapter 10. Upgrading Linux and Other Applications Вперед

Настройка Squid HTTP Caching Proxy

На работе я использую пакет Squid для предоставления proxy-кэширования web-страниц. Squid предлагает быстродействующее кэширование web-клиентов, и поддерживает запросы по FTP, Gopher и HTTP. Кроме того, Squid может быть иерархически связан с другими Squid-proxy серверами для упрощенного кэширования страниц.

В настоящее время имеется две версии Squid. Одна, “regular”, кажется, работает хорошо на машинах с большим количеством RAM. Вторая, “SquidNOVM”, является подходящей для машин с меньшим количеством RAM (я рекомендую использовать эту версию, если Вы имеете 64 МБ RAM или меньше). В основном, версия “NOVM” использует меньшее количество памяти за счет большего количества описателей файла. Я использую эту версию, и она работает хорошо.

( Under construction :-p )

Для отслеживания обновлений и исправлений в Squid следите за его web-сайтом http://squid.nlanr.net/Squid/.


Linux Administration Made Easy
Назад Chapter 10. Upgrading Linux and Other Applications Вперед

Настройка Sendmail

Я использую пакет Sendmail для предоставления сервиса e-mail. Sendmail настолько популярен, что около 80% e-mail в Internet передается или принимается им. Есть еще один очень популярный пакет для сервера e-mail, Qmail, но я не имел случая с ним поработать.

Для отслеживания обновлений и исправлений в Sendmail, обновляйте его. К тому же, в нем постоянно отыскиваются проблемы с безопасностью. Кроме того, самые последние версии Sendmail включают мощные свойства анти-spam, которые могут помочь защитить от спама.

Этот раздел рассматривает, что нужно сделать, если Вы желаете использовать Sendmail как входящий сервер e-mail.

Для этого раздела, принимается, что Вы используете самую последнюю версию Sendmail (8.9.3 на время написания данного раздела).

В дистрибутиве Red Hat Sendmail обычно содерит настройки, пригодные для нормальной работы на большинстве серверов. Тем не менее, может понадобиться настраивать некоторые параметры настройки как требуется, для чего править файл ``/etc/sendmail.cf''. Но его правка выходит за рамки данного документа.

Я считаю полезным внести несколько поправок в настройки, чтобы защититься от спама, а именно:


O PrivacyOptions=authwarnings
change to:
O PrivacyOptions=authwarnings,noexpn,novrfy
O SmtpGreetingMessage=$j Sendmail $v/$Z; $b
change to:
O SmtpGreetingMessage=$j Sendmail $v/$Z; $b  NO UCE  C=xx L=xx

(Первое изменение не даст использовать команды ``EXPN'' и ``VRFY'' в sendmail. Данные команды также часто используются неэтичными личностями. Второе изменение изменяет сообщение, выдаваемое Sendmail при подключении. Вы должны заменить ``xx'' в записи ``C=xx L=xx'' на значения для Вашей страны. Например, в моем случае я использую ``C=CA L=ON'' для Ontario, Canada. Последнее изменение фактически не воздействует ни на что, но рекомендовалось в конференции news.admin.net-abuse.email.

Теперь, если Ваш mail-сервер имеет имя, отличное от имени хоста, Вы моете добавить псевдонимы (aliases) в файл ``/etc/sendmail.cw''. Например, если Ваша система называется “ kirk.mydomain.name” и служит для обмена почтой для mydomain.name, но входящие адреса ожидаются в формате `` user@mydomain.name'' то для доставки почты Вашим пользователим на “kirk”, добавьте такую строку:

mydomain.name

Наконец, если надо ограничить обслуживание при соединении с Вашим сервисом sendmail некоторого домена (или поддомена), можно поправить файл ``/etc/mail/access'' и задать домен и тип ограничения. Например:

some.domain             REJECT
hax0r.another.domain    550 Contact site administrator at (555) 555-1234.

В данном примере будут отклонены все e-mail запросы с сайта ``some.domain'', а также с машины ``hax0r.another.domain'', но в последнем случае будет выдано указанное сообщение.

После внесения изменений в файлы, надо обновить файл ``access.db'' и перезапустить sendmail:


/usr/sbin/makemap hash /etc/mail/access.db < /etc/mail/access

/etc/rc.d/init.d/sendmail restart

Tip

Совет: Если Вы столкнулись соспамом в немеренных количествах, может пригодиться проект “Mail Abuse Prevention System” (MAPS); web-страница данного проекта расположена на http://www.mail-abuse.org.

Если Вы используете Sendmail версии 8.9 или старше, поддержка RBL уже встроена, но выключена по умолчаню. Чтобы ее включить, надо поправить файл sendmail.mc:

FEATURE(rbl)

После чего перезапустить Sendmail daemon.

Более подробная информация, в том числе о настройке других серверов почты, есть на http://www.mail-abuse.org/rbl/usage.html.

Иногда домен, который Вам нужен, оказался в черном списке. Если связь с ним очень нужна, Sendmail позволяет Вам отменять эти области, чтобы почта с них все-таки принималась. Поправьте файл ``/etc/mail/access'' как для информации о домене, описанной выше. Например:

blacklisted.domain      OK

Не забудьте пересоздать Ваш файл access.db (описано выше)!

Если Вы решаете подписаться на RBL, стоит сообщить Вашим mail-пользователям, об этом.

Для подробной информации о Sendmail см. FAQ по адресу: http://www.sendmail.org/faq.


Linux Administration Made Easy
Назад Chapter 11. Enterprise Computing with Linux Вперед

Высокая надежность и RAID

Поскольку память нуждается в увеличении, иногда становится необходимым поместить дополнительные диски с большими емкостями интерактивно. Увы, с ростом количества дисков, растет и вероятность их отказа... :-)

Но такие сбои могут быть обработаны изящно, и более важно, без времени простоя, используя методику, названную “Redundant Array of Inexpensive Disks” (RAID), которая использует один из нескольких методов распределения данных по нескольким дискам. Эта избыточность учитывает автоматическое восстановление данных, при сбое устройства.

Этот раздел описывает установку, конфигурацию и запуск массива дисков RAID, использующего контроллер Mylex AcceleRAID DAC960. Я был поражен не только эффективностью и надежностью контроллера, но и технической поддержкой, которую я получил из Mylex: они там очень Linux-дружественные! (Однако, имеется широкое разнообразие аппаратных решений RAID для Linux, RAID может быть реализован и программным обеспечением ядра Linux.) Тип RAID, который, авидимо, наиболее полезен, RAID level 5.

Первый шаг в получении контроллера RAID, пригодного для использования под Linux, построение специального ядра с поддержкой драйвера для аппаратных средств. Драйвер для Mylex DAC960 можно скачать с Dandelion Digital Linux page по адресу: http://www.dandelion.com/Linux/DAC960-2.0.tar.gz.

Конечный шаг в получении RAID массива, пригодного для использования под Linux должен использовать утилиту ``fdisk'' для создания разделов, что делается как обычно. Подробности в разделе Разделение на разделы жесткого диска главы 4.

Note

Замечание: Драйвер DAC960 поддерживает максимум 7 разделов на логическое устройство. Если нужно больше, определите несколько логических устройств в утилите настройки RAID (нажмите во время загрузки <Alt>-< R> для запуска утилиты).

Как только массив RAID станет видим, надо инициализировать все своп-зоны и файловые системы. В следующем примере инициализируется своп-зона на третьем разделе второго диска и файловая система ext2 на первом разделе первого диска:


/sbin/mkswap -c /dev/rd/c0d1p3

/sbin/swapon /dev/rd/c0d1p3

/sbin/mkfs.ext2 -c /dev/rd/c0d0p1

Note

Замечание: Опция ``-c'' в командах ``mkswap'' и ``mkfs.ext2'' включает проверку на плохие блоки swap/file систем, которые создаются. Это требует немало времени, но лучше проверку использовать.

Для любых новых своп-зон надо сделвть запись в файле in the ``/etc/fstab'', чтобы гарантировать использование своп-зоны при следующих запусках системы:

/dev/rd/c0d1p3  swap       swap  defaults   0 0

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

Для дальнейшей информации относительно контроллера Mylex AcceleRAID посетите Mylex web-сайт http://www.mylex.com/ и Dandelion Digital DAC960 driver page http://www.dandelion.com/Linux/DAC960.html. Для дальнейшей информации относительно RAID вообще (включая программные и аппаратные решения), см. Linux High Availability web-сайт http://linas.org/linux/raid.html.


Linux Administration Made Easy
Назад Chapter 11. Enterprise Computing with Linux Вперед

Проблемы расширения и переноса сервера

С поддержкой разнообразных аппаратных средств и доказанным быстродействием и надежностью, Linux постепенно начинает применяться на все более мощной аппаратуре. Это может включать переход к SMP (Symmetric Multi Processing) конфигурации для больших возмоностей обработки процессов, RAID level от 0 до 5 (программная или аппаратная поддержка) и т.п.

Если возможностей аппаратуры уже не хватает, нужен апгрейд. Здесь есть два варианта: нарастить мощность имеющегося сервера, или перенести все на новый. Этот раздел концентрируется на второй ситуации, когда Вы будете переносить свои сервисы со старого сервера на новый.

Имеются несколько cтратегий перемещения, однако этот раздел будет пытаться объяснить некоторые основные принципы, которым Вы можете следовать, чтобы гарантировать, что перенос сервера сопровождается минимальными разрушениями для пользователей.


Linux Administration Made Easy
Назад Chapter 4. Installation and Hardware Configuration Вперед

Booting Linux Installation Program

Чтобы начать установку новой Red Hat, загрузитесь с CD или вставьте дискету установки в дисковод A: системы, и перезагрузитесь с нее. Через некоторое время появится программа установки.

В большинстве случаев, Вы можете просто нажать <Enter>, чтобы начать процесс установки, но если Вы опытный пользователь, который знает точно, как аппаратные устройства должны быть установлены, Вы можете ввести ``expert'' для предоставления дополнительной информации и возмоностей. (Если Вы ничего не сделаете, процедура установки загрузится через 10 или 15 секунд.)

Затем Вас попросят выбрать Ваш язык (обычно “ English”) и тип клавиатуры (даже в Канаде, я выбираю “US 101-key”) и то, откуда Вы будете ставить систему (с CD-ROM или по сети). Red Hat очень гибка в том, откуда моно ставить систему.

Наиболее вероятно Вы выберете ``Local CDROM'' чтобы установить с Red Hat CD-ROM (который должен быть вставлен в Ваш CD-ROM). Однако, если ваша система не оборудована устройством CD-ROM, имеется ряд других методов установки, которые Вы можете выбирать.

Если Вы имеете другую Linux систему (или любую другую операционную систему, которая поддерживает NFS), Вы можете использовать ``NFS'' чтобы установить по NFS. Чтобы сделать это, вы должны иметь CD-ROM в другой системе (или иметь дерево дистрибутива Red Hat где-нибудь на другой системе, возможно, загрузить все через FTP и затем устанавливать с жесткого диска другой системы. Удостоверитесь, что Вы имеете запись в файле /etc/exports, позволяющую новой системе доступ к соответствующему каталогу (см. раздел Сервисы Network File System (NFS) в главе 7), и затем введите соответствующие детали. Например:

Имеются другие пути установки Red Hat, например, использование Samba (Windows-сеть), с существующего раздела (например, раздела DOS или Windows 95) на вашем жестком диске, или через FTP. Подробности в Red Hat users guide.

После выбора того, откуда ставить систему, Red Hat спросит Вас что Вы делаете: “Install” или “ Upgrade”. При установке новой системы надо выбрать “Install”.

Программа установки спросит, имеете ли Вы адаптер SCSI. Если да, Вам предложат выбрать соответствующий драйвер. В некоторых обстоятельствах, Red Hat способна обнаружить адаптер автоматически.

Затем, вас будут спрашивать создать ли файловые системы (то есть, разделы для Linux). Есть две утилиты для их создания, включая Red Hat “Disk Druid” и обычный Linux “fdisk”.

Оба инструментальных средства подобны в функциях, позволяя Вам определить тип раздела и размеры. Однако, Disk Druid, кажется, немного больше дружественным, и немного более полный чем fdisk. Если Вы использовали fdisk для создания разделов, вы будете иметь дело с Disk Druid для определения точек монтирования.

Следующий раздел подробно опишет как и почему нужно создать разделы.


Linux Administration Made Easy
Назад Chapter 13. Help! Trouble in Paradise! Вперед

Повреждение файловой системы после отключения питания или система рухнула

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

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

Если проблема файловой системы более серьезна (такие проблемы имеют тенденцию вызываться дефектными аппаратными средствами типа плохого жесткого диска или чипа памяти), проверка файловой системы не может решить проблему автоматически. Это обычно, но не всегда, бывает в случае, когда корневая файловая система разрушена. В этом случае процесс начальной загрузки Red Hat отобразит сообщение об ошибках и запустит shell, позволяя Вам сделать попытку ремонта файловой системы вручную.

Поскольку оболочка восстановления не смонтировала файловые системы, кроме корневой (да и ее только для чтения: “read-only”), можно проверить все файловые системы соответствующими утилитами. Выполните для поврежденных систем e2fsck, которая обычно способна исправить ошибки.

После того, как Вы исправили (надеюсь) любые проблемы файловой системы, просто выйдите из оболочки. Linux перезагрузит систему и сделает попытку последующего рестарта.

Естественно, чтобы быть подготовленным к ситуациям типа невосстанавливаемой проблемы файловой системы, Вы должны иметь:


Linux Administration Made Easy
Назад Chapter 13. Help! Trouble in Paradise! Вперед

Где искать помощь

Поскольку Linux разрабатывается сообществом программистов, связанных через Internet, лучший способ получить совет, послать сообщение в подходящую newsgroup:

Информация, не попавшая в другие конференции

comp.os.linux.misc

Проблемы с сетями в Linux

comp.os.linux.networking

Проблемы с безопасностью в Linux

comp.os.linux.security

Установка и администрирование Linux

comp.os.linux.setup

Разные рассуждения о Linux :-p

alt.linux.sux

Для неспецифичных для Linux проблем есть свои конференции в иерархии comp.*:

Все о Cisco router/access-server

comp.dcom.sys.cisco

Разные вопросы о web-серверах

comp.infosystems.www.servers.misc

Вопросы по unix (не Linux-специфические)

comp.os.unix

Протокол SMB (WfW/95/NT file/print сервисы)

comp.protocols.smb

Есть хорошие ресурсы и в Web. Проведите поиск по слову “Linux”, или посетите сайты:

Linux Resources

http://www.linuxresources.com

The Linux Documentation Project

http://metalab.unc.edu/LDP

The RPM repository

http://rufus.w3.org/linux/RPM

The Linux Software Map

http://www.boutell.com/lsm

Linux Applications & Utilities Guide

http://www.xnet.com/blatura/linapps.shtml

LinuxHardware.net: Hardware Driver Support

http://www.linuxhardware.net

Linux User Support Team

http://www.ch4549.org/lust

The Linux v2 Information Headquarters

http://www.linuxhq.com

The Samba Home Page (WfW/95/NT file/print сервисы)

http://samba.anu.edu.au/samba

The Apache Web Server

http://www.apache.org

The Squid HTTP Proxy Caching Daemon

http://squid.nlanr.net/Squid

Может помочь подписка на списки рассылки. Найти их просто: пошлите поисковый запрос по нужным словам (например, поиск по ``linux raid mailing list'' может помочь найти список рассылки по проблемам работы с RAID под Linux). Обычно подписка сводится к отправке на подписной адрес списка e-mail письма со словом “ subscribe” в теле сообщения.

Списки рассылки Red Hat

Описание доступных списков Red Hat: http://www.redhat.com

Списки рассылки GNOME

Описание доступных списков GNOME: http://www.gnome.org/mailing-lists/index.shtml

Списки рассылки KDE

Описание доступных списков KDE: http://www.kde.org/contact.html

Список рассылки Linux SCSI

Подписной адрес: linux-scsi-request@vger.rutgers.edu

Список рассылки Linux RAID

Подписной адрес: linux-raid-request@vger.rutgers.edu

Посмотрите также интересные сайты с новостями и советами по Linux и связанным вопросам.

SlashDot: News For Nerds

http://slashdot.org/

FreshMeat: Ананосы приложений Open Source

http://freshmeat.net/


Linux Administration Made Easy
Назад Chapter 13. Help! Trouble in Paradise!  

Указатели на дополнительную документацию

Имеется невероятное количество документации по Linux и ее программам. Большинство этого может быть найдено в сети, но Вы, вероятно, обнаружите, что большое количество полезной документации уже доступно Вам, будучи загруженным как часть процедуры установки Red Hat Linux.

man-страницы помогут, когда Вы пробуете вычислить как работает команда. Например, если Вы пробуете понять, как использовать утилиту ``tar'', Вам можно посоветовать команду ``man tar'', которая обеспечит Вас очень подробным описанием tar, включая все параметры командной строки.

Вы можете найти более общую информацию в каталоге `` /usr/doc/''. Здесь Вы найдете подкаталоги, которые включают документацию по утилитам и командам, часто задаваемые вопросы (FAQ), также как HOWTO документы, обеспечивающие хороший совет по ряду тем, например, как установить работу с сетями, или поддержку для японского языка.

Посмотрите каталог `` /usr/info/'', который содержит учебники по утилитам, библиотекам и приложениям, вроде emacs.

Наконец, посмотрите документ Red Hat User's Frequently Asked Questions (FAQ) по адресу http://www.pobox.com/aturner/RedHat-FAQ, который содержит много полезной информации, специфической для Red Hat Linux.


Linux Administration Made Easy
Назад Chapter 1. Preface Вперед

Просьба о помощи

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


Linux Administration Made Easy
Назад Chapter 4. Installation and Hardware Configuration Вперед

Разделение на разделы жесткого диска

Можно получить нормальную систему Linux на одном разделе. Кстати, такой подход проще, но иногда нужно все же несколько разделов.

Диск имеет смысл поделить на четыре раздела для основных файловых систем (root, /usr, /home и swap).

Во-первых, это может уменьшить время, требуемое, чтобы выполнить проверки файловой системы, потому что эти проверки могут быть выполнены параллельно. (Между прочим, НИКОГДА не выполняйте fsck на смонтированной файловой системе!!! Вы будете сожалеть о том, что случится с ней после такой проверки, но будет уже поздно. Исключительная ситуация: если файловая система смонтирована в режиме только для чтения, тогда безопасно делать такое.) К тому же, проверять несколько разделов проще: если известно о проблеме в разделе /home, я просто размонтирую его, проверю и смонтирую снова (а вот в случае с одним разделом придется грузиться с rescue diskette в однопользовательском режиме).

Во-вторых, определенные разделы можно смонтировать только для чтения, что иногда полезно.

Наконец, важным аргументом является защита файлов: падение одной системы не означает потери всех остальных.

Этот небольшой факт может быть большым плюсом. Например, если корневой раздел так разрушен, что Вы не можете загружаться, Вы можете загружаться со спасательного набора дискет, смонтировать корневой раздел и скопировать с него все, что еще копируется, (или восстановить с копии; см. главу 8 о резервировании и восстановлении), на другой раздел, например, /home, снова перезагрузится с emergency boot disk, ввести “mount root=/dev/hda3” (если Ваша временная корневая файловая система находится на третьем разделе hda) и загрузить полностью функциональный Linux. Затем Вы можете выполнить fsck для несмонтированного разрушенного корневого раздела (замечание переводчика: мне известен сисоп, который специально создает такой резервный корневой раздел именно на случай, когда система взорвется).

Я имею личный опыт катастроф с файловыми системами и очень рад тому, что ущерб был минимален, благодаря правильному разделению на разделы.

Наконец, Linux позволяет поставить в другие разделы другие ОС (например, Windows 95/98/NT, BeOS или что хотите), и создать dual- (или triple-, ...) загрузку системы. Обычно, хотят иметь по крайней мере один отдельный раздел для каждой операционной системы. Linux включает приличный менеджер начальной загрузки (LILO на Intel-основанных системах, MILO на Alpha и SILO на Sparc), который позволяет Вам определять, которую операционную систему Вы хотите загружать при включении питания по умолчанию (вероятно, Linux, правильно?).

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

Дано:

Данный диск X Mb/Gb               (например, 2 Gb)
(Или больше чем один диск с общей емкостью в X Mb/Gb)

Посчитаем:

(swap)   примерно двойная RAM     (например, 64 Mb RAM требует 128 Mb swap)
/ (root) около 10% от доступного  (например, 200 Mb)
/home    около 20% от доступного  (например, 400 Mb)
/usr     все, что осталось        (например, 1272 Mb)

/var     (опционально: см. ниже)
/boot    (опционально: см. ниже)
/archive (опционально: см. ниже)

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

Ниже описаны разные файловые системы, что, возможно, даст Вам хорошие идеи по поводу того, чему сколько выделить:

Система точек монтирования позволяет добавлять диски по мере необходимости. Например, если кончилось место, и Вы добавили диск, скажем, sda6, то можно смонтировать его как /usr/local и передать на него все данные из каталога /usr/local. Но система и приложения как работали, так и будут работать: им совершенно все равно, где это /usr/local находится реально.

Вот как созданы разделы у меня на Intel-системе (dual boot, Windows 95 и Linux):

Device    Boot   Begin    Start      End   Blocks   Id  System
/dev/hda1  *         1        1      254  1024096+   6  DOS 16-bit >=32M
/dev/hda2          255      255      782  2128896    5  Extended
/dev/hda5          255      255      331   310432+  83  Linux native
/dev/hda6          332      332      636  1229728+  83  Linux native
/dev/hda7          637      637      749   455584+  83  Linux native
/dev/hda8          750      750      782   133024+  82  Linux swap

Первый раздел, /dev/hda1, файловая система DOS, используется для альтернативной системы (Windows 95). Занимает 1 Gb.

Второй раздел, /dev/hda2, является физическим разделом (“extended”) который охватывает остальное место на диске. Это используется только для размещения оставшихся логических разделов. (может быть до 4 физических разделов на диске; в моем случае я требовал больше чем 4 раздела, следовательно я был должен использовать логическую схему для выделения остальных разделов).

Разделы с третьего по пятый, /dev/hda5, /dev/hda6 и /dev/hda7, отформатированы в файловой системе ext2fs, и использованы как файловые системы для / (root), /usr и /home соответственно.

Наконец, шестой раздел, /dev/hda8, используется под своп.

Другой пример: машина на Alpha с двумя жесткими дисками (sole boot, только Linux):

Device Boot   Begin    Start      End   Blocks   Id  System
/dev/sda1            1        1        1     2046    4  DOS 16-bit <32M
/dev/sda2            2        2      168   346859   83  Linux native
/dev/sda3          169      169      231   130851   82  Linux swap
/dev/sda4          232      232     1009  1615906    5  Extended
/dev/sda5          232      232      398   346828   83  Linux native
/dev/sda6          399      399     1009  1269016   83  Linux native
/dev/sdb1            1        1      509  2114355   83  Linux native
/dev/sdb2          510      510     1019  2118540   83  Linux native

Первый раздел, /dev/sda1, DOS-раздел, используется для хранения MILO boot loader. Платформа Alpha имеет немного другой метод загрузки, чем система Intel, следовательно Linux сохраняет информацию начальной загрузки в разделе FAT. Этот раздел только должен быть как можно меньше, в данном случае 2 Mb.

Второй раздел, /dev/sda2, ext2, использован для раздела / (root).

Третий раздел, /dev/sda3, использован для свопа.

Четвертый раздел, /dev/sda4, является разделом “extended” (см. предыдущий пример).

Пятый и шестой разделы, /dev/sda5 и /dev/sda6, отформатированы в файловой системе ext2 и соответственно использованы для /home и /usr.

Седьмой раздел, /dev/sdb1, тоже ext2fs, использован для /archive.

Восьмой и последний раздел, /dev/sdb2, тоже ext2fs, использован для /archive2.

После выделения разделов надо записать информацию о них на диск. После этого программа установки Red Hat обновит таблицу разделов в памяти и перейдет к следующему шагу процесса установки.


Linux Administration Made Easy
Назад Chapter 4. Installation and Hardware Configuration Вперед

Установка свопа

Когда разделы созданы и настроены, и созданы точки монтирования (то есть, /usr является точкой монтирования для файловой системы /usr), программа установки спросит, какие разделы будут разделами свопа. Так как разделы свопа должны уже быть идентифицированы (partition ID #82), Вы можете нажать <Enter>, чтобы начать форматировать их для использования свопа. Я рекомендую включить “ Check for bad blocks during format”, чтобы гарантировать, что раздел свободен от плохих блоков. Это замедляет процесс форматирования, но я полагаю, что оно того стоит.


Linux Administration Made Easy
Назад Chapter 4. Installation and Hardware Configuration Вперед

Выбор разделов для форматирования

Сейчас программа установки отобразит список разделов, предназначенных для Linux и попросит, чтобы Вы выбрали, который из этих разделов Вы хотите форматировать. Вероятно, Вы будете хотеть форматировать все, кроме случая обновления системы или наличия в каком-то из них важных данных (например, в /home), которые Вы не хотите терять.

Я рекомендую включить опцию “Check for bad blocks during format”.


Linux Administration Made Easy
Назад Chapter 4. Installation and Hardware Configuration Вперед

Выбор пакетов для установки

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

Обычно я выбираю нужные мне пакеты и включаю опцию “ Select individual packages”, которая позволяет точно контролировать установку.

После выбора компонентов, нажмите на “Ok ” для их установки. Если выбрана опция “ Select individual packages”, Вас спросят о том, какие индивидуальные пакеты должны быть установлены. Это довольно просто, и если Вы не уверены в функциях пакета, нажмите клавишу < F1> для получения краткого описания пакета.

Не волнуйтесь если ошибетесь, или забудете нужный пакет. В конце концов, все пакеты находятся на CD-ROM (или других исходных средствах), так что Вы можете использовать удобный инструмент Red Hat RPM, чтобы внести изменения после того, как система запущена (подробности в разделе Использование Red Hat Package Manager (RPM) главы 10).

После того, как Вы выбрали пакеты, которые Вы желаете установить, программа установки отформатирует разделы, которые Вы определили. Это может занять некоторое время, особенно для больших разделов или если Вы включили проверку на плохие блоки, так что пожалуйста не думайте, что система заморозилась в течение этой процедуры!

После того, как форматирование завершится Red Hat Linux начнет установку выбранных пакетов. Это должно занять от 5 до 15 минут, в зависимости от быстродействия Вашей системы.


Linux Administration Made Easy
Назад Chapter 2. Introduction Вперед

Выбор дистрибутива Linux

Есть много дистрибутивов Linux. Каждый дистрибутив предлагает то же самое ядро Linux и инструментальные средства системы, но отличается методом установки и прикладными программами. Каждый дистрибутив имеет собственные преимущества и недостатки.

Дальше приводится список нескольких web-сайтов, которые Вы можете посетить в процессе выбора Linux. Каждый сайт описывает определенный дистрибутив и описывает как его можно получить или купить:

http://www.redhat.com/

Red Hat, коммерческий дистрибутив Red Hat Software, Inc. один из самых популярных дистрибутивов. С текстовой и графической версиями программы установки Red Hat 6.1, возможно, самая простая в установке Linux. Она предлагает простое обновление и управление пакетами через утилиту ``RPM'' и включает два популярных менеджера окон для X Window System: GNU Network Object Model Environment (GNOME) и ``K Desktop Environment'' (KDE). Доступен для платформ Intel, Alpha и Sparc.

http://www.debian.org

Дистрибутив Debian, создан некоммерческой организацией “The Debian Project” по концепциям Open Source. Он также предлагает простое обновление и управление пакетами через утилиту ``dpkg ''. Доступен для платформ Intel, Alpha, Sparc и Motorola (Macintosh, Amiga, Atari).

http://www.suse.com

Дистрибутив S.u.S.E. создан коммерчесой организацией S.u.S.E., еще один популярный дистрибутив и лидер в Европе. Включает ``K Desktop Environment'' (KDE), и предлагает простое управление пакетами утилитой ``YaST''. Доступен на платформах Intel и Alpha.

http://www.caldera.com

Коммерческий дистрибутив OpenLinux, создан Caldera, нацелен на чайников. С новой версии OpenLinux 2.2, Caldera сделала его очень простым, возможно, самым простым на сегодня. Включает ``K Desktop Environment'' (KDE). Основан на Red Hat и доступен только на платформе Intel.

http://www.linux-mandrake.com/

Коммерческий дистрибутив Mandrake создан фирмой MandrakeSoft S.A., и представляет собой гибрид Red Hat и Debian с добавлением некоторых программ, которых нет в оригинальных дистрибутивах.

http://www.slackware.com/

Дистрибутив Slackware созданный Patrick Volkerding в Walnut Creek Software, является дедушкой современных дистрибутивов. Предлагает довольно простую процедуру установки, но недостаточное обновление и управление пакетами. Все еще основан на библиотеках libc, но со следующей версии будет, вероятно, мигрировать к более новой glibc. Рекомендован для профи. Доступен только для Intel.

Список всех доступных дистрибутивов выходит за рамки этого документа, так что я перечислил только наиболее популярные. Однако, дальнейшая информация относительно доступных дистрибутивов может быть найдена в ``Distribution-HOWTO'' по адресу http://metalab.unc.edu/LDP/HOWTO/Distribution-HOWTO.html

Tip

Совет: Если Вы решаете покупать дистрибутив на CD-ROM, поищите у кого лучше купить. Я, например, был совершенно удовлетворен несколькими закупками в Internet-магазине http://www.cheapbytes.com/.

Я предпочитаю дистрибутив Red Hat Linux. Около трех лет я пользовался Slackware, и хотя я пробовал Red Hat в прошлом, я никогда не мог сказать об их дистрибутивах ничего хорошего. Затем я попробовал Red Hat 5.1, и мое мнение быстро изменилось! По моему мнению, Red Hat 5.1 наконец получилась какой надо.

Некоторые из причин по которым я стал болельщиком Red Hat, включают легкость установки, поддержку нескольких платформ (до недавнего времени Red Hat была единственным поставщиком, способным обеспечить дистрибутив одновременно для платформ Intel, Alpha и Solaris) и, прежде всего, администратор пакетов RPM. Кроме того, они помещают обновления в формате RPM на свой сайт FTP ( ftp://ftp.redhat.com/redhat/updates).

Начиная с версии Red Hat 5.1, я постепенно перенес наши Internet/File & Print серверы из Slackware в Red Hat. Я также поставил эту систему дома и еще на трех других системах. К тому же, я поработал не только с версией для Intel, но и для Alpha и Sparc.

Так что данный документ отражает, в основном, Red Hat Intel 6.1. Однако, по крайней мере часть информации, содержащейся в этом документе будет полезна пользователям других дистрибутивов.


Linux Administration Made Easy
Назад Chapter 4. Installation and Hardware Configuration Вперед

Загрузка с LILO

Теперь программа установки запишет на жесткий диск загрузчик. Он (LILO на Intel-системах) ответственен за загрузку Linux наряду с любыми другими операционными системами, если Вы установили систему для поддержки мультизагрузки (см. раздел Мультизагрузка с другими OS ).

Диалог “Lilo Installation” спросит куда записать образ загрузчика. Вероятней всего, Вы запишете его в master boot record первого устройства (обычно /dev/hda для IDE, /dev/sda для SCSI).

После выбора расположения загрузчика появится диалог для ввода дополнительных параметров загрузки. Обычно Вы не должны их вводить, но если Вы имеете больше чем 64 МБ RAM, Вы должны ввести специальный параметр, чтобы Linux использовала дополнительное пространствоя RAM (иначе, она будет использовать только первые 64 Mb). Например, если в системе 128 Mb RAM:

append="mem=128M"

Если ваша система имеет диски SCSI, или Вы желаете установить LILO на раздел более чем с 1023 дорожками, может быть необходима опция “ Use linear mode”. Если она не нужна, то ее задание ничему не повредит, так что лучше задайте.

Мультизагрузка с другими OS

Если вы установили систему вместе с другими ОС, Вы будете обеспечены третьим диалоговым окном, в котором вносите в список доступные разделы. Здесь, Вы можете назначать имена другим операционным системам, которые будете при загрузке вводить на подсказку “LILO” для загрузки желательной операционной системы. Программа установки назначает по умолчанию имена каждому самозагружаемому разделу, так что это не обязательно менять.

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

После установки загрузчика, програма установки поздравит Вас с успешным завершением установки Linux. Выньте дискету из дисковода и нажмите <Enter> для перезагрузки системы в Linux!

Linux загрузится, и если все идет хорошо Вы должны увидеть приглашение “login”. Отсюда, Вы должны быть способны войти как “root ” с тем паролем, который задали в процессе установки.


Linux Administration Made Easy
Назад Chapter 4. Installation and Hardware Configuration Вперед

Скачивание и установка обновлений для Red Hat

Red Hat регулярно выпускает обновления для своих дистрибутивов. Следовательно, чтобы иметь относительно новую систему, необходимо загружать и применять обновления. Эти пакеты, “rpm-файлы”, применяются, используя утилиту RPM (подробности см. в разделе Использование Red Hat Package Manager (RPM) в главе 10).

Это, оказывается, одна из самых длительных по времени задач, но ее лучше сделать, дабы избавиться от кучи дырок и проблем с хакерами!

Сначала загрузите все файлы с

ftp://ftp.redhat.com/redhat/updates/6.1/i386

(Предполагается, что Linux работает на Intel-машине).

Вы должны, вероятно, загрузить все в один каталог, и затем Вы можете просто ввести: ``rpm -Uvh *'' для обновления всех пакетов. Если вы загрузили какие-то rpm-файлы ядра, их надо пока переместить в другой каталог, поскольку обновление или настройка ядра более сложна и должна быть выполнена с большой осторожностью (см. раздел Обновление ядра Linux главы 10). Так что перестите все файлы kernel-*.rpm из временного каталога обновлений в какой-то другой.

Для применения обновлений просто запустите ``rpm'' для всех пакетов (то есть, “rpm -Uvh *”), или можете обновлять их по одному (“rpm -Uvh file_to_upgrade.rpm”). Последний метод для тех, кто желает гарантировать, что каждая модификация применяется правильно, без ошибки. :-)

Возможно Вы поинтересуетесь, установлен ли данный пакет прежде, чем Вы попытаетесь обновить его. Или Вы желаете выяснить то, какая версия данного пакета установлена. Все это может быть выполнены утилитой RPM; см. раздел Использование Red Hat Package Manager (RPM) в главе 10.


Linux Administration Made Easy
Назад Chapter 5. Configuring the X Window System Вперед

Использование X Desktop Manager

Если Вы желаете, Вы можете использовать X Desktop Manager (``xdm'') чтобы запустить X Window System автоматически при начальной загрузке системы. Это позволяет вашей Linux системе всегда выполняться под X (хотя Вы можете переключать GUI на консоли комбинациями <Ctrl>-< Alt>-<F1>, и возвращаться назад в GUI клавишами < Alt>-<F7> когда необходимо). Это хороший путь обеспечения привлекательной и дружественной среды для Вас и Ваших пользователей, и избежать необходимости вводить ``startx'' все время.

Для запуска xdm отредактируйте файл ``/etc/inittab'' и смените строку “id:3:initdefault:” на:

id:5:initdefault:

Данное изменение указывает Linux перейти после загрузки на уровень выполнения (run level) 5; этот run level, по умолчанию, запустит xdm. Вы можете также желать проверить файл ``/etc/inittab'', ближе к его концу, на предмет строки (она там должна быть, если нет, впишите):

x:5:respawn:/usr/bin/X11/xdm -nodaemon

Если Вы запустили xdm и желаете использовать значение ``bpp'' выше, чем значение по умолчанию 8 (Ваша плата видео и монитор должны поддерживать это!), надо изменить файл ``/etc/X11/xdm/Xservers'' и вписать в него:

:0 local /usr/X11R6/bin/X -bpp 24

Данное изменение запустит xdm с 24 битами на пиксел.

Вы можете также отредактировать файл ``/etc/X11/xdm/Xsetup_0'' и закомментировать символом ``#'' строку, которая начинается с ``xbanner'':

#/usr/X11R6/bin/xbanner

Теперь между сеансами KDE не будет показываться xdm banner.

Tip

Совет: Иногда Вам все-таки понадобится консоль. Например, некоторые игры работают в консоли, но не под X). Есть два способа: для временного переключения на консоль из X, нажмите <Alt><F1 >, а для обратного переключения < Alt><F7>. Или, если Вы желаете завершить X в целом (таким образом освобождается немало памяти), введите ``/sbin/telinit 3'' как “root” для переключения run-level; это сообщает XDM, что надо завершиться. Чтобы вернуться, введите как root ``/sbin/telinit5''.


Linux Administration Made Easy
Назад Chapter 5. Configuring the X Window System Вперед

Настройка шрифтов под X

Совершенно искренне, X никогда не был известен наличием особенно привлекательных шрифтов. Фактически, много людей считают себя, что наличие уродливых, противных шрифтов является неудачным фактом жизни под X.

К счастью, можно улучшить внешний вид и увеличить число шрифтов, которые Вы можете использовать под X. Фактически, если Вы обладаете копией Windows, Вы можете даже копировать шрифты TrueType с нее и использовать их под X! Такая поддержка шрифтов обеспечивается сервером шрифтов ``xfstt'' или ``xfs'' (замечание переводчика: по-моему, с TrueType может работать только сервер ``xfstt'').

Red Hat 6.1 включает поддержку ``xfs'', и в результате обеспечивает привлекательные шрифты. Следовательно, если вы используете эту версию Linux, Вы можете быть удовлетворены ситуацией. Однако, можно сделать еще кое-что для обеспечения себя хорошими шрифтами: задействовать поддержку шрифтов TrueType, если они доступны.

Для включения поддержки шрифтов TrueType создайте каталог для них (например, `` /usr/local/share/ttfonts'') и скопируйте в него нужные (или все) файлы шрифтов из Windows (там они лежат в каталоге ``c:\windows\fonts''). Замечание переводчика: каталог `` c:\windows\fonts'' скрытый, так что включите просмотр скрытых файлов, кроме того, если Windows установлена не в каталог ``c:\windows'', то каталог со шрифтами будет ``где_там_лежит_Windows\fonts ''

Tip

Совет: Если у Вас нет шрифтов TrueType, некоторые можно сгрузить с сайта Microsoft: http://www.microsoft.com/typography/fontpack/default.htm.

Для использования шрифтов из нового каталога ``ttfonts'', введите от имени root:

ttmkfdir -o fonts.scale
mkfontdir

Теперь отредактируйте файл `` /etc/X11/fs/config'' и добавьте Ваш новый каталог шрифтов в список существующих каталогов. Еще смените значение default-point-size с 120 на 140, что увеличит размер символов, сделав их более читабельными.

Наконец, выйдите из X (если Вы еще этого не сделали) и перезапустите xfs-сервер:

/etc/rc.d/init.d/xfs restart

Теперь перезапустите X и наслаждайтесь новыми шрифтами!

Более подробная информация по настройке шрифтов под X и много хороших советов есть в ``XFree86 Font Deuglification Mini HOW-TO '' по адресу: http://www.frii.com/meldroc/Font-Deuglification.html.


Linux Administration Made Easy
Назад Chapter 5. Configuring the X Window System Вперед

Установка и настройка GNOME

GNU Network Object Model Environment (GNOME) среда работы с окнами, которая расширяет вашу X Window. Это полнофункциональный пакет, включающий большой выбор прикладных программ, которые могут оказаться полезными. Однако, во время написания этого документа GNOME все еще имел несколько малых ошибок, что означает, что Вам придется иногда выносить неожиданное его поведение. Однако, он довольно устойчив и определенно пригоден для использования!

Если вы используете Red Hat 6.1, последняя версия GNOME (по крайней мере, последняя на время написания этого документа!) включена в дистрибутив. Иначе, Вы будете должны загрузить последний дистрибутив в RPM-пакете. На момент написания данного документа RPM-файлы для Red Hat 6.0 i386 могут быть найдены на ftp://ftp.gnome.org/pub/GNOME/RHAD/redhat-6.0/i386 (или на сайтах зеркал).

Note

Замечание: Если вы используете Red Hat 6.0, знайте, что в ее поставку входит очень ранняя версия GNOME. Вам следует загрузить последний RPM-пакет с FTP-сайта, как описано выше.

После того, как Вы получите все необходимые файлы, пакет GNOME можно установить командой (как “root”):

rpm -Uvh gtk*.rpm *.rpm

(Данная команда гарантирует, что библиотеки GTK будут установлены сначала, во избежание ошибок зависимостей).

Вопреки распространенному мнению, GNOME не менеджер окон, он просто дополняет выбранный Вами менеджер. Так что, установив GNOME, выберите нужный менеджер окон и создайте свой файл ``.xinitrc'' в своем домашнем каталоге, который загружает нужный менеджер и GNOME. Файл может выглядеть примерно так:

afterstep &
exec gnome-session

Данный файл загрузит AfterStep в качестве менеджера окон, а потом GNOME.

Подробности о GNU Network Object Model Environment можно найти на GNOME web page по адресу: http://www.gnome.org. Посмотрите скриншоты на http://www.gnome.org/screenshots.


Linux Administration Made Easy
Назад Chapter 5. Configuring the X Window System Вперед

Установка и настройка KDE

K Desktop Package (KDE) популярный менеджер окон, чуть более совершенный, чем GNOME. Однако, он требует большего количества ресурсов памяти, чем GNOME (если у Вас меньше 64 Mb RAM и 128 Mb свопа, лучше пользуйтесь GNOME).

Первый шаг в установке KDE: скачать последний дистрибутив в RPM-пакете. Посмотрите какое зеркало ближе всего, список можно найти на http://www.kde.org/mirrors.html.

Когда Вы нашли подходящее зеркало, сгрузите все RPM-файлы для Вашей версии Red Hat и платформы. Например, если используется Red Hat 5.2 (выше) на Intel, надо качать пакеты из каталога `` /pub/mirrors/kde/stable/latest/distribution/rpm/RedHat-5.2/i386/'' на FTP.

После того, как Вы получите все необходимые файлы, пакет KDE может быть установлен следующими простыми командами от имени “root” (удостоверьтесь, что перешли в каталог с файлами пакетов дистрибутива):

rpm -Uvh qt*.rpm
install-kde-1.1-base

Данные команды установят сначала библиотеки Qt, и затем пакет ядра KDE. Как только это выполнено, Вы должны выйти и зайти в систему снова так, чтобы Ваша переменная path была установлена соответственно, затем введите:

install-kde-1.1-apps

Данная команда установит прикладные программы.

Процедура установки детально рассмотрена в файле ``readme-redhat-rpms.txt'', который должен быть среди скачанных файлов KDE.

Если все идет хорошо, и KDE был установлен без ошибок, Вы можете, если желаете, сконфигурировать KDE, чтобы он был заданным по умолчанию менеджером окон для любого из пользователей (того, который они будет видеть немедленно после команды ``startx''), для чего введите как “root”:

/opt/kde/bin/usekde userid

(Удостоверьтесь, что Вы заменили userid на фактический идентификатор пользователя (user id)!

Подробности о K Desktop Environment можно найти на KDE web page по адресу http://www.kde.org. Посмотрите на скриншоты на http://www.kde.org/kde2shots.html.


Linux Administration Made Easy
Назад Chapter 6. General System Administration Issues Вперед

Создание пользователей

Warning

(ПРЕДУПРЕЖДЕНИЕ: МАТЕРИАЛ ОРИЕНТИРОВАН НА SLACKWARE! ДЛЯ RED HAT НУЖНО СМОТРЕТЬ, ЧТО ДЕЛАЕТЕ.)

Этот раздел предполагает, что Вы используете затенение паролей (Shadow password) на вашей Linux-системе. Если Вы их не используете, Вы должны рассмотреть их использование в целях усиления защиты. Пакет Shadow suite довольно прост в установке и автоматически преобразует ваш не-теневой файл паролей к новому формату.

Для создания пользователя надо сделать два шага. Сначала надо собственно создать пользователя, а потом создать ему псевдоним e-mail (у меня на работе мы используем формат “Firstname.Lastname@our.domain.name”.)

Для создания пользователя придумайте username, который Вы собираетесь назначить пользователю. Username длиной до 8 символов, и везде, где возможно, Вы должны выбрать фамилию или фамилию и имя пользователя (скрипт adduser обнаружит и защитит Вас от создания одинаковых имен пользователей).

Вас спросят о параметрах пользователя: полное имя, группа (обычно значение по умолчанию, замечание переводчика: в нескольких русских документах по Linux мне приходилосьвстречать термин стая юзверей), user id # (автоматически назначается), домашний каталог (автоматически назначается), оболочка пользователя, значения выдыхаемости пароля (замечание переводчика: Linux имеет механизм выдыхающихся паролей, которые действительны только определенное время, потом система их блокирует: пароль выдохся) и наконец желательный пароль (который не будет отображен; длина пароля от 6 до 8 символов из соображений безопасности). Замечание переводчика: многие системы разрешают задать пароль длиной до 128 символов, но реализована его поддержка так, что все, что выходит за пределы 8 символов, наоборот понижает надежность!

Пожалуйста обратите внимание, что все должно быть введено в нижнем регистре, кроме полного имени пользователя и пароля. Имейте в виду, что в новых версиях Linux username чувствителен к регистру, что порой доставляет больше вреда, чем пользы.

Для примера добавим в систему пользователя Joe Smith:


mail:~# /sbin/adduser

User to add (^C to quit): smith
That name is in use, choose another.

User to add (^C to quit): smithj
Editing information for new user [smithj]

Full Name: Joe Smith
GID [100]:  
Checking for an available UID after 500
First unused uid is 859
UID [859]:  
Home Directory [/home/smithj]: 
 
Shell [/bin/bash]:  

Min. Password Change Days [0]:  

Max. Password Change Days [30]: 90
Password Warning Days [15]: 
  
Days after Password Expiry for Account Locking [10]: 0

Password [smithj]:</ FL1539

Retype Password:</ Fl1539
Sorry, they do not match.

Password:</> FL1539

Retype Password:</ FL1539

Information for new user [smithj]:
Name: Joe Smith
Home directory: /home/smithj
Shell: /bin/bash
Password: <hidden>
Uid: 859        Gid: 100
Min pass: 0     maX pass: 99999
Warn pass: 7    Lock account: 0
public home Directory: no
Type 'y' if this is correct, 'q' to cancel and quit the program,

or the letter of the item you wish to change: Y

Следующим шагом является создание псевдонима для e-mail. Если человеку пишут впервые, то такой псевдоним существенно облегчит вычисление его e-mail, использованием просто его полного имени (комбинация Имя.Фамилия). С другой стороны, можно в качестве адреса использовать и его username (замечание переводчика: идея хороша!).

Для создания псевдонима e-mail отредактируйте файл ``/etc/aliases'':

mail# pico -w /etc/aliases

Добавьте новый псевдоним в конец файла. Формат псевдонима:

First.Lastname:username

Вам надо спросить у пользователя, какой псевдоним он предпочитает. Для нашего примера, Joe Smith:

Joe.Smith:smith

Для завершения добавления псевдонима нажмите <Ctrl>-< X> и сохраните файл. Затем обновите базу данных псевдонимов командой ``newaliases''.

Теперь пользовательский аккаунт готов к работе. Надо сообщить пользователю его логин (username) и пароль, и сказать, что его e-mail адрес теперь ``Joe.Smith@mail.mydomain.name''.


Linux Administration Made Easy
Назад Chapter 6. General System Administration Issues Вперед

Изменение паролей пользователей

Для изменения пароля пользователя, зайдите как “root”. Затем введите: ``passwd user'' (здесь user задает имя пользователя, пароль которого Вы собрались менять). Система запросит пароль. При вводе пароль не отобраается.

Вы можете также сменить свой пароль командой ``passwd '' (без указания имени пользователя). Вас спросят о старом пароле, а потом о новом.


Linux Administration Made Easy
Назад Chapter 6. General System Administration Issues Вперед

Удаление пользоватеей

При случае, Вы можете желать удалить пользователя из Вашей системы вообще.

Если Вы пользователь Red Hat, самый простой способ удалить ненужного пользователя команда ``userdel'', которая должна быть введена от имени ``root''. Например:

/usr/sbin/userdel baduser

Данная команда удалит запись о пользователе ``baduser из файла ``/etc/passwd '' и, если используется затенение паролей (подробности о нем в разделе Пароли в Linux & формат файла Shadow ), то и из файла ``/etc/shadow ''.

Note

Замечание: Файл ``/etc/group '' не модифицируется, дабы не удалить группу, к которой могут принадлежать другие пользователи. Так что если нужно, придется поправить файл ручками и удалить группу самому.

Если Вы желаете заодно удалить домашний каталог пользователя, добавьте параметр ``-r'' к команде ``userdel''. Например:

/usr/sbin/userdel -r baduser

Я советую не удалять пользователя сразу, а сначала просто отключить: мало ли кому еще понадобятся файлы из его домашнего каталога. Другой вариант: смена служащего, которому принадлежала пользовательская запись. Взятому на его место понадобится именно эта запись и, скорее всего, данные в домашнем каталоге. В любом случае позаботьтесь о резервной копии данных “на всякий случай”. Подробности о временной блокировке пользователя можно найти в разделе Выключение пользователей, а о резервировании в главе 8.


Linux Administration Made Easy
Назад Chapter 6. General System Administration Issues Вперед

Пароли в Linux & формат файла Shadow

Традиционные Unix системы хранят данные о пользователях вместе с зашифрованным паролем в текстовом файле ``/etc/passwd''. Поскольку этот файл используется многими инструментальными средствами (типа ``ls'') чтобы отобразить владельца файла и другие подобные сведения, файл должен быть открыт на чтение для всех, что, конечно, дает отличный шанс хакерам.

Другой метод хранения информации, тот, который я всегда использую, затенение паролей. Как и раньше, есть файл /etc/passwd с данными о пользователях. Однако, вместо паролей ставится символ “x”, а пароли хранятся отдельно в файле `` /etc/shadow'', в котором хранятся зашифрованные пароли и некоторая дополнительная информация о паролях. Файл /etc/shadow доступен для чтения только root, что повышает защиту.

В Red Hat Linux установка пакета Shadow Password Suite, ответственного за теневые пароли, проста. Наберите как root:

  /usr/sbin/pwconv      Для конвертации в формат shadow
  /usr/sbin/pwunconv    Для конвертации назад в нормальный формат

С теневыми (shadow) паролями файл ``/etc/passwd'' хранит сведения о пользователях в виде:

smithj:x:561:561:Joe Smith:/home/smithj:/bin/bash

Каждое поле в записи отделено символом “:”:

Если нужно чтобы пользователь не имел доступа к shell, создайте скрипт ``/bin/sorrysh'', который выведет соотвтетствующее сообщение и завершит работу пользователя. Впишите скрипт сюда в качестве оболочки.

Note

Замечание: Если пользователь должен передавать файлы по “FTP” shell должна быть нормальной оболочкой, например, ``/bin/bash'', а чтобы не давать shell-доступа надо настроить доступ в домашнем каталоге пользователя. См. раздел Администрирование Web-сервера и HTTP Proxy в главе 7.

Файл ``/etc/shadow'' хранит данные о пользователе в формате:

smithj:Ep6mckrOLChF.:10063:0:99999:7:::

Как и в файле passwd, каждое поле в файле shadow отделяется двоеточием:


Linux Administration Made Easy
Назад Chapter 6. General System Administration Issues Вперед

Выключение и перезапуск системы

Для перезагрузки системы зайдите с терминала как “root” и введите: ``/sbin/shutdown -r now''. Подождите, пока все процессы будут завершены. Тогда Linux перезапустит компьютер. Имейте терпение, поскольку процесс займет несколько минут. В некоторых случаях систему настраивают так, что нажатие <Ctrl>-< Alt>-<Del> приводит к тем же действиям.

Можно также остановить выключить систему. После останова загрузить систему можно перезагрузкой по <Ctrl>-< Alt>-<Del>. Для останова войдите как “root” и введите ``/sbin/shutdown -h now''. Linux завершит работу и отобразит сообщение “System halted”. При его получении можно выключить питание системы.

Система может быть перезагружена дистанционно (через удаленный сеанс shell). Теоретически, здесь могут быть проблемы, но я с ними не сталкивался.

Tip

Совет: Если Вы желаете обеспечить некоторое предупреждение любым пользователям, работающим в системе с shell), Вы можете подставить числовое значение вместо ключевого слова “now”. Можно задать и предупреждающее сообщение. Например, ``/sbin/shutdown -r +5 Hardware upgrade'' сообщит пользователям, что система останавливается по техническим причинам.


LAMER
(Linux Administration Made Easy Russian)


Перевод на русский выполнен Алексеем Паутовым в рамках проекта Russian LDP, <rldp@ftp.botik.ru>


Основано на Linux Administration Made Easy

by Steve Frampton, <frampton@LinuxNinja.com>

Руководство “Linux Administration Made Easy” (LAME) рассматривает наиболее частые задачи и проблемы администрирования Linux. Является частью Linux Documentation Project.


Оглавление
1. Предисловие
Благодарности
Информация о авторских правах
Просьба о помощи
2. Введение
Обзор
Выбор дистрибутива Linux
3. Обзор Linux
Что такое Linux?
Разрушение мифов
Перспективы одного пользователя
4. Установка и настройка оборудования
Создание установочных дискет
Загрузка программы установки Linux
Разделение на разделы жесткого диска
Установка свопа
Выбор разделов для форматирования
Выбор пакетов для установки
Настройка оборудования
Загрузка с LILO
Мультизагрузка с другими OS
Скачивание и установка обновлений для Red Hat
5. Настройка X Window System
Настройка X Window System с помощью X-Configurator
Использование X Desktop Manager
Настройка шрифтов под X
Выбор Window Manager для X
Установка и настройка GNOME
Установка и настройка KDE
6. Общие задачи и проблемы системного администрирования
Логин Root
Создание пользователей
Изменение паролей пользователей
Выключение пользователей
Удаление пользоватеей
Пароли в Linux & формат файла Shadow
Выключение и перезапуск системы
7. Тонкая настройка системы
Администрирование Web-сервера и HTTP Proxy
Настройка и администрирование Domain Name Server (DNS)
Авторизация пользователей Internet с TACACS
Файловый сервис и печать через Samba
Файловый сервис и печать через Netatalk
Сервисы Network File System (NFS)
Настройка от A до Z программой Linuxconf
8. Резервирование и восстановление
Резервирование сервера
Резервирование программой ``tar'':
Резервирование программой ``KDat'':
Восстановление сервера
Восстановление программой ``tar'':
Восстановление программой ``KDat'':
Резервирование настроек роутера Cisco
9. Различные задачи администрирования
Проверка места на дисках
Управление процессами
Запуск и завершение процессов
Планирование процессов: Cron и файлы Crontab
10. Обновление Linux и других приложений
Использование Red Hat Package Manager (RPM)
Установка и обновление без RPM
Стратегии обновления и поддержки системы
Обновление ядра Linux
Обновление Red Hat Stock Kernel
Построение специального ядра
Переход к ядрам Linux 2.2.x
Настройка Apache Web Server
Настройка Squid HTTP Caching Proxy
Настройка Sendmail
11. Крупные системы и Linux
Улучшаем производительность
Высокая надежность и RAID
Проблемы расширения и переноса сервера
12. Стратегия безопасности сервера
13. Получение помощи
Установка Linux на нестандартном оборудовании
Повреждение файловой системы после отключения питания или система рухнула
Где искать помощь
Указатели на дополнительную документацию

Linux Administration Made Easy
Назад Вперед

Глава 11. Крупные системы и Linux

Table of Contents
Улучшаем производительность
Высокая надежность и RAID
Проблемы расширения и переноса сервера

Когда Linux приобрела репутацию очень надежной системы, она постепенно стала использоваться в критических задачах в научном мире, коммерции и в обычных системах.

Эта глава рассматривает проблемы, которые возникнут при работе с Linux в подобных ситуациях: настройка сервера для максимальной нагрузки, высоконадежное хранение данных на массивах RAID и вопросы перемещения с сервера на сервер (миграции).

Улучшаем производительность

( Under construction. :-p )


Linux Administration Made Easy
Назад Глава 8. Резервирование и восстановление Вперед

Резервирование настроек роутера Cisco

На моей работе мы имеем WAN соединение нескольких удаленных точек. Эти удаленные точки имеют маршрутизаторы Cisco, связанные через ISDN для предоставления доступа к Internet и WAN. Cisco маршрутизаторы позволяют использовать TFTP (“Trivial File Transfer Protocol”) на сетевом сервере ждя чтения и записи файлов настроек. Всякий раз, когда конфигурация маршрутизатора изменена, важно сохранить файл конфигурации на Linux-станции так, чтобы имелась резервная копия.

Пожалуйста обратите внимание, что Red Hat отключает TFTP обслуживание по умолчанию, потому что это может быть реальным отверстием в защите, если не сконфигурировано правильно. TFTP daemon позволяет любому читать и писать файлы без того, чтобы выполнить аутеникацию. Я сам создал каталог ``/tftpboot/'', принадлежащий root, и поменял строку настрйки в файле ``/etc/inetd.conf'':

tftpd   dgram   udp    wait   root   /usr/sbin/tcpd  in.tftpd  /tftpboot

Note

Замечание: Добавление пути ``/tftpboot'' в конце строки определенно указывает, где TFTP daemon может брать файлы. Хотя можно разместить данный каталог где-нибудь в недрах файловой системы, TFTP не особенно безопасен с точки зрения защиты.

Когда сервис TFTP разрешен, введите:


killall -HUP inetd

Данная команда перезапустит INETD daemon, чтобы изменения в файле inetd.conf были им восприняты.

Создание копии файла конфигурации маршрутизатора включает 3 шага: установка разрешений на существующем файле (или создание нового) для записи, запись резервного файла и сброс разрешения на запись, что ограничит доступ к файлу настроек. Например:


mail:~# cd /tftpboot

mail:/tftpboot# chmod a+w xyzrouter-confg
chmod: xyzrouter-confg: No such file or directory

mail:/tftpboot# touch xyzrouter-confg

mail:/tftpboot# chmod a+w loyola-confg

mail:/tftpboot# telnet xyzrouter

Escape character is '^]'.
User Access Verification
Password: ****
xyzrouter> enable
 Password: ****

xyzrouter# write network

Remote host []? 123.12.41.41

Name of configuration file to write [xyzrouter-confg]?
  
Write file xyzrouter-confg on host 123.12.41.41? [confirm]
 
Building configuration...
Writing xyzrouter-confg !! [OK]
 
xyzrouter# exit
Connection closed by foreign host.


mail:/tftpboot# chmod a-wr,u+r xyzrouter-confg

mail:/tftpboot# exit

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


mail:~# cd /tftpboot

mail:/tftpboot# chmod a+r xyzrouter-confg
 
mail:/tftpboot# telnet xyzrouter

Escape character is '^]'.
User Access Verification
Password: ****
xyzrouter> enable
 Password: ****
 
xyzrouter# config network

Host or network configuration file [host]? 

Address of remote host [255.255.255.255]? 123.12.41.41

Name of configuration file [xyzrouter-confg]?
 
Configure using loyola-confg from 123.12.41.41? [confirm]
 
Loading xyzrouter-confg from 123.12.41.41 (via BRI0): !
[OK - 1265/32723 bytes]
xyzrouter# write
xyzrouter# exit
Connection closed by foreign host.


mail:/tftpboot# chmod a-wr,u+r xyzrouter-confg
 
mail:/tftpboot# exit

Linux Administration Made Easy
Назад Chapter 4. Installation and Hardware Configuration Вперед

Настройка оборудования

После установки пакетов Red Hat приступит к настройке оборудлвания. В большинстве случаев, за исключением очень новых аппаратных средств, которые еще не могут быть полностью поддержаны Linux, программа установки делает хорошую работу по автоматической конфигурации.

Подсказки, которые Вы будете видеть, очень простые:


Linux Administration Made Easy
Назад Chapter 5. Configuring the X Window System Вперед

Выбор Window Manager для X

Теперь, Вы должны остановиться на каком-то администраторе окон. X Window System просто среда, которая позволяет графике отображаться на аппаратных средствах Вашей системы; администратор окон ответственен за то, как X выглядит (выглядеть она может в принципе как угодно) и как взаимодействует с Вами и Вашими прикладными программами.

Red Hat Linux содержит несколько администраторов окон, включая fvwm, olvm, twm, AfterStep и другие. Тот, который Вы будете вероятно видеть при запуске X впервые, fvwm95, Win95-подобная среда.

Лично, я нахожу, что обычные предложения отличаются от моих собственных вкусов, и рекомендую использовать GNOME или KDE (можно и вместе!), чья установка рассмотрена в следующих двух разделах.


Linux Administration Made Easy
Назад Chapter 6. General System Administration Issues Вперед

Выключение пользователей

Для выключения пользователя поправьте, как root, файл ``/etc/shadow'' (предполагается, что Вы используется затенение (shadow) паролей; если нет, правьте файл ``/etc/passwd '') и замените пароль (который хранится в зашифрованном виде) на звездочку ``*''. Все пароли Unix, независимо от длины (максимум 8 символов), сохранены в файле паролей как зашифрованные строки по 13 символов. Следовательно, один символ ``*'' сделает вход невозможным.

Note

Замечание: Данный способ требует, чтобы Вы назначили новый пароль пользователю, если Вы разблокируете его, так как шифрованное поле пароля будет заменено. Одно решение этого, которое, кажется, популярно среди администраторов системы, сводится к тому, чтобы просто поместить префикс ``*'' перед зашифрованным паролем, чтобы отключить пользователя и удалить звездочку, чтобы включить его снова.

Подробности о файлах ``/etc/passwd'' и ``/etc/shadow'', см. в разделе Пароли в Linux & формат файла Shadow , ниже.