Работа с портами

Материал из megapuper
Перейти к: навигация, поиск

Поиск нужного порта.
Поиск можно осуществлять как по имени, так и по описанию.

  • по имени (ключевое слово name):
# cd /usr/ports
# make search name=opera
Port: opera-7.21.20031013
 Path: /usr/ports/www/opera
 Info: A blazingly fast, full-featured, ↵
 standards-compliant browser
 Maint: avleeuwen@piwebs.com
 Index: www
 B-deps: ...
 R-deps: ...
 ...
  • по описанию (ключевое слово key):
# cd /usr/ports
# make search key=dvd
Port: dvdrip-0.48.8
 Path: /usr/ports/multimedia/dvdrip
 Info: This is dvd::rip, a Perl Gtk+ based dvd-ripper
 Maint: michaelnottebrock@gmx.net
 Index: multimedia
 B-deps: ...
 R-deps: ...
 ...


Просмотр зависимостей.

# cd /usr/ports/www/opera
# make pretty-print-build-depends-list

 This port requires package(s) "aspell-0.60.6_2 cups-client-1.3.10_2 
damageproto-1.1.0_2 dri2proto-2.0 expat-2.0.1 fixesproto-4.0 fontconfig-2.6.0,1 
freetype2-2.3.9_1 gettext-0.17_1 gnutls-2.6.5 inputproto-1.5.0 jpeg-6b_7 
kbproto-1.0.3 lcms-1.18a,1 libGL-7.4.4 libGLU-7.4.4 libICE-1.0.4_1,1
libSM-1.1.0_1,1 libX11-1.2.1_1,1 libXau-1.0.4 libXaw-1.0.5_1,1 libXdamage-1.1.1
libXdmcp-1.0.2_1 libXext-1.0.5,1 libXfixes-4.0.3_1 libXft-2.1.13 libXi-1.2.1,1 
libXinerama-1.0.3,1 libXmu-1.0.4,1 libXp-1.0.0,1 libXpm-3.5.7 libXrender-0.9.4_1
libXt-1.0.5_1 libXxf86vm-1.0.2 libdrm-2.4.11 libgcrypt-1.4.4 libgpg-error-1.7
libiconv-1.13.1 libmng-1.0.10 libpthread-stubs-0.1 libxcb-1.3 nas-1.9.1_3 
pkg-config-0.23_1 png-1.2.35 printproto-1.0.4 python26-2.6.2 qt-3.3.8_9 
renderproto-0.9.3 xcb-proto-1.5 xextproto-7.0.5 xf86vidmodeproto-2.2.2 
xineramaproto-1.1.2 xproto-7.0.15" to build.


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

# cd /usr/ports/www/opera
# make pretty-print-run-depends-list

 This port requires package(s) "aspell-0.60.6_2 cups-client-1.3.10_2 
damageproto-1.1.0_2 dri2proto-2.0 expat-2.0.1 fixesproto-4.0 fontconfig-2.6.0,1
freetype2-2.3.9_1 gettext-0.17_1 gnutls-2.6.5 inputproto-1.5.0 jpeg-6b_7 
kbproto-1.0.3 lcms-1.18a,1 libGL-7.4.4 libGLU-7.4.4 libICE-1.0.4_1,1 
libSM-1.1.0_1,1 libX11-1.2.1_1,1 libXau-1.0.4 libXaw-1.0.5_1,1 
libXdamage-1.1.1 libXdmcp-1.0.2_1 libXext-1.0.5,1 libXfixes-4.0.3_1 
libXft-2.1.13 libXi-1.2.1,1 libXinerama-1.0.3,1 libXmu-1.0.4,1 libXp-1.0.0,1 
libXpm-3.5.7 libXrender-0.9.4_1 libXt-1.0.5_1 libXxf86vm-1.0.2 libdrm-2.4.11
libgcrypt-1.4.4 libgpg-error-1.7 libiconv-1.13.1 libmng-1.0.10 libpthread-stubs-0.1 
libxcb-1.3 nas-1.9.1_3 pkg-config-0.23_1 png-1.2.35 printproto-1.0.4 python26-2.6.2 qt-3.3.8_9 renderproto-0.9.3 xcb-proto-1.5 xextproto-7.0.5 xf86vidmodeproto-2.2.2 xineramaproto-1.1.2 xproto-7.0.15" to run.


Принудительный вызов окна конфигурации (такое синенькое) при сборке порта?

# make config


