Linux для начинающих - Знакомство с Linux - Дистрибутивы Linux

 

 

 

Самый первый шаг, который вам надо сделать, чтобы войти в круг пользователей ОС Linux, — это выбрать дистрибутив для установки. Можно, конечно, собрать самому всю систему — ядро, компиляторы библиотеки, системные утилиты и прикладные программы, — откомпилировать и установить все программное обеспечение своими руками. Но это потребует от вас отличных знаний программирования и слишком много времени на сборку своего варианта, а также на тестирование и отладку. Поэтому мы не будем рассматривать такую возможность, хотя она и существует. Тем более что без глубоких знаний языка C/C++ в этом случае не обойтись.
Лучший вариант для начинающих — это готовый набор откомпилированных частей операционной системы и прикладных программ, называемый дистрибутивом. При таком варианте производитель дистрибутива берет все проблемы по сборке и тестированию ОС на себя. Такой дистрибутив не требует «крутого» знания программирования и компьютерного «железа».
Количество фирм, продающих дистрибутивы Linux, на данный момент приближается к нескольким сотням, а наиболее старые фирмы выпускают уже десятые версии. Можно сказать, что фактически каждый месяц появляется новая версия дистрибутива какой-нибудь именитой фирмы. Так что запутаться в версиях и фирмах весьма легко, тем более что система нумерации дистрибутивов у каждой фирмы своя — например, Knoppix 4 и Red Hat (Fedora Core) 10 по своей «новизне» примерно одинаковы. Положение осложняет и то, что существуют фирмы, которые не создают свой оригинальный дистрибутив, а модернизируют какой-либо из существующих (это вполне законная деятельность). Но пусть все это вас не смущает — проблемы у всех дистрибутивов, в общем-то, одни и те же. А сравнивать их проще по дате выпуска, учитывая год и месяц. Выбирать свои первый дистрибутив желательно из тех, которые построены на базе Red Hat. Причем такая рекомендация основана не на совершенстве программного обеспечения фирмы Red Hat, а на том, что именно ее разработки и идеи приняты в качестве базовых для ряда национальных операционных систем и для новейших разработок корпораций IBM и Intel. Последние уже вкладывают сотни миллионов долларов в развитие Linux-систем, а это обещает появление в ближайшем будущем операционной системы, превосходящей по потребительским свойствам Windows. Ниже перечислены наиболее популярные дистрибутивы:

Список веб-адресов наиболее известных дистрибутивов приведен в табл. 1.1. По адресу http://www.linuxlinks.com вы найдете ссылки на ftp-серверы, где можно бесплатно скачать образ компакт-диска с дистрибутивом, или адреса серверов онлайновых магазинов, которые зачастую продают дистрибутивы по цене носителя и доставки.
Обратите внимание, что па сайтах фирм-создателей дистрибутивов и онлайновых магазинов, к сожалению, чаще можно найти только рекламную информацию, которая либо мало помогает при установке Linux, либо только запутывает неискушенного пользователя.

Таблица 1.1. Наиболее известные дистрибутивы Linux

Название дистрибутива Адрес в Интернете
Red Hat http://www.redhat.com
Debian http://www.debian.com http://www.debian.org
SuSE http://www.suse.com
Slackware http://www.slackaware.com http://www.cdrom.com
Linux Mandrake http://www.linux-mandrake.com
AltLinux http://www.altlinux.ru
ASPLinux http://www.asplinux.ru

Поэтому ниже приводится список адресов, где вы найдете более под­робную информацию о самых разных аспектах установки и исполь­зования Linux:

Что касается прикладных программ для Linux, то их можно найти на следующих сайтах:

Различия между дистрибутивами

