Freebsd, Openbsd oraz Netbsd




Дата канвертавання24.04.2016
Памер21.08 Kb.
Autorem tekstu jest Tomasz Luchowski, uczeń II LO w Lublinie.

Obecnie pracuje jako administrator serwerów opartych o NetBSD/FreeBSD

Kontakt z autorem przez e-mail: zuntum@eik.pl
Packages, ports, pkgsrc -- pakiety w systemach *BSD
Kolekcja pakietów FreeBSD, OpenBSD oraz NetBSD to zbiór narzędzi bardzo ułatwiających kompilację i instalację dużej ilości darmowego oprogramowania dla systemów Uniksowych. Trzeba wydać tylko jedną lub dwie komendy żeby otrzymać działający program.
Są dwa sposoby instalacji: możemy ściągnąć pakiet ze skompilowanym programem , który trzeba tylko dodać do systemu, bądź też sami kompilujemy program. Pakiety binarne częściej są stosowane na słabszych komputerach, na których kompilacja kodu źródłowego zajęłaby dużo czasu. Jednak samodzielne kompilowanie kodu źródłowego daje nam większe możliwości, możemy dostosować wszystkie opcje kompilacji, wybrać optymalizację na nasz procesor itp.

Pakiety zawierające skompilowane programy w systemach *BSD noszą nazwę paczek (packages), natomiast pakiety ułatwiające kompilację programów ze źródeł we FreeBSD i OpenBSD noszą nazwę portów (ports), w NetBSD zaś pkgsrc. W NetBSD wprowadzono inną nazwę ze względu na to, że według nazewnictwa NetBSD port to wersja NetBSD dla konkretnej platformy sprzętowej.


Ściąganie i instalacja paczki (package)

Na początku znajdźmy i skopiujmy pakiet binarny (package), który nas interesuje. Chcąc odnaleźć dany plik na serwerach FTP należy zacząć poszukiwania od podanych poniżej adresów, zależnie od systemu.

Pakiety NetBSD można wygodnie przeglądać pod adresem:

ftp://ftp.netbsd.org/pub/NetBSD/packages/pkgsrc/README.html


FreeBSD:

ftp://ftp.freebsd.org/pub/FreeBSD/releases/

W tym katalogu znajdują się podkatalogi z numerami wersji FreeBSD, w nich zaś oddzielne katalogi dla każdej platformy sprzętowej. Szukając paczek dla platformy i386 należy wejść do katalogu i386. Potem wchodzimy do odpowiedniego katalogu w zależności od posiadanej wersji FreeBSD, np. 4.1.1-RELEASE. W tym katalogu znajdują się już posortowane paczki – są katalogi „tematyczne” z paczkami należącymi tylko do danej kategorii oraz katalog All w którym umieszczone są wszystkie paczki.



OpenBSD:

ftp://ftp.openbsd.org/pub/OpenBSD/

Znajdują się tutaj katalogi z numerami wersji OpenBSD, najnowsza wersja ma numer 2.7. Następnie ależy się skierować do katalogu packages, potem do odpowiedniego podkatalogu w zależności od platformy sprzętowej, np. i386. Tam znajdziemy posortowane paczki w katalogach tematycznych oraz wszystkie paczki w katalogu All



NetBSD:

ftp://ftp.netbsd.org/pub/NetBSD/packages/

Są tutaj umieszczone podkatalogi z numerami wersji NetBSD, w nich zaś oddzielne katalogi dla każdej platformy sprzętowej. Na przykład poszukując paczki dla wersji 1.4.2 dla platformy i386 należy wejść do katalogu 1.4.2/i386. W tym katalogu znajdziemy katalogi z kategoriami, np. paczki z kategorii mail znajdują się w katalogu o tej nazwie. Chcąc przejrzeć wszystkie dostępne paczki trzeba wejść do katalogu All.


Po ściągnięciu odpowiedniej paczki dokonujemy jej instalacji poleceniem:

# pkg_add nazwa-pliku.tgz

Brak komunikatu oznacza, że paczka została zainstalowana. Najczęstszym komunikatem o błędzie jest informacja o niemożności instalacji paczki która jest wymagana do instalacji danej, np.:

# pkg_add gnome-1.2.tgz

pkg_add: could not find package gnomeapplets-1.2.2 !

pkg_add: could not find package gnomeaudio-1.0.0 !

pkg_add: could not find package gnomebasic-0.0.12 !

pkg_add: could not find package gnomecontrolcenter-1.2.2 !

pkg_add: could not find package gnomecore-1.2.2.1 !


Należy ściągnąć wymagane paczki oraz umieścić w bieżącym katalogu, gdyż program pkg_add sam zainstaluje wymagane paczki, jeśli je znajdzie.

Można także nakazać pobranie i instalację paczki z sieci, wtedy jako argument dla pkg_add podajemy adres URL paczki , np.:

# pkg_add ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/4.1.1-RELEASE/packages/shells/zsh-3.1.9.tgz

Wygodniej jest jednak ręcznie ściągnąć paczkę i zainstalować komendą pkg_add, gdyż w przypadku instalacji paczki przez sieć musimy pamiętać pełną ścieżkę do niej na serwerze FTP.


Ports i pkgsrc

