This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
управление_дополнительным_по_в_freebsd [2015/06/05 09:31] val [Получение информации о установленных пакетах] |
управление_дополнительным_по_в_freebsd [2016/09/20 08:53] val [Создание пакетов из дерева портов] |
||
---|---|---|---|
Line 2: | Line 2: | ||
* [[Обновление дополнительного ПО в FreeBSD]] | * [[Обновление дополнительного ПО в FreeBSD]] | ||
+ | |||
===== Установка ПО из портов ===== | ===== Установка ПО из портов ===== | ||
- | * [[http://ru.wikipedia.org/wiki/Порты_FreeBSD]] | + | * [[http://www.freebsd.org/doc/ru/books/handbook/ports-using.html|Использование Коллекции Портов - Handbook]] |
- | * [[http://www.freebsd.org/doc/en/books/handbook/ports-using.html]] | + | |
- | * /usr/ports/Mk/bsd.port.mk | + | |
- | ==== При использовании pkgng до FreeBSD10 ==== | + | |
- | + | ||
- | <code> | + | |
- | # echo 'WITH_PKGNG=yes' >>/etc/make.conf | + | |
- | </code> | + | |
==== Установка дерева портов ==== | ==== Установка дерева портов ==== | ||
Line 22: | Line 16: | ||
[server:~] # cd /usr/ports/ | [server:~] # cd /usr/ports/ | ||
- | [server:/usr/ports] # make search name=lynx | + | [server:/usr/ports] # make fetchindex |
- | … | + | |
+ | [server:/usr/ports] # make search name=asterisk | ||
+ | ... | ||
[server:/usr/ports] # make search key=security | [server:/usr/ports] # make search key=security | ||
- | … | + | ... |
</code> | </code> | ||
==== Компиляция и установка приложений из дерева портов ==== | ==== Компиляция и установка приложений из дерева портов ==== | ||
<code> | <code> | ||
- | [server:~] # cd /usr/ports/www/lynx | + | [server:~] # cd /usr/ports/net/asterisk11 |
- | [server:ports/www/lynx/] # make config | + | [server:ports/net/asterisk11/] # make config |
- | [server:ports/www/lynx/] # make install clean | + | [server:ports/net/asterisk11/] # make showconfig | grep '=on' |
+ | </code><code> | ||
+ | NCURSES=on: Console (text) interface support | ||
+ | GSM=on: GSM codec support | ||
+ | GCC=on: Build with modern GCC (from ports) | ||
+ | </code> | ||
- | [server:ports/www/lynx/] # cd | + | Для ускорения процесса можно установить требуемые для компиляции и работы порта пакеты |
- | [server:~] # rehash | + | <code> |
+ | [server:ports/net/asterisk11/] # make run-depends-list | ||
+ | |||
+ | [server:ports/net/asterisk11/] # make build-depends-list | ||
+ | |||
+ | [server:ports/net/asterisk11/] # pkg install gsm sqlite3 binutils bison gmake gcc libxml2 | ||
</code> | </code> | ||
- | ==== Создание пакетов из дерева портов ==== | + | При наличии всех зависимостей, компиляция займет, примерно, 5 минут |
<code> | <code> | ||
- | [server:~] # mkdir /usr/ports/packages/ | + | [server:ports/net/asterisk11/] # make install clean |
+ | |||
+ | [server:ports/net/asterisk11/] # pkg lock asterisk11 | ||
+ | </code> | ||
+ | |||
+ | ==== Создание пакетов с использованием дерева портов ==== | ||
+ | |||
+ | <code> | ||
+ | [server:~] # cd /usr/ports/games/doom/ | ||
+ | |||
+ | [server:ports/games/doom] # make fetch | ||
+ | |||
+ | [server:ports/games/doom] # cat Makefile | ||
+ | </code><code> | ||
+ | ... | ||
+ | @cd ${WRKSRC} && ${TAR} xzf linuxdoom-1.10.src.tgz && ${TAR} xzf sndserv.tgz | ||
+ | ... | ||
+ | </code><code> | ||
+ | [server:ports/games/doom] # make extract | ||
+ | |||
+ | [server:ports/games/doom] # ln -s /usr/ports/games/doom/work/doom-1.10_5/linuxdoom-1.10 /usr/ports/games/doom/work/linuxdoom-1.10 | ||
+ | |||
+ | [server:ports/games/doom] # ln -s /usr/ports/games/doom/work/doom-1.10_5/sndserv /usr/ports/games/doom/work/sndserv | ||
+ | |||
+ | [server:ports/games/doom] # make | ||
+ | |||
+ | [server:ports/games/doom] # mkdir /usr/ports/packages/ | ||
- | [server:~] # cd /usr/ports/www/lynx/ | + | [server:ports/games/doom] # make package clean |
- | [server:ports/www/lynx/] # make package-recursive clean | + | # pkg install /usr/ports/packages/All/doom-1.10_5.txz |
</code> | </code> | ||
Line 62: | Line 94: | ||
[gate:~] # setenv BATCH | [gate:~] # setenv BATCH | ||
</code> | </code> | ||
- | ===== Управление ПО с использованием pkgng ===== | ||
- | ==== Установка менеджера пакетов (устарело) ==== | + | ===== Использование команды pkg (система pkgng) ===== |
- | <code> | + | |
- | # pkg | + | ==== Конвертирование базы данных установленных пакетов в pkgng ==== |
- | </code> | + | |
+ | !!! Актуально для FreeBSD 9.X | ||
- | ==== Конвертация базы данных (устарело) ==== | ||
<code> | <code> | ||
+ | # pkg_info | ||
+ | |||
# pkg2ng | # pkg2ng | ||
+ | |||
+ | # pkg info | ||
+ | |||
+ | # cat /etc/make.conf | ||
+ | </code><code> | ||
+ | ... | ||
+ | # For register new ports in pkgng | ||
+ | WITH_PKGNG=yes | ||
</code> | </code> | ||
- | ==== Обновление списка доступных пакетов ==== | + | ==== Установка пакета из файла ==== |
<code> | <code> | ||
- | # man pkg-update | + | % fetch http://www.communigate.com/pub/CommuniGatePro/CGatePro-FreeBSD10-Intel.txz |
- | # pkg update -f | + | # pkg add CGatePro-FreeBSD10-Intel.txz |
</code> | </code> | ||
- | ==== Поиск пакета ==== | + | ==== Получение списка установленных пакетах ==== |
<code> | <code> | ||
- | # pkg search '.*' | + | # pkg info |
- | + | ||
- | # pkg search clamav | + | |
</code> | </code> | ||
==== Получение информации о пакете ==== | ==== Получение информации о пакете ==== | ||
<code> | <code> | ||
- | # pkg search -R clamav-0.98.4 | + | % pkg info CGatePro |
+ | |||
+ | % pkg info -l CGatePro | ||
+ | |||
+ | % pkg info -D perl5 | ||
</code> | </code> | ||
- | ==== От каких пакетов зависит пакет ==== | + | |
+ | ==== Обновление списка доступных пакетов из репозитория ==== | ||
<code> | <code> | ||
- | # pkg search -d clamav-0.98.4 | + | # man pkg-update |
+ | |||
+ | # pkg update -f | ||
</code> | </code> | ||
- | ==== Установка пакета ==== | + | |
+ | ==== Поиск пакета в репозитории ==== | ||
<code> | <code> | ||
- | # pkg install clamav | + | # pkg search '.*' | wc -l |
- | или | + | # pkg search clamav |
- | + | ||
- | # pkg fetch --dependencies clamav | + | |
- | + | ||
- | # pkg add /var/cache/pkg/All/clamav-0.98.4.txz | + | |
</code> | </code> | ||
- | ==== Получение списка установленных пакетах ==== | + | ==== Получение информации о пакете из репозитория ==== |
<code> | <code> | ||
- | # pkg info | + | # pkg search -R clamav-0.99.1 |
</code> | </code> | ||
- | ==== Получение информации о пакете ==== | + | ==== От каких пакетов зависит пакет ==== |
<code> | <code> | ||
- | # pkg info net-snmp | + | # pkg search -d clamav-0.98.4 |
+ | </code> | ||
- | # pkg info -D net-snmp | + | ==== Установка пакета из репозитория ==== |
+ | <code> | ||
+ | # pkg install clamav | ||
</code> | </code> | ||
+ | |||
==== Какие пакеты зависят от пакета ==== | ==== Какие пакеты зависят от пакета ==== | ||
Line 123: | Line 171: | ||
# pkg info -r curl | # pkg info -r curl | ||
</code> | </code> | ||
+ | |||
==== Список файлов, входящих в пакет ==== | ==== Список файлов, входящих в пакет ==== | ||
<code> | <code> | ||
# pkg info -l clamav | # pkg info -l clamav | ||
+ | |||
+ | # pkg which /usr/local/bin/clamdscan | ||
</code> | </code> | ||
Line 144: | Line 195: | ||
- | |||
- | ===== Управление ПО с помощь утилит pkg_* (устаревший способ) ===== | ||
- | |||
- | ==== Установка пакетов с диска ==== | ||
- | <code> | ||
- | [server:~] # pkg_add /usr/ports/packages/All/lynx-X.X.X.tbz | ||
- | |||
- | [server:~] # pkg_info | ||
- | </code> | ||
- | |||
- | ==== Установка пакетов из сети ==== | ||
- | <code> | ||
- | [server:~] # pkg_add -r -v clamav | ||
- | |||
- | [server:~] # setenv HTTP_PROXY http://172.16.1.254:3128 | ||
- | |||
- | [server:~] # setenv PACKAGESITE ftp://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/i386/8.1-RELEASE/packages/Latest/ | ||
- | </code> | ||
- | |||
- | ==== Утилита pkg_info ==== | ||
- | показать список дополнительно установленных пакетов\\ | ||
- | ''[server:~] # pkg_info'' | ||
- | |||
- | показать cодержимое пакета\\ | ||
- | ''[server:~] # pkg_info -Lx lynx | more'' | ||
- | |||
- | показать пакеты необходимые данному\\ | ||
- | ''pkg_info -r имя_пакета'' | ||
- | |||
- | показать пакеты которые зависят от данного\\ | ||
- | ''pkg_info -R имя_пакета'' | ||
- | |||
- | показать пакет которому принадлежит файл\\ | ||
- | ''pkg_info -W абсолютное_имя_файла'' | ||
- | |||
- | ==== Утилита pkg_delete ==== | ||
- | <code> | ||
- | [server:~] # pkg_delete –x lynx | ||
- | |||
- | [server:~] # pkg_delete –x ’.*’ | ||
- | удаляет все дополнительное ПО | ||
- | |||
- | [server:~] # pkg_info | ||
- | </code> |