Полный роутер для корбины на FreeBSD для Чайников. Кому принадлежит BSD? По какой причине эта операционная система остается невостребованной

Annelise Anderson

Поздравляем с установкой FreeBSD! Теперь настало время прочитать этот документ. Это введение для людей, которые только начинают работать с FreeBSD и Un*x, поэтому оно начинается с самых основ. Я подразумеваю, что Вы используете FreeBSD версии 2.0.5 или более позднюю, Ваша система имеет одного пользователя (Вас), и Вы неплохо разбираетесь с DOS/Windows или OS/2.

1. Вход в систему и выход из нее.

Войдите в систему (когда Вы видите приглашение login:) как пользователь, созданный Вами в процессе инсталяции, или как root . (Во время инсталяции FreeBSD будет создан бюджет для пользователя root; root может делать в системе все что угодно, включая удаление жизненно важных файлов, так что будьте осторожны.) После входа Вы увидите приглашение, начинающееся с символов % или #, в зависимости от того под каким пользователем Вы вошли. Символ % характерен для обычного пользователя, а символ # - для пользователя с правами root.

Для выхода из системы (к новому приглашению login:) просто введите

Естественно, после каждой команды нужно нажимать enter , и помните, что Unix чувстителен к регистру символов -- exit, но не EXIT.

Чтобы выгрузить систему введите

    # /sbin/shutdown -h now

Для перезагрузки компьютера введите

    # /sbin/shutdown -r now

    # /sbin/reboot

Вы также можете перезагрузить компьютер, нажав клавиши Ctrl-Alt-Delete , и немного подождав пока система корректно завершит свою работу. Это аналогично команде /sbin/reboot и намного, намного лучше, чем нажатие кнопки Reset. Вы ведь не хотите переустанавливать FreeBSD, не так ли?

2. Добавление пользователя с правами суперпользователя (root).

Если Вы не создали других пользователей в процессе инсталяции и, таким образом, входите в систему как root, Вы возможно захотите создать нового пользователя. Это можно сделать командой

    # adduser

Если Вы используете эту команду в первый раз, Вас спросят о некоторых значениях по умолчанию, чтобы затем их сохранить. Например, Вы можете сделать csh оболочкой (shell) по умолчанию вместо sh. В противном случае, просто нажимайте каждый раз enter , чтобы согласиться с каждым значением по умолчанию. Эти значения сохраняются в файле /etc/adduser.conf, который может быть затем отредактрирован любым текстовым редактором.

Предположим Вы создали пользователя jack с полным именем Jack Benimble . Для безопасности ему следует дать пароль. Когда Вас спросят хотите ли Вы включить пользователя jack в другие групппы, введите whell .

    Login group is ``jack"". Invite jack into other groups: wheel

Это позволит входить в систему как пользователь jack и затем использовать команду su, чтобы стать root"ом.

Вы можете прервать выполнение команды adduser в любое время, нажав клавиши Ctrl-c . Рекомендуем Вам создать еще одного пользователя на случай, если вы вдруг почему-то не сможете войти в систему под именем jack.

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

Если Вы уже создали пользователя и хотите, чтобы он мог использовать команду su, зайдите в систему как root и исправьте файл /etc/group, добавив слово "jack" в первую строчку (группу wheel). Но сначала попрактикуйтесь в использовании текстового редактора vi, или используйте редактор попроще, например ее.

Для удаления пользователя используйте команду rmuser .

3. Начало работы

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

Вот несколько команд с описанием, что они делают:

Сообщает Вам, кто Вы!

Показывает в какой текущей директории Вы находитесь.

Выдает список файлов в текущей директории.

Выдает список файлов в текущей директории со значком "*" - после исполняемых файлов, "/" - после директорий и "@" - после символических ссылок.

Выдает список файлов в длинном формате, т.е. с указанием размера, даты и прав.

Выдает список всех файлов, включая скрытые файлы (файлы с точкой в начале имени) файла.

Меняет директорию. cd .. переходит вверх на один уровень (обратите внимание на пробел после слова cd), cd ~ переходит в домашнюю директорию пользователя, например, /usr/home/jack. Попробуйте ввести cd /cdrom , а затем ls , чтобы выяснить установлен ли у Вас CD-ROM и работает ли он.

view filename

