Freebsd описание. Введение в FreeBSD для пользователей Linux

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

В соответствии с данными, полученными от IOSC, в 1999 году практически треть всех машин, которые были подключены к интернету, работали на основе Linux, в то время как практически 15% применяли операционную систему FreeBSD. Что это за система, и по сегодняшний день знают лишь немногие современные пользователи ПК, несмотря на все ее преимущества и широкое распространение в свое время. Стоит отметить тот факт, что многие мировые лидеры в сфере Web-услуг активно работают на данной системе. В частности, стоит отметить, что на сегодняшний день система Yahoo основана на FreeBSD. Что это дает пользователям, сами они вряд ли знают и даже задумываются, но владельцы системы уверены, что это правильное решение.

Что представляет собой BSD?

BSD расшифровывается как Berkeley Software Distribution. Именно так в своем время называлось программное обеспечение, которое в Беркли распространял в исходных кодах. При этом стоит отметить тот факт, что изначально дополнение к стандартной операционной системе UNIX - это единственное, что представляло собой FreeBSD. Что это было по сравнению с нынешней версией системы?

На основе версии 4.4 BSD-Lite создавалось несколько операционных систем, имеющих открытые исходные коды. В частности, состав этих систем включал в себя разработки других проектов, среди которых отдельного внимания заслуживает проект GNU.

Структура

Преимущества и особенности, которые имеет данная система, отличаются структурой FreeBSD. Что это за структура:

  • Ядро, которое предназначается для тщательной планировки всех процессов, управления памяти, работы с различными устройствами, а также поддержки многопроцессорных систем. При этом следует отметить тот факт, что, в отличие от ОС Linux, в данном случае есть несколько типов ядер BSD, которые отличаются разными особенностями.
  • Библиотека С, которая используется в качестве основного системного интерфейса программирования, причем основывается на коде из Беркли, а не из проекта GNI.
  • Всевозможные файловые утилиты, компиляторы, оболочки, редакторы связей, а также другие программы конечного пользователя, при этом некоторые из них основываются на коде GNU.
  • FreeBSD UNIX - операционная система, включающая в себя X Window, которая отвечает непосредственно за Данная система применяется в преимущественном большинстве версий BSD и официально поддерживается проектом X.Org. Данная система позволяет пользователю делать выбор из нескольких графических оболочек, а также целого ряда легких оконных менеджеров.
  • Большое количество других системных и прикладных программ.

Что такое настоящий UNIX?

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

BSD - это UNIX?

И действительно, операционная система UNIX никогда не представляла собой программное обеспечение, имеющее открытый исходный код, в связи с чем BSD определенно нельзя будет назвать системой UNIX, хотя бы потому, что графический интерфейс операционных систем является разным. Однако в то же время компания, которая разрабатывала UNIX, активно пользовалась чужими разработками, и в частности это относится к программному обеспечению, которое разрабатывалось организацией CSRG.

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

В течение 80-х годов сформировалось несколько компаний, занимающихся производством рабочих станций, при этом стоит отметить, что многие из них приобретали лицензии на использование UNIX вместо того, чтобы пробовать разрабатывать с нуля собственное программное обеспечение. В частности, стоит выделить компанию Sun, которая поступила таким образом и решила на основе версии 4.2BSD в конечном итоге выпустить собственную операционку, которая называлась SunOSTM. Когда же компания AT&T, занимающаяся разработкой UNIX, в конечном итоге решила заняться коммерческой продаже собственной операционной системы, появилась довольно аскетичная реализация - System III, за которой с течением времени последовал также выход системы System V.

По какой причине эта операционная система остается невостребованной?

Есть некоторый ряд причин, по которым сегодня FreeBSD 10 пользуется не таким широким спросом:

  • Разработчики чаще всего интересуются качеством собственного кода, причем больше его шлифовкой, а не рекламой.
  • По большому счету, популярность Linux является следствием целого ряда внешних факторов относительно данного проекта, в частности, это касается средств массовой информации, а также компаний, которые решили сформировать собственный бизнес, предоставляя услуги пользователям этой операционной системы.
  • Разработчики BSD в преимущественном своем большинстве являются более опытными по сравнению с разработчиками Linux, в связи с чем они гораздо меньше внимания уделяют тому, чтобы облегчить жизнь простым пользователям. Другими словами, настройка FreeBSD для обычного пользователя является более сложной, чем
  • В 1992 году разработчик UNIX решил подать в суд на компанию BSDI, которая занималась поставкой операционной системы BSD/386. Основной пункт обвинения в данном случае был тем, что в ОС содержался закрытый код, принадлежавший истцу, и вроде бы дело в конечном итоге было улажено за пределами суда в 1994-м, но целый комплекс вторичных тяжб даже в наши дни отравляет жизнь многим людям.
  • Есть мнение, что сами по себе проекты BSD различаются и при этом могут даже конфликтовать между собой. Данное мнение основывается на событиях, которые происходили достаточно давно.

Что лучше - Linux или BSD?

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

Кому принадлежит BSD?

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

Что все-таки выбрать?

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

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

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

