Апр 132013
 

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

Уже было анонсировано, что с 28 февраля 2013 года поддержка cvs будет прекращена. Использовать subversion для обновления FreeBSD довольно таки просто.
Первое, что необходимо, это установить сам subversion.

# cd /usr/ports/devel/subversion
#make install clean

Если у вас очень старая версия портов, то devel/subversion-freebsd

Для перехода желательно почистить папки /usr/src и /usr/ports
Клонирование дерева портов осуществляем командой:

# svn co svn://svn.FreeBSD.org/ports/head /usr/ports

Для скачивания исходных кодов мира и ядра нужно выполнить:

# svn co svn://svn.freebsd.org/base/releng/9.1/ /usr/src

Мы скачиваем ветку релиза 9.1 (releng/9.1/).
Узнать какие существуют актуальные на данный момент ветки можно на официальном сайте FreeBSD. Например, на момент написания заметки имеются ветки stable/9 и releng/9.0.
Все существующие ветки можно просмотреть через веб-интерфейс для svn по адресу: http://svnweb.freebsd.org.

Если вы использовали прокси-сервера, то вы можете заменить протокол svn на http или https: https://svn.freebsd.org/base/releng/9.1/.

Для обновление исходных кодов и портов необходимо командой svn update:

#cd /usr/src
# svn update
#cd /usr/ports
# svn update

обновление, переход, cvsup, subversion, обновления, FreeBSD, svn, update

Ноя 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