Позволит Вам просмотреть файл с именем filename без возможности изменить его. Попробуйте ввести view /etc/fstab (для выхода наберите:q).

cat filename

Отображает файл с именем filename на экране. Если файл слишком большой и не умещается на экране, нажмите ScrollLock и, используя клавишу "стрелка вверх", двигайтесь назад. Вы также можете использовать ScrollLock для просмотра man pages. Попробуте просмотреть файлы "с точкой" в своей домашней директории.

Обратите внимание на псевдонимы (aliases) в файле.cshrc для некоторых из команд ls (они очень удобны). Вы можете создать другие псевдонимы, отредактировав.cshrc. Чтобы сделать эти псевдонимы доступными всем пользователям, отредактируйте файл /etc/csh.cshrc.

4. Получение справки и информации.

Имеются несколько команд помощи. После каждой команды вместо слова " text " нужно ввести какое-то слово -- обычно это команда или имя файла.

Выдаст Вам все, что содержит строку text в базе данных whatis .

Выдаст соответствующий man page для слова text . Man pages - это главный источник информации в Un*x системах. Например, man ls расскажет Вам обо всех возможностях использования команды ls . Управляющие комбинации клавиш: enter - для продвижения по тексту, Ctrl-b - для возврата, Ctrl-f - для продвижения вперед, q или Ctrl-c - для выхода.

Сообщит, в какой директории находится команда text , если эта директория прописана в пользовательском пути (path).

Все пути, где найдена строка text.

Сообщит Вам, что делает команда text . Комбинация whatis * расскажет Вам обо всех двоичных файлах в текущей директории.

Найдет файл с именем text , сообщив его полный путь.

Возможно вы захотите попробовать использовать команду whatis на некоторых полезных командах, таких как cat, more, grep, mv, find, tar, chmod, chown, date, and script. Команда more позволит Вам читать файл постранично, например, more filename или cat filename|more . Символ * работает как групповой символ, например, ls w* выдаст список всех файлов в текущей директории, начинающихся с буквы w.

Некотрые из этих команд работают не очень хорошо? И locate и whatis зависят от базы данных, которая еженедельно перестраивается. Если Вы не собираетесь оставлять работающую машину до конца недели, попробуйте время от времени выполнять команды для ежедневного, еженедельного и ежемесячного сопровождения. Запустите их как пользователь root и дайте каждой из них закончить, прежде чем запускать другую.

    # /etc/daily
    # /etc/weekly
    # /etc/monthly

Если Вы устали ждать, нажмите Alt-F2 и Вы получите новую виртуальную консоль. В конце концов, это же многопользовательская и многозадачная система. Однако, эти команды могут выдавать сообщения на экран во время своего выполнения; команда clear очистит экран. После их выполнения, Вы можете просмотреть сообщения в /var/mail/root и /var/log/messages. В основном, выполнение таких команд является частью администрирования системы -- и как единственный пользователь Unix системы, Вы - свой собственный системный администратор. Вообще, все что должно делаться с правами root"а может считаться системным администрированием.

5. Редактирование текста.

Для настройки Вашей системы, Вам придется редактировать текстовые файлы. Большинство из них находится в директории /etc, и изменять их может только root. Вы можете использовать удобный редактор ее, но в конечном счете vi стоит того, чтобы его изучить. Есть отличное руководство по редактору vi в /usr/src/contrib/nvi/docs/tutorial, если Вы конечно его установили; однако его можно получить и по ftp с ftp.cdrom.com в директории FreeBSD/FreeBSD-current/src/contrib/nvi/docs/tutorial.

Перед тем, как редактировать файл, сделайте его копию. Предположим, что Вам надо отредактировать файл /etc/rc.conf. Перейдите командой cd /etc в дирекорию /etc и наберите

    # cp rc.conf rc.conf.orig

Теперь у Вас есть копия файла rc.conf, и Вы сможете позднее скопировать rc.conf.orig в rc.conf, чтобы восстановить оригинал. Но лучше все-таки переместить (переименовать) файл и затем скопировать обратно:

    # mv rc.conf rc.conf.orig
    # cp rc.conf.orig rc.conf

потому что команда mv сохраняет первоначальную дату и владельца файла. Теперь можно редактировать rc.conf. Если Вы теперь хотите вернуть оригинал, наберите mv rc.conf rc.conf.myedit (подразумевается, что Вы хотите сохранить Вашу исправленную версию) и затем введите

    # mv rc.conf.orig rc.conf

