Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
VPS в 21 локации

От 104 рублей в месяц

Безлимитный трафик. Защита от ДДоС.

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

Назад Содержание Вперед

Введение в POSIX'ивизм

(C) Алексей Федорчук, 2005
Опубликовано на сайте LinuxCenter

Глава 5. Как научиться плавать: установка системы

...А был он в плаванье сущий король.
Это ложь, что он плавал саженками -
У него был поставленный кроль.
Аркадий Аршинов

Итак, цели ясны, задачи определены - за работу, товарищи. Однако, чтобы научиться плавать, нужно лезть в воду, чтобы научиться работать в POSIX-системе - нужно начать работать в какой-либо их этих систем.

Содержание

Подготовка к заплыву

Банальность этого утверждения осложняется одним моментом. Прежде чем начать работать в Linux или BSD, любую из этих систем необходимо установить. Поскольку спасение утопающих - дело рук самих утопающих, то устанавливать ее придется, скорее всего, тому самому пользователю, в планы которого и входит обучение Unix'у. А вот тут - увы - оказывается, что сама по себе установка этой системы предполагает некоторые навыки обращения с ней: все та же уловка 22, о которой уже говорилось ранее.

На самом деле все не так суицидально. И современные user-ориентированные дистрибутивы Linux можно установить столь же просто, как и Windows. Именно для того и предназначены программы-инсталляторы, составляющие специфику каждого дистрибутива и являющиеся предметом гордости для их создателей, объектом восхваления или ругани - для пользователей.

Лучшие установщики из хорошо сделанных дистрибутивов Linux позволяют установить систему буквально десятком кликов мыши, потребовав предварительно лишь ответа на несколько вопросов. А то и на один-единственный - не желает ли пользователь проделать все на полном автомате? Или предлагая варианты ответов, один из которых, умолчальный, считается наиболее подходящим. Известная шутка про Debian: установить его может и цыпленок, достаточно научить его клевать клавишу Enter, - оказывается подчас не столь уж и далекой от истины...

Но тут возникает другая проблема: эти самые замечательные инсталляторы в своей неустанной заботе о благе пользователя настолько маскируют от него суть своих действий, что пользователь остается в полном недоумении - а что, собственно, они делают. И каким таким волшебным образом на винчестере, который только что был девственно чист, возникает операционная система, да еще и с многочисленными приложениями на 2-4 Гбайт. Функции которых также не всегда понятны, взаимосвязи - неизвестны, необходимость - может показаться сомнительной. Это - с гносеологической точки зрения. А с практической - оказывается, что в автоматическом или полуавтоматическом (от поклевывания Enter) режиме система установлена не совсем так, как этого хотелось бы пользователю (а то и вовсе не так).

Разумеется, не все дистрибутивы столь заботливы - некоторые требуют от пользователя понимания сути совершаемых действий. И в них пользователю предоставляются широкие возможности для вмешательства в процесс установки. Предельный случай - дистрибутив Gentoo Linux, инсталлятора просто не имеющий: весь процесс установки выполняется прямыми командными директивами. Однако начинающему пользователю это может показаться сложноватым - да так на самом деле и есть. Ведь и плавать обычно учатся пусть на северном берегу, но Черного моря, а не на южном - Баренцева...

Так что выбор в качестве первой пробы пера какого-либо user-ориентированного дистрибутива вполне оправдан. Однако понимание сути действий установщика любой дружественной системы от этого не становится менее важным. Тем более, что все они, в сущности, делают одно и то же.

Что именно? А давайте подумаем, что нужно сделать, чтобы установить ОС.

Для начала примем как данное, что установщик Linux (или любой BSD-системы - в данном случае это рояля не играет) - просто некая программа. Правда, как ни странно, работающая под управлением устанавливаемой им же ОС - Linux'а же, или там FreeBSD. Каковой на винчестере пока не имеется. То есть первый шаг к установке - загрузка соответствующей операционки с какого-либо внешнего носителя и запуск программы-инсталлятора.

Далее, кроме установочного носителя (в его качестве ныне обычно выступает CD ROM), неплохо иметь накопитель, на который новая ОС будет устанавливаться. Таковым в большинстве случаев является жесткий диск (он же винчестер или, в народе, просто винт). Причем этот накопитель нужно подготовить неким определенным образом, доступным для понимания устанавливаемой системой. То есть, в терминах DOS/Windows, разметить (или разбить на разделы) и отформатировать.

Третий шаг - перенос с установочного носителя на диск собственно системы и всего, что ей (и пользователю) необходимо для счастья, - интуитивно понятен. Как понятно и то, что, вне зависимости от наворотов инсталлятора, этот процесс сводится к банальному развертыванию архивов с CD и копированию их содержимого на винчестер. Хотя на установщик возложена одна очень важная функция - обеспечение контроля зависимостей между пакетами (что это такое - надеюсь, станет ясным впоследствии).

Наконец, последнее - это обеспечение загрузки свежеустановленной системы после рестарта машины.

Хотя нет, есть еще и пятый шаг - это настройка графического режима работы. Сама по себе она ни к Linux'у, ни к любой BSD никакого отношения не имеет, однако выступает непременным атрибутом установщика любого дистрибутива, претендующего на роль user-ориентированного.

Многие инсталляторы имеют еще и дополнительные возможности - автоматического определения оборудования на целевой машине, более или менее автоматизированных настроек, и так далее. Однако четыре перечисленных шага (инсталляторы дистрибутивов, не посягающих на user-ориентированность, настройки графики не предусматривают) делают в обязательном порядке все инсталляторы любых Linux-дистрибутивов (и не только - если вы думаете, что установщик Windows обходится без запуска, подготовки диска, копирования компонентов и обеспечения загрузки - то вы глубоко не правы). Вот и рассмотрим каждый из этих шагов поподробнее - для определенности на примере установки Linux.

Загрузка и запуск

Загрузка Linux для установки этой системы осуществляется с CD - времена загрузочных дискет, надеюсь, остались в далеком прошлом (ныне дискеты могут понадобиться только в особых случаях), а времена DVD-дисков - пока еще в светлом будущем, более или менее отдаленном (хотя некоторые дистрибутивы и предлагаются на этих носителях). То есть первый (а иногда - и не только первый) диск любого дистрибутивного набора - загрузочный, и для старта достаточно вставить его в соответствующий привод, перезагрузить машину (тремя пальцами или одним - по ситуации), в ходе перезагрузки выставить в BIOS Setup соответствующую опцию - загрузка с CD, - и ждать завершения процесса (что может занять не одну минуту).