Протестировал FreeBSD 10 и пришел в неописуемый восторг. Сначала сильно разочаровался, а потом еще сильнее удивился, но уже приятно.

Часть 1. Разочарование

После установки FreeBSD 10 пользователь получает только командную строку. Выбрать GNOME, KDE, Xfce и т.п. еще в инсталляторе нельзя. Даже Иксов нет. Все это предстоит установить и настроить пользователю.

По умолчанию используется файловая система UFS, отличающаяся медлительностью и тем, что в случае внезапного выключения компьютера вы останетесь без своих файлов. Собственно, это и произошло. Во время настройки Xorg система повисла. Пришлось жать хард ресет. После этого в /etc пропала половина файлов, включая главный конфигурационный файл /etc/rc.conf. В домашней директории файлы остались, но стали нулевой длины. В результате программы начали вести себя немного странно. Ну, например:

Невозможно загрузить штатную тему оформления. Штатная тема оформления была загружена.

Локализация проводится в ручную. Загрузчик GRUB отсутствует, есть какой-то совсем примитивный загрузчик версии 1.0.

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

Часть 2. Восторг

Ну не может быть Фряха настолько убогой, наверное это я не разобрался в философии FreeBSD. Сел за чтение руководства. Выделил под установку комп с отдельным диском (весь диск под установку, а не один из разделов - о том, зачем это нужно чуть ниже).

На стадии разбивки диска выбрал экспериментальную функцию установки файловой системы ZFS на корневой раздел, чтобы вообще избавиться от протухшей UFS. К сожалению, эта экспериментальная опция требует отдать ей весь диск. На тестовом компьютере это требование еще уместно, но вот на основном рабочем ноутбуке хотелось иметь не только FreeBSD.

Pkg install mc

Пакетный менеджер pkg показался мне даже более удобным, чем apt-get. Зацените как просто найти пакет по описанию:

Pkg search apache

А вот пользователя apt-get зачем-то заставляют запускать apt-cache search для этих целей, что не вполне логично.

Таким образом, установка Иксов и Гнома выглядит так:

Pkg install xorg pkg install gnome2

Да-да, Гном здесь второй! Моя любимая версия, по которой я очень скучал. Третьего Гнома нет не потому, что во Фряхе и все остальное ПО старых версий, а потому, что он не нужен. Кстати, софт в FreeBSD будет посвежее того, что в Debian. Например, удивил LibreOffice, который оказался едва ли не последней версии. Ruby так и вообще версии 2.0, тогда как даже в Ubuntu до сих пор 1.9.

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

Hald_enable="YES" dbus_enable="YES" gnome_enable="YES"

Всё. Это один раз заносится в главный конфигурационный файл /etc/rc.conf и после этого Gnome стартует автоматически.

Загрузив графическую среду, я принялся доустанавливать привычный мне софт. И тут началось самое удивительное - программы запускаются в 5-10 раз быстрее, чем в Linux. Не по субъективным ощущениям, а я засекал. Например, запуск LibbreOffice Writer выглядит так: появляется окно с логотипом и прогрессбаром, прежде чем индикатор прогрессбара успевает тронуться с места закрывается окно с логотипом - Writer загружен. Такое же было, когда я заменил HDD на SSD. Но на этом тестовом компьютере стоял старенький Seagate 1 Tb.

То ли дело в ZFS, то ли в отказе от GCC в пользу Clang, то ли из-за легкого GNOME 2, то ли еще какая причина, но факт в том, что все летает и это очень приятно. Очень трудно после такого возвращаться на Linux, который по сравнению с FreeBSD кажется еле живым.

Таким образом, установив FreeBSD 10 пользователь получает:

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

В общем, FreeBSD 10 - приятнейшая система, которую я буду обязательно использовать. Остается только сравнить производительность Apache под FreeBSD, но мне уже кажется , что пользователей Фряхи и тут ждет приятный сюрприз.

FreeBSD – свободно распространяемая, Unix-подобная операционная система с открытым исходным кодом. Является потомком AT&T Unix , ответвление BSD, образовавшееся в Калифорнийском университете в Беркли. Работает на PC-совместимых системах x86, в том числе Microsoft Xbox, а также на DEC Alpha, Sun UltraSPARC, IA-64, AMD64, PowerPC, NEC PC-98, ARM.

Краткая история операционной системы FreeBSD

