Почему FreeBSD ?
В большинстве случаев, разговоры о бесплатных юниксоподобных системах сводятся к Линуксу. Конечно, Линукс сейчас в почете и большинство людей, по крайней мере, слышали о нем. Количество пользователей, ориентированных на эту операционную систему, растет, а газеты и журналы склоняют Линукс на все лады. Одной из главных причин нынешней популярности Линукса является его ориентация на Intel РС - самую распространенную в мире платформу. Хотя, конечно, он будет работать и на других системах - как никак это юниксовый клон, а юниксам без разницы, на чем работать... Линукс никогда бы не стал столь популярен, если бы не возможность поставить его на РС. Но ведь на самом деле свет клином на линуксе не сошелся: есть еще целое семейство BSD. Три основных - это FreeBSD, NetBSD и OpenBSD. Свое начало BSD берет в Berkeley Software Distribution. Поподробнее об этом можно узнать здесь: article 176 (Обратите внимание, что в этой статье не обсуждается принципиальная разница между BSD и System V: подобным вопросам следует посвятить целую книгу.) Итак, каждая из представленных здесь BSD систем чем то по-своему хороша:
1. NetBSD. Работает практически на любой платформе,включая и очень старые компьютеры: всего около 30-40 поддерживаемых платформ. NetBSD - это прямое подтверждение слов приведенных выше о том, что юниксу все равно на чем работать. Это отличный выбор для тех, у кого есть старый комп, чье железо больше ничем и никем не поддерживается. Лично я просидел под NetBSD пару лет на Amiga и Intel и возможностей этой операционки мне хватало с головой.
2. OpenBSD славится своей системой безопасности- идеальное решение для сервера и, естественно, так же поддерживает большинство процессоров. На домашние машины ее обычно не ставят, хотя, кому что нравится,а в большинстве случаев используется на серверах в интернет.
3. FreeBSD - это смесь из двух предыдущих. В основном она ориентирована на Intel и Alpha, а принципы построения системы безопасности она унаследовала от OpenBSD. Как и Линукс, FreeBSD завоевала себе особую популярность именно своей ориентацией на Intel PC-совместимые машины. Эта операционная система отлично приживется как у Вас дома, так и на работе!
Кстати, еще пару слов о FreeBSD: ее разработчики сотрудничают с Apple в сфере разработки бесплатного ПО под Mac OS X, которая, в свою очередь и основана на FreeBSD. Но, несмотря на это, OS X использует собственное ядро, которое не имеет ничего общего с ядром FreeBSD, и которое она унаследовала от NeXTstep, прародителя OS X. Правда, с середины 80-х - времени создания NeXTstep, ядро немного видоизменилось... А теперь поподробнее:
Загрузка и установка FreeBSD
Как и большинство другого свободного ПО, FreeBSD можно загрузить с сайта FreeBSD. Правда, для этого вам понадобится достаточно хороший канал. Если скорость вашего подключения к интернету низкая, то тоже не переживайте - CD с FreeBSD можно найти повсюду. На момент написания этой статьи последней версией была 4.6. В статье описывается релиз под i386. Установка FreeBSD с CD-ROM очень проста... и это при том, что отсутствует графический интерфейс! Зато у нас есть ncurses. Просто следуйте инструкциям и FreeBSD уже на вашем жестком диске. Для начала необходимо будет его разметить и отформатировать, настроить такие вещи как сеть и, если есть желание, даже сконфигурировать ядро. Далее стартует sysinstall, который и устанавливает большинство пакетов. Можно выбрать - либо устанавливать все пакеты из набора, либо выбрать самостоятельно. Управление устанавливаемыми пакетами тоже очень простое - можно либо воспользоваться командами pkg, как в Solaris,(в линуксе им соответствуют rpm и deb), либо установить выбранные пакеты из исходных текстов, самостоятельно их скомпилировав - make и make install однотипны для всех юниксов. Вообщем, процесс инсталляции прост и понятен.
Поскольку мы постоянно ссылаемся на линукс, то не лишним будет установить пакет совместимости с линуксом - это позволит компилировать и запускать программы, изначально предназначенные для Линукса. Опять таки, процесс прост и понятен. На всякий случай на эту тему есть документация, в которой все разложено по полочкам и описывается каждый шаг... Поэтому, пожалуй, не стоит останавливаться на процессе установки надолго и следует перейти к следующим действиям:
Конфигурирование FreeBSD
Опять таки, много рассуждать на эту тему не будем, просто напомним, что большинство конфигурационных файлов находится в каталоге /etc и начинаются с rc.файл и в них сохраняются настройки сети, firewall, и прочего и прочего и прочего. Остановимся только на файле rc.conf который достаточно важен, поскольку основные параметры системы указываются именно в нем. В нем можно указать какие демоны следует стартовать при запуске(sshd, sendmail, etc), тип firewall,опции безопасности ядра, поддержку IPv6 и все такое... Есть еще файлик с настройками системы по умолчанию /etc/defaults/rc.conf. Не забывайте, что основные настройки хранятся в /etc/rc.conf а файл /etc/defaults/rc.conf содержит настройки по умолчанию. не следует копировать его в /etc/rc.conf или изменять. Изменения вносятся в /etc/rc.conf. Кстати, все данные об установке sysinstall (конфигурация сетевой карты, имя хоста, уровень безопасности и.т.д.)автоматически пишутся в /etc/rc.conf. Еще на заметку: после установки FreeBSD все службы в /etc/inetd.conf отключены. Очень хорошая идея. Как по мне, так это следует делать во всех системах юникс. Остальные rc файлы позволяют настроить firewall, sysctl и много другого. И поэтому мы переходим к настройке FreeBSD.
Настройка FreeBSD
Основным средством настройки системы является sysctl, в линуксе он тоже присутствует. Настройку можно производить как из командной строки, так и редактированием файла sysctl.conf. (Обычно командной строкой пользуются лишь для тестирования отдельных параметров). Например, если ваша машина используется как шлюз, то включить ip форвардинг можно командой sysctl -w net.inet.ip.forwarding=1. Проверка IP адреса пакетов выполняется следующим образом: sysctl -w net.inet.ip.check_interface=1. Управление большинством настроек возможно используя sysctl: подробнее в man"ах. Добавление опций в файл sysctl.conf происходит так же, только без указания команды sysctl в начале. Формат файла следующий: variable = value format.: net.inet.ip.forwarding=1 net.inet.ip.check_interface=1 Возможные опции не ограничиваются двумя рассмотренными выше и позволяют управлять почти всем ядром. В начале статьи мы говорили о уровнях безопасности. Всего их четыре. от -1 до 3. -1 - это отсутствие безопасности а 3 это самый высокий уровень безопасности.Перед указанием уровня следует знать, что из себя представляет каждый из них. Использование уровней выше -1 или 0 приведет к тому, что вы не сможете выполнять некоторые задачи.При уровне безопасности 1 вы не сможете нормаьлно использовать Х ссервер, подгружать или выгружать модули... Так что используйте уровни безопасности грамотно, вас предупредили. Дома, например, вполне достаточно нулевого уровня, а более высокие уровни безопасности чаще всего используются на серверах. Хотя , вообщем, это ваше дело... Команда chflags также связана с безопасностью - внимательно изучите man"ы: эта штука нужная. Про безопасность во FreeBSD можно говорить долго, а нам надо двигаться дальше.
Апгрейд FreeBSD
Представьте себе, что вы купили диски с FreeBSD 4.5, а через пару дней выходит FreeBSD 4.6. Обидно, да? Но не беспокойтесь, апгрейд FreeBSD осуществляется с помощью CVS. Используется либо анонимный CVS, либо CVSup. Первый достаточно прост в использовании, а зато второй более эффективный. Принцип CVS заключается в обновлении списка файлов и их синхронизации. Далее вы все компилируете, используя команду make buildworld. Подробно об этом написано в документации, а главное это то, что версия всех ваших программ всегда самая последняя. Но это еще не все. Говоря о свободном ПО, следует упомянуть ту гибкость и скорость, с которой разработчики бесплатного ПО реагируют на обнаруженные дыры и баги в программах. В отличии от платных программ, чьи недоделки и ошибки часто так и остаются неисправленными, патчи к свободному ПО моявляются практически мгновенно. И вам только остается быть в курсе всех событий и следить за появлением новых патчей, особенно касающихся безопасности программ. На сайте FreeBSD в разделе безопасность вы сможете прочитать аннотации к различным релизам, загрузить текстовые файлы в формате .asc с описанием проблемы и методом ее устранения. Есть и другие сайты, посвященные подобным вопросам - один из них linuxsecurity, CERT, и другие. И, конечно же, вам следует регулярно обновлять систему.
Обновление FreeBSD
Вы не согласны мириться с присутствием уязвимых мест в вашей системе? Во FreeBSD, как и в остальных юниксах, для этого есть патчи. Качаете патчи, а потом их устанавливаете. Правда вы получаете не готовый патч, а исходный текст патча, который надо сначала установить, а лишь затем перекомпилировать ядро. К тому же это, конечно же, влияет на исходные тексты, установленные на вашей машине. Подобная политика используется и в Линуксе, правда можно еще загрузить например и модифицированный rpm, и только для приложений но и для ядра. Одно из главных различий линукса и FreeBSD заключается в использовании разных тип ядра. Ядро FreeBSD основано на BSD 4.4 и, в отличии от линукс, не имеет огромное количество версий ядра. Подобный подход подразумевает большую стабильность, хотя со временем ядро и разрастается в размерах даже в тех случаях, когда использование модулей было бы более уместным. Единственный минус подобного подхода это то, что в случае постоянного обновления ядра вам придется перекомпилировать ваше ядро немного чаще, чем это делается под линукс. Это мое субъективное мнение, но мне кажется что это гораздо удобнее, чем иметь в системе 3 разных рабочих ядра, и это гораздо стабильнее. Причем вам каждый раз придется трижды портировать все приложения под каждое новое ядро, не говоря уже о безопасности! Например система фильтрации пакетов: 3 разных версии ядра, 3 разных системы фильтрации пакетов! Я очень уважаю людей которые занимаются подобными вещами, но по мне так лучше вообще ничего не делать. Одно дело - всегда стремиться к улучшениям, но зачем постоянно что то менять? Бред! Вы конечно можете скомпилировать новое ядро под ваши личные нужды... В принципе это делается точно так же как и в линукс и достаточно хорошо описано в руководстве, так что поехали дальше.
Приложения
Как я уже говорил, почти все бесплатные программы будут работать под FreeBSD. Вам не понадобятся какие либо порты или дополнительные пакеты. Просто скомпилируйте нужный софт и он заработает, как родной. Если надо еще есть Gnome и KDE... они тоже включены в дистрибутив. То же самое с оконными менеджерами. Есть GNUstep, он отлично работает под FreeBSD. Для его компиляции вам понадобится gcc поновее, он тоже включен в дистрибутив. Установите его и он вам совсем не помешает. Собственно, все приложения GNUstep вроде GNUMail.app, Gorm.app или ProjectBuider.app тоже нормально работают. Да и весь софт, используемый в линукс, так же доступен и во FreeBSD... а ведь есть и много другого софта! Во FreeBSD есть много утилит для настройки безопасности. Средства мониторинга, управления, и другие так же входят в состав дистрибутива. Много разных firewall, proxy серверов, сканеров портов, IDS,и др. Например, можно выбирать между IPsec и ipfw. Еще есть nessus, nmap, portsentry, etc. Опять таки большинство из них являются частью дистрибутива , вынимайте из архива, компилируйте и пользуйтесь на здоровье. Мы забыли упомянуть про X Window System, хотя и говорили про KDE, Gnome и прочих. теперь по умолчанию стоит XFree 4.*. Раньше, до версии FreeBSD 4.5 по умолчанию был XFree 3.*, а теперь XFree 4.*.То есть XFree 4.*, но при процессе инсталляции все равно еще использовался XFree 3.*. Теперь можно пользоваться XFree 4.* но если очень хочется, то можно оставить версию 3.*.
Оборудование
Поскольку речь идет о релизе для i386, то скажем, что большинство оборудования, даже если оно немного устарело, поддерживается в FreeBSD. Например, сетевые карточки 3Com combo, хотя и староватые, но прекрасно работают, главное - правильно указать тип оборудование в ifconfig. Если используется BNC коннектор, достаточно просто добавить в строке ifconfig в файле /etc/rc.conf следующее: media10base2/BNC Тоже самое относится и к старым видеокартам: проблем с поддержкой оборудования в XFree 4.* практически нет. Это справедливо для всех устаревших видеокарт ATI. Но все же если есть сомнения, можно просто проконсультироваться на сайте FreeBSD в разделе Hardware notes.
Безопасность
Мы уже упоминали о присутствии в FreeBSD всевозможных утилит для работы с сетью. Кроме всего прочего, еще есть OpenSSH, OpenSSL, Kerberos, MD5, которые также являются частью дистрибутива. Это жизненно важные компоненты системы и их также следует регулярно обновлять и проверять на уязвимость. Вот совсем недавний пример, который наглядно демонстрирует, насколько подобные вещи необходимы. Допустим, что вы узнали о том, что обнаружена дыра в OpenSSH. Правильным было бы отправиться на сайт OpenSSH и скачать исправленную версию. Конечно, да - но этого, увы, недостаточно! Всегда проверяйте контрольную сумму пакета. Пример OpenSSH был взят не просто так: пару недель назад, кто-то подменил настоящий архив на другой, испорченный. Разработчики OpenSSH, к счастью, отреагировали достаточно быстро. Но некоторое количество пользователей уже успело скачать и установить испорченную версию пакета. Так что проверка контрольной суммы никогда не будет излишней. И хотя эта статья не совсем об этом, я настаиваю на том, что вопрос безопасности стоит превыше всего и является самым приоритетным.
Сеть
Сетевые технологии в FreeBSD продвинулись далеко вперед. Отлично выполнена поддержка IPv6, новые стандарты и средства связи не были забыты.Если вы пользуетесь ADSL или сable modems, вас порадует легкость настройки сети. Многие провайдеры используют теперь PPPoE, а в FreeBSD для этого достаточно просто добавить несколько строчек в ppp.conf. Под PPPoA (ATM), поддерживаются только модемы Alcatel, но и это может измениться в скором будущем. Возможно, уже сейчас поддерживаются и другие модели и производители.
Документация
Перечень документации не ограничивается одним руководством. На сайте FreeBSD есть различный FAQ,руководство по установке и много другого. Еще один важный ресурс расположен здесь: http://www.freebsd-howto.com.
Что дальше?
Это был очень короткий обзор FreeBSD. Это - очень интересная операционная система и как юникс-система она заслуживает того, чтобы обратить на нее внимание. Её возможности действительно стоят того, чтобы попробовать их использовать. К сожалению мы не смогли перечислить и малую толику возможностей о которых можно долго говорить и описывать. Для освоения FreeBSD понадобится несколько большие знания Юникса, чем требуют некоторые "виндоподобные" дистрибутивы линукса, хотя в то же время она черезвычайно проста в использовании. Конечно, не будучи знакомым с Юникс вообще, можно столкнуться с кучей проблем, и очень часто перекомпилировать ядро, особенно после обновления системы. Однако это - один из способов познакомиться с Юникс получше, хотя и не самый быстрый. В последнее время люди стали забывать, что изначально Юникс создавался разработчиками для разработчиков, а не для обычного домашнего пользователя. Но сегодня - благодаря, опять таки, тем же разработчикам, стало возможным донести эту операционную систему до людей. А в 80"х, большинство нынешних пользователей Линукса врядли согласились связаться с Юниксом надолго. В особенности из-за процесса установки: в то время дистрибутивы поставлялись на лентах и установка могла занять целый рабочий день, конфигурирование системы еще один день, не говоря уже о конфигурации приложений! А с начала 90"х стало возможным использовать Юникс, даже не будучи знакомым с ним - начиная от NeXTstep, прародителя OS X, и заканчивая последней версией Mac OS X. Возможно это прозвучит не убедительно, но именно благодаря NeXTstep появились и стали доступными широкому кругу пользователей многие платные и бесплатные Юниксы и их клоны. Еще раз - спасибо всем тем, кто бесплатно или за деньги продвигал Юникс в массы! Особая благодарность тем, кто работал бесплатно ;-) А в том факте, что FreeBSD сотрудничает с Apple не вижу ничего зазорного! Обе стороны от этого только выигрывают. Ведь платное программное обеспечение всегда было основано на бесплатном, правда об этом предпочитали молчать... А Apple говорит об этом в открытую. Не скрывает этого и SGI. Другие делают ту же работу, но с абсолютно другой мотивацией. В любом случае, я считаю что места хватит всем.... ну кроме тех, кому хочется поиметь всех и вся.
Из-за шумихи, поднятой вокруг Линукса, остальные Юниксы, распространяемые бесплатно, оказались в тени, что поделаешь... Но у других Юниксов есть свои положительные стороны, ради которых я и использую FreeBSD. Я конечно также использую и Линукс, и много чего другого - мне разнообразие нравится! Но если вы все таки решите попробовать установить FreeBSD, значит эта статья не была написана зря . Попробуйте сами и вы найдете в ней кучу замечательных вещей, о которых мы здесь не говорили. Поверьте мне, мы живем в удивительное время!