Книга • о чем эта книга • Как возникла эта книга



Pdf просмотр
страница1/6
Дата11.11.2016
Размер4.9 Kb.
Просмотров1286
Скачиваний0
  1   2   3   4   5   6

Linux для пользователя
Виктор Костромин, http://rus­linux.net/
Оглавление
Предисловие

Для кого эта книга

О чем эта книга

Как возникла эта книга

Типографские соглашения

Благодарности
Глава 1.
ОС Linux: история и дистрибутивы

1.1.
Что такое ОС вообще и Linux в частности

1.1.1. Семейство ОС типа UNIX

1.1.2. Немного истории

1.1.3. Основные характеристики ОС Linux

Реальная многозадачность

Многопользовательский доступ

Свопирование оперативной памяти на диск

Страничная организация памяти

Загрузка выполняемых модулей "по требованию"

Совместное использование исполняемых программ

Общие библиотеки

Динамическое кэширование диска

100%­ное соответствие стандарту POSIX 1003.1.

Частичная поддержка возможностей System V и BSD

System V IPC

Возможность запуска исполняемых файлов других ОС

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

Сетевые возможности

Работа на разных аппаратных платформах

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.3.
Назначение основных системных каталогов

4.4.
Типы файлов

4.4.1. Файлы физических устройств


4.4.2. Именованные каналы (pipes)

4.4.3. Доменные гнезда (sockets) 85

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. Оператор &

5.3.3. Операторы && и ||

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.
Раскрытие выражений

5.7.1. Раскрытие скобок

5.7.2. Замена тильды

5.7.3. Подстановка параметров и переменных

5.7.4. Подстановка команд

5.7.5. Арифметичекие подстановки

5.7.6. Разделение слов

5.7.7. Раскрытие шаблонов имен файлов и каталогов

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. Функции

Синтаксис

Аргументы

Локальные переменные

Функция вычисления факториала fact

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.
Сообщения Midnight Commander при выполнении операций копирования и перемещения файлов

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

Несколько практических рекомендаций по настройке модуля 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. Форматы файлов шрифтов

Растровые шрифты (Bitmap Fonts)

Шрифты Type 1

Шрифты Type 3

Шрифты TrueType

Шрифты Type 42

Сравнение форматов Type 1 и TrueType

Метафонт

11.4.3. Конфигурация X­сервера

11.4.4. Фонт­серверы

Фонт­сервер xfs

Фонт­серверы xfstt и xfsft

11.4.5. Ревизия шрифтового хозяйства

Установлен ли фонт­сервер?

Какие шрифты имеются в вашей системе?

Файлы fonts.dir, fonts.alias и fonts.scale

Удаление ненужных шрифтов

11.4.6. Подключение новых шрифтов

Источники шрифтов

Инсталляция растровых шрифтов и шрифтов Type 1

Инсталляция шрифтов TrueType

11.5.
Кириллизация shell и других программ

11.5.1. bash

11.5.2. less

11.5.3. man

11.5.4. nroff


11.5.5. ls

11.5.6. The Midnight Commander

11.5.7. Диски Windows 95 и DOS

11.5.8. Samba

11.5.9. rlogin

11.5.10. telnet

11.5.11. IrcII

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

Настройка локального интерфейса lo

Настройка интерфейса платы Ethernet локальной сети (eth0 )

Интерфейс для последовательного порта

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. Видео

Программа aKtion

Программа Xine

Программа MPlayer

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.2. Обновление программного обеспечения

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.3. Загрузка ОС с физического диска

18.8.
Выход в локальную сеть

18.8.1. Четыре варианта организации сетевых служб в системе VMware

18.8.2. Средства поддержки сетевых возможностей в VMware

18.8.3. Назначение MAC­адресов для виртуальных компьютеров

18.8.4. Установка средств сетевой поддержки

18.8.5. Несколько примеров настройки выхода в сеть

Пример 1. Подключение к существующей локальной сети в варианте "Bridged networking"

Пример 2. Создание сети на изолированном компьютере