Операционная система Unix, зародилась в 1969 году, в научно-исследовательском подразделении, компании AT&T, Bell Labs. В то время, монополия на компьютерную индустрию принадлежала государству, и кампания AT&T не могла продавать свое программное обеспечение. В результате, в 1976, AT&T решила бесплатно предоставить свое программное обеспечение и его исходные коды, университетской среде. Одни в этом случае получили возможность сэкономить значительные средства, и доступ к технологии, вторые, бесплатную площадку для экспериментов и целое поколение специалистов, выросших на их оборудовании. В конце 70-х годов, в компании AT&T, была создана рабочая группа поддержки Unix (Unix Support Group, USG), в последствии преобразованная в систему лабораторий Unix (Unix System Laboratories, USL). В задачи USL, входила раскрутка операционной системы Unix, в качестве коммерческого продукта, что с успехом и делалось, система продавалась предприятиям за большие деньги. Разработка системы продолжалась и в Bell Labs и в USG. Группа по исследованию компьютерных систем (Computer Systems Research Group, CSRG) Калифорнийского университета, участвовавшая в разработке и усовершенствовании системы Unix, стала центральным хранилищем исходных кодов и их улучшений. Группа собирала изменения, оценивала, упаковывала и передавала остальным обладателям действительной лицензии AT&T Unix. Кроме того, CSRG, работала с подразделением министерства обороны США, управлением перспективных исследовательских проектов (Advanced Research Projects Agency, ARPA), с целью реализации в Unix, различных функциональных возможностей, например, стек протоколов TCP/IP. Итоговая коллекция программного обеспечения Калифорнийского университета, получила название BSD (Berkley Software Distribution). Первый выпуск BSD был создан в 1977 году. В конце концов финансирование CSRG прекратилось, после чего, университетом в Беркли, было принято решение, открыть исходный код BSD для широкой публики. Первым дистрибутивом операционной , стала FreeBSD версии 1.0, выпущенная в 1993 году. За основу была взята лента 4.3BSD-Lite (""Net/2""), университета в Беркли, с многочисленными добавлениями из проекта 386BSD, и уже в мае 1994 года, выла выпущена FreeBSD 1.1 RELEASE. Тем временем, между компанией Novell и Калифорнийским университетом в Беркли назревал скандал, связанный с легальностью версии Net/2 из Беркли. Судебное разбирательство тянулось достаточно долго. В итоге, по условиям соглашения, достигнутого в ходе данного процесса, Калифорнийский университет признавал, что большие куски кода Net/2, были «унаследованным» кодом, права на который принадлежали компании Novell, ранее выкупившей эти права у компании AT&T. Взамен Novell давала «добро» на то, что версия 4.4BSD-Lite, будет объявлена как полностью свободной, а пользователям Net/2 будет настоятельно рекомендовано перейти на нее. Данное соглашение так-же касалось и FreeBSD, проекту было дано время, до конца июля 1994 года, для прекращения распространения продукта на основе Net/2. До истечения срока, было разрешено выпустить версию FreeBSD 1.1.5.1. Проекту предстояло почти все пересоздавать практически с нуля, взяв за основу, по сути не законченный проект 4.4BSD-Lite, и в ноябре 1994 года, была выпущена FreeBSD 2.0. Все это довольно запутанно, информация из различных источников как правило довольно противоречива. Очевидно одно, версия 4.4BSD-Lite, является бабушкой текущего кода FreeBSD а так-же прародительницей многих других операционных систем семейства BSD.

Другие BSD системы

4.4BSD-Lite породила не только операционную систему FreeBSD, но и массу других проектов, из которых можно выделить следующие:

NetBSD

- во многом подобна FreeBSD, а их команды делят между собой разработчиков и сам программный код. Основное назначение NetBSD, предоставить надежную и безопасную операционную систему, которая может быть перенесена практически на любую аппаратную платформу с минимальными усилиями. Так NetBSD работает на VAX, PocketPC, высокопроизводительных серверах SPARC и Alpha.

OpenBSD

- ответвилась от проекта NetBSD в 1996 году. Основным отличием от других BSD систем, изначальная ориентированность на повышенную безопасность. Одним из дочерних проектов OpenBSD, является пакет OpenSSH, использующийся практически всеми операционными системами и производителями аппаратного обеспечения.

MacOS X

- Стабильная операционная система с дружественным интерфейсом, использующаяся на компьютерах компании Apple, на процессорах PowerPC и Intel, так-же содержит в себе значительные участки кода BSD.

Операционные системы на основе FreeBSD:

  • DragonFly BSD
  • ClosedBSD
  • DesktopBSD
  • FreeSBIE
  • FreeNAS
  • Frenzy Live CD
  • Debian GNU/kFreeBSD
  • Gentoo/FreeBSD
  • IronPort AsyncOS - защитные устройства
  • Juniper Networks JunOS - роутеры Juniper
  • MidnightBSD
  • Nokia IPSO - защитные устройства Nokia IP
  • PC-BSD
  • PicoBSD
  • RofreeSBIE
  • The Dark Star
  • TrueBSD
  • m0n0wall
  • pfSense
  • Paxym FreeBSD для Octeon Cavium_Networks

Операционные системы на основе NetBSD:

  • OpenBSD – ответвление от NetBSD 1.0, акцент на активной безопасности и интегрированной криптографии
  • BlackBSD
  • Force10 Networks FTOS, операционная система для роутеров/свичей Force10 TeraScale E-Series
  • Debian GNU/NetBSD
  • Gentoo/NetBSD
  • Jibbed
  • PolyBSD/pocketSAN
  • Redback Networks SEOS, операционная система для роутеров серии Redback SmartEdge

Операционные системы на основе OpenBSD:

  • Quetzal
  • Anonym.OS
  • FuguIta
  • BSDAnywhere
  • Gentoo/OpenBSD
  • MirOS MirOS BSD
  • OliveBSD

Операционные системы на основе Dragonfly BSD:

