Костромин Виктор Алексеевич "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"
1.3. Требования к компьютеру Я встречал упоминания о том, что существуют специальные версии Linux, которые работают даже на 8086 процессоре с 512 Кбайт памяти, а специально собранная версия может запускаться с одной-двух дискет без жесткого диска.
Так что, если у вас есть старенький компьютер, на котором никакая Windows не запускается, то Вы с успехом можете использовать его для освоения Linux и, возможно, будете удивлены его возможностями. Но такие варианты в данной книге не рассматриваются.
Поскольку ОС Linux использует защищенный режим микропроцессора, то для установки этой ОС требуется как минимум 386-ой процессор. Судя по литературным источникам, годятся любые модификации: SX, DX и т. д. Дальнейшие требования к аппаратной части компьютера, на который устанавливается Linux, определяются уже тем, что Вы хотите. Из приводимой ниже табл. 1.1. видно, как возрастают требования к аппаратной части в зависимости от пожеланий пользователя (приводимые в таблице числа очень приблизительны, тут я не претендую на истину в последней инстанции).
Таблица 1.1. Требования к аппаратуре
Пожелания пользователя Требования к памяти Требования к объему жесткого диска Минимальные требования: работа в текстовом режиме из командной строки shell 4 Мбайт 10 Мбайт Работа в текстовом режиме через Midnight Commander 4 Мбайт 40 Мбайт Для запуска графического интерфейса X Window 8 Мбайт, но будет работать очень медленно, 16 Мбайт - более-менее приемлемо Для работы с графическим интерфейсом X Window (запуск оконного менеджера) 16 Мбайт 300 Мбайт Для запуска интегрированной графической среды KDE 32 Мбайт 500 Мбайт Для запуска каждого отдельного большого приложения (типа GIMP, текстового процессора, базы данных или электронной таблицы) +2 Мбайт +50-100 Мбайт Для работы с интегрированным офисным пакетом StarOffice 64 Мбайт +250 Мбайт
Из этой таблицы можно заключить, что минимально приемлемой конфигурацией для освоения Linux является компьютер на 486-ом процессоре с 16 Мбайт ОЗУ и жестким диском объемом 300 Мбайт[6] . Далее надо заботиться только о наращивании оперативной памяти и объема жесткого диска, тут лишнего никогда не будет.
Снова сошлюсь на книгу А. Федорчука [П1.6], в которой большая глава посвящена выбору аппаратной платформы для Linux. В ней автор подробно рассматривает, как Linux относится к каждому компоненту компьютерной аппаратуры, начиная с чипсета и системной платы и кончая периферийными устройствами и источниками бесперебойного питания. Однако, на мой взгляд, на практике выбор компьютера определяется не операционной системой, а, в первую очередь, материальными возможностями владельца. И надо отнести к достоинствам ОС ее способность управлять не только самыми последними и "навороченными" моделями, но и уже "вышедшими из моды" или "морально устаревшими" экземплярами. Ведь так называемое "моральное устаревание" как раз и вызвано тем, что новые версии ПО от самых известны производителей заставляют списать в утиль вполне работоспособное оборудование. В этом смысле Linux имеет огромное преимущество, заключающееся в том, что она способна работать даже на тех компьютерах, где альтернативой ей может быть только MS DOS. Конечно, в таких случаях мы получим только режим командной строки, но, судя по различным источникам в Интернете, это не мешает использовать старые компьютеры для выполнения различных вспомогательных задач, например, в качестве маршрутизаторов.
Но вопросы использования Linux для этих целей не попадают в сферу нашего интереса. Если же говорить о типичном пользователе, то, судя по моему опыту, если Вы можете на компьютере работать с ОС Windows 95, а тем более с Windows NT или Windows 2000, то такой компьютер вполне годится для запуска Linux.