Костромин Виктор Алексеевич "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"
О чем эта книга? Если вы относитесь к категории "активных пользователей", то вы уже что-то слышали о классе операционных систем, объединенных общим именем UNIX. ОС этого класса имеют ряд преимуществ перед обычно устанавливаемыми на персональные компьютеры ОС типа Windows. И если вы действительно "активный пользователь", то для вас вполне естественно желание хотя бы попробовать, что такое UNIX. Linux как раз и позволяет удовлетворить такое желание, поскольку с одной стороны она относится к классу UNIX, а с другой - работает на персональных компьютерах на основе процессоров Intel (хотя сейчас уже существуют ее варианты и для других процессоров).
В этой книге как раз и рассказывается об установке и настройке программного обеспечения на IBM-совместимом персональном компьютере, работающем под управлением операционной системы Linux, и даже конкретнее, под управлением одной из "веток" этой операционной системы. "Ветки" Linux называют дистрибутивами, так вот речь в книге пойдет о версиях Linux, основанных на дистрибутиве Red Hat. Материал, излагаемый в данной книге, основан на моем опыте установки и работы с дистрибутивами Black Cat Linux версий 5.2 (именно с нее началось мое знакомство с Linux) и 6.02, Red Hat версий 6.0, 6.2, 7.1 и 7.2 (русифицированной), ASPLinux 7.1 и ALTLinux Junior 1.0 и 1.1. Все эти дистрибутивы основаны на Red Hat Linux, и поэтому имеют много общего.
Однако не надо думать, что речь в книге пойдет только о самой операционной системе и ее настройке. В конце концов, сама по себе ОС выполняет только служебные функции, обеспечивая управление аппаратной частью компьютера и запуск нужных пользователю приложений. Поэтому основная задача данной книги в том, чтобы описать процесс создания на вашем компьютере "удобной" для пользователя (для вас) рабочей среды, состоящей из набора необходимых для вас приложений и обеспечивающей выполнение стоящих перед вами задач.
Книгу можно условно разделить на две части. Первая часть (главы 1-15) - это непосредственные рекомендации, касающиеся различных аспектов установки и настройки операционной системы и различных приложений. Предполагается, что читатель только что установил ОС Linux из дистрибутива и осваивает ее. Я надеюсь, что, прочитав даже только эту часть книги, читатель сможет создать на персональном компьютере под ОС Linux удобную рабочую среду, сравнимую по возможностям с тем, что предоставляет ОС Windows 95 или Windows NT.
Вторая часть - это главы о внутреннем устройстве файловой системы, обновлении ядра и виртуальных компьютерах. Это те вопросы, которые могут показаться и неактуальными для начинающего пользователя. Но этот материал позволяет глубже понять устройство системы, и эффективно решить проблему взаимодействия с миром Windows. Не надейтесь найти во второй части ответы на все вопросы, которые у вас могут возникнуть, никакого систематического отбора материала для этой части не производилось.