Firefly BSD

Лицензия BSD

Лицензию BSD, можно считать самой свободной в плане ограничений налагаемых на пользователя, по сравнению с другими лицензиями на свободное программное обеспечение. Данная лицензия существует в двух вариантах, оригинальная и измененная. В измененную был добавлен дополнительный, 3-й пункт, гласящий: * * Ни название <Организации>, ни имена ее сотрудников не могут быть * использованы в качестве поддержки или продвижения продуктов, * основанных на этом ПО без предварительного письменного разрешения. Ниже приведен текст оригинальной лицензии BSD. * Copyright 1994-2009 The FreeBSD Project. All rights reserved. * * Разрешается повторное распространение и использование как в виде исходного * кода, так и в двоичной форме, с изменениями или без, при соблюдении * следующих условий: * * * При повторном распространении исходного кода должно оставаться * указанное выше уведомление об авторском праве, этот список условий и * последующий отказ от гарантий. * * При повторном распространении двоичного кода должна сохраняться * указанная выше информация об авторском праве, этот список условий и * последующий отказ от гарантий в документации и/или в других * материалах, поставляемых при распространении. * * ЭТА ПРОГРАММА ПРЕДОСТАВЛЕНА ВЛАДЕЛЬЦАМИ АВТОРСКИХ ПРАВ И/ИЛИ ДРУГИМИ * СТОРОНАМИ "КАК ОНА ЕСТЬ" БЕЗ КАКОГО-ЛИБО ВИДА ГАРАНТИЙ, ВЫРАЖЕННЫХ ЯВНО * ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ИМИ, ПОДРАЗУМЕВАЕМЫЕ * ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ И ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. НИ В * КОЕМ СЛУЧАЕ, ЕСЛИ НЕ ТРЕБУЕТСЯ СООТВЕТСТВУЮЩИМ ЗАКОНОМ, ИЛИ НЕ УСТАНОВЛЕНО * В УСТНОЙ ФОРМЕ, НИ ОДИН ВЛАДЕЛЕЦ АВТОРСКИХ ПРАВ И НИ ОДНО ДРУГОЕ ЛИЦО, * КОТОРОЕ МОЖЕТ ИЗМЕНЯТЬ И/ИЛИ ПОВТОРНО РАСПРОСТРАНЯТЬ ПРОГРАММУ, КАК БЫЛО * СКАЗАНО ВЫШЕ, НЕ НЕСЁТ ОТВЕТСТВЕННОСТИ, ВКЛЮЧАЯ ЛЮБЫЕ ОБЩИЕ, СЛУЧАЙНЫЕ, * СПЕЦИАЛЬНЫЕ ИЛИ ПОСЛЕДОВАВШИЕ УБЫТКИ, ВСЛЕДСТВИЕ ИСПОЛЬЗОВАНИЯ ИЛИ * НЕВОЗМОЖНОСТИ ИСПОЛЬЗОВАНИЯ ПРОГРАММЫ (ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ * ПОТЕРЕЙ ДАННЫХ, ИЛИ ДАННЫМИ, СТАВШИМИ НЕПРАВИЛЬНЫМИ, ИЛИ ПОТЕРЯМИ * ПРИНЕСЕННЫМИ ИЗ-ЗА ВАС ИЛИ ТРЕТЬИХ ЛИЦ, ИЛИ ОТКАЗОМ ПРОГРАММЫ РАБОТАТЬ * СОВМЕСТНО С ДРУГИМИ ПРОГРАММАМИ), ДАЖЕ ЕСЛИ ТАКОЙ ВЛАДЕЛЕЦ ИЛИ ДРУГОЕ * ЛИЦО БЫЛИ ИЗВЕЩЕНЫ О ВОЗМОЖНОСТИ ТАКИХ УБЫТКОВ.

10 октября 2016 года на официальном сайте был анонсирован релиз очередной (11-й) версии популярной unix системы. Я решил написать подробную инструкцию с видео по двум вариантам установки Freebsd 11 — на одиночный диск и raid1 в виде mirror пула zfs. Давно внимательно не смотрел на эту систему, решил подробно все описать и посмотреть, что в ней изменилось за последнее время.

Я рассмотрю 2 варианта установки:

  1. Обычный, на одиночный жесткий диск. Такая конфигурация подойдет для виртуальной машины, где резервирование обеспечивается на уровне бэкапа всей виртуальной машины, без необходимости резервирования на уровне жесткого диска.
  2. Второй вариант — установка на программный raid1 , который реализован в виде зеркального пула на zfs . Freebsd уже давно дружит с zfs. Я ставил на нее систему, если не ошибаюсь, 8-й версии. В то время приходилось все делать вручную, сейчас же я увидел, что есть возможность установить freebsd на zfs с помощью стандартного установщика в автоматическом режиме. Такая установка подойдет для разворачивания системе на реальном железе.

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

Скачать нужный образ freebsd

Перед установкой надо определиться, какой образ скачать. Я составил кратенькую таблицу с описанием всех типов образов Freebsd 11 для платформы x64, которые можно скачать. Ссылки привел на Y andex.Mirror , предпочитаю с него все качать, так как быстро и удобно.