Конечно, прежде чем загружать какой-либо дистрибутив, хорошо бы им обзавестись. И тут в условиях нашей реальности существует два пути. Оба из которых, в соответствие со старой литературной традицией, можно выразить в одной фразе: Купить нельзя скачать (или, если угодно, Скачать нельзя купить:-))

То есть: любую свободную ОС POSIX-семейства в той или иной комплектации можно (по определению - см. о свободе и халяве) скачать по ftp- или http-протоколу (в виде iso-образа) с сайта/сервера разработчика или какого-либо иного (из более иных заслуживает быть отмеченным LinuxISO). И это - вполне приемлемый путь, если вы а) сидите на "толстом" канале и б) не платите за него из толщины собственного кошелька (или толщИны эти эквивалентны). Что, в условиях постсоветской действительности, бывает на так и часто...

А второй путь - это просто купить дистрибутив. Например, в большом книжном магазине. Или - через систему онлайновой торговли. Каковых на Руси развелось не мало. Но есть и такие, которые занимаются непосредственно продажей свободного софта. И в этом ряду на первое место должен быть поставлен Линукс Центр. В магазине которого можно найти:

  • изобилие дистрибутивов Linux во все расширяющемся ассортименте;
  • практически любую из существующих BSD-систем;
  • литературу по тематике Unix, Open Sources (ну и по общекомпьютерной тоже);
  • и, наконец, атрибутику - ведь не секрет, что успех любого открытого проекта предопределяется удачным выбором тотема-талисмана...

"А чего не хватит в доме - сколько хочешь, в гастрономе": и если позарез нужный вам дистрибутив не обнаруживается в закромах Линукс Центра, напишите. После чего отнюдь не исключено, что он там скоро появится.

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

Первое, что делает загрузчик Linux - это загружает Linux. То есть ту часть этой системы, которая называется ядром (некоторые считают, что ядро - это и есть Linux, однако, как вы поняли из главы 2, я с этим не согласен). Ядро ОС отвечает за взаимодействие всех остальных программ с "железом" целевой машины (в самом широком смысле слова) - без такого взаимодействия никакие дальнейшие действия невозможны.

Со временем мы увидим, что ядро Linux (как и любой BSD-системы) может быть собрано (сконфигурировано) самыми различными способами - в зависимости от возможностей (то есть того же наличного "железа") и потребностей (назначения системы). Для ядра, обеспечивающего установку, главное - это поддержка максимально широкого спектра оборудования из числа наиболее распространенного, ведь создатели дистрибутива наперед не знают, на какие машины его придется устанавливать пользователям.

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

Не все оборудование критически важно определить на стадии установки. Очевидно, что к такому относятся: носитель дистрибутива (то есть CD, вернее, его интерфейс, а еще вернее - контроллер оного), целевой накопитель (рискну предположить, что им будет винчестер) и его контроллер, память, как с точки зрения количества - для всех установщиков, как и любых других программ, требуется некоторый минимум под самих себя, - так и качества - часто именно при инсталляции Linux'а выявляются "глючные" ее модули. Большинство установщиков user-ориентированных дистрибутивов по умолчанию запускаются в графическом режиме - и потому немаловажным моментом диагностики является определение возможностей видеокарты и монитора. А поскольку графический режим установки почти немыслим без мыши - это устройство (вместе с клавиатурой) также неожиданно оказывается в списке критически важных.

Какие подводные камни могут встретиться на начальной стадии загрузки? Не так и много. Приводы CD ROM и винчестеры уже давно столь стандартны, что ждать здесь осложнений не приходится (о некоторых возможных проблемах я скажу чуть позже). Вопрос недостатка памяти - актуальность практически потерял (обычных ныне 256-ти мегабайт с лихвой хватает для запуска самого навороченного инсталлятора), ее качество - вопрос к службе техподдержки фирмы, у которой покупалась машина или ее комплектующие.

Видеосистема? Здесь, конечно, неожиданности возможны. Однако разнообразие видеокарт осталось в прошлом, современные же видеочипы (благо, в каждый момент времени они известны наперечет), как правило, установщиками распознаются нормально (хотя и не всегда идеально). Для неизвестных же инсталлятору мониторов (то есть не присутствующих в его базе данных или не определенных им автоматически) обычно выставляются минимально возможные (то есть безлопастные) частотные характеристики - страшилки о сгоревших вследствие завышения значений разветки мониторах отошли в область преданий.

