Костромин Виктор Алексеевич "Linux для пользователя" Предисловие Для кого эта книга? О чем эта книга? Как возникла эта книга? Благодарности Глава 1. ОС Linux: история и дистрибутивы 1.1. Что такое ОС вообще и Linux в частности 1.1.1 Семейство ОС типа UNIX 1.1.2 Немного истории 1.1.3 Основные характеристики ОС Linux 1.2. Дистрибутивы Linux 1.3. Требования к компьютеру 1.4. Где взять Linux? Глава 2. Инсталляция ОС Linux на компьютер с Windows. 2.1. Подготовка к инсталляции. 2.2. Предостережения и рекомендации 2.3. Разделы на диске и процесс загрузки 2.3.1. Что такое "геометрия диска"? 2.3.2. Разделы диска и таблица разбиения диска. 2.3.3. Процесс загрузки ОС фирмы Microsoft 2.3.4. Проблемы с большими дисками 2.4. Выбор загрузчика 2.4.1. Загрузчик LILO из дистрибутива ОС Linux 2.4.2. Другие загрузчики ОС 2.4.3. Варианты загрузки 2.5. Подготовка разделов на диске 2.5.1. Рекомендации по созданию разделов 2.5.2. Программы для разбиения диска 2.6. Windows NT и Linux: загрузка через OS Loader от NT 2.7. Использование загрузчика LILO 2.7.1. Установка и настройка загрузчика LILO 2.7.2. Установка других операционных систем после Linux 2.7.3. Перенос каталога /boot в DOS-раздел 2.8. Загрузка Linux из MS-DOS с помощью loadlin.exe Глава 3. Первый запуск ОС Linux 3.1. Загрузка ОС Linux 3.2. Вход в систему 3.3. Консоль, виртуальные терминалы и оболочка 3.4. Редактирование командной строки. История команд 3.5. Завершение работы системы Linux 3.6. Помощь по работе с Linux 3.6.1. Источники справочной информации 3.6.2. Страницы интерактивного руководства man 3.6.3. Команда info 3.6.4. Команда help 3.6.5. Документация, поставляемая с дистрибутивом и пакетами ПО 3.6.6. Команда Xman 3.6.7. Команда helptool 3.6.8. Книги и Интернет Глава 4. Знакомство с файловой системой ext2fs 4.1. Файлы и их имена 4.2. Каталоги 4.4. Типы файлов 4.4.1. Файлы физических устройств 4.4.2. Именованные каналы (pipes) 4.4.3. Доменные гнезда (sockets) 4.4.4. Символические ссылки (еще раз об именах файлов) 4.5. Права доступа к файлам и каталогам 4.6. Команды для работы с файлами и каталогами 4.6.1. Команды chown и chgrp 4.6.2. Команда mkdir 4.6.3. Команда cat 4.6.4. Команда cp 4.6.5. Команда mv 4.6.6. Команды rm и rmdir 4.6.7. Команды more и less 4.6.8. Команда find и символы шаблонов для имен файлов 4.6.9. Команда split - разбиваем файл на несколько частей 4.6.10. Сравнение файлов и команда patch 4.7. Команды архивирования файлов 4.7.1. Программа tar 4.7.2. Программа gzip 4.7.3. Программа bzip2 4.8. Создание и монтирование файловых систем Глава 5. Оболочка bash 5.1. Что такое оболочка? 5.2. Специальные символы 5.3. Выполнение команд 5.3.1 Оператор ; 5.3.2 Оператор amp; 5.3.3 Операторы amp;amp; и || 5.4. Стандартный ввод/вывод 5.4.1. Потоки ввода-вывода 5.4.2 Команда echo 5.4.3 Команда cat 5.5. Перенаправление ввода/вывода, каналы и фильтры 5.5.1 Операторы ›, ‹ и ›› 5.5.2 Оператор | 5.5.3 Фильтры 5.6. Параметры и переменные. Окружение оболочки 5.6.1 Разновидности параметров 5.6.2 Приглашения оболочки 5.6.3 Переменная PATH 5.6.4 Переменная IFS 5.6.5 Текущий и домашний каталоги 5.6.6 Команда export 5.7. Раскрытие выражений (expansion) 5.7.1 Раскрытие скобок 5.7.2 Замена тильды (Tilde Expansion) 5.7.3 Подстановка параметров и переменных 5.7.4 Подстановка команд 5.7.5 Арифметичеcкие подстановки (Arithmetic Expansion) 5.7.6 Разделение слов (word splitting) 5.7.7 Раскрытие шаблонов имен файлов и каталогов (Pathname Expansion) 5.7.8 Удаление специальных символов 5.8. Shell как язык программирования 5.8.1 Операторы if и test (или []) 5.8.2 Оператор test и условные выражения 5.8.3 Оператор case 5.8.4 Оператор select 5.8.5 Оператор for 5.8.6 Операторы while и until 5.8.7 Функции 5.9. Скрипты оболочки и команда source 5.10. Команда sh Глава 6. Программа Midnight Commander 6.1. Установка программы Midnight Commander 6.2. Внешний вид экрана Midnight Commander 6.3. Получение помощи 6.4. Поддержка мыши 6.5. Управление панелями 6.5.1 Форматы отображения списка файлов 6.5.2 Другие режимы отображения 6.5.3 Клавиатурные команды управления панелями 6.6. Функциональные клавиши и меню Файл 6.7. Маски файлов для операций копирования/переименования 6.8. Сообщения MC при выполнении операций копирования/перемещения файлов 6.9. Командная строка оболочки 6.10. Меню Команды 6.11. Настройка программы Midnight Commander Глава 7. Графический интерфейс 7.1. XFree86 и его составные части 7.2. Как работает видеосистема компьютера 7.3. Конфигурирование X-сервера 7.3.1 Сбор необходимых данных 7.3.2 Структура файла /etc/X11/XF86Config 7.3.3 Настройка /etc/X11/XF86Config 7.4. Запуск системы X Window. 7.5. Выбор и настройка менеджера окон 7.6. Графическая среда KDE 7.7. Использование менеджера дисплея Глава 8. Основы администрирования системы 8.1. Основные задачи системного администрирования. Процессы и их идентификаторы 8.2. Процедура загрузки ОС Linux 8.2.1. Процесс init и файл /etc/inittab 8.2.2. Основные конфигурационные файлы 8.2.3. Другие файлы, влияющие на процесс загрузки 8.2.4. Процессы, происходящие при регистрации пользователя 8.2.5. Загрузка в однопользовательском режиме 8.3. Запуск и настройка общесистемных сервисов 8.3.1. Редактирование файла /etc/fstab 8.3.2. Файлы и разделы подкачки 8.3.3. Запуск демонов 8.3.4. System V Init Editor ksysv 8.4. Управление процессами 8.4.1. Команда ps 8.4.2. Команда top 8.4.3. Приоритеты, значение nice и команда renice 8.4.4. Сигналы и команда kill 8.4.5. Перевод процесса в фоновый режим 8.4.6. Команда nohup 8.5. Управление пользователями 8.6. Управление ресурсами 8.6.1. Сколько осталось места на диске? 8.6.2. Освобождение дискового пространства 8.7. Программные средства для конфигурирования системы 8.8. Настройка окружения пользователя Глава 9. Подключение и настройка аппаратных устройств 9.1. Драйверы устройств 9.2. Специальные файлы устройств 9.3. Клавиатура 9.3.1. Команда kbdrate 9.3.2. Таблицы кодировки символов 9.3.3. Ввод символов с клавиатуры 9.3.4. Изменение раскладки клавиатуры для текстового режима 9.3.5. Создание собственной раскладки 9.3.6. Работа с клавиатурой в графическом режиме 9.3.7. Модуль XKB 9.3.8. Несколько практических рекомендаций по настройке модуля XKB 9.4. Мышь 9.4.1. Определение типа мыши 9.4.2. Конфликты по прерываниям 9.4.3. Настройка мыши 9.5. Жесткий диск 9.5.1. Нумерация 9.5.2. Форматирование жесткого диска 9.5.3. Команда hdparm 9.5.4. Команда fsck 9.6. Принтер 9.6.1. Традиционные средства печати UNIX 9.6.2. Файл /etc/printcap 9.6.3. Настройка lpd с помощью программы printconf-gui 9.6.4. Фильтры 9.6.5. PostScript и Ghostscript 9.6.6. Шрифты для Ghostscript 9.6.7. Печать на удаленный принтер 9.7. Звуковая карта 9.8. Дисковод CD-ROM 9.9. Zip-диск фирмы Iomega для параллельного порта Глава 10. Установка и обновление программных пакетов 10.1. Два способа установки ПО 10.2. Программа rpm 10.3. Компиляция ПО из исходных текстов 10.3.1. Необходимые сведения о программировании на языке Си 10.3.2. Инсталляция пакетов ПО из исходных текстов Глава 11. Русификация и шрифты 11.1. Предварительные сведения 11.1.1 Вывод символов на экран 11.1.2. Локализация 11.2. Настройка системных средств локализации 11.2.1. Проверка наличия средств локализации 11.2.2. Формат задания значений переменных локализации 11.2.3 Включение средств локализации 11.3. Русификация консоли 11.3.1. Что нужно сделать 11.3.2 Как это сделано в дистрибутиве Black Cat 11.3.3. Переключение кодировок 11.4. Русификация X Window 11.4.1. Немного о терминологии 11.4.2. Форматы файлов шрифтов 11.4.3. Конфигурация X-сервера 11.4.4. Фонт-серверы 11.4.5. Ревизия шрифтового хозяйства 11.4.6. Подключение новых шрифтов 11.5. Кириллизация shell и других программ 11.6. Кириллизация печати Глава 12. Программы для работы с текстом 12.1. Несколько слов о форматах текстовых файлов 12.2. Программы для просмотра текстов в разных форматах 12.2.1 Традиционные средства UNIX для просмотра текстовых файлов 12.2.2 Программа Acrobat Reader (версия 4.05) 12.2.3 Программа gv 12.2.4 Просмотрщики файлов PS, PDF и DVI из KDE 12.2.5 Пакет WordViewer 12.2.6 Программы-перекодировщики кодовых страниц 12.3. Проверка правописания 12.4. О трех типах текстовых редакторов 12.5. Консольные редакторы ASCII-файлов 12.5.1 Редакторы типа vi 12.5.2 Редактор Emacs 12.5.3 CoolEdit - встроенный редактор программы Midnight Commander 12.6. Редакторы ASCII-файлов для графического режима 12.6.1 Редактор KEdit 12.6.2 Редактор KWrite 12.6.3 Текстовый редактор Nedit версии 5.1.1 12.7. Текстовые процессоры 12.7.1 Возможности текстовых процессоров 12.7.2 Текстовые процессоры для Linux 12.7.3 Текстовый редактор Ted 12.7.4 Текстовый процессор AbiWord 12.7.5 Текстовый процессор KWord 12.7.6 Текстовые процессоры StarWriter и OpenOffice.org Writer 12.8. Словари и переводчики Глава 13. Выход в локальные сети 13.1. Подготовка к выходу в сеть 13.1.1 Драйверы сетевых устройств в ядре 13.1.2 Динамическое подключение драйверов 13.1.3 Получение сетевого адреса и установка ПО 13.2. Настройка сетевых интерфейсов 13.2.1 Расположение конфигурационных файлов 13.2.2 Команда ifconfig 13.2.3 Настройка маршрутизации 13.2.4. Настройка службы имен 13.2.5. Тестирование сетевого соединения 13.2.6. Утилита netconf 13.3. Программы telnet и ftp 13.3.1 Программы telnet и rlogin 13.3.2 Программа ftp 13.4. Сетевая файловая система NFS 13.5. Подключение к Windows-сети 13.5.1 Что такое Samba 13.5.2 Монтирование файловых систем с помощью Samba 13.6. Подключение к серверу Novell Netware Глава 14. Интернет и электронная почта 14.1. Необходимые сведения о протоколах Интернета 14.2. Подготовка к выходу в Интернет 14.3. Программа kppp 14.3.1 Конфигурирование kppp 14.3.2 Установка связи с помощью kppp 14.3.3 Проблемы с настройкой соединения 14.4. Браузеры Интернета 14.4.1 Путешествия по Интернету с помощью программы lynx 14.4.2 Браузеры Netscape Navigator и Mozilla 14.4.4 Файловый менеджер Konqueror 14.5. Электронная почта Глава 15. Обитание в среде KDE 15.1. Основы работы с KDE 15.1.1 Внешний вид 15.1.2 Главное меню KDE 15.1.3 Центр управления KDE 15.1.4 Настройка панели и значков на рабочем столе 15.2. Что такое "удобная рабочая среда" 15.3. Утилиты 15.4. Офисные приложения 15.5. Графический редактор Gimp 15.6. Персональный органайзер 15.7. Общение с остальным миром 15.8. Средства мультимедиа и игры 15.8.1 Звук 15.8.2 Видео 15.8.3 Игры Глава 16. Обратная сторона файловой системы 16.1. Типы файловых систем, поддерживаемых в Linux 16.2. Структура дискового раздела в ext2fs 16.3. Индексные дескрипторы файлов 16.4. Система адресации данных 16.5. Виртуальная файловая система VFS 16.6. Новые файловые системы 16.7. Журналируемые файловые системы 16.8. Файловая система ReiserFS Глава 17. Обновление ядра 17.1. Что такое ядро и когда его надо менять 17.2. Нумерация версий ядра 17.3. Установка нового ядра из rpm-пакета 17.4. О компиляции нового ядра 17.4.1 Зачем вообще нужно компилировать ядро? 17.4.2 Что надо знать до начала компиляции 17.5. Семь шагов к новому ядру 17.5.1. Получение и разархивация ядра 17.5.3. Конфигурирование будущего ядра 17.5.4. Проверки 17.5.5. Компиляция ядра 17.5.6. Компиляция модулей 17.5.7. Установка ядра 17.6. Заключение Глава 18. Виртуальный компьютер (система VMware) 18.1. Что такое "виртуальный компьютер" 18.2. Инсталляция системы виртуальных машин 18.3. Установка лицензии на использование VMware 18.4. Создание виртуальной машины 18.5. Первый сеанс работы на виртуальном компьютере 18.6. О некоторых особенностях работы с виртуальным компьютером 18.6.1 Копирование и вставка 18.6.2 Приостановка и мгновенное восстановление состояния ВМ 18.6.3 Выключение ВМ 18.6.4 Использование прямого доступа к памяти 18.6.5 Выделение оперативной памяти для VMware 18.7. Подключение физических дисков к виртуальному компьютеру 18.7.1 Необходимые меры предосторожности. 18.7.2 Подключение физического диска к виртуальному компьютеру 18.7.3 Загрузка ОС с физического диска 18.8. Выход в локальную сеть 18.8.1 Четыре варианта организации сетевых служб в системе VMware 18.8.2 Средства поддержки сетевых возможностей в VMware 18.8.3 Назначение MAC-адресов для виртуальных компьютеров 18.8.5 Несколько примеров настройки выхода в сеть 18.8.6 Доступ к дискам виртуального компьютера из ОС базового 18.9. Несколько дополнительных замечаний 18.9.1 Снова о предосторожностях 18.9.2 Список пользователей, которым разрешен доступ к серверу Samba 18.9.3 Как устранить "утечку" пакетов из виртуальной сети в реальную. 18.9.4 О применении системы VMware 18.9.5 Немного о быстродействии 18.9.6 О первоисточниках Приложение. Источники и ссылки на дополнительные материалы П1. Книги, посвященные Linux П2. Несколько Internet-адресов для начала П3. К главе 1 "Введение" П4. К главе 2 "Инсталляция ОС Linux на компьютер с Windows" П5. К главе 3 "Первый запуск ОС Linux" П6. К главе 4 "Знакомство с файловой системой Linux" П7. К главе 5 "Интерфейс командной строки" П8. К главе 6 "Программа Midnight Commander" П9. К главе 7 "Графический интерфейс" П10. К главе 8 "Основы администрирования системы" П11. К главе 9 "Подключение и настройка аппаратных устройств" П12. К главе 10 "Установка и обновление программных пакетов" П13. К главе 11 "Русификация ОС" П14. К главе 12 "Программы для работы с текстом". П15. К главе 13 "Выход в локальные сети" П16. К главе 14 "Интернет и электронная почта" П17. К главе 15 "Обитание в среде KDE" П18. К главе 16 "Обратная сторона файловой системы" П19. К главе 17 "Обновление ядра" П20. К главе 18 "Виртуальные машины VMware"
Предисловие Для кого эта книга? Эта книга предназначена для активных пользователей персональных компьютеров. Поясню, что я имею в виду. На мой взгляд всех людей, которые каким-то образом связаны с применением компьютеров, можно разделить на программистов, администраторов и пользователей. Программисты создают программы, и о них мы здесь не говорим, как и о тех, кто изготавливает или собирает сами компьютеры. Администраторы (которых иногда называют системными программистами) вообще-то не пишут программ, они только устанавливают и настраивают программное обеспечение (разработанное другими), для того, чтобы пользователи могли работать за компьютерами. Администраторам приходится иногда создавать короткие программки, но в основном они пользуются теми средствами настройки и конфигурирования, которые заложены в программные средства их разработчиками. И, наконец, пользователи вообще не обязаны уметь настраивать программные средства, как и собирать компьютеры, они обязаны только уметь использовать свой компьютер для решения конкретных задач. В принципе пользователь может вообще не знать о том, что работой компьютера управляет операционная система. Ему достаточно уметь запускать одно конкретное приложение, которое он освоил, например, текстовый редактор (условно назовем такого пользователя "пассивным").
Но среди пользователей есть и такие, которые либо по собственной инициативе, либо по необходимости, вынуждены сами решать задачи администрирования своей вычислительной системы. Это может быть как домашний компьютер, для которого нет другого системного администратора, кроме самого пользователя, так и компьютер на работе. В последнем случае пользователь просто предпочитает не приглашать администратора при каждом затруднении, а самостоятельно пытается решить возникшие проблемы. Я не анализирую причин и побудительных мотивов, которые заставляют пользователя поступать таким образом. Важно только то, что человеку интересно или просто необходимо уметь устанавливать и настраивать программное обеспечение на своем компьютере, включая саму операционную систему. Именно таких пользователей я и называю "активными" (их часто называют "продвинутыми", но мне эта калька с английского режет слух). Можно было бы, наверное, найти и более точный термин, но в данном случае это не важно, поскольку далее настоящего предисловия это название я применять не собираюсь, а здесь вы меня, надеюсь, поймете правильно, учитывая приведенные разъяснения.
Итак, настоящая книга предназначена для "активных пользователей", к которым я отношу и себя. Предполагается, что читатель уже знает, что такое компьютер, и поработал с MS-DOS или MS Windows (уж если не версии XP или 2000, то хотя бы с Windows 95). Впрочем, я надеюсь, что книга будет полезна и начинающим системным администраторам.