Скачать Freebsd 11
Имя образа Описание Скачать образ
bootonly Минимальный образ по размеру. Чтобы установить с него систему, необходимо подключение к интернету во время установки. bootonly.iso 285M
disc1 Основная система и базовый набор программ есть на диске. Можно установить без подключения к сети. Я пользуюсь обычно этим образом. disc1.iso 656M
dvd1 Максимальный образ. В него входят помимо системы, пакеты программ. Что за пакеты и какой их список я не знаю, никогда не пользовался этим образом. Все, что необходимо, после установки ставлю через интернет. dvd1.iso 3G
memstick Стандартный образ для установки с флешки, аналог disc1. memstick.img 700M

В дальнейшем повествовании я буду использовать образ disc1 как наиболее удобный и универсальный.

Стандартная установка

Начнем с нуля установку Freebsd 11 на одиночный жесткий диск. Вставляем iso образ в автозагрузку и загружаемся с диска. Нас встречает традиционное окно приветствия с тремя вариантами продолжения:

  1. Install — начать установку системы.
  2. Shell — перейти в консоль.
  3. Live CD — загрузиться в режиме Live CD.

Выбираем установку. На следующем этапе будет предложено выбрать раскладку. Чаще всего достаточно стандартной, так что ничего не меняем, а идем дальше со стандартной раскладкой.

Теперь выбираем компоненты, которые будут установлены. Я обычно ничего не ставлю, кроме lib32. Все, что нужно, можно потом установить последней версии из интернета.

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

Так что выбираем первый пункт — Auto (UFS). Установку freebsd 11 на zfs мы рассмотрим позже.

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

Длится она буквально несколько минут. Чистая система ставится очень быстро. По ходу дела будет предложено указать пароль для root. Сделайте это. Далее нужно будет выбрать сетевой интерфейс для настройки.

Если у вас их несколько, то выберите тот, который вы хотите настроить для доступа к сети. После выбора интерфейса нужно будет согласиться с настройкой ip адреса на нем. Дальше я выбираю получить настройки по DHCP. Так проще всего. Если вам нужно вручную указать ip адрес, то откажитесь от dhcp и введите сетевые параметры вручную.

После этого нужно будет указать адрес dns сервера, предварительно отказавшись от ipv6. Если вы получили настройки по dhcp, то адрес уже будет заполнен, нужно будет только подтвердить его. Если настройки вручную указывали, введи сами dns сервер.

Теперь выбираем часовой пояс, дату и время. Ничего сложного нет, скриншоты приводить не буду. Если дата и время указаны верно, то просто выбирайте Skip , если есть расхождения, вручную укажите правильные. Это, кстати, нововведение в 11-й версии. Раньше такого календаря и часов не было.

Установка движется к завершению. Нужно указать, какие службы вы хотите запускать автоматически при загрузке системы. Обязательно укажите sshd , чтобы подключаться к серверу удаленно, еще ntpd не помешает. Остальное на ваше усмотрение, я больше ничего не указываю. dumped стоит по-умолчанию, пусть останется.

На следующем этапе нам предлагается выбрать некоторые параметры безопасности. Я не знаком подробно с этой темой, не разбирался, но по названиям вижу, что вещи весьма полезные. Можно и включить. Тут на ваше усмотрение. Хуже не будет, но и чего-то особенно тоже не ждите. Все эти настройки можно и позже сделать.

На заключительном этапе вам будет предложено добавить пользователей в систему. Если вы этого не сделаете, то не сможете подключиться по ssh к серверу. По-умолчанию в freebsd пользователю root запрещено подключаться по ssh. Это можно исправить только зайдя локально рутом и отредактировав настройки ssh. Так что создайте хотя бы одного пользователя и добавьте его в группу wheel, чтобы можно было подключиться по ssh и сделать su для получения root доступа.

Вы должны загрузиться в свежеустановленной системе Freebsd 11. На этом базовая установка закончена.

Установка на raid1

Выполним ту же самую установку, только на программный raid1 . У вас должен быть сервер с минимум 2-мя жесткими дисками. Доходим до пункта, где нужно выбрать разбивку диска и выбираем Auto (ZFS) .

В строке Pool Type/Disks выбираем mirror .

И указывайте оба ваших диска:

Проверка отказоустойчивости zpool

После завершения установки можно проверить как работает отказоустойчивость. Давайте посмотрим статус пула, когда все в порядке и работают оба диска:

# zpool status -v pool: zroot state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM zroot ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 da0p3 ONLINE 0 0 0 da1p3 ONLINE 0 0 0 errors: No known data errors

Оба диска на месте. Теперь выключим сервер и вынем один из дисков. Посмотрим, как поведет себя сервер.

# zpool status -v pool: zroot state: DEGRADED status: One or more devices could not be opened. Sufficient replicas exist for the pool to continue functioning in a degraded state. action: Attach the missing device and online it using "zpool online". see: http://illumos.org/msg/ZFS-8000-2Q scan: none requested config: NAME STATE READ WRITE CKSUM zroot DEGRADED 0 0 0 mirror-0 DEGRADED 0 0 0 2081140553640658652 UNAVAIL 0 0 0 was /dev/da0p3 da0p3 ONLINE 0 0 0 errors: No known data errors

