Документация по ОС FreeBSD Пятница, 17.05.2024, 06:10
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Мои статьи [0]
Установка и настройка [281]
X Window [25]
Man pages [30]
Ports & Packages [26]
cvs [18]
Multimedia [20]
Нововсти в мире Unix [0]
RFC [4]
RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
Безопасность [52]
Работа с железом [58]
Книги по FreeBSD [17]
Сеть [505]
Программирование [40]
FireWall [58]
Темы экзамена BSDA [14]
Официальные темы экзамена BSDA, включая подробноые описания и советы по обучению.

Главная » Статьи » Установка и настройка

Переход с Linux на FreeBSD
В настоящее время любой, чье положение хотя бы отдаленно связан с IT-технологиями наслышан про Linux, и скорее всего работал с ним, хотя бы для того чтобы узнать, откуда столько шума вокруг него. Однако GNU/Linux не единственная "свободная" ОС из класса Unix. FreeBSD [http://www.freebsd.org] и ее двоюродные сестры, NetBSD [http://www.netbsd.org] и OpenBSD [http://www.openbsd.org] являются ответвлениями от BSD UNIX, коммерческой UNIX, также известной как Berkeley Software Distribution. Эта статья поможет вам узнать больше о FreeBSD, об ее отличиях от Linux, и скорее всего упростит потенциальный процесс перехода от одной ОС к другой.

Migration Guide Part I

В то время как Linux использует лицензию GPL license, семейство BSD использует собственную BSD-style license. Чтобы отразить общее различие двух лицензий в одном предложении, GPL требует чтобы любое изменение в исходном коде было обнародовано и залицензировано также под GPL. Лицензия BSD не требует подобного, любые изменения могут оставаться вашей личной собственностью.
Существует несколько значительных отличий в принципе работы FreeBSD и большинства дистрибутивов Linux. Эта статья проведет вас шаг за шагом через самые основные 'gotchas', которые я обнаружил при переходе от Linux к FreeBSD.

Хотя найдутся люди, которые найдут мое утверждение спорным, но термин Linux относится к ядру, и ни к чему более. Приложения, которые вы используете каждый день на вашей Redhat или Debian машине являются утилитами, добавленными исключительно дистрибьюторами. С другой стороны, термин FreeBSD отностися к ОС, как к единому целому. FreeBSD является как ядром, так и базовыми приложениями, необходимыми в повседневной жизни, такими как команды копирования и переименования. Это отличие вылилось в существование нескольких дистрибутивов Linux, таких как Mandrake, SuSE, Debian и Slackware. Любой, кто пользовался и Mandrake и Debian, может сказать вам, что между ними пропасть отличий. А FreeBSD всего одна. Моя FreeBSD абсолютно такая же, что и ваша FreeBSD - за исключением разницы в версиях, FreeBSD остается FreeBSD.

Три самых больших дистрибутива Linux, Redhat, Mandrake, и SuSE используют менеджер пакетов RPM. RPM занимается инсталляцией, обновлением, деинсталляцией и проверкой зависимостей между программными пакетами, инсталлированными на эти ОСи. Хотя перед началом инсталяции программы проводится проверка на ошибки в зависимостях этой программы, RPM оставляет желать лучшего. Например, он (RPM) не может выкачать нужную для установки пакета программу чтобы решить проблему зависимости. Мне известно, по крайней мере 3 проекта, которые решают подобную задачу, urpmi, Debian'овский apt-get, который, кстати, совсем не относится к RPM и является всего лишь чертой 'Debian only', и гибрид между RPM и apt-get. Так что если вы не используете перечисленные средства, вам нужно будет самим вручную находить и выкачивать требуемые RPM'ы. Это похоже на простоту? Ну, похоже, пока вы не попытаетесь вручную проинсталлировать gnome или проапгрейдить XFree из RPM'ок. Даже после того, как вы обнаружили нужные RPM'ы, если они предназначены для SuSE, а у вас стоит Redhat, шансы на то что все заработает не так уж и безупречны.

Каждый дистрибутив Linux немного отличается, и наибольшие расхождения состоят в реализации файловой системы. Я уверен, что почти каждый слышал о том, что SuSE устанавливает KDE в каталог /opt, в то время как Redhat в /usr. Чтобы еще больше сгустить краски, скажу что RPM не распознает программы, которые скомпилированы их исходного кода. Так что если у вас скомпилирован самый последний и распрекрасный Qt, RPM ни за что не узнает о его существовании, если вы попробуете поставить KDE из rpm'ok.
(Справедливости ради нужно отметить, что pkg_add в FreeBSD тоже не знает о собранном вручную "бездомном" софте. - прим. переводчика)

FreeBSD использует то, что известно как пакеты (packages) для инсталляции, деинсталляции и обновления приложений. Команда pkg_add используется для инсталляции пакета, который вы лично скачали на ваш компьютер. Вы можете также запустить эту команду с ключом "-r" с последующим указанием названия пакета, и система сама вытянет пакет из интернета, так же как и весь дополнительный, необходимый для установки пакета, софт. Но настоящая прелесть пакетов в FreeBSD - это дерево портов. Дерево портов - это просто иерархия приложений, портированых под FreeBSD. каждая директория содержит Makefile и все патчи, нужные чтобы определенный софт собрался и запустился под FreeBSD. К примеру, если я захочу проинсталлировать веб сервер Apache, все что мне нужно сделать - это перейти в директория "cd /usr/ports/www/apache", набрать 'make && make install', и пойти к машине, выдающей бутерброды. Предполагая, что у меня быстрый компьютер и достаточно толстый канал Internet, когда я вернусь, исходный код apache уже будет выкачан, пропатчен, скомпилирован и установлен! Дерево портов также позаботится о любом необходимом софте, который понадобится для запуска Apache. И неважно, проинсталлировал ли я что-то через дерево портов, скомпилировал вручную или поставил пакет с уже готовыми бинарными файлами. Дерево портов найдет этот софт, если только путь до него есть в строке $PATH, и будет действовать сообразно результату своих поисков.

Другое отличие между Linux и FreeBSD, это то, что в случае FreeBSD 99% всего, что вы инсталлируете через порты или пакеты, по умолчанию ставится в /usr/local, в то время как в Linux большинство софта ставится в /usr, и иногда в /opt. Это конечно в основном мелкое отличие, однако приятно знать, что все инсталлируемое находится в /usr/local и не разбросано по всей файловой системе.

Migration Guide Part II

Система FreeBSD использует программу известную как cvsup чтобы поддерживать саму себя "свежей" (up-to-date). Как только вы создали 'sup-file', cvsup сравнит, что находится в вашей системе и что на сервере cvsup'a, и если какой-то файл изменился с момента последнего запуска, этот файл будет выкачан. Вы можете использовать эту возможность чтобы сохранять свое дерево портов и локальную копию исходного кода FreeBSD "свежими". Вы можете легко выкачать исходный код всей ОС используя cvsup, в то время как в Linux выкачивается и компилируется только ядро, да и то на полу-регулярной основе. Основная причина для подобных cvsup'ов состоит в экстраординарной простоте обновления FreeBSD от одной версии к другой. После cvsup'a новейшего исходного кода вы собираете новое ядро, потом компилируете "остальную" ОС используя простую команду: 'make buildworld'. После вы переходите в single user mode и инсталлируете все командой 'make installworld'. И все это именно настолько просто.
Работа с разделами жесткого диска также очень различна. Linux видит жесткий диск как сущность, разбитую на различные разделы. Некоторые из них могут содержать внутри себя логические подразделы. То, что для нас является разделом, FreeBSD видит как slice. В каждом таком слайсе может находится один или более 'BSD разделов'. Эти BSD разделы отражены в /etc/fstab.

Наверное, следующее большое различие между Linux и FreeBSD - это философия, по которой споектирована ОС. Linux обладает новыми фичами и драйверами (такими как последний исходник драйверов графических карт nVidia), нежели FreeBSD. У разработчиков FreeBSD куда более консервативный подход к вещам. Они предпочитают испробованный и оттестированный код новым фичам, предпочитая подождать до момента, когда обнаружится серьезный баг. Для FreeBSD в качестве desctop-системы ваше желание ставить новейшие драйвера или самые новые *cool* фичи может стать проблемой. Но в серверной комнате вам нужен опробованый и тестированный код, к тому же, многие ли из вас вставляют видеокарту за $200 в свой сервер, у которого даже монитора нет?

Еще одно различие заключается в том, что установлено по умолчанию. Если вы оставите инсталляционные настройки в SuSE по умолчанию, по крайней мере гигабайт жесткого диска будет забит проинсталлированным софтом. С другой стороны, по умолчанию FreeBSD ставит только базу. (Я знаю, вы можете указать SuSE инсталлировать только базовые вещи, но заметьте, что я говорю про установку "по умолчанию"). Система FreeBSD дает вам только необходимые вещи, с помощью которых вы можете поставить любой софт из тех 4000, что в портах (на данный момент свыше 6000 для версии 4.5 - прим. переводчика). Практически все программы, которые запускаются под Linux, уже портированы и могут запускаться под FreeBSD, с единственным отличием, что в Linux они могут инсталлироваться по умолчанию, или, если вы используете Debian, вам придется вручную выкачивать их. В FreeBSD они опциональны, и в большинстве случаев установка автоматизирована. Еще отличие в терминах, что по умолчанию в Linux ставится bash, в то время как в FreeBSD - tcsh.

Для коммерческих программ, таких как Oracle или HP Openmail, FreeBSD предлагает уровень "совместимости с Linux". Если в общих словах, то этот уровень позволяет запускать под FreeBSD приложения Linux с почти родной скоростью. В зависимости от приложения, оно может работать с полностью такой же скоростью под FreeBSD, как будто бы оно было запущено под Linux'ом. Этот уровень совместимости является шагом в сторону эмуляции. Необходимые библиотеки Linux установлены в BSD системе в форме бинарных файлов. Когда вы пытаетесь запустить приложение Linux, FreeBSD понимает, что это бинарный файл в Linux-формате и просто перенаправляет его к родным библиотекам, которые нужны приложению. Также есть поддержка двоичной совместимости коммерческой BSD, NetBSD, OpenBSD, и SCO. Каждая ОС находится в различной стадии поддержки, лучшая поддержка у коммерческой BSD, NetBSD, и OpenBSD.

Хотя разработчики BSD более сконцентрированы над качеством, нежели над количеством, это не означает, что в FreeBSD мало различных фич. FreeBSD 5.0, которая выйдет в ноябре 2002 года будет предоставлять поддержку fine grained контроля процессов, которая позволит расширить масштабируемость до 32 процессоров. Версия 5.0 также представит, полную поддержку DEVDFS файловой системы device. Хотя это было доступно в Linux уже некоторое время назад, вы все равно немного слышали про это. В основном эта фича позволяет динамически менять файловую систему dev. К примеру, если вы добавили клавиатуру USB она будет "магически" добавлена в директорию /dev. В stable версии 4.4 уже есть протоколирующая файловая система (journaling file system), известная как 'soft updates'. Пока что это технически не является протоколирующей файловой системой, в зависимости от того, кого вы спрашиваете, это лучше чем протоколирующая файловая система.

В 98-99, во время большого ".com" (dotcom) бума Linux был очень странным словом. Пользователи компьютеров везде слышали о *свободной* операционной системе, которая успешно побеждала Microsoft как в серверной комнате, так и в настольных системах. Даже сегодня количество пользователей Linux быстро растет. Однако большинство людей только начинают слышать о FreeBSD. Надеюсь, эта статья поможет вам оценить FreeBSD как возможное решение ваших потребностей. Под конец, если обе системы свободные, то почему бы не взять и не попробовать обе, чтобы выбрать, какая лучше вам подходит?

Об авторе:
Nathan Mace в данный момент является Старейшиной в University of Charleston, управляет Computer Information Systems. Он интересуется всеми типами ОС, особенно Unix-подобными ОСями, такими как Linux, *BSD'и, и другими коммерческими Unix'ами. Nathan'у можно отправить письмо mace_nathan@uchaswv.edu

Copyright 2001 www.OSNews.com. All Rights Reserved.
OSNews and the OSNews logo are trademarks of OSNews.
Reproduction of stories by OSNews is granted only by explicitly asking authorization from OSNews and if credit is given to OSNews.com.
All trademarks, icons, and logos, shown or mentioned in this web site, are the property of their respective owners.

Автор: Nathan Mace
Перевод: lan@puug.org.ru
Категория: Установка и настройка | Добавил: oleg (25.11.2007)
Просмотров: 911 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024