Еще бывают проблемы с USB-мышами и, особенно, клавиатурами - не все разработчики дистрибутивов усвоили, что PS/пополамные грызуны (не говоря уже о COM'портовских) и их тети Клавы скоро разделят участь динозавров. Однако и эти проблемы отходят в прошлое. Правда, если они все же возникнут (как во многих версиях FreeBSD - с USB-клавиатурами), решить их можно только временной (на период установки и начальной конфигурации) заменой соответствующего дивайса его престарелым аналогом.

Наиболее вероятные в настоящий момент грабли - это ATA RAID-контроллеры. Ныне ими оснащается чуть не половина всех материнских плат, а вот с поддержкой их Linux'ом (и особенно - установочными ядрами дистрибутивов) дело не всегда обстоит лучшим образом.

Не могу не воспользоваться случаем и не молвить пару слов во славу FreeBSD - в 5-й ее ветке проблем с контроллерами ATA RAID почти не бывает. А вот NetBSD, напротив, до недавнего времени знать о них не знала и не желала (насколько мне известно, начиная с версии 2.0 это, наконец, изжито). OpenBSD тут занимает промежуточное положение - диски на контроллерах ATA RAID она обычно распознает, но работать с ними может только как со стандартными IDE-винчестерами.

Что делать в случае осложнений с "железом"? Во-первых, сверить наличное оборудование со списком поддерживаемого данным дистрибутивом. Впрочем, это лучше делать до приобретения того или другого - если у производителей "железа" такого рода информацию раздобыть трудно, то она обычно доступна на сайтах разработчиков дистрибутива.

Во-вторых, внимательно ознакомиться с комплектацией дистрибутива. Многие из них (и здесь доброго слова заслуживает Slackware) оснащаются не одним ядром, а несколькими - в том числе и для поддержки всякого экзотического оборудования. Причем - с тщательно прокомментированными конфигурационными файлами, легко позволяющими понять, какое ядро для какого "железа" предназначено. Правда, не факт, что такие дополнительные ядра могут стартовать непосредственно с CD - тут-то и придется повозиться с загрузочными дискетами. Благо, процедура их создания под DOS/Windows описана в большем числе документов, чем возникает случаев необходимости обращения к ним.

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

Если же и это не помогло - остается только сменить "железо". Причем, возможно, только на время установки. Потому что всегда следует помнить: отсутствие поддержки какого-либо устройства на стадии установки - отнюдь не означает невозможность его работы в Linux вообще. И вполне возможно, что видеокарта, оставшаяся неопознанной инсталлятором, будет благополучно настроена в дальнейшем. Так что главное - установиться, а там видно будет, как сказал бы гражданин император Наполеоне Буонопарте.

Практически единственное непреодолимое препятствие для установки, с которым я сталкивался - те же ATA RAID, не к ночи будь помянуты. Да и то - только в том случае, если с подключенных к ним дисков предполагается загрузка, или они должны нести корневую файловую систему. Иначе - весьма велика вероятность, что диск на дополнительном контроллере ATA RAID, не видный при установке, можно прикрутить к системе, должным образом сконфигурировав и пересобрав ядро. Эта проблема имеет давнюю историю, и существуют обходные пути ее решения, однако задача эта - не для начинающего пользователя. Да и труда часто не стоит. Так что возможно, что тут просто уже придется браться за отвертку и перетыкать винчестер в основной IDE-разъем...

Если с базовыми компонентами машины все в порядке - происходит запуск собственно инсталлятора. Однако перед этим во многих дистрибутивах выполняется (уже не ядром, а отдельной программой - в Linux ею обычно является kudzu) диагностика оборудования, не критичного для установки, но весьма важного для пользователя: звуковой и сетевой карт, принтера, модема, сменных накопителей, и т.д. И если оно будет опознано правильно - есть шанс получить их поддержку сразу по завершении установки, без дополнительных телодвижений.

Однако вернемся к инсталлятору. Как я уже говорил, обычно это - более или менее красивая и удобная программа графического режима. Однако в случае затруднений с видеокартой может быть предложена установка в режиме текстовом. Чего пугаться не следует - функциональность установщика от этого (почти) не изменится, разве что все будет не так красиво...

Первые вопросы программы-установщика могут быть разными: здесь обнаруживаются и выбор языка (в последние годы по русски заговорили и инсталляторы сугубо заграничного происхождения), и уточнение типа и интерфейса мыши (хотя автоматика тут обычно справляется), и точное указание видеорежима, в котором будет происходить установка (при правильном опознании видеокарты, разумеется). Ответы на них обычно достаточно очевидны и могут даваться из соображений здравого смысла.

Единственная тонкость касается как раз языка. В одних системах (примером - ASPLinux) язык установки (предположим, русский) никак не связан с базовой русификацией системы (последняя настраивается потом и отдельно). В других же, напротив, избежать последующей ручной русификации можно, только выбрав русский язык как используемый при установке (Mandrake, Altlinux). При этом подчас (помянем добрым ласковым русским словом некоторые версии Red Hat и Fedore'но Core) доходит до смешного: выбор русского языка при установке в некоторых ситуациях делает затруднительным ввод латиницы (и, как станет ясным из следующей главы, вход в систему) сразу после перезагрузки. Так что - читайте документацию, ибо даже и user-ориентированная система может здорово спрашивать...

Подготовка диска

Как бы то ни было, промежуточная стадия после загрузки рано или поздно заканчивается. И наступает второй этап большого пути - подготовка диска. Это понятие включает три компонента: разбиение диска на разделы, создание на них файловых систем (или, как говорят в DOS/Windows, форматирование), их монтирование, то есть инкорпорацию в единую файловую систему. На сути их останавливаться не будем - подробному рассмотрению этих действий будут посвящены специальные главы (глава 9 и глава 10, соответственно). А пока лишь несколько практических рецептов.

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

Впрочем, забыл сказать о самом главном: если Linux устанавливается не на "чистую" машину, вся информация на диске, о потере которой вы будете сожалеть, должна быть в обязательном порядке сохранена на резервных носителях (быть может, именно установка новой ОС подвигнет вас на так долго откладываемый backup?). Потому что сама по себе процедура подготовки диска практически безопасна для наличной информации - при соблюдении сказанного в прошлом абзаце и с учетом того, что скажу в следующем. Однако любые аппаратные сбои, вплоть до отключения света (вы ведь еще не поставили бесперебойник? - сделайте это скорее, в POSIX-системах без него не житье), будут иметь необратимые последствия. И потому не уставайте повторять про себя бессмертные слова Козьмы Пруткова-компьютерщика: "Не шутите с данными, эти шутки глупы и неприличны"...

Вообще говоря, для первой установки я рекомендовал бы именно чистый диск - пусть и не первый (Linux в силах грузиться как с Master'а, так и со Slave на любой IDE-линии).

А возвращаясь к режимам установки, следует вспомнить и божественного Гомера: бойтесь данайцев, дары приносящих. В данном случае - полностью автоматического режима, хотя часто именно он рекомендуется установщиком как самый подходящий для начинающего. Почему? Да потому, что, как правило, автоматическая подготовка диска подразумевает, что разделы под Linux будут созданы по велению и хотению инсталлятора, без всякого учета наличной информации. Попросту говоря - все содержимое диска (установленная ранее ОС и ее данные) может быть уничтожено. Причем далеко не всегда предупреждение на этот счет покажется вам достаточно внятным.

Так что пользователям, и особенно начинающим, прибегать к автоматическому режиму следует только в случае "чистого" диска. Да и то, я бы воздержался от него без веских причин (острого дефицита времени, скажем). Потому что именно начинающему пользователю весьма полезно познакомиться с процедурой дисковой разметки даже в том скудном объеме, в каком это допускают заботящиеся о нем установщики. И вообще - по моему скромному разумению, все автоматические режимы инсталляторов (это касается и дальнейшего, например, выбора пакетов), оправданы как раз не для начинающих пользователей, а для весьма искушенных (и - именно в конкретном дистрибутиве) системных администраторов. Знающих точно, когда на автоматику можно положиться, а в каких случаях следует вмешаться руками.

Сказанное относится и к режиму полуавтоматическому. Под ним обычно понимается то, что разделы для установки Linux будут созданы установщиком также по своему разумению, но не на всем диске, а только на его неразмеченном пространстве. Подчеркну - именно неразмеченном, а не просто свободном от данных. Так что опасности для существующей информации этот режим обычно не представляет (впрочем, читайте, что сказано по его поводу в данной системе). Но и самообразованию пользователя он также не очень способствует.

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

В значительной мере решение это будет определяться тем, что нам предложит установщик. А их модули управления разделами и файловыми системами обычно предусматривают весьма широкий спектр возможностей. Очевидно, что среди них - возможность удаления существующих разделов и создания новых: иначе как нам освободить место под Linux на полностью разбитом диске. В некоторых дистрибутивах возможно изменение существующих разделов без потери информации, или перемещения их на другие участки диска.

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

Корневой раздел в первом приближении будем считать предназначенным для системы в целом (в дальнейшем мы увидим, что некоторые ее части целесообразно вынести на отдельные разделы. но пока голову на сей предмет ломать не будем). Размер его, собственно говоря, определяется намерениями на следующем этапе установки, однако чисто на вскидку определим его в диапазоне 2-5 Гбайт.

Раздел подкачки (swap-раздел) предназначен для обмена с оперативной памятью - в него выгружаются, фигурально говоря, давно не использовавшиеся фрагменты программ и данных. Рекомендуемый для него размер равен удвоенному объему системной памяти. Насколько такая рекомендация оправданна в настоящее время - вопрос спорный, однако и этим пока не будем заморачиваться - если не знаешь, как делать, делай, как приказано (сиречь - рекомендовано в документации).

Величина раздела для пользовательских данных задается просто - а) по остаточному принципу, б) по принципу "сколько не жалко" или, наконец, в) столько, сколько нужно (если, конечно, вы в силах предугадать это). И в любом случае по возможности я оставил бы некоторую часть дискового пространства не разбитой: если по прочтении соответствующей главы (или в процессе последующей работы) обнаружится, что диск разбит не оптимальным образом, будет некоторая свобода маневра.