Предыдущая команда вызывает только окно. Больше ничего она не делает. Если надо вызвать окно, а затем установить порт, можно использовать следующую команду

# make config install clean


Просмотр установленных пакетов

# pkg_info


Какие порты зависят от данного

# pkg_info -R ORBit2-2.6.2
 Information for ORBit2-2.6.2:
 Required by:
 libgnome-2.2.0.1
 nautilus2-2.2.4
 gnome2-2.2.1_1
 ...


Список установленных файлов данного порта

# pkg_info -xL nmap
 Information for nmap-4.90.r1: 
 Files:
 /usr/local/man/man1/nmap.1.gz
 /usr/local/man/man1/ncat.1.gz
 /usr/local/bin/nmap
 /usr/local/bin/ncat
 /usr/local/share/nmap/scripts/script.db
 /usr/local/share/nmap/scripts/whois.nse
 /usr/local/share/nmap/scripts/upnp-info.nse
 /usr/local/share/nmap/scripts/telnet-brute.nse
 /usr/local/share/nmap/scripts/sslv2.nse
 /usr/local/share/nmap/scripts/sshv1.nse
...


Какому порту принадлежит определённый файл

# pkg_info -W абсолютное_имя_файла


Актуальность версий портов
Чтобы посмотреть версии портов, используем команду pkg_version

# pkg_version -v
 ImageMagick-nox11-6.3.6.9           <   needs updating (port has 6.5.2.10)
 ZendOptimizer-3.0.1                 <   needs updating (port has 3.3.0.a)
 ZendOptimizer-3.3.0.a               =   up-to-date with port
 aaccli-1.0                          =   up-to-date with port
 apache+mod_ssl-1.3.36+2.8.27        <   needs updating (port has 1.3.41+2.8.31)
 apcupsd-3.12.4                      <   needs updating (port has 3.14.5_1)
 arc-5.21o_1                         =   up-to-date with port
 ...

Здесь видно какие порты нуждаются в обновлении, а какие нет.


Обновление портов (portupgrade и portdowngrade).

Для обновления служит утилита portupgrade
ключи:

  • -f: указывает, что нужно обновить ещё и базу данных портов (база индексов, версий)
  • -r: указывает, что нужно обновить ещё порты, от которых зависит данный порт
  • -R: указывает, что нужно обновить порты, которые зависят от данного


Обновление порта

# portupgrade -rf opera


Откат порта

# portdowngrade nmap

portdowngrade 0.6 by Heiner Eichmann
 Please note, that nothing is changed in the ports tree
 unless it is explicitly permitted in step 6!

 Seeking port nmap ...

 Found several matches:
 1: astro/openmap
 2: chinese/p5-Encode-CNMap
 3: net/pear-Net_Nmap
 4: net-mgmt/lanmap
 5: security/nmap
 6: security/nmap-i18n-man
 7: security/p5-Nmap-Parser
 8: security/p5-Nmap-Scanner
 9: security/rubygem-nmap-parser
 10: security/zenmap

 Please choose one: 5

Downgrading port: security/nmap

Step 1: Checking out port from CVS repository
 CVS root directory: anoncvs@anoncvs1.FreeBSD.org:/home/ncvs
 The authenticity of host 'anoncvs1.freebsd.org (216.87.78.137)' can't be established.
 DSA key fingerprint is 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62.
 Are you sure you want to continue connecting (yes/no)? yes
 Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hosts.
 
Step 2: Reading the port history from the CVS repository

Step 3: Analyzing the port history from the CVS repository

Step 4: Load port version numbers and present results
 Keys: : next page                      d : details
             p : previous page
       : leave presentation and downdgrade if wanted
 ==================================================
 
 
 number         date         portversion  comment
     1  2009/07/05 22:24:15  unknown      - Update to 4.90RC1
     2  2009/04/22 16:25:53  unknown      - Replace previous patch with a better one.
     3  2009/04/21 15:36:55  unknown      - Add patch to work around versions of FreeBSD with broken
     4  2009/04/13 09:53:53  unknown      - Update to 4.85.b7

Очистка портов
Удаление каталогов work/, в которых находятся уже распакованные исходные тексты, которые мы забыли удалить при помощи make clean

# portsclean -C
 Cleaning out /usr/ports/*/*/work...
 Delete /usr/ports/news/gnus-emacs20/work
 ...


Удаление неактуальных файлов из distfiles/:

# portsclean -DD
 Detecting unreferenced distfiles...
 Delete /usr/ports/distfiles/KDE/qt-x11-free-3.1.2.tar.bz2
 ...