Лис 052012
 

nextboot в FreeBSD

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

Nextboot дает возможность загрузится с новым ядром первый раз, то есть если загрузка прошла неправильно, то после перезагрузки сервер загрузит старое ядро.
Так можно проверить правильно ли внесли изменения в ядро.
Очень удобно, удаленно пересобирать ядро.

Для того , что бы воспользоваться этим методом необходимо создать файл /boot/nextboot.conf с таким содержимым:

nextboot_enable="YES"kernel="kernel_new"vfs.root.mountfrom="ufs:/dev/ad1s1a"
nextboot_enable="YES"
kernel="kernel_new"
vfs.root.mountfrom="ufs:/dev/ad1s1a"

Или использовать консольную команду. Это гораздо проще^

#  nextboot && -D nextboot -o vfs.root.mountfrom=ufs:/dev/ad1s1a -k kernel_new

Подробнее описание ключей команды:

-D сбрасывает конфигурацию nextboot, если она уже была.

-o vfs.root.mountfrom= Укажем где находится корневой раздел. Вместо ad1s1a указываем свой раздел.

-k — Путь к ядру относительно /boot.
Лис 042012
 

Обновления портов freebsd cvsup

Данный метод устарел

Переход с cvsup на subversion для обновления FreeBSD

Первое, что необходимо сделать после установки FreeBSD, это обновить ветку ОС и список ports

# cd /usr/ports/net/cvsup-without-gui/
# make install clean

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

# cd /usr/share/examples/cvsup/
doc-supfile < -  для обновление  документации
ports-supfile < - для обновления портов
stable-supfile < - для обновления стабильной ветки FreeBSD

Начинаем обновление:

cvsup -g -L 2 ./doc-supfile -h cvsup.freebsd.org
cvsup -g -L 2 ./ports-supfile -h cvsup2.freebsd.org
cvsup -g -L 2 ./stable-supfile -h cvsup3.freebsd.org

Описание ключей:

-g типа не использовать  GUI
-L вывод на экран обновляемые действия
-h хост с которого будет происходить обновление

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

# SRC collection supfile
*default host=cvsup3.ua.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=RELENG_8 # Ваша текущая ветка
*default delete use-rel-suffix
*default compress
src-all

Использование *default release=cvs tag=RELENG_8
При получении или обновлении исходных текстов с использованием cvs или CVSup должен быть указан тег ревизии Тег относится либо к определенной линии разработки FreeBSD либо к определенному моменту времени. Первый тип называется ”тегом ветви”, второй тип называется ”тегом релиза”.
Все они, за исключением HEAD (который всегда работает), относятся только к дереву src/. Деревья ports/, doc/ и www/ не имеют тегов ветвей. Поэтому для ports/, doc/ и www/ используют *default release=cvs tag=.
RELENG_8 (рекомендую)
Ветвь разработки FreeBSD-8.X, известная также как FreeBSD 8-STABLE.
RELENG_8_3
Ветвь релиза для FreeBSD-8.3, используемая только для исправлений безопасности и других критических исправлений.

Можно автоматизировать процесс обновления…
Часто все рано не нужно обновляться.
Так что закидывай команду в крон и обновляемся раз в неделю.

#minute  hour    mday    month   wday    who     command
  10     12     6           *     *         root    cvsup -g -L 2 /usr/local/etc/supfile

После обновления ports, желательно так же обновить Index
Есть два варианта обновления:

1) собрать индексный файл самому (рекомендую)
cd /usr/ports && make index
2) скачать уже собранный индексный файл
cd /usr/ports && make fetchindex
Лис 042012
 

FreeBSD Инструкция работы портам ports

Мини инструкция по портам
Установка

# make install clean

Переустановка порта

# make reinstall && make clean

Удаление порта

# make deinstall && make clean

Очистка от промежуточных сборок

# make clean

Очистка от скачанных файлов

# make distclean

Конфигурация порта перед установкой.

# make config

Просмотр зависимостей у пакета.

# cd /usr/ports/net/samba36/ && make all-depends-list

Простой способ искать нужный пакет в портах

# make search name=samba display=name,path

Установка пакета

# pkg_add -r название_пакета

Просмотр установленных пакетов

# pkg_info

Информация о конкретном пакете

# pkg_info название_пакета

Удаление конкретного пакета

pkg_delete название_пакета

Версия пакета

# pkg_version название_пакета

Список пакетов которые необходимо удалить.

# pkg_version -v | grep need

Поиск установленного пакета.

# whereis название_пакета
Лис 042012
 

Отказываемся от Cvsup на freebsd и делаем установку prtunne

Устанавливаем prtunne

Столкнулся с такой ситуацией, cvsup не может работать с прокси http, да и вообще от cvsup FreeBSD уже официально отказалось, подумав как быть в этом случае и решил воспользоваться prtunne.

1.
для начало в самом файле cvsup правим данные, строку
*default_host.
Правим на
*default host=localhost
2.
Ставим из портов сам prtunne
cd /usr/ports/net/prtunne && make install clean
3.
prtunnel —D —H прося —P порт —u пользак —p пароль 5999 cvsup3.ru.freebsd.org 5999
4.
cvsup —g —L 2 /etc/cvsupfile
Лис 032012
 

FreeBSD portsnap обновление портов

Установка portsnap

Приступим к установке portsnap.

# cd /usr/ports/sysutils/portsnap && make install clean
# ee /etc/portsnap.conf
SERVERNAME=ru.portsnap.freebsd.org

Для последующего обновления достаточно выполнить команду.

# portsnap fetch extract update

Проверяем командой проверки новые версии портов.

# pkg_version -v | grep need