Zarządzanie pakietami w OpenBSD

Pakiety to gotowe, skompilowane programy/biblioteki, które można w szybki i łatwy sposób dodać do systemu. Ich liczba nie jest aż tak wielka jak w przypadku popularnych dystrybucji Linuksa, jednak dla wersji 4.8 jest dostępnych ponad 6000 paczek.

Instalacja pakietów

Do instalacji pakietów używamy polecenia pkg_add, które samo rozwiązuje wszystkie zależności. Podstawowym i pierwszym krokiem jest ustawienie zmiennej środowiskowej PKG_PATH. Określa ona adres serwera (lub katalog), z którego system będzie pobierał pakiety. Pełną listę serwerów znajdziemy tutaj.

export PKG_PATH=ftp://ftp.piotrkosoft.net/pub/OpenBSD/4.8/packages/i386/

Wpis ten można dodać np do pliku ~/.profile. Zainstalujemy popularny menadżer plików Midnight Commander:

root@fw-s:~>pkg_add -i -v mc 
mc-4.7.0.6p0:unzip-6.0: ok                                               
mc-4.7.0.6p0:libslang-2.2.1p2: ok                                              
mc-4.7.0.6p0: ok      

Opcja „-i” włącza tryb interaktywny (system czeka na reakcje użytkownika w przypadku kilku możliwości wyboru), „-v” uaktywnia tryb verbose. Skrypt automatycznie doinstalował też potrzebne zależności (unzip, libslang). Niektóre pakiety dostępne są w kilku wersjach:

root@fw-s:~>pkg_add  -i -v screen      
Ambiguous: choose package for screen
 a       0: <None>
         1: screen-4.0.3p1
         2: screen-4.0.3p1-shm
         3: screen-4.0.3p1-static
Your choice: 1
screen-4.0.3p1: ok                     

Niektóre pakiety wypisują też kilka cennych informacji zaraz po zainstalowaniu:

root@fw-s:~>pkg_add  -i -v net-snmp
net-snmp-5.4.2.1p5: ok
--- +net-snmp-5.4.2.1p5 -------------------
To have snmpd start at boot time, you must edit /etc/snmp/snmpd.conf
and add the following lines to /etc/rc.local:

if [ -x /usr/local/sbin/snmpd ]; then
        echo -n ' snmpd';       /usr/local/sbin/snmpd
fi

This will start snmpd and use /etc/snmp/snmpd.conf for the configuration. 
The snmpconf tool can be used to help edit your configuration files.  See 
snmpconf(1), snmpd(8), and snmpd.conf(5) for more options.

Usuwanie pakietów

W tym przypadku wystarczy użyć polecenia pkg_delete:

root@fw-s:~>pkg_delete -v screen   
screen-4.0.3p1: ok                                                             
Read shared items: ok                                                          
--- -screen-4.0.3p1 -------------------                                        
You should also remove /etc/screenrc (which was modified)

Wyświetlenie informacji o pakietach

Polecenie pkg_info wyświetli listę wszystkich zainstalowanych pakietów. Informacje pobierane są z katalogu /var/db/pkg.

root@fw-s:~>pkg_info
libslang-2.2.1p2    stack-based interpreter for terminal applications
mc-4.7.0.6p0        free Norton Commander clone with many useful features
screen-4.0.3p1      multi-screen window manager
unzip-6.0           extract, list & test files in a ZIP archive

Wpisując pkg_info nazwa_pakietu otrzymamy dokładniejszy opis:

root@fw-s:/var/db/pkg>pkg_info zip   
Information for inst:zip-3.0

Comment:
create/update ZIP files compatible with PKZip(tm)

Required by:
mc-4.7.0.6p0

Description:
Zip is a compression and file packaging utility.  It is compatible with
PKZIP 2.04g (Phil Katz ZIP) for MSDOS systems.  There is a companion to zip
called unzip (of course) which you should be able to find the same place
you got zip.

Maintainer: The OpenBSD ports mailing-list <ports@openbsd.org>

WWW: http://infozip.sourceforge.net/

Opcja „-L” wyświetli listę plików wchodzących w skład pakietu:

root@fw-s:/var/db/pkg>pkg_info -L zip
Information for inst:zip-3.0

Files:
/usr/local/bin/zip
/usr/local/bin/zipcloak
/usr/local/bin/zipnote
/usr/local/bin/zipsplit
/usr/local/man/man1/zip.1
/usr/local/man/man1/zipcloak.1
/usr/local/man/man1/zipnote.1
/usr/local/man/man1/zipsplit.1

Pełną lista wszystkich opcji z ich opisem jest dostępna oczywiście w man pkg_add, man pkg_delete,man pkg_info.

Zostaw komentarz


Podpowiedź - możesz użyć tych HTML tagów i atrybutów:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Obraz CAPTCHY

*

Trackback'i i Pingback'i: