управление_дополнительным_по_в_freebsd

Управление дополнительным ПО в FreeBSD

Установка ПО из портов

Установка дерева портов

[server:~] # portsnap fetch extract

Поиск приложений в дереве портов

[server:~] # cd /usr/ports/

[server:/usr/ports] # make fetchindex

[server:/usr/ports] # make search name=asterisk
...
[server:/usr/ports] # make search key=security
...

Компиляция и установка приложений из дерева портов

[server:~] # cd /usr/ports/net/asterisk11

[server:ports/net/asterisk11/] # make config

[server:ports/net/asterisk11/] # make showconfig | grep '=on'
     NCURSES=on: Console (text) interface support
     GSM=on: GSM codec support
     GCC=on: Build with modern GCC (from ports)

Для ускорения процесса можно установить требуемые для компиляции и работы порта пакеты

[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 

При наличии всех зависимостей, компиляция займет, примерно, 5 минут

[server:ports/net/asterisk11/] # make install clean

[server:ports/net/asterisk11/] # pkg lock asterisk11

Создание пакетов с использованием дерева портов

[server:~] # cd /usr/ports/games/doom/

[server:ports/games/doom] # make fetch

[server:ports/games/doom] # cat Makefile
...
       @cd ${WRKSRC} && ${TAR} xzf linuxdoom-1.10.src.tgz && ${TAR} xzf sndserv.tgz
...
[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:ports/games/doom] # make package clean

# pkg install /usr/ports/packages/All/doom-1.10_5.txz

Использование единого дерева портов

[gate:~] # mount server.corpX.un:/usr/ports /usr/ports

[gate:~] # setenv WRKDIRPREFIX /var/tmp/
[gate:~] # setenv DISTDIR /var/tmp
[gate:~] # setenv BATCH

Использование команды pkg (система pkgng)

Конвертирование базы данных установленных пакетов в pkgng

!!! Актуально для FreeBSD 9.X

# pkg_info

# pkg2ng

# pkg info

# cat /etc/make.conf
...
# For register new ports in pkgng
WITH_PKGNG=yes

Установка пакета из файла

% fetch http://www.communigate.com/pub/CommuniGatePro/CGatePro-FreeBSD10-Intel.txz

# pkg add CGatePro-FreeBSD10-Intel.txz

Получение списка установленных пакетах

# pkg info

Получение информации о пакете

% pkg info CGatePro

% pkg info -l CGatePro
 
% pkg info -D perl5

Обновление списка доступных пакетов из репозитория

$ cat /etc/pkg/FreeBSD.conf

$ man pkg-update

# pkg update -f

Поиск пакета в репозитории

# pkg search '.*' | wc -l

# pkg search clamav

Получение информации о пакете из репозитория

# pkg search -R clamav-0.99.1

От каких пакетов зависит пакет

# pkg search -d clamav-0.98.4

Установка пакета из репозитория

# pkg install clamav

Какие пакеты зависят от пакета

# pkg info -r curl

Список файлов, входящих в пакет

# pkg info -l clamav

# pkg which /usr/local/bin/clamdscan

Удаление пакета

# pkg delete clamav

Удаление всех пакетов

# pkg delete -x '.*'

Удаление ненужных зависимостей

# pkg autoremove
управление_дополнительным_по_в_freebsd.txt · Last modified: 2016/10/06 08:46 by val