Как видно, диска нет, но система благополучно загрузилась и нормально работает. Если мы вернем этот же диск на место и перезагрузимся, то все станет в порядке, никаких лишних движений делать не надо. Но представим, что у нас диск вышел из строя и нам надо установить новый. Вставляем новый чистый диск в сервер и загружаемся. Новый диск получил то же название, что и вышедший из строя — /dev/da0 . Разделов на нем нет.

Первым делом отправляем сбойный диск в offline:

# zpool offline zroot da0p3

Пул теперь в таком состоянии:

# zpool status -v pool: zroot state: DEGRADED status: One or more devices has been taken offline by the administrator. Sufficient replicas exist for the pool to continue functioning in a degraded state. action: Online the device using "zpool online" or replace the device with "zpool replace". scan: none requested config: NAME STATE READ WRITE CKSUM zroot DEGRADED 0 0 0 mirror-0 DEGRADED 0 0 0 2081140553640658652 OFFLINE 0 0 0 was /dev/da0p3 da1p3 ONLINE 0 0 0 errors: No known data errors

Скопируем таблицу разделов с живого диска на новый. Посмотрим для начала на нее:

# gpart show => 40 20971440 da1 GPT (10G) 40 1024 1 freebsd-boot (512K) 1064 984 - free - (492K) 2048 4194304 2 freebsd-swap (2.0G) 4196352 16773120 3 freebsd-zfs (8.0G) 20969472 2008 - free - (1.0M)

Создаем такую же таблицу на новом диске, скопировав ее со старого:

# gpart backup da1 > /root/da1.backup # gpart restore da0 < /root/da1.backup

Смотрим, что получилось:

# gpart show => 40 20971440 da1 GPT (10G) 40 1024 1 freebsd-boot (512K) 1064 984 - free - (492K) 2048 4194304 2 freebsd-swap (2.0G) 4196352 16773120 3 freebsd-zfs (8.0G) 20969472 2008 - free - (1.0M) => 40 20971440 da0 GPT (10G) 40 1024 1 freebsd-boot (512K) 1064 984 - free - (492K) 2048 4194304 2 freebsd-swap (2.0G) 4196352 16773120 3 freebsd-zfs (8.0G) 20969472 2008 - free - (1.0M)

То, что надо. Запишем на новый диск загрузчик:

# gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da0 partcode written to da0p1 bootcode written to da0

Говорим пулу, что мы меняем жесткий диск:

# zpool replace zroot /dev/da0p3 Make sure to wait until resilver is done before rebooting. If you boot from pool "zroot", you may need to update boot code on newly attached disk "/dev/da0p3". Assuming you use GPT partitioning and "da0" is your new boot disk you may use the following command: gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da0

Умный zpool сам нам напомнил, чтобы мы не забыли про загрузчик. После замены диска быстро прошел resilver (синхронизация) и пул перешел в состояние ONLINE

# zpool status -v pool: zroot state: ONLINE scan: resilvered 532M in 0h0m with 0 errors on Sat Oct 15 01:29:49 2016 config: NAME STATE READ WRITE CKSUM zroot ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 da0p3 ONLINE 0 0 0 da1p3 ONLINE 0 0 0 errors: No known data errors

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

Заключение

Закончили установку. Можно сделать . Вся информация в статье актуальна для 11-й версии.

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

Freebsd 11 понравилась простой и быстрой установкой на raid1. Думаю, эта возможность появилась раньше, я просто не проверял. Решил посмотреть на 11-й версии. В целом, все понравилась. В отличие от Debian, голая система ставится на глаз раз в 5-7 быстрее и раза в 3 быстрее CentOS. Надеюсь, что система и дальше будет развиваться и радовать нас новыми версиями и возможностями.

Устройств и базовых пользовательских программ (т. н. userland) , таких как командные оболочки и т. п., содержится в одном дереве системы управления версиями (до 31 мая 2008 - CVS , сейчас - SVN). Это отличает FreeBSD от GNU/Linux - другой свободной UNIX-подобной операционной системы - в которой ядро разрабатывается одной группой разработчиков, а набор пользовательских программ - другими (например, проект GNU), а многочисленные группы собирают это всё в единое целое и выпускают в виде различных дистрибутивов Linux .

FreeBSD хорошо зарекомендовала себя как система для построения интранет - и интернет-серверов . Она предоставляет достаточно надёжные сетевые службы и эффективное управление памятью .

Помимо своей стабильности, FreeBSD популярна и благодаря своей лицензии , которая существенно отличается от широко известной лицензии GNU GPL - она позволяет использовать код не только в свободном ПО , но и в проприетарном . В отличие от GNU LGPL , которая тоже позволяет использовать свободный код в закрытой программе , лицензия BSD более простая и короткая.

История

FreeBSD 3

3.0-RELEASE анонсирована 13 октября 1998 года. Основное отличие от 2.2 - переход на ELF исполняемые файлы. Последний 3.5-RELEASE вышел 23 июня 2000 года.