Для редактирования файла наберите

    # vi filename

Двигаться по тексту можно "стрелками". Esc переключает vi в командный режим. Вот некоторые команды, который Вам нужно знать:

удаляет букву, на которой находится курсор.

удаляет всю строку

вставляет текст в место курсора

вставляет текст после курсора

Если Вы введете i или a, Вы можете редактировать файл. Esc переключает обратно в командный режим, где Вы можете ввести

чтобы записать изменения на диск и продолжить редактирование

записать и выйти

выйти без записи

найти слово " text "; / Enter (клавиша Enter) для поиска следующего слова " text "

перейти в конец файла

перейти на строку n файла, где n - номер строки

перерисовать экран

двигаться вперед и назад по экрану.

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

Теперь Вы можете зайти в систему как root, воспользоваться vi для редактирования /etc/group, и добавить пользователя в группу wheel, чтобы он имел права root"a. Просто добавьте запятую и имя пользователя в конец первой строчки файла, нажмите Esc для перехода в командный режим, и введите: wq для записи и выхода. Изменения вступят в силу немедленно. Имейте в виду, что пробел после запятой не нужен.

6. Печать файлов из DOS.

На этом этапе у Вас наверняка принтер под FreeBSD не работает, поэтому здесь описан способ создания файла из man page, копирования его на дискету, и затем печати его из DOS"а. Предположим, Вы хотите повнимательнее почитать о изменении прав на файлы (это дейстивительно очень важно). Для этого Вы можете использовать команду man chmod. Команда

    # man chmod | col -b > chmod.txt

удалит все лишние коды форматирования и запишет man page в файл chmod.txt. Теперь вставьте отформатированную дискету под DOS"ом в дисковод, станьте root"ом (используя su), и наберите команду

    # /sbin/mount -t msdos /dev/fd0 /mnt