А еще установщик может предложить выбор - создавать ли ему разделы первичные или - логические в расширенном разделе (формулировки тут могут быть самые разные и подчас не всегда понятные). Для Linux'а самого по себе это несущественно - требование непременной первичности для корневого раздела давно потеряло силу. Однако зависит это от конфигурации разделов ранее существующих (и тех, которые хотелось бы сохранить неприкосновенными после установки). Ибо первичных разделов на диске IBM-совместимой персоналки может быть не более 4-х, и практически только один из них может быть объявлен расширенным, пригодным к расчленению на разделы логические.

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

И последнее. Возможно, установщик будет настойчиво рекомендовать небольшой раздел для использования в качестве загрузочного. Если так - по возможности, соглашайтесь, не пожалеете. И размер его определите в 30-50 Мбайт (хотя, например, Fedora откажется устанавливаться, если этот раздел будет меньше 70 Мбайт).

Большинство установщиков user-ориентированных дистрибутивов тесно сопрягают разбивку диска с форматированием и монтированием. То есть по создании раздела (или даже одновременно с заказом желаемых партиций) предлагается выбрать для него тип файловой системы и определить точку ее монтирования. Linux в качестве родных (native) поддерживает множество типов файловых систем - классическую Ext2fs и ее усовершенствованную разновидность - Ext3fs, ReiserFS, XFS, JFS. И все они могут быть предложены инсталлятором на выбор. Так что вопрос этот - весьма сложен, но поначалу, до формирования устойчивых личных предпочтений в этой области, можно согласиться с тем, что предлагается по умолчанию. С монтированием же - очевидно, что корневой раздел должен быть смонтирован в точку корня (/), раздел для данных - в точку /home, загрузочный - в точку /boot. А раздел подкачки в монтировании не нуждается...

И еще один важный момент: собственно разбиение диска и форматирование разделов (то есть действия необратимые, после которых откат к старому состоянию диска уже невозможен) обычно выполняются не в момент нашего выбора, а несколько позже. И потому в user-ориентированных дистрибутивах при ошибке можно, до некоторой критической точки, отказаться от сделанных изменений и начать все сначала.

Установка

Третий этап установки Linux - это собственно установка, то есть разворачивание компонентов системы, хранящихся обычно в архивированном и компрессированном виде, и помещение их на подготовленный плацдарм - смонтированные файловые системы на дисковых разделах. Однако этому предшествует стадия выбора компонентов, подлежащих установке.

Дистрибутивы Linux организованы по пакетному принципу. Пакет - это, по выражению Максима Отставнова, атом Linux-системы, наименьшая часть, на которую ее можно разделить. Так что без сильнодействующих технических средств пакет может быть добавлен в систему только целиком, и также целиком - удален.

Это не значит. что пакеты - маленькие, размер их может быть самым разным. Как и состав - есть пакеты, включающие фактически одну-единственную монофункциональную программу, есть пакеты, образованные набором программ определенной направленности. А есть - и такие, которые сами по себе являются самостоятельной системой. Примером чему - оконная система X (X Windows System) или, в просторечии, Иксы.

В состав дистрибутива пакеты могут быть включены в трех формах формах:

  • в виде т.н. исходных текстов (sources - "исходников"), которые перед установкой и использованием подлежат определенным действиям - трансформации в исполняемый код (процесс этот называется сборкой);
  • в виде набора правил для получения (из Сети) и сборки готовых к использованию пакетов из исходников - так называемых портов, хотя в Linux такие наборы правил имеют собственные названия в каждом дистрибутиве; при этом сами исходники в состав дистрибутива входить не обязаны;
  • в виде заранее собранных, т.н. бинарных (или прекомпилированных) пакетов, которые необходимо только развернуть из архивов и поместить куда нужно.

Дистрибутивы, содержащие исходные тексты программ или наборы правил для их сборки, именуются Source Based (хотя точнее было бы называть их портируемыми), дистрибутивы с прекомпилированными бинарниками можно назвать пакетными дистрибутивами. Правда, четкую границу между портируемыми и пакетными дистрибутивами провести нелегко - многие из них позволяют установку и в том, в и другом виде. Однако, поскольку все user-ориентированные дистрибутивы носят ярко выраженный пакетный, дальше в этом разделе речь пойдет только о них.

Так вот, в разных дистрибутивах приняты разные способы пакетирования собранных программ. Собственно, различие форматов прекомпилированных пакетов - один из критериев разделения дистрибутивов на группы, о чем говорилось в главе 3.

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

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