Przedstawię teraz drugą metodę instalacji pakietów - przy wykorzystaniu ports/pkgsrc. Najpierw należy ściągnąć i rozpakować plik ports.tar.gz lub pkgsrc.tar.gz

W zależności od systemu:

FreeBSD:
# ftp ftp://ftp.freebsd.org/pub/FreeBSD/branches/-current/ports.tar.gz

# tar xfvz ports.tar.gz –C /usr



OpenBSD:
# ftp ftp://ftp.openbsd.org/pub/OpenBSD/2.7/ports.tar.gz

# tar xfvz ports.tar.gz –C /usr


NetBSD:
# ftp ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-current/tar_files/pkgsrc.tar.gz

# tar xfvz pkgsrc.tar.gz –C /usr


Teraz w katalogu /usr/ports (bądź /usr/pkgsrc w przypadku NetBSD) znajdują się katalogi nazwane tak jak poszczególne kategorie (np. shells, mail). W celu zainstalowania odpowiedniego programu należy wejść do stosownego katalogu:


# cd /usr/ports/shells/zsh
lub
# cd /usr/pkgsrc/shells/zsh
w przypadku NetBSD
Teraz trzeba wydać komendę:
# make
Jeśli pliki źródłowe nie zostaną znalezione (pliki te szukane w katalogu /usr/ports/distfiles lub /usr/pkgsrc/distfiles), wówczas zostają ściągnięte. Następnie następuje kompilacja. W celu zainstalowania programu piszemy:
# make install

Wydanie polecenia


# make clean
spowoduje usunięcie tymczasowych plików powstałych podczas kompilacji.

Można także od razu napisać:


# make install clean
Co powoduje wykonanie wszystkich wyżej wymienionych kroków.

Uzyskiwanie informacji o pakietach oraz ich usuwanie

Paczka (package) oraz pakiet skompilowany ze źródeł (w przypadku instalacji z ports/pkgsrc) są po zainstalowaniu traktowane jednakowo. Informacje o zainstalowanych pakietach znajdują się w katalogu /var/db/pkg. Istnieje wygodne narzędzie do przeglądania zainstalowanych pakietów – pkg_info. Wykonanie polecenia pkg_info bez parametrów spowoduje wyświetlenie ich listy wraz z krótkim opisem, jeśli uruchomimy pkg_info z parametrem „-a” otrzymamy dokładniejszy opis.

W celu usunięcia pakietu należy znać jego dokładną nazwę, nie wystarczy bowiem napisanie

# pkg_delete tcsh

pkg_delete: no such package 'tcsh' installed

Gdyż nie zainstalowano pakietu o nazwie tcsh. W celu ustalenia jego dokładnej nazwy pomocne będzie polecenie grep:

# pkg_info | grep tcsh

tcsh-6.09.00 An extended C-shell with many useful features

Teraz już wiemy, że należy napisać:

# pkg_delete tcsh-6.09.00



Uaktualnianie ports/pkgsrc

Warto regularnie uaktualniać kolekcje ports/pkgsrc. Nowsze wersje portsów są częściej lepiej dopracowane pod względem security, uaktualniane są także wersje programów. Oczywiście jest wiele metod uaktualniania ports/pkgsrc, podam tylko niektóre.



FreeBSD:

Najwygodniej zrobić to za pomocą programu cvsup. Nie znajduje się on domyślnie w systemie, jednak łatwo go dodać komendą:

# pkg_add ftp://ftp.freebsd.org/pub/FreeBSD/packages/4.1.1-RELEASE/All/cvsup-bin-16.1.tgz

Oto przykładowy plik konfiguracyjny dla cvsup:



*default host=cvsup.pl.freebsd.org

*default base=/usr

*default prefix=/usr

*default release=cvs tag=.

*default delete use-rel-suffix

*default compress

ports-all
Następnie uruchamiamy:

# cvsup nazwa-pliku-konfiguracyjnego


OpenBSD:

# setenv CVS_RSH ssh

# cd /usr/ports; cvs –d anoncvs@anoncvs.ca.openbsd.org:/cvs -z9 update –dAP
NetBSD:

Program cvs nie znajduje się domyślnie w systemie, jednak łatwo go dodać komendą:

# pkg_add ftp://ftp.netbsd.org/pub/NetBSD/packages/1.4.2/i386/devel/cvs-1.10.tgz
Analogicznie postępujemy z rsync:

# pkg_add ftp://ftp.netbsd.org/pub/NetBSD/packages/1.4.2/i386/All/rsync-2.4.3.tgz


Uaktualnianie przez cvs:

# setenv CVS_RSH ssh

# cd /usr; cvs –d anoncvs@anoncvs.netbsd.org:/cvsroot –z6 co pkgsrc
Lub przez rsync:
# cd /usr

# rsync –vvvvaaaazzzz rsync://rsync.netbsd.org/NetBSD/NetBSD-current/pkgsrc .



Więcej informacji można znaleźć pod adresami:
http://www.freebsd.org/handbook/ports.html

http://www.openbsd.org/faq/faq8.html#8.6

http://www.netbsd.org/Documentation/software/packages.html


База данных защищена авторским правом ©shkola.of.by 2016
звярнуцца да адміністрацыі

    Галоўная старонка