FreeBSD 4

Одним из главных недостатков FreeBSD 4 считается плохая поддержка многопроцессорных систем, особенно в режиме многопоточности .

FreeBSD 4 поставила своеобразный рекорд по продолжительности разработки одной ветки операционной системы - за пять лет было устранено большое количество ошибок и получена на редкость стабильная система.

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

FreeBSD 5

Наибольшие архитектурные изменения в FreeBSD 5 - это изменение механизма блокировки на нижнем уровне ядра, чтобы улучшить поддержку многопроцессорных SMP -систем. Это освободило большую часть ядра от так называемой «гигантской блокировки» (Giant lock). Теперь в ядре появилась возможность выполнять более одной задачи одновременно. Другим важным изменением была реализация «родной» поддержки многопоточности типа M:N под названием Kernel Scheduled Entities (KSE). Начиная с FreeBSD 5.3, эта реализация потоков была установлена по умолчанию, пока не была заменена на реализацию модели 1:1 во FreeBSD 7.

Во FreeBSD 5 была серьёзно изменена система блочного ввода-вывода посредством введения модульной структурной системы преобразования запросов ввода-вывода GEOM (внесённой Poul-Henning Kamp). GEOM даёт возможность создавать различную функциональность, такую как зеркалирование (mirroring) или шифрование (модули GBDE и GELI).

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

FreeBSD 6

Участники проекта разрабатывают ветку CURRENT («текущая» версия) и несколько STABLE («стабильная», стабильность означает гарантию неизменности интерфейсов, как то API, ABI и так далее).

Новый код помещают в ветку CURRENT, где он получает более широкое тестирование. Новые функции, добавленные в CURRENT, могут остаться в системе или от них могут отказаться, если реализация окажется неудачной. Иногда эта версия может оказаться в непригодном для использования состоянии. С началом использования perforce как вспомогательного репозитория, и с выделением projects/ области в svn, проект стремится гарантировать постоянную работоспособность CURRENT.

STABLE-версия содержит только те нововведения, которые прошли проверку в CURRENT. Тем не менее, эта версия тоже предназначена, в основном, для разработчиков. Не рекомендуется обновлять ответственные рабочие серверы до STABLE, предварительно её не протестировав. На основе STABLE регулярно создаются тщательно протестированные разработчиками, группой release-инженеров и более широким кругом пользователей RELEASE-версии.

После выпуска релизов создаются дополнительные ветви разработки для поддержки релизов, но в них вносятся лишь самые необходимые изменения, исправляющие серьёзные ошибки или проблемы с безопасностью системы. До четвёртой версии FreeBSD у стабильной и текущей веток был один и тот же старший номер версии. Затем текущей ветви был присвоен номер 5, а у стабильной остался номер 4.

В настоящее время поддерживаются стабильные ветви разработки 7-STABLE, 8-STABLE и 9-STABLE и текущая 10-CURRENT. Группа разработчиков, исправляющих проблемы безопасности системы (security officers) поддерживает ветвь 7-STABLE для тех пользователей, которые ещё не обновили FreeBSD до версии 8 и 9.

Варианты установки

Операционная система FreeBSD может быть установлена с различных носителей, таких как:

  • FAT -раздел жёсткого диска;
  • удалённый сервер (по протоколу FTP или NFS).

Порты и пакеты

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

Коллекция портов, как подсистема система сборки и сопровождения устанавливаемых программ, периодически обновляется. Сейчас она насчитывает порядка 22 тысячи портированных на FreeBSD программ , среди которых: графические среды GNOME 2.32.1, KDE 4 4.7.4, офисные приложения и пакеты OpenOffice.org 3.3.2, LibreOffice 3.4.5, система поддержки печати CUPS 1.5.2, программы доступа в интернет Mozilla Firefox 10.0.2 и Thunderbird 10.0.2, Google Chromium 17.0.963.65, системы управления базами данных PostgreSQL 8.2.23, 8.3.18, 8.4.11, 9.0.7 и 9.1.3, MySQL 4.1.25, 5.0.95, 5.1.61 и 5.5.21, комплекты Java-разработки OpenJDK 6 b24 и OpenJDK7 7.2.13, среды разработки Eclipse 3.6.2 c дополнениями для Web-разработки и баз данных и NetBeans 7.1. Инфраструктура интерпретирующих языков представлена Perl 5.12.4 c возможностью перехода на Perl 5.14.2, Python 2.7.2 и Ruby 1.8.7 и 1.9.3.

Талисманы-логотипы

Основным талисманом системы является красный демонёнок, известный также как Beastie . Кроме него, талисманом также считается Devilette , девушка в красном костюме демона.

Производные системы

