Введение
Подробности о выходе новой версии вы можете узнать в официальной новости с сайта freebsd.org. С нововведениями можно ознакомиться в соответствующем разделе , посвещенному 11-й версии. Про ключевые новшества на русском языке предлагаю прочитать на opennet, сюда копировать не буду. Там, кстати, интересное обсуждение на тему, кому сейчас нужна Freebsd 11. Я так мельком просмотрел, увидел примерно то, что и ожидал увидеть. К сожалению, фряха теряет свою популярность и сам я ей почти не пользуюсь, отвык уже. Пишу про обновления по старой памяти. С Freebsd 6 я начинал свою работу сисадмином, до сих пор приятно набрать make install clean и наблюдать, как на мониторе бегают всякие строчки
Установка FreeBSD 11
В первом меню загрузчика вам не нужно менять никаких параметров. Просто нажмите «Enter» для продолжения работы:
Шаг 5. Раскладка клавиатуры
Выберите вашу раскладку клавиатуры, по умолчанию используется английская, в большинстве случаев лучше ее оставить:
Шаг 7. Выбор программ
На следующем экране вам предстоит выбрать компоненты системы, которые вы хотите установить FreeBSD 11 на свой компьютер. Для того, чтобы отметить компонент нажмите «Пробел». Для сервера достаточно оставить библиотеки совместимости lib32 и Ports.
Когда завершите, нажмите «Enter».
Шаг 8. Автоматическая разметка диска
Дальше нужно выполнить разметку диска. Вы можете довериться установщику и выполнить автоматическую разметку или же сделать все вручную. Если у вас есть несколько жестких дисков, которые необходимо подключить, лучше использовать ZFS. Но мы рассмотрим на примере UFS.
Далее вам нужно будет подтвердить использование всего диска для установки системы. Все данные на нем будут уничтожены.
Затем выберите таблицу разделов. Если ваш диск больше 2 Тб или вы используете UEFI вместо BIOS, то вам лучше использовать GPT, в всех остальных случаях более предпочтительно MBR. Даже будет лучше если вы отключите защищенную загрузку и будете использовать MBR:
В следующем окне система покажет вам созданные разделы. В случае MBR будет создано два раздела — корень и раздел подкачки. Используйте «Tab» для выбора кнопки «Commit», а затем нажмите «Enter»:
Шаг 9. Установка FreeBSD
Дальше будет запущена установка FreeBSD 11 с флешки или другого носителя, в зависимости от скорости работы вашего компьютера и жесткого диска, установка может занять от 10 до 30 минут.
Шаг 10. Пароль суперпользователя
Когда установка завершится, система предложит вам ввести пароль для суперпользователя. Установщик спросит пароль два раза, но он не будет отображаться на экране:
Шаг 11. Настройка сети
Дальше выберите сетевой интерфейс, через который вы собираетесь получать доступ в интернет. Как видите, имена сетевых интерфейсов отличаются от стандартов Linux:
Затем выберите «Yes», чтобы выполнить настройку ip адреса IPv4:
Вы можете выбрать вариант получения адреса по DHCP или настроить его вручную:
Настройку адреса IPv6 можно пропустить:
Последний этап настройки сети — настройка DNS серверов. Лучше всего добавить, кроме стандартного, DNS сервер от Google — 8.8.8.8:
Выберите географический регион, в котором расположен ваш компьютер:
Затем выберите вашу страну:
На следующем этапе нужно ввести текущую дату и время, если они были неверно получены из сети:
Шаг 14. Автозагрузка
Дальше нужно выбрать какие сервисы будут загружаться по умолчанию при старте системы. Например, SSH, NTP и Powerd. Последний позволяет автоматически регулировать частоту процессора в зависимости от нагрузки на систему.
Шаг 15. Дополнительные оптимизации
Эти опции позволяют усилить безопасность вашей системы. Отключите доступ к буферу ядра для непривилегированных пользователей. Отключите отладку, Включите очистку /tmp во время загрузки, отключите сокет Syslogd и Sendmail если вы не планируете использовать почтовый сервер:
Шаг 16. Другие пользователи
Дальше установщик спросит вас не желаете ли вы добавить к системе еще пользователей. Выберите «yes» и введите всю необходимую информацию о пользователе. Безопаснее всего оставить все поля по умолчанию, для этого достаточно нажимать «Enter»:
В качестве оболочки вы можете выбрать Bourne shell (sh) или tcsh. Когда завершите, просто наберите «Yes»:
Дальше система спросит вас хотите ли вы добавить еще пользователей, и если в этом нет необходимости, нужно ответить «no»:
Шаг 17. Завершение установки
На последнем экране перед вами появится простое меню действий. Если вы не хотите ничего менять, просто выберите первый пункт — «Exit» и ответьте «no», чтобы перезапустить компьютер:
Извлеките установочный носитель и нажмите «Enter»:
В меню загрузчика снова нажмите «Enter».
Дополнительные материалы по Freebsd
Онлайн курс по Linux
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «Administrator Linux. Professional» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров.
Что даст вам этот курс:
- Знание архитектуры Linux.
- Освоение современных методов и инструментов анализа и обработки данных.
- Умение подбирать конфигурацию под необходимые задачи, управлять процессами и обеспечивать безопасность системы.
- Владение основными рабочими инструментами системного администратора.
- Понимание особенностей развертывания, настройки и обслуживания сетей, построенных на базе Linux.
- Способность быстро решать возникающие проблемы и обеспечивать стабильную и бесперебойную работу системы.
Проверьте себя на вступительном тесте и смотрите подробнее программу по .
Рекомендую полезные материалы по Freebsd: |
Описание установки Freebsd 11 на одиночный диск, либо на софтовый raid1, сделанный средствами zfs, которые поддерживает стандартный установщик. Базовая настройка Freebsd, которую можно выполнить после установки сервера общего назначения. Представлены некоторые рекомендации по повышению удобства пользования и безопасности. Описание и нюансы обновления системы Freebsd с помощью утилиты freebsd-update. Показано пошагово на конкретном примере обновления. Настройка Freebsd шлюза для обеспечения выхода в интернет. Используется ipfw и ядерный нат, dnsmasq в качестве dhcp и dns сервера. Мониторинг сетевой активности с помощью iftop. Подробная настройка на Freebsd прокси сервера squid + sams2 — панели управления для удобного администрирования. Настройка максимально быстрого web сервера на базе Freebsd и nginx + php-fpm. Существенный прирост производительности по сравнению с классическим apache. Настройка web сервера на Freebsd в связке с apache, nginx, php и mysql. Пошаговая установка и настройка каждого компонента. |
Устанавливаем php и phpextensions
Дальше устанавливаем php, настройки оставляем настройки по-умолчанию:
# cd /usr/ports/lang/php5 # make config-recursive # make install clean
После установки создаем файл конфигурации:
# cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
Устанавливаем расширения:
# cd /usr/ports/lang/php5-extensions # make config-recursive
Помимо настроек по-умолчанию, обязательно добавляем CURL, DOM, POSIX, FTP, GD, HASH, ICONV, XML, JSON, MBSTRING, MYSQL, MYSQLI, OPENSSL, SOCKETS, TOKENIZER, XMLREADER, ZLIB, EXIF, GETTEXT,
# make install clean
Теперь поставим модуль php для apache. Он теперь стал почему-то отдельным портом. Я не сразу первый раз сообразил, куда делся модуль, который всегда ставился вместе с портом php. В общем, ставим отдельно:
# cd /usr/ports/www/mod_php5 # make install clean
Для того, чтобы apache правильно обрабатывал php файлы, необходимо в конфиг httpd.conf добавить следующие строки:
<IfModule mod_php5.c> AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps DirectoryIndex index.php index.html </IfModule>
Теперь можно запустить apache и проверить, все ли у нас в порядке. Сначала проверим, нет ли у нас ошибок в конфигурации:
# apachectl -t AH00526: Syntax error on line 15 of /usr/local/etc/apache24/extra/httpd-vhosts.conf: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
У нас ошибка, модуль mod_rewrite не подключен. Чтобы это исправить, раскомментируем в конфиге апача строку
LoadModule rewrite_module libexec/apache24/mod_rewrite.so
Проверяем снова:
# apachectl -t AH00557: httpd: apr_sockaddr_info_get() failed for websrv.local AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message Syntax OK
Снова ошибка, но не критичная, можно работать и с ней, но мы все равно ее исправим. В фале httpd.conf находим строку со значением ServerName и приводим ее к виду:
ServerName websrv.local:80
Сохраняем файл, проверяем конфигурацию:
# apachectl -t Syntax OK
Все в порядке, можно стартовать apache:
# /usr/local/etc/rc.d/apache24 start
Проверяем, все ли запустилось:
# ps ax | grep httpd 60555 - Ss 0:00.06 /usr/local/sbin/httpd -DNOHTTPACCEPT 60556 - I 0:00.00 /usr/local/sbin/httpd -DNOHTTPACCEPT 60557 - I 0:00.00 /usr/local/sbin/httpd -DNOHTTPACCEPT 60558 - I 0:00.00 /usr/local/sbin/httpd -DNOHTTPACCEPT 60559 - I 0:00.00 /usr/local/sbin/httpd -DNOHTTPACCEPT 60560 - I 0:00.00 /usr/local/sbin/httpd -DNOHTTPACCEPT
Если получаете что-то подобное, значит все в порядке. Сейчас можно в браузере набрать http://ip-сервера/ и увидеть страничку с одной единственной надписью:
It works!
Это означает, что веб сервер apache работает, все в порядке.
Подготовка к обновлению
Обновлять будем следующую версию:
# uname -a FreeBSD freebsd 10.2-RELEASE-p8 FreeBSD 10.2-RELEASE-p8 #0 r293642M: Sun Jan 10 23:28:11 MSK 2016 root@freebsd:/usr/obj/usr/src/sys/GENERIC amd64
Я давно не обновлял эту версию, поэтому сначала установим все обновления для 10.2. Как выполнить обновление freebsd я рассказал в отдельной статье. Делаем все по инструкции и проверяем версию системы еще раз:
# uname -a FreeBSD freebsd 10.2-RELEASE-p14 FreeBSD 10.2-RELEASE-p14 #0: Wed Mar 16 20:46:12 UTC 2016 [email protected]:/usr/obj/usr/src/sys/GENERIC amd64
Теперь можно обновляться на новую версию freebsd 10.3. Первым делом проведем сравнение с новой версией:
# freebsd-update -r 10.3-RELEASE upgrade
Должны увидеть следующий вопрос:
Отвечаем yes и дожидаемся окончания. Ждать придется очень долго. Я не понимаю, почему этот процесс такой длительный. Причем скорость не сильно зависит от железа. Даже на нормальных серверах этот процесс очень затягивается. Ничего не поделать, придется ждать. В предыдущем обновлении с 10.1 до 10.2 тоже приходилось долго ждать.
Когда наконец дождетесь окончания закачки изменений, начнется сравнение версий. Если ваши системные конфиги изменялись, будет приведено сравнение с новыми. Нужно будет принять изменения, или не принять. Зависит от ваших настроек. Вот пример изменения в файле настроек ssh:
Ничего критичного нет, можно принимать изменения. Больше у меня вопросов по изменениям системных конфигов не было. Можно приступать к установке обновления.
Шаг4: синхронизация конфиг файлов
В данный момент, система загружена на обновленую версию, однако содержащую старые библиотеки от предыдущего релиза и старый синтаксис конфигурационных файлов (а возможно и уже устаревших и лишних)
Исправляется последнее через интерактивную работу с mergemaster
Несколько слов о работе этой утилиты. Она сравнивает уже установленные файлы конфигурации с теми которые предлагаются новой версией FreeBSD. Если есть отличия, то на экране появляется сообщение об этом. Первой строкой в нем идет имя файла, который не соответствует новым требованиям, а ниже сами отличия. Знаком “-” помечаются строки, которые утилита собирается удалить, а “+” – которые будут добавлены.
В конце предлагаются следующие варианты:
d – удалить предлагаемый вариант и оставить старый;
i – установить предлагаемый вариант, удалив старый;
m – сравнить построчно старый и предлагаемый вариант;
v – посмотреть отличия в файлах снова.
Чаще всего можно жать i, но иногда это может привести к замене ваших настроек на дефолтные. Так что будте внимательны. Например, у меня установлен exim, а mergemaster предложил вернуть файл /etc/mail/mailer.conf в первоначальное состояние. Это мне не нужно, поэтому выбираю m.
Начинается построчное сравнение файлов. Экран делится на две части, слева строки из старого файла, а справа из предлагаемого. При нажатии на “Enter” выводятся возможные варианты последующих действий:
l – использовать вариант слевой стороны;
r – использовать вариант справой стороны;
и т.д.
В моем случае, чтобы оставить старые настройки жмем “l”. После того как сравнение кончилось, предлагаются следующие варианты:
i – установить получившийся файл;
r – повторить сравнение снова;
v – просмотреть получивщийся файл.
Возможен также вариант, когда с новой версией системы появляются новые файлы, которых до этого не было. В таком случае предлагается только 2 варианта:
d – удалить предлагаемый вариант и оставить старый;
i – установить предлагаемый вариант, удалив старый.
И в таком же духе сравниваются все файлы.
mergemaster -p
по окончанию выполните
exit
для загрузки в многопользовательский режим, если Вы загружены в однопользовательский.
Шаг5: удаление старый файлов и библиотек
Удалить устаревшие для Вашего релиза файлы и библиотеки следующими действиями:
cd /usr/src
make delete-old make delete-old-libs
Данные команды интерактивно будут Вас спрашивать удаление конкретного устаревшего файла. Если вы уверены в себе и своей системе, удалить без вопросов можно через
yes | make delete-old yes | make delete-old-libs
Процесс обновления завершен.
Ссылки
http://wiki.bsdportal.ru/doc:freebsd_update
http://www.lissyara.su/articles/freebsd/tuning/make_buildworld/
Использование утилиты freebsd-update
Установить все обновления безопасности на сервер freebsd можно легко и быстро с помощью утилиты freebsd-update. Итак, у нас имеется:
# uname -a
FreeBSD websrv.local 10.1-RELEASE FreeBSD 10.1-RELEASE #0 r274401: Tue Nov 11 21:02:49 UTC 2014 [email protected]:/usr/obj/usr/src/sys/GENERIC amd64
Запускаем freebsd-update, проверяем наличие обновлений и скачиваем необходимые:
# freebsd-update fetch
Looking up update.FreeBSD.org mirrors... none found. Fetching public key from update.FreeBSD.org... done. Fetching metadata signature for 10.1-RELEASE from update.FreeBSD.org... done. Fetching metadata index... done. Fetching 2 metadata files... done. Inspecting system... done. Preparing to download files... done. Fetching 19 patches.....10.... done. Applying patches... done. The following files will be updated as part of updating to 10.1-RELEASE-p1:
и дальше список обновлений перечисляется.
Устанавливаем обновления:
# freebsd-update install Installing updates... done.
Если после этого мы снова проверим версию системы с помощью uname, то окажется, что ничего не изменилось. Будет показана та же версия. Что же произошло после этого обновления? Произошло бинарное обновление системы до актуальных значений. При этом, если у вас собрано и установлено свое ядро, отличное от GENERIC, то после перезагрузки у вас будет загружено ядро GENERIC. Про это обязательно нужно помнить. Я так долго разбирался, почему вдруг перестала работать команда forward в ipfw. Перепроверил все, что только мог, опустились руки. А все потому, что процесс обновления и перезагрузки сервера были сильно разделены по времени, а заметил я то, что не работает перенаправление еще позже, поэтому не сопоставил эти два события. О том, что у меня не то ядро загружено я и представить не мог. Я же знаю и помню, что ядро собирал и не трогал с тех пор. Вот такой нюанс, о котором нужно не забывать.
Чтобы отразить изменения в версии системы, пересоберем и установим ядро GENERIC. Исходные тексты системы, нужные для сборки, находятся в папке /usr/src. Если у вас там пусто, то их необходимо установить.
Установка и настройка mysql на Freebsd
Устанавливаем mysql:
# cd /usr/ports/databases/mysql55-server # make config-recursive # make install clean
Добавляем Mysql в автозагрузку:
echo 'mysql_enable="YES"' >> /etc/rc.conf
Создаем для него конфигурационный файл:
# touch /etc/my.cnf
Конфигурацию каждый под свои потребности может сделать, описаний настроек в интернете много. Я предлагаю свой универсальный вариант:
port = 3306 socket = /tmp/mysql.sock port = 3306 bind-address = 127.0.0.1 socket = /tmp/mysql.sock skip-external-locking key_buffer_size = 256M max_allowed_packet = 1M table_open_cache = 256 sort_buffer_size = 1M read_buffer_size = 1M read_rnd_buffer_size = 4M myisam_sort_buffer_size = 64M thread_cache_size = 8 query_cache_size= 16M thread_concurrency = 8 log-bin=mysql-bin log=/var/log/mysql.log binlog_format=mixed server-id = 1 quick max_allowed_packet = 16M no-auto-rehash key_buffer_size = 128M sort_buffer_size = 128M read_buffer = 2M write_buffer = 2M interactive-timeout
В моем варианте сервер жестко привязан к локальному интерфейсу и удаленно с ним работать нельзя. Если вам нужны удаленные подключения, то в параметре bind-address добавьте внешний адрес сервера.
Создадим файл логов:
touch /var/log/mysql.log chown mysql:mysql /var/log/mysql.log
Запускаем Mysql:
# /usr/local/etc/rc.d/mysql-server start
Проверяем, все ли в порядке:
# sockstat | grep mysql mysql mysqld 46460 13 tcp4 127.0.0.1:3306 *:* mysql mysqld 46460 15 stream /tmp/mysql.sock
Демон запущен и слушает локальный интерфейс.
Теперь запустим скрипт для настройки безопасности:
# /usr/local/bin/mysql_secure_installation
Задаем пароль для root и далее на все вопросы отвечаем утвердительно:
На этом установка и настройка mysql закончена. Идем дальше.