Кроме того, проблема выбора осложняется еще явлением, известным под названием "зависимости пакетов". На практике это выглядит так, что выбор пакета A автоматически влечет за собой также установку пакетов B и C - количество зависимостей для каждого пакета может быть разным.

Существуют зависимости обязательные, или "жесткие", и опциональные, или "мягкие". Первые - необходимы для установки и запуска инсталлируемого пакета. В большинстве случаев в эту категорию попадают т.н. системные библиотеки. Так, с главной системной библиотекой glibc в Linux (или ее аналогом libc - в BSD-системах) жесткими зависимостями связаны абсолютно все (за редчайшим исключением) программы.

"Мягкие" зависимости в принципе не критичны для установки и работы пакета. Просто они добавляют ему некоторую дополнительную функциональность, которую сборщики дистрибутивов полагают полезной. Что, однако, не значит, будто эта дополнительная функциональность покажется полезной именно вам...

Как же установщики дистрибутивов позволяют решить пользователю проблему выбора и проблему зависимостей? Первая задача облегчается тем, что в большинстве инсталляторов предусмотрены некоторые предопределенные наборы пакетов, собранные в зависимости от целевого назначения системы: графическая рабочая станция, например, офисный или домашний компьютер, рабочее место программиста, web-, ftp- или файл-сервер, и так далее (количество и комплектация таких наборов варьирует в очень широких пределах). Ну а для тех, которые с претензиями и не хотят ходить, как все - по камушкам, - уважающие себя майнтайнеры дистрибутивов предлагают и ручной, попакетный, выбор компонентов.

Предопределенные наборы пакетов призваны решать и вторую проблему пользователя - проблему зависимостей. Очевидно, что майнтайнеры собирают свои заранее заготовленные комплекты так, чтобы в них входили все компоненты, от которых зависят основные (с точки зрения поставленной цели) пакеты. И обычно имеют в этом успех (случаи явных ошибок, конечно, тоже встречаются - но не ошибается только тот, кто ничего не делает).

Если же пользователь решается на попакетный выбор - проблема зависимостей встает перед ним в полный рост. Однако и тут его не бросят наедине с длиннющим списком. В подавляющем большинстве пакетных дистрибутивов существует та или иная система контроля зависимостей, которая не позволит установить компонент A без компонента B, если между ними существует "жесткая" зависимость. В своей заботе о пользователе они идут еще дальше, распространяя ту же систему контроля и на зависимости "мягкие". Впрочем, большинство пакетных дистрибутивов не позволяют различать "жесткие" и "мягкие" зависимости: какие из них прописаны в данном пакете его сборщиком (майнтайнером), те и будут установлены, вне зависимости от вашего желания. Однако на эту тему мы еще подробно поговорим, когда главе 14 дело дойдет до принципов и систем пакетного менеджмента.

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

Я остановился на этом вопросе подробнее, чем здесь следовало бы, и к тому же существенно забежал вперед. И сделал это лишь для обоснования нехитрого тезиса: если вы устанавливаете свой первый в жизни дистрибутив Linux из категории user-ориентированных, не следует рассчитывать, что попакетный выбор даст вам какие-либо преимущества - все равно в системе окажется немало лишнего (а чего-то необходимого может и не хватить). И потому по первости проще положиться на один из предопределенных наборов пакетов - сэкономите немало времени и нервов.

Обеспечение загрузки

После того, как пользователь тем или иным образом разобрался с пакетами, наступает четвертый этап установки - обеспечение загрузки новорожденной системы. Он также включает в себя несколько моментов.

Первый момент - это средство для последующей загрузки ядра Linux - ведь теперь у нас не будет в распоряжении загрузочного CD (вернее, прибегать к этому средству не очень удобно - оно оправдано только в ремонтно-восстановительных целях). И потому стандартный способ загрузки ядра - это специальная программа, которая незамысловато называется - системный загрузчик. Теоретически рассуждая, можно обойтись и без него, записав в соответствующее место диска (которое так и называется - загрузочным сектором) некий код, позволяющий обратиться к ядру Linux, как говориться, без посредников. Однако на практике так, насколько мне известно, никто не делает: это лишает возможности сосуществования Linux с какой-либо другой ОС (интересно, какой?), ну и кое-чего другого.

И потому в Linux принято два системных загрузчика - традиционный Lilo и GRUB, имеющий шансы стать стандартным в мире Open Sources вообще. Оба они - не просто системные, а мультисистемные, то есть позволяют загружать не только Linux, но и многие другие операционки, от Windows до любой BSD. Какой из этих загрузчиков используется по умолчанию в данном дистрибутиве - дело личных пристрастий его разработчика.

Впрочем, большинство дистрибутивов ныне дают пользователю возможность выбора. Правда, не уверен, что совсем уж начинающему следует этой возможностью пользоваться. Лучше положиться на тот загрузчик, который выбран разработчиками в качестве умолчального. По базовым возможностям они более-менее одинаковы, и если на машине не предполагается держать больше двух систем, с этой ролью справится и Lilo, и GRUB. Другое дело, если операционок на машине много, да они еще постоянно добавляются или удаляются. Тут уж преимущества GRUB становятся неоспоримыми - в частности, благодаря возможности тестирования загружаемых конфигураций в интерактивном режиме. Однако вряд ли эта проблема встанет перед совсем начинающим пользователем.

Любой из загрузчиков может быть установлен двумя различными способами - в загрузочный сектор диска или в соответствующий же сектор Linux-раздела (корневого или, если таковой создавался - boot-раздела). Первый способ обязателен, если GRUB или Lilo будут основными системными (или мультисистемными) загрузчиками - что очевидно, ведь тогда другого загрузчика у нас нет. Если же на машине есть уже некий подходящий загрузчик (а Linux в состоянии грузить и NTloader, или как он там нынче называется, и известный Partition Magic, и Acronis OS Selector, и BSD Loader - штатный загрузчик операционок одноименного семейства), то его можно сохранить, а собственно Linux'овый загрузчик записать в boot-сектор раздела.

Впрочем, на тему сосуществования и совместной загрузки Linux и Windows я распространятся не буду, так как уже подзабыл, как это делается. Да и написано на сей счет немало. А мы двинемся дальше.

Дело в том, что установкой программы-загрузчика дело не исчерпывается - она должна быть еще должным образом сконфигурирована. В принципе это делается прямым редактированием конфигурационного файла GRUB или Lilo, соответственно. Однако обычно установщики дистрибутивов избавляют пользователя от этой докуки, и настраивают загрузчик автоматически. От пользователя требуется только ответить на несколько вопросов (типа уже упоминавшегося - куда писать, или нет ли желания вместе с Linux грузить другую операционку, и есть есть - то какая из них должна грузиться по умолчанию, и т.д., и т.п.).

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

Обеспечение работы в графическом режиме

Изложение своих POSIX-максим я начал с того, что Linux - это не Windows. Тем не менее, придать ему "подоконный" образ можно - для этого нужно только обеспечить возможность работы в графическом режиме. Этой цели служит так называемая оконная система X (X Window System), которую мы по ряду причин в дальнейшем будем называть просто Иксами.

Не премину в очередной раз подчеркнуть, что сами по себе Иксы ни к Linux'у, ни к BSD никакого отношения не имеют. Так как создавались изначально для работы поверх почти любой операционной системы (не обязательно Unix-подобной), в принципе способной работать с графикой. В частности, одна из двух свободных реализаций Иксов - XFree86 или Xorg, общепринятых в Linux - это точно те же системы, работающие над Free-, Net- и OpenBSD, OS/2 и даже, страшно сказать, поверх Windows. Однако других полноценных, и при этом свободных, графических систем в открытых Unix'ах нет, и потому XFree86 или, в последнее время чаще, Xorg всегда стандартно включаются в любой дистрибутив Linux (за исключением узкоспециализированных) и в любую BSD-систему.

Забегая вперед, замечу, что Xorg - просто побег от общего дерева, отпочковавшийся от XFree86 вследствие лицензионных соображений. И технологических различий между ними пока не прослеживается. Если, конечно, не считать таковыми разные имена запускающего и конфигурационного файлов. Подробнее эта тема будет рассмотрена в главе 17.

В большинстве дистрибутивов XFree86 или Xorg стандартно входит в любой из предопределенных пользовательских наборов пакетов (но не серверных - там она и не нужна, и даже вредна из соображений безопасности). И потому озадачиваться ее установкой пользователю не приходится. Однако Иксы мало установить - их нужно еще и должным образом настроить. В принципе, как это в обычае POSIX-мира, это делается правкой соответствующего конфигурационного файла. Однако установщики user-ориентированных дистрибутивов Linux, как правило, имеют собственные средства для такого конфигурирования, более или менее успешно с этой задачей справляющиеся (в последнее время - скорее более, чем менее).

Настройка Иксов сводится к двум основным моментам - настройке устройств ввода и настройке устройств вывода. С первыми (а это - обычные клавиатура и мышь) проблем, как правило, не возникает. Для клавиатуры обычно достаточно выбрать более-менее близкий тип из предлагаемого списка (подчас можно воспользоваться и расширенными возможностями таких клавиатур, как Logitech, Microsoft сотоварищи, некоторых ноутбучных) и, если локализация системы не была предопределена выбором языка инсталляции, дополнительную ее раскладку (например, русскую) и, возможно, клавишу (или клавишную комбинацию) для переключения с одной раскладки на другую.

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

С любыми современными мышами - ничуть не сложнее. Если она была не совсем точно определена на автомате - обычно достаточно скорректировать это выбором из предлагаемого списка (например, Microsoft Intellimouse, Genius NetScroll и т.д.). Иногда, правда, требуется отдельно указать протокол и интерфейс нашего "грызуна". И здесь достаточно помнить, что все современные мыши работают по протоколу Microsoft Intellimouse или просто Microsoft (в зависимости от того, есть у мыши колесико или нет); исключением, говорят, являются некоторые Geius'овские модели - но и для них можно подобрать подходящий. А интерфейс - это порт, куда мышь втыкается, и ныне их осталось два - PS/2, постепенно отмирающий, и USB.

С устройством вывода - то есть сочетанием видеокарты и монитора, - несколько сложнее. Для видеокарты необходимо знать производителя чипа (графического процессора), благо их нынче - раз (Nvidia), два (ATI), три (чипсетное видео от Intel) и обчелся (Matrox'ом), иногда - модель поточнее, а также объем видеопамяти. Точная же настройка монитора (включая оптимальные частотные характеристики) невозможна без документации: необходимы знания допустимых диапазонов строчной и кадровой развертки. Правда, некоторые дистрибутивы предлагают выбрать конкретную модель из своей базы данных оборудования. Однако а) далеко не всегда это дает лучший результат, чем ручное задание параметров. и б) именно вашей модели по закону всемирного свинства в этом списке может не оказаться.

Общая рекомендация при указании параметров монитора в сомнительных случаях - лучше перебдеть, то есть занизить характеристики, чем недобдеть, сиречь завысить их. Хотя леденящие душу истории о сгоревших при неправильной настройке Иксов электронно-лучевых трубках отошли в область преданий: современные мультичастотные CRT при чрезмерных к ним претензиях просто вывалятся в черный экран (что неприятно - потребуется ручная правка конфига, - но не смертельно). А вот с LCD-мониторами вообще одно удовольствие - для них частотные характеристики практического значения не имеют.

И последнее, самое важное замечание. Если Иксы по каким-либо причинам не удалось настроить при инсталляции - это не значит прощания с графическим режимом работы вообще. Более чем вероятно, что обеспечить корректную работу XFree86 (как и Xorg) можно будет потом, запустив ее штатные средства автоконфигурирования, штатный же конфигуратор текстового режима (кондовый по исполнению, но надежный), или - просто ручной правкой главного настроечного файла. О чем мы и поговорим в главе 17.

Особенности установки BSD-систем

В предыдущих разделах речь шла в основном об установке user-ориентированных дистрибутивов Linux - исключительно для удобства изложения, дабы не делать многочисленных оговорок. Однако я помню свои собственные слова о том, что BSD-операционки - ничуть не худший объект для знакомства с POSIX-системами. И потому нужно сказать пару слов об особенностях их установки.

В принципе установка какой-либо BSD-системы включает почти те же этапы: 1) обеспечение ее загрузки со сменного носителя и запуска программы-инсталлятора, 2) подготовка диска, совмещенная здесь с установкой загрузчика, 3) собственно установка. Настройка работы в графическом режиме в NetBSD, OpenBSD и DragonFlyBSD не предусмотрена, а во FreeBSD - носит опциональный характер (и из последних ее версий исключена - хотя, возможно, и не навечно). Однако каждый из этапов имеет некоторую специфику.

Ближе всех к Linux'овым user-ориентированным - инсталлятор FreeBSD, запускаемый при старте машины с установочного диска. Он последовательно предлагает пользователю разбить диск на разделы, определить точки монтирования файловых систем, записать собственный начальный загрузчик (впрочем, не запрещается и использование GRUB или Lilo - особенно при совместном использовании с другими ОС), выбрать компоненты базовой системы и, при необходимости, дополнительные (не входящие в собственно FreeBSD Distributions) пакеты, произвести сетевые и прочие настройки (включая базовую русификацию). При желании можно сконфигурировать также XFree86 - для этой цели служат тут штатные конфигураторы последней.

Собственно, главное, что требуется от пользователя. - это знание номенклатуры дисковых накопителей и понимание специфики BSD-стиля разметки диска. При этом условии установка FreeBSD проходит столь же гладко, что и любого Linux'а. А получаемые при постинсталляционном конфигурировании настройки делают систему пригодной к немедленному использования - по мере накопления знаний и определению предпочтений эти настройки в дальнейшем можно будет довести до личного идеала.

Установочные программы Net- и OpenBSD имеют более аскетический вид. Начать с того, что OpenBSD не имеет штатного инсталляционного CD (распространяемые через онлайновые магазины диски не являются официальными, а изготовлены энтузиастами-пользователями). а установочный диск NetBSD для архитектуры i386 лишь недавно (с версии 1.6.1) стал, наконец, загрузочным. В принципе в обеих этих ОС чуть ли не в качестве основного метода установки принимается а) загрузка с дискеты и б) последующая инсталляция по Сети (по ftp- или http-протоколу, с локального сервера и т.д.).

Тем не менее, сама по себе установка и Net-, и OpenBSD сводится опять-таки к разметке диска, выбору устанавливаемых компонентов базового набора (все, выходящее за его пределы, инсталлируется отдельно - из прекомпилированных пакетов или через системы портов) и их записи. Как и при установке FreeBSD, обязательное требование - понимание специфики BSD-разметки вообще и знание особенностей номенклатуры устройств данной ОС. Плюс еще одно - исключительная аккуратность при установке на диск с другой операционкой и (или) данными: в отличие от FreeBSD, здесь изменение дисковой структуры происходит почти в реальном времени, и ошибка может привести к тяжелым последствиям (впрочем, к случаю "чистой" машины это не относится).

Установка DragonFlyBSD, подробно рассмотренная в отдельном цикле, имеет лишь одну особенность - базовая система не распаковывается из архива (архивов), а переносится непосредственно с дистрибутивного CD специальной командой cpdup (что, впрочем, маскируется инсталляционной программой - BSD Installer).

Все сказанным я отнюдь не хотел устрашить потенциального пользователя BSD-систем или внушить ему, что установка их - дело чрезвычайно сложное и опасное. Отнюдь - требуются лишь некоторые предварительные знания и известная аккуратность. Последнее - дело характера, Что же касается минимума BSD-специфичных познаний, то их легко приобрести из чтения документации (практически вся официальная документация по FreeBSD, например, ныне доступна в русских переводах, переводы документации по NetBSD также появились в последнее время) и прочих источников (например, этой книги).

Проблема выбора

В рамках второй истины остается рассмотреть последний вопрос - о выборе водоема для обучения плаванию. Один из наиболее распространенных вопросов на форумах: какой дистрибутив Linux выбрать? Или - более редкая его вариация: что выбрать, Linux или Free- (Open-, Net-) BSD?

В ответ на такой вопрос пользователь может получить кучу вполне конкретных советов, типа: Gentoo - потому что это круто, или Red Hat - потому что это рулез, или FreeBSD - forever (список можно расширять неограниченно). И среди них наверняка будет один совет - универсальный: использовать ту систему, которая стоит у ближайшего Unix-гуру.

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

Дело в том, что пользователь любой POSIX-системы по мене накопления опыта и знаний обрастает комплексом не только привычек, но и готовых решений - сценариев, конфигурационных файлов и тому подобного хозяйства, которое (и это - отличительная особенность дивного POSIX-мира) будут в дальнейшем годами кочевать у него из версии к версии, от дистрибутива к дистрибутиву, а то и из одной операционки в другую. И в результате он может просто элементарно забыть, как настраивается, скажем, модемное соединение в данной версии конкретного дистрибутива (даже если пользует именно его). Другое дело - исходя из понимания общих принципов, он может это достаточно быстро сообразить. Однако - захочет ли? И главное - справедливо ли будет заставлять его (из хорошего отношения к вам) заставлять его вторично проделывать эту работу?

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

Так что - на гуру надейся, а сам не плошай. И потому рискну предложить свой, также претендующий на универсальность, совет: нужно попробовать разные дистрибутивы (возможно, даже разные ОС). И выбрать подходящий методом проб и ошибок. Тем не менее, с чего-то нужно начинать. И здесь самое главное - определиться со своими потребностями и возможностями.

В дальнейшем я буду исходить из того, что начинающий пользователь любой POSIX-системы ставит своей целью (в том числе и) ее изучение - поверьте, в конце концов без этого не обойтись даже при работе в самом дружественном из user-ориентированных дистрибутивов Linux. И здесь очень важно - как этот самый пользователь хочет (а главное, может) осуществлять это изучение.

Одно дело, если пользователь имеет возможность уделить некую толику времени (условно скажем, месяц) на доскональное знакомство с системой. Только после которого он начнет ее практическое использование. И совсем другое - если начинать практическую работу (хоть в каком-то объеме) ему нужно сразу после установки системы, а вопросами самообразования заниматься по ходу дела - при наличии свободного времени или по возникновении проблем, требующих для своего решения некоторых дополнительных знаний.

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

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

Именно на такую категорию пользователей рассчитаны такие пакетные user-ориентированные дистрибутивы, как Red Hat, Mandrake, их более или менее отдаленные клоны (Altlinux, ASPLinux). Каковые, казалось бы, и будут оптимальным выбором для большинства начинающих пользователей, не правда ли?

Однако все не так просто. Потому что в расплату за простоту установки и быстроту "вхождения в тему" пользователь получает по умолчанию некую Windows-подобную систему, перегруженную программами, ему, возможно, не нужными (а главное - программами, назначение которых он рискует не узнать никогда). Систему, модификация которой отнюдь не прозрачна. По крайней мере, для начинающего - вопреки существующему мнению, вносить изменения в конфигурацию user-ориентированного дистрибутива гораздо сложнее, чем заниматься настройкой с нуля дистрибутива Source Based. Тем, кто не верит, предлагаю посмотреть конфигурационные файлы Suse (если вы - пользователь Red Hat) или Mandrake (если вы - пользователь Suse). И, при указанных условиях, попытаться внести в них осмысленные изменения.

