Мы — долго запрягаем, быстро ездим, и сильно тормозим.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
www.lissyara.su
—> статьи
—> OpenBSD
|
# mount_cd9660 /dev/cd0a /mnt/cdrom # cd /usr && tar zxf /mnt/cdrom/ports.tar.gz |
Если же вы сами скачали ports.tar.gz с 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 |
В случае самостоятельного скачивания архива с исходным кодом с FTP, вводим следующее:
Небольшое отступление src на ftp разделен на два файла src.tar.gz и sys.tar.gz в комментариях создателей это сделано специально, чтобы пользователям было удобнее закачивать по частям и чтобы было при необходимости можно было работать только с одной частью дерева.
# cd /usr/src && tar zxf /home/Raven2000/src.tar.gz # cd /usr/src && tar zxf /home/Raven2000/sys.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, который ближе всего нахотится к вам.
Весь список можно посмотреть тут Anonymous CVS в разделе 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
Классика жанра, но в классике небольшие изменения и сами разработчики указывают, что лучше установить пакет, чем ставить из порта обосновываясь цитирую:
CVSup написан на Modula-3, поэтому его довольно сложно скомпилировать и установить. Порт lang/ezm3 содержит специальный дистрибутив Modula-3 необходимый лишь для компиляции CVSup. Мы рекомендуем установить уже собранный пакет CVSup с ftp сервера, вместо создания собственного из порта net/cvsup. В настоящий момент, порты CVSup и Ezm3 доступны только для i386 платформы.
Отсюда следуют жесткие ограничения только i386 платформа, а это нехорошо. В выводе лучше использовать cvs, а лучше сразу пакеты как утверждают разработчики.
Мы установим в двух вариантах:
Пакет.
# pkg_add -v ftp://ftp.openbsd.org/pub/OpenBSD/4.4/packages/i386/cvsup-16.1hp1-no_x11.tgz |
Порт.
# 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.
|
Начнем обновление (я отредактировал конфигурацию под себя)
# 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 |
Это не то, что в FreeBSD вы привыкли и вам придется привыкать к FLAVORS.
Конфигурация порта. Некоторые порты имеют возможность задавать вопросы в процессе установки.
# make configure |
Или так добавив в конвеер
# 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> |
Flavors
А здесь как раз и есть та возможность, которая нам предоставлялась в FreeBSD под видом графического make config. Привыкайте.
# cd /usr/ports/misc/screen/ # make show=FLAVORS static shm |
Чтобы разобратся что это такое необходимо прочтитать файл DESCR который находится в директории этого порта.
# cat /usr/ports/misc/screen/pkg/DESCR Screen is a full-screen window manager that multiplexes a physical terminal between several processes (typically interactive shells). Each virtual terminal provides the functions of a DEC VT100 terminal and, in addition, several control functions from the ANSI X3.64 (ISO 6429) and ISO 2022 standards (e.g. insert/delete line and support for multiple character sets). There is a scrollback history buffer for each virtual terminal and a copy-and-paste mechanism that allows moving text regions between windows. Flavors: static - Build with statically linked binaries. shm - export screen as shared memory, useful for brltty. |
Теперь более менее ясно и соберем screen как static и в пакет.
# env FLAVOR="static" make package |
А теперь соберем и установим и почистим.
# env FLAVOR="static" make install clean ===> Installing screen-4.0.3p1-static from /usr/packages/i386/all/ screen-4.0.3p1-static: complete ===> Cleaning for screen-4.0.3p1-static |
Можно определить сразу множество параметров
# cd /usr/ports/mail/exim # env FLAVOR="mysql ldap" make install clean |
Проверка портов с out-of-date скриптом
Посмотрим что нам необходимо обновить:
# cd /usr/ports/infrastructure/build/ # ./out-of-date Collecting installed packages Collecting port versions: complete Collecting port signatures: complete Outdated ports: archivers/bzip2 # c.43.0 -> c.48.0 # |
Единственный порт нуждающийся в обновлении bzip2.
Обноружим нахождение bzip2 в портах:
# find /usr/ports/ -name bzip2 /usr/ports/archivers/bzip2 |
Обновим bzip2:
# cd /usr/ports/archivers/bzip2 # make update |
Конфигурация mk.conf & ports
mk.conf - определенные для системы параметры.
Словами FreeBSD это make.conf. В котором вы вписываете все необходимые параметры. По умолчанию он отсутствует, поэтому нужно создать файл самому.
# touch /etc/mk.conf |
Сконфигурируем и добавим несколько параметров.
Например, укажем рабочие директории портов, дистрибутивов и скомпилированных бинарных пакетов.
|
SUDO - утилита для безопасной эксплуатации системы, применяют sudo в виду небезопасной постоянной работы в системе с правами пользователя root.
На вкус и цвет..
|
USE_SYSTRACE - применение этого параметра запрещает записываться приложению куда ему не положено, что есть хорошо и снижает риск убийства системы кривыми или злонамеренными приложениями. systrace - создает и указывает политику запроса системы. НО обратите внимание, что использование systrace добавляет 20% при компиляции. Используйте это параметр когда будете знать, что вы делаете =)
|
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
3) CVSup Часто задаваемые вопросы перевод сайта CVSup
4) OpenBSD CVSup перевод FAQ
размещено: 2008-10-17,
последнее обновление: 2008-11-19,
автор: Raven2000
iZEN, 2008-10-19 в 10:43:40
Статью пропесочили здесь: http://www.opennet.ru/opennews/art.shtml?num=18468
ElDeRone, 2008-10-24 в 15:28:56
Весь список можно посмотреть тут url=http://www.openbsd.org/anoncvs.html]Anonymous CVS[/url] в разделе ...
Raven2000, 2008-10-24 в 15:43:52
to ElDeRone
см список литературы ничего не узнаешь под номером 1?
ElDeRone, 2008-10-24 в 20:21:50
url=http://www.openbsd.org/anoncvs.html]
^ здесь ты забыл открывающую скобку :)
Raven2000, 2008-10-24 в 22:52:41
to ElDeRone
сеньк, а я то и не понял сразу =)
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
Комментарии пользователей [5 шт.]