Пример 3. Соединение виртуальной и физической сети

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: история и дистрибутивы
Предыдущий раздел Оглавление Следующий раздел
1.1. Что такое ОС вообще и Linux в частности
1.1.1 Семейство ОС типа UNIX
Операционная система — это комплекс программ, который обеспечивает управление аппаратными средствами компьютера, организует работу с файлами (в том числе запуск и управление выполнением программ), а также реализует взаимодействие с пользователем, т. е. интерпретацию вводимых пользователем команд и вывод результатов обработки этих команд.
Без операционной системы компьютер вообще не может функционировать в качестве такового. В таком случае он представляет собой не более чем совокупность неработающих электронных устройств, непонятно зачем собранных воедино.
На сегодняшний день наиболее известными операционными системами для компьютеров являются семейства операционных систем Microsoft Windows и UNIX. Первые ведут свою родословную от операционной системы MS­DOS, которой оснащались первые персональные компьютеры фирмы IBM. Операционная система UNIX была разработана группой сотрудников
Bell Labs под руководством Денниса Ричи, Кена Томпсона и Брайана Кернигана (Dennis Ritchie,
Ken Thompson, Brian Kernighan) в 1969 году. Но в наши дни, когда говорят об операционной системе UNIX, чаще всего имеют в виду не конкретную ОС, а скорее целое семейство UNIX­
подобных операционных систем. Само же слово UNIX (заглавными буквами) стало зарегистрированной торговой маркой корпорации AT&T.
В конце 70­х годов (теперь уже прошлого столетия) сотрудники Калифорнийского университете в Беркли внесли ряд усовершенствований в исходные коды UNIX, включая работу с протоколами семейства TCP/IP. Их разработка стала известна под именем BSD ("Berkeley Systems
Distribution"). Она распространялась под лицензией, которая позволяла дорабатывать и усовершенствовать продукт, и передавать результат третьим лицам (с исходными кодами или без них) при условии, что будет указано, какая часть кода разработана в Беркли.
Операционные системы типа UNIX, в том числе и BSD, изначально разрабатывались для работы на больших многопользовательских компьютерах — мейнфреймах. Но персональные компьютеры постепенно наращивали мощь своего аппаратного обеспечения, и в наши дни они уже превосходят по возможностям те мейнфреймы, для которых в 70­х годах разрабатывалась ОС
UNIX. И вот, в начале 90­х годов студент хельсинкского университета Линус Торвальдс (Linus
Torvalds) приступил к разработке UNIX­подобной ОС для IBM­совместимых персональных компьютеров.

1.1.2 Немного истории
Вот текст сообщения, которое Торвальдс отправил в группу новостей comp.os.minix 25 августа
1991 года:
From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Message­ID: <1991Aug25.205708.9541@klaava.Helsinki.FI>
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki
Hello everybody out there using minix ­
I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file­system (due to practical reasons) among other things).
I've currently ported bash(1.08) and gcc(1.40), and things seem to work.
This implies that I'll get something practical within a few months, and I'd like to know what features most people would want.
Any suggestions are welcome, but I won't promise I'll implement them :­)
Linus (torvalds@kruuna.helsinki.fi)
PS. Yes — it's free of any minix code, and it has a multi­threaded fs. It is NOT portable (uses 386 task switching etc), and it probably never will support anything other than AT­harddisks, as that's all I have :­(.
В этом сообщении Линус пишет, что он работает над (свободной) операционной системой для
386­х (486­х) компьютеров, и просит всех заинтересованных лиц сообщить, какие компоненты системы пользователи хотят видеть в первую очередь. Но, как видно из текста послания, оболочка bash и компилятор gcc у него уже работали. Работали они под управлением операционной системы Minix, которая была разработана профессором Э.Таненбаумом (Andy
Tanenbaum) как учебное пособие для студентов­программистов. Minix работала на компьютерах с 286­ым процессором и послужила для Торвальдса прообразом новой ОС.
Файлы первого варианта Linux (версия 0.01) были опубликованы в Интернете 17 сентября 1991 года. Как пишет сам Торвальдс: "As I already mentioned, 0.01 didn't actually come with any binaries: it was just source code for people interested in what linux looked like. Note the lack of announcement for 0.01: I wasn't too proud of it, so I think I only sent a note to everybody who had shown interest."
1 1
«Как я уже упоминал, версия 0.01 распрост ранялась без бинарников: эт о были прост о исходные коды, предназначенные для т ех, кому инт ересно, как выглядит linux. Обрат ит е внимание на т о, чт о не было объявления о выходе версии 0.01: я не очень ею гордился, т ак чт о прост о послал сообщение всем, кт о проявил какой­т о инт ерес».
Затем, 5 октября 1991 г. была выпущена версия 0.02, которая уже работала. Впрочем, подробное изложение истории Linux не входит в задачи данной книги, поэтому продолжать данную тему я
не буду, отсылая заинтересованных читателей к
[П3.1]
Л. Торвальдс не стал патентовать или иным образом ограничивать распространение новой ОС. С самого начала (
Примеч.18
) Linux распространяется на условиях, определяемых лицензией
General Public License (GPL), принятой для программного обеспечения, разрабатываемого в рамках движения Open Source и проекта GNU (см.
[П3.2]
). На Linux­сленге эту лицензию иногда называют Copyleft. Об этой лицензии, движении Open Source и проекте GNU необходимо поговорить особо.
В 1984 году американский ученый Ричард Столлман (Richard Stallman) основал Фонд Свободного
Программного Обеспечения (Free Software Foundation). Целью этого фонда было устранение всех запретов и ограничений по распространению, копированию, модификации и изучению программного обеспечения. Ведь до тех пор коммерческие компании тщательно оберегали разработанное ими программное обеспечение, ограждали его патентами и знаками защиты авторских прав, держали в строжайшем секрете исходные коды программ, написанных на языках высокого уровня (типа С++). Столлман считал, что это наносит огромный вред развитию ПО, приводит к снижению качества программ и наличию в них огромного количества невыявленных ошибок. И, что хуже всего, это приводит к замедлению процесса обмена идеями в области программирования, тормозит создание нового ПО в силу того, что каждому программисту приходится полностью заново писать каждую программу, вместо того, чтобы заимствовать уже готовые куски исходного кода из готовых программ.
В рамках Фонда Свободного ПО была начата разработка проекта GNU — проекта создания свободного программного обеспечения. Аббревиатура GNU открывается рекурсивно — GNU's
Not Unix, т. е. то, что принадлежит проекту GNU, не является частью Unix (потому что к тому времени даже само слово UNIX уже было зарегистрированной товарной маркой, т. е. перестало быть свободным). В "Манифесте GNU"
[П3.3]
, который был написан в 1985 г., Р. Столлман в качестве главной движущей силы, которая привела к возникновению FSF и проекта GNU, ставит свое неприятие прав собственности отдельных людей на программное обеспечение.
То, что разрабатываемое в рамках проекта GNU ПО свободно, не означает, что оно распространяется без лицензии и никак не защищено в юридическом смысле. Программы, разрабатываемые в рамках движения Open Source, распространяются на условиях лицензии
General Public License(GPL)
[П3.2]
. Если сказать очень кратко, то суть этой лицензии состоит в следующем. Программное обеспечение, распространяемое под этой лицензией, можно как угодно дорабатывать, модифицировать, передавать или продавать другим лицам при условии, что результат такой переработки тоже будет распространяться под лицензией copyleft. Последнее условие — самое важное и определяющее в этой лицензии. Оно гарантирует, что результаты усилий разработчиков свободного ПО останутся открытыми и не станут частью какого­либо лицензированного обычным способом продукта. Оно также отличает свободное ПО от ПО, распространяемого бесплатно. Говоря словами создателей FSF, лицензия GPL "делает ПО свободным и гарантирует, что оно останется свободным".
Практически все ПО, распространяемое на условиях GPL, является почти бесплатным для
пользователей (в большинстве случаев для того, чтобы получить его, Вы должны заплатить только за CD­ROM­диск с ПО или за трафик выхода в Интернет). Это не означает, что программисты перестают получать вознаграждение за свой труд. Основная мысль Р. Столлмана состоит в том, что нужно продавать не программное обеспечение, а труд программиста как такового. Например, источником дохода может быть сопровождение программных продуктов или их установка и конфигурация для внедрения на новых компьютерах и/или в новых условиях, преподавание и т. д. Хорошим вознаграждением может быть и получение автором свободных программ определенной известности, которая позволит ему в последующем получить высокооплачиваемую работу.
В рамках движения Open Source, и в частности проекта GNU, было разработано значительное количество программ, наиболее известными из которых являются редактор Emacs и компилятор
GCC (GNU C Compiler) — самый лучший и по сей день компилятор языка C. Открытость исходных кодов программ оказывает очень благотворное влияние на качество программного обеспечения: все лучшее, все новые идеи и решения сразу же широко распространяются, а все ошибки замечаются и быстро устраняются. Начинает работать механизм естественного отбора, который подавлен в том варианте подхода к распространению программ, который практикуется в коммерческом ПО.
Но вернемся к истории собственно Linux. Надо сказать, что разработка Линуса Торвальдса представляла собой только ядро операционной системы. Это ядро "упало на подготовленную почву", в том смысле, что в рамках проекта GNU уже было разработано большое количество утилит разного рода. Но для превращения GNU в полноценную ОС не хватало ядра. Разработка ядра велась (оно называлось Hurd), но по каким­то причинам задерживалась. Поэтому появление разработки Л. Торвальдса было очень своевременным. Оно ознаменовало рождение операционной системы, распространяемой с открытыми исходными кодами.
Р. Столлман, конечно, прав, когда настаивает на том, что операционная система Linux должна называться GNU/Linux. Но так уж сложилось, что название ядра стало служить названием всей операционной системы, и мы в этой книге будем поступать так же.
1.1.3 Основные характеристики ОС Linux
В силу того, что исходные коды Linux распространяются свободно и общедоступны, к развитию системы с самого начала подключилось большое число независимых разработчиков. Благодаря этому на сегодняшний момент Linux — самая современная, устойчивая и быстроразвивающаяся система, почти мгновенно вбирающая в себя самые последние технологические новшества. Она обладает всеми возможностями, которые присущи современным полнофункциональным операционным системам типа UNIX. Приведем краткий список этих возможностей.
Реальная многозадач ность
Все процессы независимы; ни один из них не должен мешать выполнению других задач. Для этого ядро осуществляет режим разделения времени центрального процессора, поочередно выделяя
каждому процессу интервалы времени для выполнения. Это существенно отличается от режима "вытесняющей многозадачности", реализованной в Windows 95, когда процесс должен сам "уступить" процессор другим процессам (и может сильно задержать их выполнение).
Многопользовательский доступ
Linux — не только многозадачная ОС, она поддерживает возможность одновременной работы многих пользователей. При этом Linux может предоставлять все системные ресурсы пользователям, работающим с хостом через различные удаленные терминалы.
Свопирование оперативной памяти на диск
Свопирование оперативной памяти на диск позволяет работать при ограниченном объеме физической оперативной памяти; для этого содержимое некоторых частей (страниц) оперативной памяти записываются в выделенную область на жестком диске, которая трактуется как дополнительная оперативная память. Это несколько снижает скорость работы, но позволяет организовать работу программ, требующих большего объема ОЗУ, чем фактически имеется в компьютере.
Страничная организация памяти
Системная память Linux организована в виде страниц объемом 4K. Если оперативная память полностью исчерпана, ОС будет искать давно не использованные страницы памяти для их перемещения из памяти на жесткий диск. Если какие­либо из этих страниц становятся нужны,
Linux восстанавливает их с диска. Некоторые старые Unix­системы и некоторые современные платформы (включая Microsoft Windows) переносят на диск все содержимое ОП, относящееся к неработающему в данный момент приложению, (т. е. ВСЕ страницы памяти, относящиеся к приложению, сохраняются на диске при нехватке памяти) что менее эффективно.
Загрузка вы полняемы х модулей "по требованию"
Ядро Linux поддерживает выделение страниц памяти по требованию, при котором только необходимая часть кода исполняемой программы находится в оперативной памяти, а не используемые в данный момент части остаются на диске.
Совместное использование исполняемы х программ
Если необходимо запустить одновременно несколько копий какого­то приложения (либо один пользователь запускает несколько идентичных задач, либо разные пользователи запускают одну и ту же задачу), то в память загружается только одна копия исполняемого кода этого приложения, которая используется всеми одновременно исполняющимися идентичными задачами.

Общие библиотеки
Библиотеки — наборы процедур, используемых программами для обработки данных.
Существует некоторое количество стандартных библиотек, используемых одновременно более чем одним процессом. В старых системах такие библиотеки включались в каждый исполняемый файл, одновременное выполнение которых приводило к непродуктивному использованию памяти. В новых системах (в частности, в Linux), обеспечивается работа с динамически и статически разделяемыми библиотеками, что позволяет сократить размер отдельных приложений.
Динамическое кеширование диска
Кеширование диска — это использование части оперативной памяти для хранения часто используемых данных с диска, что существенно ускоряет доступ к часто используемым программам и задачам. Пользователи MS­DOS работают со SmartDrive, который резервирует фиксированные области системной памяти для кеширования диска. Linux использует более динамичную систему кеширования: память, зарезервированная под кеш, увеличивается, когда память не используется, и уменьшается, если системе или процессу пользователя требуется больше памяти.
100%­ное соответствие стандарту POSIX 1003.1. Частичная поддержка возможн остей System V и BSD
POSIX 1003.1 (Portable Operating System Interface — интерфейс мобильной операционной системы) задаeт стандартный интерфейс Unix­систем, который описывается набором процедур языка Си. Сейчас он поддерживается всеми новыми ОС. Microsoft Windows NT также поддерживает POSIX 1003.1. Linux 100%­но соответствует POSIX. Дополнительно поддерживаются некоторые возможности System V и BSD для увеличения совместимости.
System V IPC
Linux использует технологию IPC (InterProcess Communication) для обмена сообщениями между процессами, использования семафоров и общей памяти.
Возможн ость запуска исполняемы х фай лов других ОС
Linux не является первой в истории операционной системой. Для ранее разработанных ОС, включая DOS, Windows 95, FreeBSD или OS/2, разработана масса различного, в том числе очень полезного и очень неплохого программного обеспечения. Для запуска таких программ под Linux разработаны эмуляторы DOS, Windows 3.1 и Windows 95. Более того, фирмой Vmware разработана система "виртуальных машин", представляющая собой эмулятор компьютера, в котором можно запустить любую операционную систему. Имеются аналогичные разработки и у других фирм. ОС Linux способна также выполнять бинарные файлы других Intel­
ориентированных Unix­платформ, соответствующих стандарту iBCS2 (intel Binary Compatibility).

Поддержка различны х фор матов фай ловы х систем
Linux поддерживает большое число форматов файловых систем, включая файловые системы
DOS и OS/2, а также современные журналируемые файловые системы. При этом и собственная файловая система Linux, которая называется Second Extended File System (ext2fs), позволяет эффективно использовать дисковое пространство.
Сетевы е возможн ости
Linux можно интегрировать в любую локальную сеть. Поддерживаются все службы Unix, включая Networked File System (NFS), удалeнный доступ (telnet, rlogin), работа в TCP/IP сетях, dial­up­доступ по протоколам SLIP и PPP, и т. д.. Также поддерживается включение Linux­
машины как сервера или клиента для другой сети, в частности, работает общее использование
(sharing) файлов и удаленная печать в Macintosh, NetWare и Windows.
Работа на разны х аппаратны х платфор мах
Хотя ОС Linux первоначально была разработана для ПК на базе Intel 386/486, сейчас она может работать на всех версиях Intel­овских микропроцессоров, начиная с 386 и кончая многопроцессорными системами на Pentium III (с Pentium IV возникли определенные трудности, но, судя по сообщениям в Интернете, они были вызваны ошибками в реализации процессора).
(
Примеч.3
) Так же успешно Linux работает на различных клонах Intel от других производителей; в Интернете встречаются сообщения о том, что на процессорах Athlon и Duron от AMD Linux работает даже лучше, чем на Intel. Кроме того, разработаны версии для других типов процессоров — ARM, DEC Alpha, SUN Sparc, M68000 (Atari и Amiga), MIPS, PowerPC и других
(отметим, что в настоящей книге рассматривается только вариант для IBM­совместимых компьютеров).
1.2. Дистрибутивы Linux
В любой операционной системе можно выделить 4 основных части: ядро, файловую структуру, интерпретатор команд пользователя и утилиты. Ядро — это основная, определяющая часть ОС, которая управляет аппаратными средствами и выполнением программ. Файловая ст рукт ура — это система хранения файлов на запоминающих устройствах. Инт ерпрет ат ор команд или оболочка — это программа, организующая взаимодействие пользователя с компьютером. И, наконец, ут илит ы — это просто отдельные программы, которые, вообще говоря, ничем принципиально не отличаются от других программ, запускаемых пользователем, разве только своим основным назначением — они выполняют служебные функции.
Как уже говорилось выше, если быть точным, то слово "Linux" обозначает только ядро. Поэтому, когда речь идет об операционной системе, правильнее было бы говорить "операционная система, основанная на ядре Linux". Ядро ОС Linux разрабатывается под общим руководством Линуса
Торвальдса и распространяется свободно (на основе лицензии GPL), как и огромное количество
другого программного обеспечения, утилит и прикладных программ. Одним из следствий свободного распространения ПО для Linux явилось то, что большое число разных фирм и компаний, а также просто независимых групп разработчиков стали выпускать так называемые дистрибутивы Linux.
Дистрибутив — это набор программного обеспечения, включающий все 4 основные составные части ОС, т. е. ядро, файловую систему, оболочку и совокупность утилит, а также некоторую совокупность прикладных программ. Обычно все программы, включаемые в дистрибутив Linux, распространяются на условиях GPL, так что может сложиться впечатление, что дистрибутив может выпустить кто угодно, точнее любой, кто не поленится собрать коллекцию свободного
ПО. И какая­то степень правдоподобия в таком утверждении есть. Однако разработчик дистрибутива должен по крайней мере создать программу инсталляции, которая будет устанавливать ОС на компьютер, на котором никакой ОС еще нет. Кроме того, необходимо обеспечить разрешение взаимозависимостей и противоречий между разными пакетами (и версиями пакетов), что, как мы увидим позже, тоже является нетривиальной задачей.
Тем не менее, в мире существует уже более сотни различных дистрибутивов Linux, и все время появляются новые. Более­менее полный список их можно найти на сервере http://www.linuxhq.com, где даны краткие характеристики каждому дистрибутиву
(упоминаются и некоторые локализованные версии). Кроме того, там же есть ссылки на другие списки дистрибутивов, так что при желании можно найти все, что вообще существует в мире
(правда, все это на английском языке, и русских локализаций там маловато упомянуто).
А. Федорчук в статье
[П3.8]
предпринял попытку классификации дистрибутивов, положив в основу следующие критерии:

структура файловой системы;

программа инсталляции;

используемое средство установки программных пакетов;

состав утилит и прикладных программ, включенных в дистрибутив.
Хотя А. Федорчук и приходит к выводу, что различия между дистрибутивами несущественны и все более стираются, из его статьи все же следует, что на сегодняшний день выделяются по крайней мере 3 группы дистрибутивов, наиболее типичными представителями, которых являются Red Hat, Slackware и Debian.
По какому же критерию выбрать дистрибутив? На мой взгляд, для случая нашей страны критериев два: дистрибутив должен быть русифицирован и должна существовать команда разработчиков, обеспечивающая поддержку дистрибутива. И лучше, если эта команда имеет от этой (или, может быть, какой­то другой) деятельности некоторый доход, т. е. функционирует как коммерческая фирма. Даже за тот сравнительно недолгий период, в течение которого я занимаюсь Linux, успели сойти со сцены несколько дистрибутивов, команды поддержки которых работали "на общественных началах" и через некоторое время перестали поддерживать свои
разработки.
В России в последнее время сложилось три команды разработчиков, создающих и поддерживающих русифицированные дистрибутивы.
Одна из команд сформировалась в Институте Логики (http://www.iplabs.ru). Эта команда некоторое время занималась русификацией дистрибутива Linux Mandrake Russian Edition, а в марте 2001 г. организовала фирму "ALTLinux" (http://www.altlinux.ru) и выпустила собственный дистрибутив ALTLinux (который, впрочем, очень похож на Linux Mandrake Russian Edition).
Вторая команда представлена фирмой "ASPLinux" (http://www.asplinux.ru, http://www.asp­
linux.com, http://www.asp­linux.com.sg, http://www.asp­linux.co.kr), которая тоже выпустила собственный дистрибутив ASPLinux. В состав этой команды вошли Л. Кантер и А. Каневский, которые раньше выпускали известный дистрибутив Black Cat Linux.
Третья команда, насколько я могу судить, представлена Санкт­Петербургской фирмой "Linux
Ink.” (http://www.linux­ink.ru), которая выпускает Red Hat Linux Cyrillic Edition.
Конечно, имеются и другие русифицированные дистрибутивы. В 2000 году появились дистрибутивы Best Linux (http://bestlinux.net), поддерживаемый фирмой SOT из Финляндии, и
RosLinux. Описание нескольких русифицированных дистрибутивов Linux дано в книге
А. Федорчука
[П1.6]
. Но, на мой взгляд, если говорить о выборе дистрибутива, то на сегодняшний день заслуживают внимания только три дистрибутива: Red Hat Linux Cyrillic
Edition, Linux Mandrake Russian Edition (и его потомок ALTLinux) и ASPLinux. Я могу привести следующие доводы в пользу такого выбора:

Эти дистрибутивы принадлежат к семейству дистрибутивов, строящихся на основе Red
Hat Linux, выпускаемого одноименной американской фирмой, а судя по материалам
Интернета, Red Hat — это самый распространенный в мире дистрибутив.

Эти дистрибутивы изначально русифицированы.

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

Легко устанавливается (добавляется) дополнительное программное обеспечение, поскольку оно поставляется в RPM­пакетах (это такая технология распространения ПО, вроде программы setup под Windows).

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

Linux). Поскольку Линус Торвальдс продолжает координировать разработку ядра, то версии ядра развиваются последовательно, а не ветвятся и множатся, как дистрибутивы.
Версии ядра Linux принято обозначать тремя числами, разделенными точкой. Например, дистрибутив Black Cat версии 5.2 был построен на основе ядра версии 2.0.36, т. е. это был Linux версии 2.0.36. Версии ядра с нечетным значением второй цифры обычно не используются для создания дистрибутивов, потому что являются экспериментальными (отладочными). Они распространяются, в основном, для того, чтобы энтузиасты могли их протестировать с целью выявления всех недостатков. Естественно, что такая версия может работать неустойчиво. Версии с четной второй цифрой являются (считаются) устойчиво работающими. Вы, конечно, можете установить любую версию, но для новичков все же обычно рекомендуют выбирать версию ядра с четной второй цифрой в номере версии. Конечно, если Вы устанавливаете полный дистрибутив, то выбор ядра за вас сделали его разработчики, но о нумерации версий вам надо знать, если Вы когда­нибудь задумаетесь об обновлении ядра.
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 Мбайт (
Примеч.4
). Далее надо заботиться только о наращивании оперативной памяти и объема жесткого диска, тут лишнего никогда не будет.
Снова сошлюсь на книгу А. Федорчука
[П1.6]
, в которой большая глава посвящена выбору аппаратной платформы для Linux. В ней автор подробно рассматривает, как Linux относится к каждому компоненту компьютерной аппаратуры, начиная с чипсета и системной платы и кончая периферийными устройствами и источниками бесперебойного питания. Однако, на мой взгляд, на практике выбор компьютера определяется не операционной системой, а, в первую очередь, материальными возможностями владельца. И надо отнести к достоинствам ОС ее способность управлять не только самыми последними и "навороченными" моделями, но и уже "вышедшими из моды" или "морально устаревшими" экземплярами. Ведь так называемое "моральное устаревание" как раз и вызвано тем, что новые версии ПО от самых известны производителей заставляют списать в утиль вполне работоспособное оборудование. В этом смысле Linux имеет огромное преимущество, заключающееся в том, что она способна работать даже на тех компьютерах, где альтернативой ей может быть только MS DOS. Конечно, в таких случаях мы получим только режим командной строки, но, судя по различным источникам в Интернете, это не мешает использовать старые компьютеры для выполнения различных вспомогательных задач, например, в качестве маршрутизаторов.
Но вопросы использования Linux для этих целей не попадают в сферу нашего интереса. Если же говорить о типичном пользователе, то, судя по моему опыту, если Вы можете на компьютере работать с ОС Windows 95, а тем более с Windows NT или Windows 2000, то такой компьютер вполне годится для запуска Linux.
1.4. Где взять Linux?
И, в заключение первой главы, краткий ответ на вопрос, сформулированный в заголовке раздела.
Как было сказано, Linux вместе с огромным количеством прикладных программ
распространяется практически бесплатно. Это значит, что пользователь, который не собирается модифицировать ПО или заниматься его продажами, имеет полное право скопировать весь дистрибутив Linux или любые его части у знакомого, скачать из Интернета или купить CD­ROM с Linux у торговцев в подземном переходе, не опасаясь, что подвергнется преследованию за нарушение лицензионных требований (которые почему­то называются "соглашениями"), выставленных фирмой­разработчиком.
Из трех перечисленных вариантов приобретения дистрибутива я бы предложил выбрать приобретение его на CD­ROM. Покупать желательно не в подземном переходе (хотя первый свой дистрибутив я приобрел на местном рынке и не пожалел), а в одной из компьютерных фирм или через интернет­магазин. Это дает возможность выбора и некоторые гарантии, по крайней мере, по обмену бракованного диска. Только имейте в виду, что разброс цен может быть очень велик.
Существуют красивые упаковки с ценой более 1000 рублей (и это право продавца — назначить цену). И тот же дистрибутив (может быть только без печатного руководства по инсталляции) можно купить за сотню­другую.
Сам я в последнее время пользуюсь услугами интернет­магазинов. Конкретный адрес я не указываю (реклама у нас теперь платная), но таковых теперь множество, так что отсутствие здесь конкретного адреса не препятствие для тех, у кого есть желание приобрести дистрибутив.
Глава 2. Инсталляция ОС Linux на компьютер с Windows.
Предыдущий раздел Оглавление Следующий раздел
К фирменным русифицированным дистрибутивам Linux прилагается краткое руководство по инсталляции системы. А на дистрибутивном диске (дисках) обычно имеется и достаточно полное руководство по установке Linux в электронной версии (такое руководство для Red Hat Linux
Russian Edition вы можете найти на сайте http://rus­linux.net
). Кроме того, на русском языке опубликована отличная книга М. Уэлша и др.
[П1.1]
, которую легко найти и в Интернете под названием "Инсталляция Linux и первые шаги" (правда, в одной из более ранних редакций).
Поэтому я не буду в этой книге подробно излагать этапы инсталляции системы, отсылая читателя к упомянутым руководствам. Вместо этого расскажу только о том, что нужно знать и приготовить до начала инсталляции, а также подробно рассмотрю вопрос об особенностях установки Linux на компьютер, уже работающий под одной из ОС семейства Windows, и об организации многовариантной загрузки.
Дело в том, что большинство из тех, кто начинает осваивать Linux, являются уже опытными пользователями ОС Windows, чаще всего Windows 95 или Windows 98. Действительно, пока еще вряд ли Linux является той операционной системой, с которой пользователь начинает свое знакомство с компьютером. И, естественно, если пользователь раньше работал с ОС Windows и решил поэкспериментировать с Linux, то ему не хочется терять свою привычную среду и все, что было наработано, настроено и отлажено под Windows. К счастью, терять и не обязательно, потому что на одном компьютере вполне могут ужиться две и даже больше ОС (хватило бы места
на диске!). Именно поэтому ниже будет рассказано о том, как установить ОС Linux на компьютер, который до тех пор работал под одной из операционных систем фирмы Microsoft.
2.1. Подготовка к инсталляции.
Устанавливать Linux можно одним из следующих способов:

с локального CD­ROM;

с жесткого диска, на который скопирован дистрибутив Linux;

с файл­сервера локальной сети по NFS;

с другого компьютера в локальной сети через SMB;

с удаленного компьютера (в том числе из Интернета) по протоколу FTP;

с одного из WWW­серверов Интернета по протоколу HTMP.
На мой взгляд, наиболее удобен и практичен вариант установки Linux с CD­ROM, тем более, что купить нужный компакт­диск теперь не проблема.
Прежде чем приступить к инсталляции, соберите (запишите на листе бумаги) всю необходимую информацию о конфигурации вашего компьютера. Если ваш компьютер пока что работает под
ОС Windows 95/98, то многое можно найти, щелкнув правой кнопкой мыши по значку My
Computer (Мой компьютер), а затем выбрав команду Properties (Свойства). Там можно найти почти всю необходимую информацию. Если чего­то не найдете, придется искать другими способами, вплоть до того, что открыть компьютер и прочитать надписи на самих устройствах.
Чтобы ничего не забыть, предлагаю вам пользоваться следующим списком. Не ленитесь и постарайтесь записать о каждом устройстве как можно больше данных (какие только сможете найти), это все может пригодиться при установке и настройке, когда искать эти данные будет сложнее.

BIOS:

фирма­производитель;

версия.

Контроллеры жестких дисков: тип (IDE или SCSI) и объем ваших жестких дисков (если у вас IDE диски, вы должны проверить, что BIOS вашего компьютера обеспечивает доступ к ним в режиме LBA):

hda (Master на 1 контроллере или Primary Master);

hdb (Slave на 1 контроллере или Primary Slave);

hdc (Master на 2 контроллере или Secondary Master);

hdd (Slave на 2 контроллере или Secondary Slave).

фирма­производитель и номер модели SCSI адаптера (если имеется).

Объем оперативной памяти (в килобайтах).

CD­ROM:

тип интерфейса (IDE, SCSI, или иной);


для не­IDE, не­SCSI CD­ROM — фирма­производитель и номер модели.

Мышь:

тип (serial, PS/2, или bus mouse);

протокол (Microsoft, Logitech, MouseMan, и т. д.);

число кнопок;

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

Адаптер дисплея:

фирма­производитель;

номер модели (или чипсет, который использован);

количество видео­памяти;

Монитор:

фирма­производитель;

номер модели;

граничные значения (min, max) частоты вертикальной и горизонтальной развертки (эти данные вы можете найти только в документации на монитор, их Windows не выдает, а между тем они очень важны при настройке графического интерфейса).

Если вы собираетесь работать в сети (а UNIX вообще в первую очередь — сетевая ОС), то запишите следующие данные:

фирма­производитель и номер модели сетевой карты;

ваш IP адрес;

сетевое имя вашего компьютера;

маска подсети;

IP адрес шлюза (gateway IP address);

IP адреса серверов (основного и резервных) доменных имен (DNS server);

IP адреса серверов WINS (Windows Internet Name Service);

имя домена вашей организации.

Тип и производитель звуковой карты и игровых контроллеров (если таковые имеются).
2.2. Предостережения и рекомендации
Перед тем, как приступить к экспериментам по установке Linux как второй ОС, очень рекомендую принять некоторые меры предосторожности. Дело в том, что вам, возможно, придется произвести переразбиение диска, изменить загрузочные записи и поэкспериментировать с загрузочными и конфигурационными файлами. Все эти действия далеко не безобидны, и результатом может стать то, что компьютер вообще перестанет загружаться. Сумеете ли вы восстановить после этого всю нужную вам информацию с диска — это еще вопрос. Мой опыт говорит о том, что оказаться в такой ситуации очень легко.
Поэтому, во­первых, необходимо изготовить загрузочную или спасательную дискету для вашей старой системы (если вы это еще не сделали). Во­вторых, стоит сохранить все ценную для вас
информацию, наработанную в старой системе (сделать back­up всех ценных файлов). И, в­
третьих, подготовить (разыскать, запасти) комплект установочных файлов для вашей старой системы.
И еще одна важная рекомендация: если что­то пошло не так, не паникуйте. Могу поделиться своим печальным опытом: когда я первый раз устанавливал Linux на компьютере, на котором стояла Windows NT, я быстро потерял возможность ее загружать, и, не разобравшись в ситуации, посчитал, что ничего другого не остается, как отформатировать диск и установить все заново.
Теперь я понимаю, что мог бы все восстановить, если бы не принял поспешного решения.
Поэтому могу сказать, что Вернер Альмесбергер прав, когда в своем руководстве по загрузчику
LILO дает следующие советы оказавшимся в затруднительной ситуации.

Не паникуйте. Если что­то не работает, попробуйте выяснить, что не так, перепроверьте свои предположения и только затем пытайтесь внести необходимые исправления.

Читайте документацию. Особенно в тех случаях, когда система делает не то, что вы от нее ожидаете.
Можно добавить еще один общеизвестный совет.

Смотрите log­фай лы , т. е. протоколы работы системы (забегая вперед, скажу, что искать их надо в каталоге /var/log).
Как уже было сказано, собственно процедуру установки ОС Linux я здесь не описываю, отсылая читателя к подробным руководствам. Однако несколько советов, касающихся тех решений, которые вы принимаете в ходе инсталляции, мне все же хотелось бы дать.
Во­первых, не спешите и внимательно читайте те сообщения, которые появляются на экране, а также вдумывайтесь в то, какие варианты вы выбираете из числа предлагаемых вам на появляющихся экранных формах. В подтверждение этого совета могу рассказать, что когда я ставил Red Hat 7.1, то автоматически давил на кнопку Next, считая, что предлагаемый по умолчанию вариант вполне приемлем. В результате, после завершения инсталляции, я не смог достучаться до компьютера ни по одному из сетевых протоколов (telnet, ftp, NFS, Samba), хотя вроде бы задавал работу компьютера в сети. Оказалось, что в варианте, предлагаемом по умолчанию, устанавливается firewall, который закрывает доступ из сети. Чтобы такой доступ открыть, надо в ходе инсталляции явно задать, какие сервисы оставить открытыми. Но мы же так спешим!
Во­вторых, я не рекомендую соглашаться с тем, что система при загрузке автоматически выходит в графический режим. В конце концов, набрать в командной строке startx вовсе не сложно, а справиться с настройками графической оболочки новичку вряд ли удастся, если с ее загрузкой что­либо не в порядке.
После того, как необходимые меры предосторожности приняты, необходимо решить, каким образом вы будете осуществлять многовариантную загрузку, и подготовить диск к установке нескольких ОС, для чего разбить его на соответствующее число разделов (partition). Но прежде,
чем перейти к конкретным процедурам подготовки диска, мне представляется необходимым хотя бы кратко рассмотреть устройство диска и процедуры загрузки ОС, чтобы не вклинивать теоретические вопросы и объяснения в изложение конкретных процедур. У кого не хватает терпения на чтение этих теорий, тот может пропустить их и перейти сразу к вопросу о выборе программы­загрузчика.
2.3. Раз делы на диске и процесс загр узки
2.3.1. Что такое "геометрия диска"?
Как вы знаете, жесткие диски представляют собой несколько пластин с магнитным покрытием, расположенных на одной оси и вращающихся с большой скоростью. Считывание/запись информации осуществляется с помощью головок диска, расположенных одна под другой между пластинами и перемещающихся от центра к краям пластин. Окружность на магнитной пластине, которую описывает головка при вращении пластин, называется дорожкой, а совокупность таких дорожек, расположенных одна под другой (определяемая каждым фиксированным положением головок), называется цилиндром. Каждая дорожка разбита на сектора, и в сектор можно записать
512 байт полезной информации. Поэтому диски часто характеризуются совокупностью трех цифр: числом цилиндров/числом дорожек в цилиндре/числом секторов на дорожке или C/H/S (от первых букв соответствующих английских терминов: Cylinder/Head/Sector, т. е. цилиндр/головка/сектор). Эти три цифры называют "геометрией диска". Диск с геометрией C/H/S имеет объем C*H*S*512 байт.
Диски являются блочными устройствами, т. е. считывание и запись информации производится блоками, и минимальный размер блока равен одному сектору (512 байт). Для того чтобы записать информацию на диск, надо "позиционировать головку", т. е. указать контроллеру, в какой сектор эту информацию записать. Сектора как раз адресуются путем указания номера цилиндра, номера считывающей головки (или дорожки) и порядкового номера сектора на дорожке.
2.3.2. Разделы диска и таблица разбиения диска.
Физические диски в Intel­системах принято разбивать на разделы. Повелось это, кажется, из­за того, что первые версии MS­DOS не могли обеспечить доступ к большим дискам (а объемы дисков росли быстрее, чем возможности DOS). Тогда придумали разбиение дисков на разделы.
Для этого в нулевой сектор диска (нулевой сектор первой дорожки на нулевом цилиндре) стали записывать так называемую таблицу разбиения диска на разделы (partition table). Каждый раздел может трактоваться как отдельный физический диск. В частности, в разные разделы могут быть установлены разные операционные системы.
Таблица разделов содержит 4 записи по 16 байт для 4 разделов, которые называют первичными.
Каждая запись имеет следующую структуру: struct partition {
char active; /* 0x80:
(
), 0:
*/
раздел активный загрузочный не активный
char begin[3]; /* CHS
, 24 первого сектора бита char type; /*
(
, 83
тип раздела например
— LINUX_NATIVE,
82 — LINUX_SWAP, 85 — LINUX_EXTENDED) */
char end[3]; /* CHS
, 24
*/
последнего сектора бита int start; /*

(32-
,
номер начального сектора бита

0) */
счет начинается с int length; /*

(32
) */
число секторов в разделе бита
};
Таблица разделов диска создается обычно с помощью программы fdisk . В ОС Linux имеется как стандартная программа fdisk (которая, впрочем, существенно отличается от программы fdisk в MS­DOS и Windows), так и еще две программы для работы с разделами диска: cfdisk и sfdisk. Программа cfdisk, как и fdisk, предназначена для работы с таблицей разделов диска: она не обращает никакого внимания на информацию, которая уже имеется на диске.
Отличается она только несколько более удобным интерфейсом, предоставляющим пользователю не просто подсказку по командам, а систему меню. Программа sfdisk обладает несколько более широкими возможностями, в частности, она позволяет произвести некоторые операции над существующими разделами диска.
DOS использует поля begin и end таблицы разбиения диска и функции прерывания 13 BIOS (Int
13h) для доступа к диску, и поэтому не может использовать диски объемом более 8,4 Гбайт, даже с новым BIOS (об этом будет рассказано ниже), а разделы не могут быть более 2,1 Гбайт (но это уже из­за ограничений файловой системы FAT16).
Linux использует только поля start и length таблицы разбиения диска и поддерживает разделы, содержащие до 2 32
секторов, т. е. размер раздела может достигать 2 Тбайт.
Поскольку в таблице разбиения отведено только 4 строки для задания разделов, число первичных разделов на диске с самого начала ограничено: их может быть не более 4. Когда стало ясно, что и
4­х разделов мало, были изобретены логические разделы. Для этого один из первичных разделов объявляется "расширенным" (тип раздела — 5, или F, или 85 в шестнадцатеричной системе), и в нем создаются "логические разделы". Расширенные разделы сами по себе не используются, они могут лишь хранить логические разделы. Первый сектор расширенного раздела хранит таблицу разделов с четырьмя входами: один используется для логического раздела, другой для еще одного расширенного раздела, а два не используются. Каждый расширенный раздел имеет свою таблицу разбиения, в которой, как и в первичном расширенном разделе, используются только две строки, задающие один логический и один расширенный раздел. Таким образом, получается цепочка из таблиц разделов, где первая описывает три основных раздела, а каждая следующая — один логический раздел и положение следующей таблицы.
Программа sfdisk в Linux показывает всю цепочку:



Поделитесь с Вашими друзьями:
  1   2   3   4   5   6


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал