Специфика свободного ПО заключается в том, что создать свой дистрибутив может любой желающий. Действительно, на все компоненты системы распространяется действие лицензии GPL — бери и пользуйся. Разумеется, следуя главному правилу: на каких условиях взял, на таких и отдавай.
То есть с юридической точки зрения все дистрибутивы Linux равноценны. Чего нельзя сказать об их сугубо технических достоинствах. Поэтому важность выбора дистрибутива переоценить сложно. Сколько пользователей отвернулись от свободного ПО только по той причине, что не уделили этому вопросу достаточно внимания? Уверен, что не один и не два. И только потому, что не нашлось достаточно времени, чтобы выбрать максимально приемлемый для себя вариант.
Конечно, на все это можно привести очень хорошее (и, кстати, довольно популярное) возражение. Мол, базовый набор компонентов будет установлен в любом случае. Поэтому не стоит морочить себе голову выбором конкретной реализации. Надо просто брать любой дистрибутив и настраивать систему под свои нужды.
Аргумент, согласитесь, весьма убедительный. Только не учитывающий нескольких важных факторов. До недавнего времени сфера использования Linux ограничивалась серверами и домашними компьютерами энтузиастов. О сколько-нибудь серьезных внедрениях в качестве корпоративной настольной платформы речь даже не шла. Естественно, были единичные случаи, но их следует считать скорее исключениями.
Таким образом, массовое использование даже не предполагалось. Ведь как сервер, так и домашний компьютер опытного пользователя относятся к категориям штучных изделий, на конфигурирование которых можно было потратить много времени и сил. Другое дело — десктопы офисного работника. Особенно если их количество измеряется десятками. И времени на решение непредвиденных проблем попросту нет. Согласитесь, наивно предполагать, что, допустим, весь отдел маркетинга будет несколько дней сидеть и думать, как настроить адаптер беспроводной сети. Который, кстати, в Windows работал вполне исправно. Вероятнее всего, они просто напишут на имя руководителя докладную о том, что сотрудники ИT-отдела сами не работают и им не дают.
Поэтому не стоит руководствоваться тем принципом, что проблемы надо решать по мере их поступления. Предпочтительнее потратить лишний месяц на выбор оптимального дистрибутива. Однако первым делом надо определиться с критериями.
Разумеется, значимость каждого из них будет зависеть от задачи пользователя. Но я и не ставлю перед собой задачу вывести готовую целевую функцию, а только хочу предложить достаточно полный, на мой взгляд, перечень наиболее важных параметров. Кстати, несколько ближайших статей будет посвящено именно подробному описанию различных дистрибутивов с точки зрения изложенных тут критериев. Этими данными я и предлагаю воспользоваться читателю, чтобы сэкономить время и не проводить исследование самостоятельно.
Поддержка устройств
Если какое-либо устройство может нормально работать в Linux, то из этого не следует, что оно поддерживается любым дистрибутивом “из коробки”. Нужный драйвер по каким-либо причинам может не входить в состав продукта. Это приведет к необходимости совершать какие-то дополнительные действия: заниматься поиском драйвера, его установкой и т. д.
Разумеется, лишней работы хотелось бы избежать. Тем более что подключение некоторых устройств связано с определенными трудностями и может быть выполнено только хорошо знающим систему специалистом.
Этот критерий особенно актуален при установке Linux на ноутбук. Наиболее проблемные устройства — адаптер беспроводной связи и звуковая карта. При выборе дистрибутива желательно убедиться, что у вас гарантированно не возникнет трудностей с их подключением.
Варианты установки
Традиционный вариант установки системы Linux заключается в использовании CD или DVD. В ряде случаев разработчик позволяет выбрать один из двух типов накопителя. Конечно же это плюс, поскольку избавляет потребителя от необходимости приобретать устройство, поддерживающее конкретный накопитель.
Однако этими двумя способами список не исчерпывается. Например, существуют проекты, открывающие возможность использовать некоторые дистрибутивы для установки системы непосредственно из репозитария. Пользователю нужно лишь скачать небольшую утилиту и запустить ее прямо из Windows. При этом в загрузчик ОС будет добавлена запись, предписывающая начать инсталляцию новой ОС. Разумеется, прибегать к этому методу можно только при условии хорошего доступа в Интернет, благо сегодня это не редкость.
Существуют дистрибутивы, которые могут работать в режиме LiveCD. Пользователь может сначала посмотреть систему, а только потом установить ее. Такую дополнительную возможность также следует отнести к плюсам продукта.
Возможности инсталлятора
Конечно, настроить Linux можно и после установки. Однако значительно проще (и быстрее) сделать это при помощи инсталлятора. Чего же пользователь вправе ожидать от этой программы?
Во-первых, поддержки всех файловых систем, на которые может быть установлена Linux. В конце концов, все они отличаются друг от друга, и задача может потребовать использования любой. А подобные изменения в процессе работы вносить тяжело, поскольку придется думать о полном резервировании данных. Удовольствие это небольшое, да и времени отнимает не мало.
Во-вторых, если пользователь не собирается окончательно избавляться от Windows, то неплохо бы решить вопрос о подключении соответствующих разделов. Удобнее всего это сделать еще на стадии установки системы. Возможны несколько вариантов: данная процедура отсутствует вообще, она полностью автоматизирована, пользователь сам может указать разделы, которые нужно смонтировать, и точки монтирования. Разумеется, если пользователю позволяется выбрать один из двух последних методов, то это можно только приветствовать.
В-третьих, стоит обратить внимание на настройку графической подсистемы. Тут опять же возможны варианты — от полной автоматики до ручной правки некоторых параметров. Конечно, в идеальном случае программа инсталляции должна предложить пользователю готовую конфигурацию и позволить ему внести какие-либо изменения, если что-то его не устроит. И хорошо бы иметь полный набор драйверов, включая закрытый модуль для nVidia.
В-четвертых, желательно, чтобы русификация системы осуществлялась еще во время установки. Имеются дистрибутивы, которые предложат пользователю выбрать не только раскладки (включая Windows-вариант), но и клавиатурный набор для их переключения.
В-пятых, программы инсталляции различаются по возможности выбора прикладных программ. Одни даже не спрашивают пользователя о его предпочтениях, некоторые оперируют готовыми наборами, а другие позволяют детализировать процедуру на уровне отдельных пакетов.
В результате пользователь может получить как некий полуфабрикат, так и практически готовую к эксплуатации систему. Конечно, нельзя однозначно утверждать, что какой-либо вариант лучше. Идеальный дистрибутив должен быть настолько гибок, чтобы пользователь мог получить результат, максимально соответствующий стоящей перед ним задаче.
Конфигуратор системы
Если ваша цель заключается в том, чтобы изучить Linux, то графические комплексы для настройки системы вам не нужны. Во всех остальных случаях они могут оказаться полезными.
Поэтому при выборе дистрибутива надо обращать внимание на наличие инструментария управления и его качество. При этом важно учитывать, является ли система настройки частью продукта или просто одним из компонентов графического интерфейса.
Средства управления пакетами.
В процессе развития дистрибутивов Linux достаточно отчетливо обозначились две концепции комплектации. Первая заключается в том, что пользователю предоставляется ограниченный набор ПО, и при этом предполагается, что доведение системы до требуемой функциональности он будет осуществлять самостоятельно. Примерно такой подход, кстати, реализован в системе Windows, поэтому тем, кто осуществляет переход с неё, он уже знаком.
Вторая концепция подразумевает, что система устанавливается с избытком прикладных приложений. В процессе использования ненужные программы удаляются, что приводит к оптимальной функциональности.
Тем не менее как в первом, так и во втором случаях пользователю скорее всего придется самостоятельно устанавливать программы, а значит, ему нужно обратить серьезное внимание на реализованную в дистрибутиве систему управления пакетами.
Наиболее популярными способами распространения пакетов в Linux являются следующие:
- RPM/YUM — менеджер пакетов, разработанных для дистрибутива Red Hat;
- APT — система управления пакетами дистрибутива Debian;
- tar.gz — набор, используемый в дистрибутиве Slackware;
- метод портежей (система автоматизации установки пакетов из исходных текстов) дистрибутива Gentoo.
Как правило, пользователь дистрибутива не ищет нужные программы в сети, а применяет для их установки готовые репозитарии, поддерживаемые разработчиком. Подобный метод избавляет его от проблемы с разрешением зависимостей.
Таким образом, наличие репозитариев и инструментария для работы с ним — важный критерий выбора дистрибутива. Удобное средство управления пакетами позволит сэкономить много времени при установке и обновлении программ.
Сценарии начальной загрузки
Способ организации стартовых сценариев — пожалуй, один из главных признаков, по которому дистрибутивы Linux отличаются один от другого. Стилей загрузки существует два: BSD и System V.
Разница между ними заключается в следующем. В BSD-системах стартовые сценарии расположены в каталоге /etc и их имена начинаются с префикса “rc”. А System V предусматривает размещение этих файлов в каталоге /etc/init.d, а ссылки на них созданы в каталогах /etc/rc0.d, /etc/rc1.d и т. д. Второй вариант более понятен, и именно он используется в большинстве Linux-дистрибутивов.
Однако в настоящее время наблюдается отход от строгого соблюдения требований какого-то одного стиля. Поэтому особой практической ценности такая информация не имеет и упомянута тут скорее для проформы.
Техническая и информационная поддержка
Приобретая какой-либо дистрибутив, пользователь получает не только набор программ, но и некоторые права на техническую и информационную поддержку. Да и сам разработчик должен заботиться о том, чтобы покупатели его продукции чувствовали себя максимально комфортно, не тратя излишне много времени для поиска ответов на вопросы.
Итак, техническую поддержку можно разложить на следующие составляющие:
- наличие специальных общедоступных ресурсов, где любой человек может получить более-менее квалифицированную помощь, которую оказывают либо представители компании-разработчика, либо более опытные пользователи;
- предоставление платной технической поддержки, оказываемой либо по телефону, либо по электронной почте.
- Конечно, этот критерий не носит технического характера. Но в его важности сомневаться не следует. Продукт, который не имеет хорошую инфраструктуру техподдержки, вряд ли корпоративный пользователь может рассматривать всерьез.