С другой стороны, чисто "исходнячные" дистрибутивы для начинающего пользователя также, скорее всего, не приемлемы. И дело даже не в том, что уже установка таких систем требует определенных знаний: знания - дело наживное, для их приобретения достаточно умения читать. А документированы Source Based дистрибутивы обычно очень хорошо - лучше, чем многие пакетные дистрибутивы (кто не верит - опять же, сходите на Gentoo.org - http://www.gentoo.org/doc/en/index.xml, есть там немало и русскоязычных материалов). Нет, причина - в том, что любой Source Based дистрибутив требует кропотливой настройки до запуска первого практически нужного приложения (собственно, в этом и есть их цимес). А мы уже выяснили, что свежеустановленную ОС обычно приходится начинать использовать для всамделишней работы сразу.

Так что требуется некоторый компромисс между быстротой подготовки к использованию и гибкостью настройки - если не немедленной, в ходе инсталляции, то последующей. И такой компромиссный вариант реализуется в виде FreeBSD: сразу после установки этой ОС пользователь получает в свое распоряжение разумно сконфигурированную (по умолчанию), корректно русифицированную систему, снабженную необходимым минимумом (а при желании - и максимумом) приложений. Которая в дальнейшем легко может быть перенастроена в соответствие с его возросшими (или, наоборот, снизившимися - что очень немаловажно, чистое удаление установленных ранее излишков составляет в пакетных дистрибутивах Linux не меньшую проблему, чем в Windows) потребностями.

Конечно, для установки FreeBSD пользователю необходимо несколько больше предварительных знаний, чем для установки user-ориентированного пакетного дистрибутива Linux. Однако за источником таких знаний далеко ходить не нужно - проект FreeBSD прекрасно документирован, и большая часть его материалов доступна ныне и на русском языке. А серия руководств, как переводных (например, Иллюстрированное руководство по установке FreeBSD, не говоря уже о Handbook), так и исходно русскоязычных (например - FreeBSD: быстрое развертывание) делает инсталляцию ее ничуть не сложнее, чем развертывание Mandrake или Red Hat.

Теперь посмотрим, каковы возможности выбора для пользователя, предпочитающего более или менее глубоко изучить POSIX-систему, прежде чем применить ее на практике. И здесь, казалось бы, лучший выбор - это именно Source Based дистрибутивы Linux? Не буду с этим спорить: установка и индивидуальная настройка, например, Gentoo способна дать в этом плане очень много. Однако...

...Однако ценность любого дистрибутива Linux для первичного изучения POSIX-систем резко снижается этим самым фактором: тем, что изучению подвергается один из многочисленных дистрибутивов. И каждый из них имеет массу специфичных только для него особенностей, что знания и навыки, полученные при общении, скажем, с тем же Gentoo, могут оказаться лишь ограниченно применимыми в ином, даже идеологически близком, дистрибутиве.

И тут мы опять вспоминаем о BSD. Конечно, BSD-системы вообще имеют свою специфику по сравнению с Linux (и по сравнению с остальными, проприетарными, POSIX-системами, генетически происходящими от классического Unix System V). Однако специфика эта, в сравнении с многообразием дистрибутивов Linux, весьма невелика. А уж внутри BSD-клана различия просто исчезающе малы. И для начинающего пользователя очень существенно, что все наличные источники информации по любой BSD-системе гарантировано посвящены именно этой ОС. Тогда как авторы толстых книг про Linux далеко не всегда последовательно подчеркивают, что в их описаниях является общим для POSIX-систем, что - характерно для Linux вообще, и что - специфично для конкретного дистрибутива.

Какую из BSD-систем выбрать как объект углубленного изучения? Теоретически рассуждая, чуть ли не любую. Хотя следует учитывать, что OpenBSD и NetBSD относительно слабо освещены в русскоязычных источниках, имеют проблемы с русификацией. А главное - их достоинства (защищенность и кросс-платформенность) для индивидуального пользователя несущественны. Так что на выбор остаются - FreeBSD или DragonFlyBSD. Мой личный выбор - в пользу последней, но это сугубо дело вкуса...

Так что же, дружно бросаем Linux и переходим на BSD, спросите вы меня? Я не хотел бы, чтоб вышесказанное оставило такое впечатление. Хочу лишь подчеркнуть, что нужно быть готовым к тому, что первый выбранный для установки дистрибутив Linux вряд ли окажется вашим окончательным выбором. Вполне возможно, что вам придется перепробовать несколько дистрибутивов (или даже пару-тройку ОС), прежде чем будет выбрана система, наиболее отвечающая вашим задачам (и гармонирующая с внутренним мироощущением).

И, тем не менее, рискну предложить свой вариант выбора среди дистрибутивов Linux из бесчисленного их множества. И будет это Archlinux, занимающий в определенной мере промежуточное положение между пакетными и "исходнячными" системами. Сам по себе он распространяется в виде iso-образа, содержащего исключительно прекомпилированные пакеты. Из которых он и может быть развернут - благодаря простой, но гибкой установочной программе, буквально в считанные минуты. Даже стадия сборки собственного ядра, неизбежная в большинстве Source Based дистрибутивов, тут обязательной не является (хотя и не возбраняется): прекомпилированное умолчальное ядро обеспечивает близкое к оптимальному соотношение функциональности и компактности.

В то же время Archlinux включает в себя систему сборки пакетов из исходников, позволяющую пересобрать все установленные программы под свои задачи (и свое "железо") с помощью одной-двух команд. А прозрачность структуры этой системы позволяет пользователю с минимальными навыками программирования (и даже совсем без оных) легко восполнить недостающие в штатной поставке компоненты.

Вот, пожалуй, и все относительно второй из моих вечных истин - установки системы. Ко всем из затронутых здесь вопросов нам еще придется возвращаться, однако мне кажется, что сказанного достаточно для того, чтобы бестрепетно вставлять в CD дистрибутивный компакт Linux или BSD и смело жать на три сакраментальные клавиши. Делая тем самым первую свою попытку заплыва в стиле кроль.

Назад Содержание Вперед

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...