В отличие от мира Windows, где выбор пользователя определяется новизной операционной системы, мощностью компьютера и кругом наиболее важных задач, к выбору наиболее подходящего дистрибутива Linux вам, скорее всего, придется подойти с субъективной точки зрения. То есть основным фактором при выборе будет мнение другого пользователя, так как на данный момент не существует объективного подхода к ранжированию всех дистрибутивов по качеству, надежности и потребительским свойствам. К тому же в течение месяца может выйти несколько версий одного и того же дистрибутива.
Вас, конечно, в первую очередь интересует вопрос, какой дистрибутив приобрести и где. Поэтому сейчас мы попробуем разобраться хотя бы в самых главных отличиях дистрибутивов друг от друга. Это поможет вам, поняв обстановку в мире Linux, сделать осознанный выбор и не попасть в ситуацию, когда в вашем распоряжении будет с десяток дистрибутивов, но вам не удастся использовать ни один для выполнения тех задач, которые для вас действительно необходимы.
Первое, что необходимо отметить: новый дистрибутив — это не новая версия операционной системы. Дистрибутивы, выпущенные в одном и том же месяце, содержат одни и те же базовые средства и утилиты. Забегая немного вперед, можно сказать, что основа любого дистрибутива — ядро — «одно для всех», так как версии ядра обновляются не слишком быстро (именно его придумал Торвальд Линус, а название ядра распространилось на всю систему). Поэтому основные различия между дистрибутивами — в том наборе программ, который подбирается их разработчиками.
Теоретически дистрибутивы различных фирм сохраняют полную совместимость друг с другом на уровне прикладных программ, хотя на практике постоянно возникают различные проблемы. Причем некоторые вопросы решаются довольно просто, но в большинстве случаев требуется вмешательство профессионального программиста.
Дистрибутивы отличаются друг от друга, в первую очередь, программой установки и начального конфигурирования операционной системы (заметим: одной и той же). Несмотря на различия в используемых картинках и задаваемых вопросах, методы конфигурирования системы одни и те же.
Наиболее бросающееся в глаза отличие — это размер дистрибутива. Скажем, есть дистрибутивы совсем маленькие, умещающиеся на паре гибких дисков и предназначенные для специальных применений, например для систем управления определенным устройством. Универсальные дистрибутивы, о которых и идет речь в книге, занимают до 9 компакт-дисков, а в последнее время для их записи все чаще используют DVD. Правда, в большинстве случаев для базовой установки необходим всего один компакт-диск объемом 700 Мбайт, а дополнительные предназначены для поддержки специфических устройств и коммерческих пакетов. Кроме того, дистрибутивы, ориентированные на серверные применения, имеют меньший объем, так как не содержат программ для офисного использования — например, текстовых процессоров, мультимедийных приложений, интегрированных графических оболочек (они могут содержаться на компакт-диске, но не устанавливаются вместе с ядром ОС и серверными утилитами). Сегодня все базовые средства, утилиты и приложения включаются в дистрибутивы в виде откомпилированных программных модулей, называемых пакетами. По формату этих пакетов можно примерно определить, какой дистрибутив попал к вам в руки или на чем он базируется. Наиболее распространены следующие форматы пакетов: rpm формат Red Hat, deb — формат Debian, tgz — формат Slackware.


Рис. 1.1. Структура каталогов на компакт-дисках дистрибутивов: а — Fedora Core; б — SuSE Linux; в — Knoppix; г — AltLinux
Если вы рассмотрите структуру каталогов на компакт-дисках различных фирм (рис. 1.1), то заметите, что среди разработчиков нет согласия даже по поводу того, как должны называться каталоги в дистрибутиве. А ведь 99 % файлов, которые содержатся в разных дистрибутивах, совпадают. Подведем итоги. Выбирая дистрибутив, надо ориентироваться либо на возможность получения технической поддержки со стороны продавца (качественной и доступной в вашем городе), либо на помощь друга, который занимается администрированием Linux-системы. Кроме того, следует обратить внимание на поддержку в системе кириллицы. Несмотря на то, что Linux изначально является многоязычной операционной системой, правильная русификация системы часто возможна только после изменения конфигурационных файлов. В качестве замечания можно сказать, что нежелательно пользоваться услугами фирмы, если она исповедует старый российский подход к поддержке клиентов: хотите — покупайте, хотите — нет; ваши заботы — не наши проблемы.

Ядро

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

• Файловая подсистема предоставляет интерфейс доступа к данным, расположенным, например, на дисковых накопителях. Периферийные устройства также рассматриваются как файловые устройства, с которыми можно производить операции чтения-записи. Файловая подсистема, получив запрос к периферийному устройству, перенаправляет его к соответствующим модулям подсистемы ввода-вывода. Одна из самых важных функций файловойподсистемы — это контроль за правами доступа к файлам, что обеспечивает большую устойчивость операционной системы Linux по сравнению с MS DOS (вспомните, что атрибуты файлов в MS DOS, которые якобы должны защищать информацию, снимаются легко и кем угодно).
• Подсистема управления процессами и памятью контролирует работу всех программ, которые были запущены в системе. Можно сказать, что запущенная программа порождает процесс (или несколько процессов). Соответственно ядро должно предоставлять процессу доступ к ресурсам компьютера таким образом, чтобы не возникали конфликты с другими процессами, запущенными ранее или позднее. Принято подразделять функции этой подсистемы следующим образом.
- Контроль за созданием и удалением процессов.
- Контроль за распределением системных ресурсов и синхронизацией процессов позволяет разрешать конфликты между процессами при конкурентной борьбе за системные ресурсы. Для этой цели в ядре используется планировщик процессов (scheduler), который следит за тем, чтобы ни один процесс не мог захватить в монопольное пользование ресурсы компьютера (процессу разрешается работа в течение определенного кванта времени, после чего ресурсы передаются другому процессу). Планировщик также распределяет оперативную память между прикладными задачами (модуль управления памятью). Если текущему процессу не хватает оперативной памяти, то ядро освобождает ее, перемещая блоки памяти неактивного процесса в swap-область на винчестере.
- Модуль межпроцессорного взаимодействия отвечает за обмен данными между различными процессами. Он же сообщает процессам о возникновении событий — например, о появлении сигнала прерывания от какого-либо устройства. Так, мышь выдает сигнал прерывания при перемещении и нажатии на кнопку, а внутренний таймер компьютера 50 раз в секунду выдает сигнал об очередном изменении значения времени.
• Подсистема ввода-вывода управляет доступом к периферийным
устройствам, организует буферизацию данных и взаимодействует с драйверами устройств.