для монтирования дисковода в точку /mnt.
Теперь (Вам больше не нужно быть root"ом) зайдите в директорию, где Вы создали файл chmod.txt и скопируйте его на дискету

    % cp chmod.txt /mnt

Теперь Вы можете размонтировать дисковод

    # /sbin/umount /mnt

и перезагрузитесь для возврата в DOS.
Далее скопируйте файл в какую-нибудь директорию, откройте его любым текстовым редактором и распечатайте. Надеюсь это сработало! (Копирование файлов с FreeBSD на смонтированный раздел DOS в некоторых случаях все еще представляет небольшой риск).

7. Другие полезные команды.

показывает свободное дисковое пространство и смонтированные системы

показывает запущенные процессы. ps ax - в более узкой форме

rm filename

удаляет файл с именем filename

rm -R dir

удаляет директорию с именем dir и все поддиректории

выдает список всех файлов в текущей директории и во всех поддиректориях; я использовал вариант ls -AFR > where.txt , чтобы получить список всех файлов в директории / и отдельно в директории /usr, прежде чем нашел лучший способ для поиска файлов.

меняет пароль пользователя

man page по файловой системе Unix

Используйте команду find для поиска файлов в директории /usr и любой его поддиректории:

    % find /usr -name "filename"

Можете использовать символ * в слове "fileneme". Если Вы скажете искать в директории / вместо /usr, поиск будет производиться во всех смонтированных файловых системах, включая CD-ROM и раздел DOS.

  • Перевод

FreeBSD хороша для серверов, но не для настольных компьютеров

У FreeBSD есть полнофункциональная звуковая подсистема c низкой задержкой, а смешивание в ядре позволяет нескольким приложениям воспроизводить звуки одновременно (с независимыми настройками громкости) без дополнительных настроек. Дефолтные настройки включают в себя X.org и настройки рабочего стола, такие как KDE или GNOME, это так же просто как выбрать метапакет в зависимости от того, какой вы предпочитаете.

Если даже это кажется слишком сложным, PC-BSD - полнофункциональная настольная система, созданная поверх FreeBSD с простым в использовании установщиком и опцией коммерческой поддержки.

FreeBSD использует модель закрытого развития

FreeBSD развивают более 400 разработчиков по всему миру, все они имеют полный доступ ко всей системе и данным этой ОС. Третьи лица так же зачастую фиксят родные патчи. Если Вы хотите увидеть количество исправленных патчей, вы можете поискать "Submitted by" в логах фиксации.

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

FreeBSD - Просто OS X без красивого GUI интерфейса

Это такой же миф про OS X, как и про FreeBSD: OS X просто FreeBSD с красивым графическим интерфейсом. Эти две операционных системы действительно совместно используют часть кода, например большинство утилит пользовательского пространства и библиотека C по OS X получены из версий FreeBSD. Часть этого кода развивается в разное время и в разных направлениях, например FreeBSD 9.1 позднее включила стек C++ и компилятор, который первоначально были разработаны для OS X сотрудниками Apple. Так же есть и кардинально разные детали.

Ядро XNU, которое используется на OS X включает в себя несколько подсистем из более старых версий FreeBSD, но в основном считаются независимой реализацией. Но все же за счет своего сходства продукты реализованные на OS X значительно проще адаптировать под FreeBSD. Например libdispatch и libc ++ были записаны для OS X и работали на FreeBSD раньше, чем на любой другой ОС.

В FreeBSD все необходимо компилировать с исходного кода

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

Вы можете установить pkgng из портов (ports-mgmt/pkg) на более старых версиях FreeBSD. Она включена по умолчанию на FreeBSD 9.1 и более поздние версии.

FreeBSD это UNIX из 90-х (или 80-ых)

FreeBSD - линейный потомок исходного UNIX через Распределение программного обеспечения Беркли, но она продолжала развиваться отдельно. За последние несколько лет мы видели, что ZFS становится значительно производительней: поддержка 10 ГБ, 40 ГБ и 100 ГБ канала, улучшеная звуковая подсистема, поддержка 802.11n и других улучшений.

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

Весь хороший код в FreeBSD родом из Solaris

FreeBSD импортировала две функции высокого профиля из OpenSolaris: DTrace и ZFS. Обе теперь хорошо поддерживаются FreeBSD. ZFS, в частности, находится в центре внимания многих разработчиков FreeBSD, в том числе тех, которые используются iXsystems, компанией, которая поддерживает развитие FreeNAS и продает коммерческие NAS устройства на базе FreeBSD. Разработчики FreeBSD также работают в тесном сотрудничестве с разработчиками Illumos, одной из веток с открытым исходным кодом Solaris, для улучшения обеих этих функций.

Несмотря на преимущества ZFS, это по-прежнему относительно небольшая часть общей системы. ZFS и DTrace составляют менее чем 4% кода в ядре, которое равно почти 10% кода в основной системе. Если считать, что только 0.4% FreeBSD хороши, то система не приобрела бы такой популярности.

FreeBSD не имеет драйверов

Это проблема, с которой сталкиваются все операционные системы, - даже новые версии Windows. Большую часть времени пользователи не заботятся об общем количестве драйверов, только если драйверы уже установлены по умолчанию. Есть некоторые упущения с точки зрения поддержки драйверов, но FreeBSD поддерживает широкий спектр сетевых карт (в том числе 802.11n чипсеты), большинство звуковых карт AMD, Intel и графические процессоры NVIDIA.

Поддержка аппаратных средств - это та часть реализации, которая требует постоянной доработки, потому что нельзя просто сказать производителям аппаратных средств, чтобы они подождали пару лет, пока разработчики ПО их догонят. Обеспечение поддержки новых устройства занимает время для настройки, хотя некоторые производители сами обеспечивают драйверы, например Nvidia обеспечивает драйверы для их GPU и Intel для новейших сетевых контроллеров. Другие производители обеспечивают помощь в разработке драйверов FreeBSD, включая Broadcom, JMicron, HP, Mellanox, Chelsio и Solarflare. Если Вы знаете устройства, которые не поддерживаются FreeBSD, лучше сообщить про это разработчикам и производителям устройств. Как правило, лучшим толчком для решения проблемы со стороны производителей - сообщение о том, что их клиенты не могут использовать их продукты.

FreeBSD 4.x лучшее из всего что было

4.x релиз был самым стабильным и FreeBSD гордились тем, что они смогли реализовать такой продукт. Многие пользователи продолжали использовать его на протяжении многих лет. Серия 5.x вышла во время перехода к оптимизации многопоточности. Эта включало замену одной блокировки вокруг ядра с рядом меньших блокировок, которые используются отдельными подсистемами. Это требовало большого куска работы, что не могло не привести к некоторым ошибкам. 5.x поставлялась с двумя реализациями поточной обработки, а это еще больше осложняло ситуацию. Первые два выпуска в серии 5.x были отмечены «только разработчикам», но 5.2 была нацелена на более широкую аудиторию и не оправдала ожиданий пользователей системы FreeBSD. Ряд крупных пользователей решили не менять серию 4.x.

Серия 5.x была болезненным уроком для проекта. В серии 6.x восстановили стабильность выпуска 4.x., а в серии 7.x восстановили производительность одного процессора. Во время выпуска серии 8.x можно было увидеть ряд опубликованных третьими лицами тестов, которые продемонстрировали лучшую масштабируемость FreeBSD на многопроцессорных системах, чем любая другая операционная система.

Все эти релизы имели значительное количество улучшений, такие как улучшенная звуковая подсистема, ZFS, DTrace, ведение журналов UFS и многое другое, но стабильность и производительность остались ключевыми задачами системы FreeBSD.

Недостатки программного обеспечения FreeBSD

Коллекция FreeBSD в настоящее время содержит более 26 000 единиц программного обеспечения. Трудно сравнить это число с другими репозиториями, потому что программы разделены по-другому (например, GCC порт в FreeBSD устанавливает программы и библиотеки, которые разделены между 6-10 пакетами в Debian, в зависимости от версии GCC), но большинство вещей Вы все же можете там найти. Одной из причин, по которой пользователи выбирают FreeBSD является тот факт, что набор портов обеспечивает определенную, относительно неясную часть программного обеспечения, в котором она нуждается, в то время как другие системы этого не делают.

Большая часть программного обеспечения в наборе портов работает исходно на FreeBSD. Большая часть программного обеспечения с открытым исходным кодом - агностик относительно ОС и требует, чтобы минимальная модификация была скомпилирована и работала на FreeBSD. Есть исключения такие как Valgrind, которые требуют детального понимания системы. Проприетарное программное обеспечение может быть более серьезной проблемой. Некоторые разработчики, такие как Opera, обеспечивают FreeBSD своим исходным кодом.

Другое программное обеспечение должно работать в режиме эмуляции. Например, бинарные файлы Linux могут работать на уровне Linux ABI, где системные вызовы Linux переводятся на их эквиваленты FreeBSD. Единственный изъян - немного увеличенная нагрузка системных вызовов; обычно сложно измерить различие в производительности между выполнением программ Linux на Linux и на FreeBSD: в некоторых случаях программы работают быстрее на FreeBSD, чем на Linux из-за более эффективных реализаций базовых вызовов. Например, версия Linux Flash-плагина может работать, используя NSPluginWrapper на уровне Linux ABI с собственным веб-браузером.

Аналогичное решение существует для запуска Windows приложений.

FreeBSD не поддерживает виртуализацию

FreeBSD 9 работает как гость Xen (domU) и на x86, и на x86-64, включая Amazon EC2. Благодаря работе, проделанной совместно с Microsoft, NetApp и Citrix, FreeBSD можно запускать на Hyper-V гипервизора Microsoft. FreeBSD 11 будет включать Dom0 поддержку управления домена.

FreeBSD также поддерживает VirtualBox и в качестве гостя и в качестве хоста. Вы можете найти гостевые дополнения VirtualBox, а затем и сам гипервизор в наборе портов. FreeBSD 10 также работает в качестве хоста операционной системы для гипервизора BSD, давая множество возможностей для запуска FreeBSD виртуальных машин на базе FreeBSD.

И наконец, если Вам не требуется полная виртуализация, то для выполнения изолированных пространств пользователя FreeBSD (или даже пространств пользователя Linux, используя уровни Linux ABI) на одном ядре FreeBSD Вы можете использовать подсистему контейнеров. Контейнеру можно даже предоставить их собственный независимый сетевой стек и т.д., и таким образом, одна машина может использоваться, чтобы эмулировать целый парк машин.

Лицензия BSD способствует взаимному сотрудничеству

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

Некоторые компании, почти наверняка возьмут наш код, изменят его и никогда ничего не предоставят взамен.

Рассмотрим в качестве примера случай двух крупнейших интернет-компаний: Google и Yahoo! Прежде их внутренняя инфраструктура основывалась на операционной системе GPL, в то время как более поздние версии уже используют FreeBSD. Поскольку Google не распределяет их измененную операционную систему, они могут сохранить к примеру GoogleFS в частной собственности. В таких случаях как этот, где программное обеспечение разработано для внутреннего использования, по лицензионному соглашению компания не обязана раскрывать свои доработки для разработчиков FreeBSD.

Существуют, однако, некоторые проблемы с соединением: например, нельзя использовать библиотеку с лицензией GPL, если уже используется BSD.

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

В данной статье рассмотрим операционную систему – FreeBSD, чем она привлекает пользователей и какие недостатки имеет. Еще в 1993 году началась разработка операционной системы FreeBSD (Berkeley Software Distribution) , в этом же году вышла первая официальная версия. Последний релиз системы появился в августе 2015. Как видим, ОС FreeBSD стабильно развивается и естественно имеет своих поклонников. Давайте разберемся, за что так пользователи любят FreeBSD и какие недостатки имеет данная система.

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

Главные преимущества системы FreeBSD:

  • Стабильность работы. Несколько лет назад компания Netcraft привела к сведенью результаты анализа работы сайтов. Наиболее долгую непрерывную работу (по календарным дням) имели веб-проекты, которые работали под управлением FreeBSD.
  • Бесплатное скачивание ОС. Большинство пользователей всегда делают выбор в пользу бесплатных систем, и не обременяют себя покупкой дорогих лицензий для ОС. Таким образом скачать и установить FreeBSD Вы можете абсолютно бесплатно.
  • Открытый исходный код. Любой желающий может вносить свои правки в код и выполнять желаемые проверки без проблем, правда, есть некие ограничения, но они слишком минимальны.
  • Качественность. Многие популярные на весь мир веб-сервисы используют данную систему, что есть беспорным подтверждением качества работы. За оценками экспертов почти 40% серверов на рынке СНГ работают именно на данной ОС.
  • Надежность. Данный фактор обеспечивается монолитным ядром и законченной логической структурой ОС, которая по сути является целостной.

Структура системы FreeBSD:

  1. Библиотека С используется в качестве системного интерфейса программирования.
  2. Ядро, которое предназначено для планировки всех процессов, управлением памяти, работы с устройствами и тп.
  3. Разнообразные файловые утилиты, компиляторы, оболочки, редакторы связей, и другие программы для конечного пользователя, некоторые из них основываются на коде GNU.
  4. За графический дизайн отвечает встроенная в FreeBSD X Window.
  5. Огромный выбор системных и прикладных программ.

Разработкой FreeBSD занимаются почти 4 тыс. добровольцев , которые и выпускают оновленные версии. Всего релизов насчитывают десять, последний из которых был выпущен 13 августа 2015 года. Но все-таки система не является столь популярной, как к примеру Linux. Давайте разберемся в причинах, почему FreeBSD имеет небольшое количество пользователей. В превую очередь, это “заслуга” разработчиков, которые занимаются шлифовкой кода системы, и очень мало времени уделяют рекламе своего продукта. Кроме того, они мало заботятся о рядовом пользователи и не упрощают процесс настройки и установки ОС, что для многих является ключевым этапом при выборе операционной системы. Ведь настроить Linux намного проще чем FreeBSD .

Недостатки системы FreeBSD .

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

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

К Вашему сведению, ОС FreeBSD (9,10) уже предустановленна на наших ВПС серверах и Вы сможете ощутить все преимущества данной системы, сделав заказ виртуального сервера в компании Hyper Host™ . ?

6486 раз(а) 13 Сегодня просмотрено раз(а)

Многие Linux пользователи уже слышали про FreeBSD, эта система использует ядро BSD, похожее на Linux, поскольку оба ядра основаны на Unix и поддерживают одни и те же стандарты POSIX. Это такая же свободная, бесплатная операционная система с открытым исходным кодом, разработанная для обеспечения максимальной безопасности и гибкости. Чаще всего она используется на серверах. Основное отличие от Linux в том, что разработкой ядра и программного обеспечения занимается одна команда разработчиков.

FreeBSD поддерживает множество различных процессорных конфигураций, от серверов до микрокомпьютеров, таких как Raspberry Pi. Как и Linux, система поставляется с множеством программ, которые можно очень просто установить с помощью портов. Всего доступно более 20 000 пакетов. В этой инструкции мы рассмотрим как выполняется установка FreeBSD 11 последней, на данный момент, версии на компьютер amd64. Будем устанавливать версию с интерфейсом командной строки, она лучше всего подходит для серверов.

Как обычно, сначала нам нужно скачать установочный образ, и только потом может быть выполнена установка и настройка freebsd 11.

На официальном сайте есть несколько версий для разных архитектур, нам нужна amd64 или x86, в зависимости от количества оперативной памяти, которую вы желаете использовать.

Мы будем устанавливать последнюю версию FreeBSD 11.1, но если позже выйдет более новая версия, то я думаю, что статья будет все еще актуальна и для нее.

Шаг 2. Запись образа на диск

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

Далее вставьте носитель в компьютер и измените настройки BIOS так, чтобы загрузка выполнялась из вставленного носителя. Чтобы войти в BIOS, во время загрузки нажмите одну из клавишей: F2, F11, F12 перед загрузкой операционной системы. Затем перейдите на вкладку "Boot" и поставьте там ваш носитель на первое место.

Установка FreeBSD 11

Шаг 3. Меню загрузчика

В первом меню загрузчика вам не нужно менять никаких параметров. Просто нажмите "Enter" для продолжения работы:

Шаг 4. Выбор действия

Шаг 5. Раскладка клавиатуры

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

Шаг 6. Имя хоста

Введите имя хоста для новой системы:

Шаг 7. Выбор программ

На следующем экране вам предстоит выбрать компоненты системы, которые вы хотите установить FreeBSD 11 на свой компьютер. Для того, чтобы отметить компонент нажмите "Пробел" . Для сервера достаточно оставить библиотеки совместимости lib32 и Ports.

Когда завершите, нажмите "Enter" .

Шаг 8. Автоматическая разметка диска

Дальше нужно выполнить разметку диска. Вы можете довериться установщику и выполнить автоматическую разметку или же сделать все вручную. Если у вас есть несколько жестких дисков, которые необходимо подключить, лучше использовать ZFS. Но мы рассмотрим на примере UFS.

Затем выберите таблицу разделов. Если ваш диск больше 2 Тб или вы используете UEFI вместо BIOS, то вам лучше использовать GPT, в всех остальных случаях более предпочтительно MBR. Даже будет лучше если вы отключите защищенную загрузку и будете использовать MBR:

В следующем окне система покажет вам созданные разделы. В случае MBR будет создано два раздела - корень и раздел подкачки. Используйте "Tab" для выбора кнопки "Commit" , а затем нажмите "Enter" :

Шаг 9. Установка FreeBSD


Шаг 10. Пароль суперпользователя

Когда установка завершится, система предложит вам ввести пароль для суперпользователя. Установщик спросит пароль два раза, но он не будет отображаться на экране:

Шаг 11. Настройка сети

Затем выберите "Yes" , чтобы выполнить настройку ip адреса IPv4:

Вы можете выбрать вариант получения адреса по DHCP или настроить его вручную:

Настройку адреса IPv6 можно пропустить:

Последний этап настройки сети - настройка DNS серверов. Лучше всего добавить, кроме стандартного, DNS сервер от Google - 8.8.8.8:

Шаг 12. Регион

Выберите географический регион, в котором расположен ваш компьютер:

Затем выберите вашу страну:

Шаг 13. Настройка даты

На следующем этапе нужно ввести текущую дату и время, если они были неверно получены из сети:


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

Шаг 15. Дополнительные оптимизации

Эти опции позволяют усилить безопасность вашей системы. Отключите доступ к буферу ядра для непривилегированных пользователей. Отключите отладку, Включите очистку /tmp во время загрузки, отключите сокет Syslogd и Sendmail если вы не планируете использовать почтовый сервер:

Шаг 16. Другие пользователи

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

В качестве оболочки вы можете выбрать Bourne shell (sh) или tcsh. Когда завершите, просто наберите "Yes" :

Шаг 17. Завершение установки

На последнем экране перед вами появится простое меню действий. Если вы не хотите ничего менять, просто выберите первый пункт - "Exit" и ответьте "no" , чтобы перезапустить компьютер:


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. Надеюсь, что система и дальше будет развиваться и радовать нас новыми версиями и возможностями.

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то