RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
Конечно, в OpenBSD система портов никогда не сможет быть полной сравнение с той же системой во FreeBSD. Связано это с тем, что разработчики включают в порты лишь те приложение которые протестированны и однозначно стабильные, т.е. нет ветки devel и т.п. приложений, которые не стабильны и не протестированы, что является плюсом OpenBSD =). Установка портов на OpenBSD, отличается от установки онных во FeeBSD.
Ports Иерархия ports/ должна быть скопирована с CD-ROM, или с другого носителя на ваш жесткий диск вручную. Необходимо скопировать компоненты дерева портов в /usr/ports (туда, где они обычно располагаются в *BSD системах)
Установка Если вы установили OpenBSD с CD-ROM на котором есть дерево портов, то можно выполнить следующую комманду:
# mount_cd9660 /dev/cd0a /mnt/cdrom # cd /usr && tar zxf /mnt/cdrom/ports.tar.gz
Если же вы сами скачали ports.tar.gz с http://ftp.openbsd.org,/ то выполните аналогичную команду:
# cd /usr && tar zxf /home/Raven2000/ports.tar.gz
Загрузка и установка ports для current:
# cd /usr # cvs -qd anoncvs@anoncvs.ca.openbsd.org:/cvs get -P ports
Загрузка и установка ports для 4.3:
# cd /usr # cvs -qd anoncvs@anoncvs.ca.openbsd.org:/cvs get -rOPENBSD_4_3 -P ports
флаг -q указан для минимизации вывода сообщений на экран программой cvs.
Еще вариант загрузки и установки ports для 4.3:
# cd /tmp # ftp ftp://ftp.openbsd.org/pub/OpenBSD/4.3/ports.tar.gz # cd /usr # tar xzf /tmp/ports.tar.gz
SRC Установка и обновление Если вы установили OpenBSD с CD-ROM на котором есть src, то можно выполнить следующую команду:
# mount_cd9660 /dev/cd0a /mnt/cdrom # cd /usr/src && tar zxf /mnt/cdrom/src.tar.gz
В случае самостоятельного скачивания архива с исходным кодом, вводим следующее:
# cd /usr/src && tar zxf /home/Raven2000/src.tar.gz
Качаем и установим: Для current
# cd /usr # cvs -qd anoncvs@anoncvs.ca.openbsd.org:/cvs get -P src
Для ветки 4.3
# cd /usr # cvs -qd anoncvs@anoncvs.ca.openbsd.org:/cvs get -rOPENBSD_4_3 -P src
Команда указанная ниже, загружает src нужной ветки в /usr/src:
# cd /usr; cvs checkout -P -rOPENBSD_4_3 src
Обновление для current:
# cd /usr/src # cvs -q up -Pd
Для ветки 4.3:
# cd /usr/src # cvs -q up -rOPENBSD_4_3 -Pd
Так же обновление src можно сделать следующей командой с указанием источника:
# cd /usr/src/; cvs -d anoncvsserver.openbsd.org:/cvs update -PAd
Обновление Обновление c CVS Обновим ваше дерево портов для current:
# cd /usr/ports # cvs -q up -Pd
Флаги "-q" - указан для минимизации вывода сообщений на экран программой cvs.
Обновим ваше дерево портов для ветки 4.3:
# cd /usr/ports # cvs -q up -rOPENBSD_4_3 -Pd
или можно так
# cd /usr/ports # cvs -d anoncvsserver.openbsd.org:/cvs update -PdrOPENBSD_4_3
Разумеется, вы должны подставить вместо anoncvsserver.openbsd.org необходимый анонимный CVS, который ближе всего нахотится к вам. Весь список можно посмотреть тут url=http://www.openbsd.org/anoncvs.html]Anonymous CVS[/url] в разделе Available Anonymous CVS Servers
Пример обновления дерева портов:
# cd /usr/ports # cvs -d anoncvs@anoncvs.de.openbsd.org:/cvs update -PdrOPENBSD_4_3 The authenticity of host 'anoncvs.de.openbsd.org (131.188.40.91)' can't be established. RSA key fingerprint is fc:94:b0:c1:e5:b0:98:7c:58:43:99:76:97:ee:9f:b7. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'anoncvs.de.openbsd.org,131.188.40.91' (RSA) to the list of known hosts. ~~~
Обновление c CVSup Класcика жанра..
# make search -name=cvsup Port: cvsup-16.1hp0 Path: net/cvsup,-main Info: network file distribution system Maint: Christian Weisgerber <naddy@openbsd.org> Index: net devel L-deps: B-deps: :lang/ezm3 R-deps: Archs: i386
Port: cvsupd-16.1h-no_x11 Path: net/cvsup,-server,no_x11 Info: network file distribution server Maint: Christian Weisgerber <naddy@openbsd.org> Index: net devel L-deps: B-deps: :lang/ezm3 R-deps: Archs: i386
# cd /usr/ports/net/cvsup && make install -main clean ===> Checking files for cvsup-snap-16.1h >> cvsup-snap-16.1h.tar.gz doesn't seem to exist on this system. >> Fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/snapshots/cvsup-snap-16.1h.tar.gz. Trying 2001:4f8:0:2::e... ftp: connect to address 2001:4f8:0:2::e: No route to host Trying 2001:6c8:6:4::7... ftp: connect to address 2001:6c8:6:4::7: No route to host Trying 204.152.184.73... 100% |**************************************************| 420 KB 00:11 ~~~~ ===> Installing cvsup-16.1hp0 from /usr/ports/packages/i386/all/ cvsup-16.1hp0: complete ===> Cleaning for cvsup-16.1hp0
Теперь, нам необходимо создать конфиг для CVSUP.
# cd /etc/
# touch cvsup.conf
# cat cvsup.conf
*default release=cvs
*default delete use-rel-suffix
*default umask=002
*default host=cvsup.usa.openbsd.org
*default base=/usr
*default prefix=/usr
*default tag=OPENBSD4_3
*default compress
# Что будем обновлять. Здесь выбрано все, но быть может,
# в Вашем случае, в этом не будет необходимости.
OpenBSD-all
#OpenBSD-src
#OpenBSD-www
#OpenBSD-ports
#OpenBSD-x11
#OpenBSD-xf4
#OpenBSD-xenocara
Начнем обновление (я отредактировал конфигурацию под себя)
# cvsup -g -L 2 /etc/cvsup.conf Parsing supfile "/etc/cvsup.conf" Connecting to cvsup.usa.openbsd.org Connected to cvsup.usa.openbsd.org Server software version: SNAP_16_1h Negotiating file attribute support Exchanging collection information Establishing multiplexed-mode data connection Running Updating collection OpenBSD-src/cvs Updating collection OpenBSD-www/cvs Updating collection OpenBSD-ports/cvs Skipping collection OpenBSD-xenocara/cvs Shutting down connection to server Finished successfully
refuse Файл refuse, как и во FreeBSD предназначен ограничения от не нужного закачивания, например, не нужные локализации документации, либо ненависть к программам например из Африки =) ЕЩЕ ДОПИСЫВЕТСЯ
Работа с пакетами и портами Пакеты Пакеты - это скомпилированные бинарные файлы, которые могут легко управлятся такими инструментами как: pkg_add - утилита для установки и обновления пакетов. pkg_delete - утилита для удаления установленных пакетов. pkg_info - утилита для отображения информации об установленном пакете. pkg_create - утилита для создания пакета.
Флаги: "-v" - для вывода более детальной информации при установке. "-i" - интерактивая установка, установщик спрашивает подтверждения каждого действия.
Листинг установленных пакетов: pkg_info - показывает все установленные пакеты.
Если пакет имеет зависимости, они так же будут обновленны. Флаги: "-u" - обновление пакета. "-с" - заменяет отредактированный файл конфигурации на файл конфигурации по умолчанию.
Флаги: "-с" - удаляет измененный файл конфигурации. "-v" - более детализированный отчет о производимых действиях при удалении.
Порты
Поиск порта: Поиск в дереве портов происхдит так же, как и во FreeBSD.
# cd /usr/ports/ # make search name=nmap Port: nmap-4.53 Path: net/nmap,-main Info: scan ports and fingerprint stack of network hosts Maint: Giovanni Bechis <g.bechis@snb.it> Index: net security lang/python L-deps: dnet::net/libdnet lua.>=5::lang/lua pcre::devel/pcre B-deps: :devel/gmake python-2.5*:lang/python/2.5 R-deps: Archs: any
Установка порта:
# cd /usr/ports/net/nmap/ # make install
Некоторые порты имеют возможность конфигуразии до установки. для конфигурации порта ввдем следующую команду:
# make config make: don't know how to make config. Stop in /usr/ports/net/nmap.
Или так добавив в конвеер
# cd /usr/ports/net/nmap/ && make install
Очистка директории c портом после сборки и установки:
# make clean ===> Cleaning for nmap-4.53
Очистка рабочих директорий порта от всех зависимостей:
# make clean=depends
Удаление исходников порта:
# make clean=dist
Удаление порта:
# make uninstall
Переустановка порта:
# make reinstall
Удаление пакета собранного порта:
# make clean=packages
Проблемы с портом При возникновении технических проблем с портом, отправьте сообщение его майнтайнеру.
# cd /usr/ports/net/nmap/ # make show=MAINTAINER Giovanni Bechis <g.bechis@snb.it>
Конфигурация mk.conf & ports
mk.conf - определенные для системы параметры. Словами FreeBSD это make.conf. В котором вы вписываете все необходимые параметры. По умолчанию он отсутствует, поэтому нужно создать файл самому.
# touch mk.conf
Сконфигурируем и добавим несколько параметров. Например, укажем рабочие директории портов, дистрибутивов и скомпилированных бинарных пакетов.
SUDO - утилита для безопасной эксплуатации системы, применяют sudo в виду небезопасной постоянной работы в системе с правами пользователя root. На вкус и цвет..
SUDO=/usr/bin/sudo
USE_SYSTRACE - применение этого параметра запрещает записываться приложению куда ему не положено, что есть хорошо и снижает риск убийства системы кривыми или злонамеренными приложениями. systrace - создает и указывает политику запроса системы. НО обратите внимание, что использование systrace добавляет 20% при компиляции. Используйте это параметр когда будете знать, что вы делаете =)
USE_SYSTRACE=Yes
Ports Вы должны изменить группу всего дерева портов, чтобы туда мог писать только определенный пользователь, так же, пользователя следует добавить в группу wsrc.