Нумерация версий

С первого шага в мире Linux вы столкнется'ь с любопытной системой нумерации версий программ, которая не имеет никакого отношения к системе нумерации дистрибутивов, а тем более — к нумерации, принятой для Windows-программ. В первую очередь это связано с тем, что все программы постоянно дорабатывается и, если открыты исходные тексты, к ней прикладывают руки не только авторы.
Чтобы навести некоторый порядок в нумерации, за основу была принята трехразрядная система. Например, первая в третьем тысячелетии версия ядра имеет номер 2.4.2. Старшинство разрядов идет слева на право, поэтому, например, KDE 2.1 новее, чем KDE 1.4. Причем номер версии программы обязательно включается в имя программы.
Еще одна особенность нумерации в Linux связана с тем, что второй разряд несет информацию о стабильности программы. Четный номер — это стабильная версия программы, которой можно пользоваться, не ожидая особых подвохов (хотя всякое бывает).
Нечетные номера означают, что версия прямо от разработчика и, возможно, страдает всяческими «детскими болезнями», например, «виснет» каждые пять минут или «подвешивает» систему так, что требуется перезагрузка. Такие версии часто носят название beta, а в номере версии может присутствовать буква «Ь». Примерно тот же смысл имеет индекс рге (или буква «р»), который говорит, что эта версия программы вышла до появления «настоящей» или «официальной» версии.
Третий разряд маркирует очередную доработку, не связанную со значительными переделками, но, к сожалению, это не всегда выполняется. Кроме трехразрядного номера, в имени могут дополнительно присутствовать цифро-буквенные индексы, которые как бы поясняют назначение программы.
Вообще говоря, имя файла начинается с названия программы, а после него идет номер версии. Например, в файле linux-2.0.31.tar.gz находится стабильное ядро Linux. В этом же примере два последних индекса несут информацию о том, каким способом заархивирован файл (tar.gz — это аналог расширения ZIP в Windows). Но в настоящее время в конце имени файла часто присутствует информация о типе пакета: например, rpm — пакет формата RedHat. После номера версии почти всегда указываются индексы, говорящие о типе содержимого файла. Индекс sre информирует о том, что программа находится в файле в виде исходного текста. Цпфро-буквен-ный индекс i386 или i586 показывает, что в файле находятся готовые к использованию модули (например, двоичный код, который может сразу исполняться). Сам индекс «i» явно указывает, что код предназначен для использования на компьютере с процессором фирмы Intel, а цифры указывают па тип процессора (файл с индексом 1386 может быть использован па любом IBM PC-совместимом компьютере). Кроме того, для ядра часто выпускают «заплатки» — patch-файлы, которые решают проблемы, возникшие в процессе его использования. Эти файлы не содержат целиком ядро Linux, а предназначены для интеграции с уже установленным в вашей системе программным обеспечением. Так как таких исправлений может быть очень много, то в номере могут присутствовать буквы «р» и «f», например, 0.98р14 или 0.99f114.
У коммерческих версий имя программы может быть более запутанным — например, у beta-версии браузера Opera 5 один из вариантов пакета носит название opera-static-5.ob6-20010212.17.1.i386.rpm. Но встречаются и простые варианты построения имени, например как у антивирусной программы DrWeb, — dweb-4.2.3beta-linux.tgz.

ПРИМЕЧАНИЕ
Для нумерации версий ядра в 2005 г. была принята четырехзначная система. Кроме того, для версий ядра, которые откомпилированы для процессора типа Athlon, используется индекс athlon, а не универсальный индекс i386 или i586

Hosted by uCoz