BSD-лицензия позволяет сохранять коммерческую тайну при модификации FreeBSD для встраиваемых систем и производить другие производные проприетарные системы , что делает FreeBSD привлекательной для промышленности . Вместе с тем, остаётся неизвестным, в какой конкретно технике применяют FreeBSD, кроме маршрутизаторов Juniper и ТВ-панелей . Ниже приведены свободные производные операционные системы.

  • DragonFly BSD - ответвление от FreeBSD 4.8, созданное как логическое продолжение 4-й ветви. Она включает систему потоковой обработки сообщений, похожую на ту, которая используется в системах с микроядром .
  • FreeSBIE - LiveCD -дистрибутив FreeBSD, похожий на дистрибутив Linux под названием Knoppix .
  • Frenzy - другой проект по созданию LiveCD на основе FreeBSD, ориентированный в первую очередь на русскоязычных системных администраторов .
  • TrueBSD - белорусский LiveDVD-дистрибутив на основе FreeBSD.
  • BSDeviant - ещё один LiveCD.
  • MiniBSD - компактный дистрибутив FreeBSD.
  • NanoBSD - ещё один компактный дистрибутив FreeBSD.
  • mfsBSD - миниатюрный загрузочный LiveCD на базе FreeBSD, загружаемой полностью в оперативную память компьютера.
  • Debian GNU/kFreeBSD - производная версия, базирующаяся на наборе инструментов GNU , разрабатывается группой пользователей Debian .
  • Darwin - ядро Mac OS X , многие команды взяты от FreeBSD 4/5, разрабатывается компанией Apple , весьма дальний родственник FreeBSD, так как использует ядро Mach .
  • m0n0wall - встраиваемый межсетевой экран , основанный на FreeBSD.
  • pfSense - ответвление от проекта m0n0wall, отличающееся большей функциональностью.
  • FreeNAS - основанное на m0n0wall сетевое хранилище NAS .
  • PC-BSD - дистрибутив с графическим инсталлятором и настольной средой KDE по умолчанию.
  • РУС-BSD - клон PC-BSD, русифицированный дистрибутив для пользователей стран СНГ, с версии 8.1 РУС-BSD опирается на Frenzy и свои разработки.
  • GhostBSD - LiveCD с настольной средой GNOME по умолчанию.
  • DesktopBSD - ещё один дистрибутив для домашнего использования.
  • BSD Router Project (BSDRP) - компактный программный роутер на базе FreeBSD.

Пасхальные яйца

См. также

  • Как пропатчить KDE2 под FreeBSD?

Литература

Книги

  • Christopher Negus, Francois Caen, BSD UNIX Toolbox: 1000+ Commands for FreeBSD, OpenBSD and NetBSD, Wiley, May 5 2008, 309 стр., ISBN 0-470-37603-1 .
  • Babak Farrokhi , Network Administration with FreeBSD 7: Building, securing, and maintaining networks with the FreeBSD operating system, Packt Publishing, April 14 2008, 280 стр., ISBN 1-84719-264-5 .
  • Bryan J. Hong, Building a Server with FreeBSD 7, No Starch Press, April 1 2008, 288 стр., ISBN 5-8459-0741-1 .
  • Joseph Kong, Designing BSD Rootkits: An Introduction to Kernel Hacking, No Starch Press, April 10 2007, 144 стр., ISBN 1-59327-142-5 .
  • Брайан Таймэн. FreeBSD 6. Полное руководство = FreeBSD 6 Unleashed. - М .: «Вильямс», 2007. - 1056 с. - ISBN 5-8459-0741-1
  • Harald Zisler, FreeBSD, Franzis Verlag GmbH, August 31 2006, 381 стр., ISBN 3-7723-6538-8
  • Родерик Смит. Полный справочник по FreeBSD = FreeBSD: The Complete Reference. - М .: «Вильямс», 2005. - 672 с. - ISBN 5-8459-0576-1
  • Yanek Korff, Paco Hope, Bruce Potter., Mastering FreeBSD and OpenBSD Security , O’Reilly, March 2005. ISBN 0-596-00626-8 .
  • Майкл Лукас. = Absolute BSD. The Ultimate Guide to FreeBSD. - СПб. : Символ-Плюс, 2004. - 616 с. - ISBN 5-93286-066-9
  • Dru Lavigne. BSD Hacks, 100 Industrial-Strength tips for BSD users and administrators. O’Reilly, May 2004. ISBN 0-596-00679-9 .
  • Michael Urban, Brian Tiemann. FreeBSD Unleashed, Second Edition. Sams Publishing , April 2003. ISBN 0-672-32456-3 .
  • Greg Lehey. The Complete FreeBSD, 4th Edition, Documentation from the Source. O’Reilly, April 2003. ISBN 0-596-00516-4 .
  • Marshall Kirk McKusick, George V. Neville-Neil. The Design and Implementation of the FreeBSD Operating System . Addison Wesley Professional, August, 2004. ISBN 0-201-70245-2 .
  • Ted Mittelstaedt. The FreeBSD Corporate Networkers Guide. Addison-Wesley, December 2000. Paperback, book & CD edition, 401 pages. ISBN 0-201-70481-1 .
  • The FreeBSD Handbook, Volume 1: User Guide, 3rd Edition. FreeBSD Documentation Project. FreeBSD Mall, November 2003. ISBN 1-57176-327-9 .
  • The FreeBSD Handbook, Volume 2: Admin Guide, 3rd Edition. FreeBSD Documentation Project. FreeBSD Mall, September 2004. ISBN 1-57176-328-7 .

Журналы

Ссылки

Примечания