Документация по ОС FreeBSD Вторник, 07.05.2024, 14:26
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Мои статьи [0]
Установка и настройка [281]
X Window [25]
Man pages [30]
Ports & Packages [26]
cvs [18]
Multimedia [20]
Нововсти в мире Unix [0]
RFC [4]
RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
Безопасность [52]
Работа с железом [58]
Книги по FreeBSD [17]
Сеть [505]
Программирование [40]
FireWall [58]
Темы экзамена BSDA [14]
Официальные темы экзамена BSDA, включая подробноые описания и советы по обучению.

Главная » Статьи » Ports & Packages

Работа с портами и исходниками (OpenBSD) [2008]
Конечно, в 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

Пример обновления компонентов src:
# cd /usr/src/; cvs -d anoncvs@anoncvs.de.openbsd.org:/cvs update -PAd
~~
P usr.sbin/ypset/ypset.c
cvs server: Updating usr.sbin/zdump
cvs server: Updating usr.sbin/zic
cvs server: Updating usr.sbin/ztsscale


Обновление
Обновление 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 - утилита для создания пакета.

Скомпилированные пакеты можно получить с CD-ROM, c FTP сервера или с сайта OpenBSD:
Packages for OpenBSD 4.3
Packages for OpenBSD 4.2
Packages for OpenBSD 4.1

Установка пакета:
# pkg_add -v screen-4.0.3p0
parsing screen-4.0.3p0
installed /etc/screenrc from /usr/local/share/examples/screen/screenrc | 71%
screen-4.0.3p0: complete

Флаги:
"-v" - для вывода более детальной информации при установке.
"-i" - интерактивая установка, установщик спрашивает подтверждения каждого действия.

Листинг установленных пакетов:
pkg_info - показывает все установленные пакеты.

Обновление пакетов:
# pkg_add -u unzip
unzip-5.52 (extracting): complete
unzip-5.51 (deleting): complete
unzip-5.52 (installing): complete
Clean shared items: complete

Если пакет имеет зависимости, они так же будут обновленны.
Флаги:
"-u" - обновление пакета.
"-с" - заменяет отредактированный файл конфигурации на файл конфигурации по умолчанию.

Удаление пакетов:
# pkg_delete screen
screen-4.0.3p0: complete
Clean shared items: complete

Флаги:
"-с" - удаляет измененный файл конфигурации.
"-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

Сконфигурируем и добавим несколько параметров.
Например, укажем рабочие директории портов, дистрибутивов и скомпилированных бинарных пакетов.
WRKOBJDIR=/usr/ports
DISTDIR=/usr/ports/distfiles
PACKAGE_REPOSITORY=/usr/ports/packages

SUDO - утилита для безопасной эксплуатации системы, применяют sudo в виду небезопасной постоянной работы в системе с правами пользователя root.
На вкус и цвет..
SUDO=/usr/bin/sudo

USE_SYSTRACE - применение этого параметра запрещает записываться приложению куда ему не положено, что есть хорошо и снижает риск убийства системы кривыми или злонамеренными приложениями.  systrace - создает и указывает политику запроса системы. НО обратите внимание, что использование systrace добавляет 20% при компиляции. Используйте это параметр когда будете знать, что вы делаете =)
USE_SYSTRACE=Yes

Ports
Вы должны изменить группу всего дерева портов, чтобы туда мог писать только определенный пользователь, так же, пользователя следует добавить в группу wsrc.
# chgrp -R wsrc /usr/ports
# find /usr/ports -type d -exec chmod g+w {} \;

Статья в процессе дописания все пожелания и очепятки в ветку форума.
Спасибо Andy за помощь в редактировании статьи ;)

Литература
1) Anonymous CVS
2) The OpenBSD packages and ports system

Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?t=11193



Источник: http://www.lissyara.su/?id=1754
Категория: Ports & Packages | Добавил: oleg (18.10.2008) | Автор: Raven2000
Просмотров: 1809 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024