piątek, 21 listopada 2008 
Start arrow FreeBSD arrow PORTY I PACZKI arrow Menedżer pakietów pkg
Menu BSD4u
FreeBSD
OpenBSD
NetBSD
Dla *BSD
FAQ BSD4u
Forum BSDGuru.org
Security Advisory
Licencje
Images BSD
Menu ogólne
Start
Aktualności
Download
Sondy
Szukaj
Linki
Książki
About BSD4u
Info
Team BSD4u
Regulamin
Kanał #BSD4u
Kontakt
Sondy
Co sądzisz o naszym nowym Projekcie, i jak oceniasz zmianę koncepcji Projektu?
 
Popularne
Kompilacja i konfigu...
SQUID - najpopularni...
Neostrada+ i modem ...
NATowanie czyli jak ...
Samba - serwer plikó...
Upgrade systemu
Apache (konfiguracja...
Praktyczne IPFW
MRTG - statystyki ru...
CVSup - pomocny podc...
Neostrada na modemie...
Postfix z autoryzacj...
Postfix - bezpieczny...
System Portów (Kolek...
Dummynet - dzielenie...
Top Download
File icon Postfix - "Krok po kroku" v1.16697
File icon Postfix - "Krok po kroku" v1.06601
File icon PPTPd - "Prosty i szybki VPN" v1.0b6066
File icon sdi.sh3845
File icon uEagle 1.0p12963
File icon named.sh2908
File icon uEagle 0.99b2864
File icon cs.sh2785
File icon uEagle 1.02752
File icon uEagle 1.12555
Ostatnie komentarze
transparent a virus...
Dodał: grzywka18
Dnia: 2008-05-13 11:19:58
hmm
Dodał: dzibi
Dnia: 2007-12-12 10:01:14
Bez tytułu
Dodał: grzywka18
Dnia: 2007-12-11 17:46:06
Bez tytułu
Dodał: termid
Dnia: 2007-05-09 18:01:11
Bez tytułu
Dodał: sarelo33
Dnia: 2006-12-30 23:50:14
Jest ok ale..
Dodał: theviant
Dnia: 2006-11-16 08:10:05
Google

Google


Newsletter
Zapisz się na nasz newsletter, jeżeli chcesz być na bieżąco informowany o aktualnościach..




System Portów (Kolekcja Portów) - /usr/ports Drukuj E-mail
Oceny: / 32
KiepskiBardzo dobry 
sobota, 01 listopada 2003 - Napisał: Artur Kulda (32858 odsłon)

Kolekcja portów we FreeBSD oferuje użytkownikom i administratorom prosty sposób instalowania aplikacji. Każdy port zawiera patches (łatki) potrzebne do zrobienia aplikacji z kodu źródłowego i uruchomienia we FreeBSD. Kompilacja kodu źródłowego aplikacji jest tak prosta jak wpisanie polecenia make build będąc w odpowiednim katalogu. Makefile automatycznie ściągnie kod źródłowy aplikacji albo z lokalnego dysku albo z FTP, rozpakuje w systemie, zaaplikuje łatki i przekompiluje. Tak jak to wszystko jest proste tak i instalacja jest prosta: wystarczy wpisać make install.

Jak zdobyć kolekcję portów

Zanim będziesz mógł używać kolekcji portów najpierw musisz je zdobyć (w zasadzie są to pliki Makefile, patch i opisowe) umiejscowione w katalogu /usr/ports. Podczas instalowania systemu FreeBSD, Sysinstall pytał się Ciebie czy chcesz zainstalować kolekcję portów. Jeżeli wybrałeś No, możesz zastosować się do poniższych instrukcji aby teraz je zdobyć.

  • Metoda Sysinstall
    Ta metoda używa programu Sysinstall do zdobycia kolekcji portów (w przeciwieństwie do instalacji ręcznej).
    Z konta root wydaj poniższe poleceni

# /stand/sysinstall

- strzałką w dół wybierz Configure i wciśnij Enter;
- strzałką w dół wybierz Distributions i wciśnij Enter;
- strzałką w dół przejdź do ports i wciśnij Spację;
- strzałką w górę wybierz Exit i wciśnij Enter;
- strzałkami wybierz metodę instalacji taką jak: CD-ROM, FTP i tak dalej;
- przejdź do Exit i wciśnij Enter;
- wybieraz X aby wyjść z Sysinstall;

Alternatywną metodą zdobycia i utrzymywania Twoich portów w "świeżości" jest użycie CVSup. Więcej informacji znajdziesz w dziale CVSup i Handbooku.

  • Metoda CVSup
    Jest to szybka metoda zdobywania świeżej kolekcji portów. Zainstaluj CVSup z portów (/usr/ports/net/cvsup) lub z paczki (pkg_add -r cvsup). Jako root skopiuj plik /usr/share/examples/cvsup/ports-supfile do katalogu /root i wyedytuj go zgodnie z tym co jest napisane w dziale CVSup. Wydaj poniższe polecenie:

# cvsup -g -L 2 /root/ports-supfile

Powyższe polecenie spowoduje pobranie i zastosowanie wszystkich najnowszych zmian w Twoich portach.

Instalowanie portów

Pierwszą rzeczą jaka powinna zostać wyjaśniona jeśli chodzi o kolekcję portów to pojęcie szkieletu (skeleton). W kilku słowach, szkielet portów jest zbiorem plików, które mówią systemowi FreeBSD jak prawidłowo kompilować (compile), instalować (install) oraz czyścić (clean) dany port. Każdy port zawiera:

  • Makefile - plik ten zawiera informacje precyzujące jak dana aplikacja powinna być skompilowana i gdzie ma być zainstalowana w systemie.

  • Plik distinfo - w pliku tym zawarte są informacje o plikach jakie muszą być ściągnięte aby poprawnie zbudować port oraz ich sumy kontrolne (MD5) sprawdzające czy dany plik nie został uszkodzony podczas pobierania z Internetu.

  • Katalog files - zawiera łatki (patches), z którymi to kompilujemy i instalujemy program. Patches są z reguły małymi plikami określającymi jakie zmiany mają zajść w poszczególnych plikach. Są napisane w formie pliku tekstowego i zasadniczo mówią "Usuń linię 10" albo "Zmień linię 26 na ...". Patches są znane również jako diffs, ponieważ są generowane przez program diff. Ten katalog może zawierać również inne pliki potrzebne do zbudowania portu.

  • Plik pkg-descr - to jest bardziej szczegółowy, często wieloliniowy opis programu.

  • Plik pkg-plist - jest to lista wszystkich plików, które zostaną zainstalowane przez dany port. Mówi on systemowi portów, które pliki mają być usunięte podczas odinstalowywania. 

Niektóre porty mają inne pliki takie jak pkg-message. System portów używa tych plików podczas wyjątkowych sytuacji.

Teraz gdy już masz wystarczającą wiedzę na temat używania portów, jesteś gotowy do zainstalowania pierwszego portu. Są dwa sposoby aby to uczynić (CD-ROM, Internet). Każdy z nich jest wyjaśniony poniżej. 

Jednak zanim do tego przystąpimy, musisz wybrać port do zainstalowania. Jest wiele sposobów aby wybrać interesujący nas port. Najprostszym sposobem jest wyświetlenie listy portów na stronie FreeBSD. Możesz je sobie przejrzeć po kolei lub użyć systemu wyszukiwania na stronie. Każdy port zawiera zwięzły opis, więc przed podjęciem decyzji możesz sobie przeczytać do czego służy dany port.

Kolejnym sposobem jest użycie komendy whereis. Whereis po prostu wskazuje gdzie znajduje się program, którego szukamy. Jeżeli zostanie on znaleziony w Twoim systemie będziesz powiadomiony komunikatem tak jak poniżej:

# whereis lsof
lsof: /usr/ports/sysutils/lsof

To mówi nam, że program lsof (narzędzie systemowe) znajdziemy w katalogu /usr/ports/sysutils/lsof.

Kolejnym sposobem na wyszukanie portu jest użycie wbudowanego w kolekcję portów mechanizmu szukania. Aby skorzystać z tej cechy kolekcji portów musisz znajdować się w katalogu /usr/ports. Będąc w tym katalogu użyj polecenia make search name=program-name, gdzie porgram-name jest nazwą programu, którego szukasz. Na przykład poszukamy programu lsof:

# cd /usr/ports
# make search name=lsof
Port: lsof-4.56.4
Path: /usr/ports/sysutils/lsof
Info: Lists information about open files (similar to fstat(1))
Maint:
Index: sysutils
B-deps: 
R-deps:

Szczególną uwagę zwróć na linijkę rozpoczynającą się od Path:, ponieważ ona Ci powie gdzie znaleźć dany port. Inne informacje dostarczane przez make search nie są aż tak potrzebne, więc nie będą one tutaj poruszane.

Jeżeli nie znamy nazwy programu możemy użyć komendy make search key=string, gdzie string jest słowem kluczowym, którego szukamy. Wyszukiwanie prowadzone jest w nazwach portów, komentarzach, opisach i zależnościach. Może być użyte do znalezienia portów, które odnoszą się do konkretnego tematu.

W oby wypadkach szukane słowo nie jest "wrażliwe" na pisownię, czyli szukanie "LSOF" daje ten sam rezultat co szukanie "lsof".

UWAGA: Musisz być zalogowany jako root aby móc instalować porty.

Teraz gdy już znalazłeś port, który chcesz zainstalować, jesteś gotowy do instalacji. Porty zawierają instrukcje jak skompilować źródła programu, ale nie zawierają tych źródeł. Możesz je zdobyć z cdromu lub z Internetu. Źródła programu są rozprowadzane w różnoraki sposób, w taki jaki przewidział to autor. Najczęściej są one spakowane tarem lub gzipem, ale mogą być także kompresowane innymi narzędziami lub wogóle niekompresowane. Kod źródłowy programu w jakiejkolwiek formie jest nazywany distfile. Taki właśnie distfile możesz pobrać z CD-ROM lub z Internetu.

Instalowanie portów z CD-ROM

Oficjalne płyty CD-ROM (obrazy iso) już od jakiegoś czasu nie zawierają plików distfile. Zajmują one dużo miejsca, dlatego też zdecydowano, że lepszym rozwiązaniem będzie zamieszczanie gotowych przekompilowanych pakietów z programami. Płyty CD-ROM takie jak FreeBSD PowerPak zawierają pliki distfile i możesz je zamówić u sprzedawcy jakim jest FreeBSD Mall. Ta sekcja dotyczy właśnie takich CD-ROMów.

Umieść płytę FreeBSD w napędzie CD-ROM. Zamontuj ją jako /cdrom (jeżeli używasz innego punktu montowania instalacja nie zadziała). Następnie zmień bieżący katalog na ten z portem, który wybrałeś:

# cd /usr/ports/sysutils/lsof

Będąc w tym katalogu powinieneś zobaczyć szkielet portu. Następnym krokiem jest kompilacja (lub jak kto woli budowa) portu. Jest to po prostu wpisanie komendy make po tzw. znaku zachęty. Gdy to zrobisz powinieneś ujrzeć coś takiego:

# make
>> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
>> Attempting to fetch from file:/cdrom/ports/distfiles/.
===> Extracting for lsof-4.57
...
[szczegóły dekompresji wycięte]
...
>> Checksum OK for lsof_4.57D.freebsd.tar.gz.
===> Patching for lsof-4.57
===> Applying FreeBSD patches for lsof-4.57
===> Configuring for lsof-4.57
...
[szczegóły konfiguracji wycięte]
...
===> Building for lsof-4.57
...
[szczegóły kompilacji wycięte]
...
#

Zauważ to, że kompilacja jest ukończona po tym jak powrócisz do linii poleceń (znak zachęty). Następnym krokiem jest zainstalowanie portu. Aby zainstalować go potrzebujesz dodać jedno słowo do komendy make, a tym słowem jest install.

# make install
===> Installing for lsof-4.57
...
[szczegóły instalacji wycięte]
...
===> Generating temporary packing list
===> Compressing manual pages for lsof-4.57
===> Registering installation for lsof-4.57
===> SECURITY NOTE: 
This port has installed the following binaries which execute with
increased privileges.
#

Gdy instalacja przebiegnie pomyślnie i powrócisz do znaku zachęty, powinieneś mieć możliwość uruchomienia programu, który dopiero co zainstalowałeś. Ponieważ lsof jest programem, który uruchomiony jest ze zwiększonymi prawami, dlatego wyświetlane jest ostrzeżenie dotyczące bezpieczeństwa. Podczas budowania i instalowania portu, powinieneś uważnie czytać tego typu informacje oraz inne ostrzeżenia

UWAGA: Kompilację i instalację portu można wykonać w jednym kroku używają polecenia make install, które zastępuje powyższe dwa kroki.
UWAGA: W wielu shellach wymagane jest wydanie komendy rehash po instalacji portu a przed użyciem komend nowo zainstalowanego programu. Tego typu shellami jest część shelli dostępnych w base-systemie (takich jak tcsh) oraz shelle dostępne w portach (przykładowo shells/zsh).
UWAGA: Bądź świadom tego, że licencja kilku portów nie pozwala na umieszczaniu ich na płytach CD-ROM. Dzieje się tak, ponieważ wymagane jest wypełnienie form rejestracyjnych przed pobraniem z Internetu. Jeśli chciałbyś zainstalować port, który nie jest zamieszczony na CDROM'ie, musisz być podłączony do sieci Internet. 

Instalowanie portów z Internetu

Tak jak ostatnia sekcja, ta z góry zakłada iż masz działające połączenie z Internetem. Jeżeli nie, będziesz zmuszony dokonywać instalacji z CD-ROM albo kopiować ręcznie pliki distfile do katalogu /usr/ports/distfiles.

Instalowanie portu poprzez Internet jest wykonywane dokładnie tak samo jakbyś instalował go z płyt CD-ROM. Jedyna różnica pomiędzy tymi dwoma sposobami to taka, że pliki z kodem źródłowym są pobierane z Internetu zamiast odczytywane z CD-ROM. 
Kroki postępowania są identyczne:

# make install
>> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
>> Attempting to fetch from ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/.
Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100%
439860 bytes transferred in 18.0 seconds (23.90 kBps)
===> Extracting for lsof-4.57
...
[szczegóły dekompresji wycięte]
...
>> Checksum OK for lsof_4.57D.freebsd.tar.gz.
===> Patching for lsof-4.57
===> Applying FreeBSD patches for lsof-4.57
===> Configuring for lsof-4.57
...
[szczegóły konfiguracji wycięte]
...
===> Building for lsof-4.57
...
[szczegóły kompilacji wycięte]
...
===> Installing for lsof-4.57
...
[szczegóły instalacji wycięte]
...
===> Generating temporary packing list
===> Compressing manual pages for lsof-4.57
===> Registering installation for lsof-4.57
===> SECURITY NOTE: 
This port has installed the following binaries which execute with
increased privileges.
#

Tak jak widać powyżej jedyna różnica jest w linijce, która mówi skąd jest pobierany plik z kodem źródłowym.

System portów pobiera plik za pomocą narzędzia fetch (podobnie jak w przypadku pkg_add -r), które to używa zmiennych środowiskowych takich jak: FTP_PASSIVE_MODE, FTP_PROXY i FTP_PASSWORD. Możesz potrzebować ustawić jedną lub więcej z tych opcji jeżeli jesteś za firewallem, albo będziesz potrzebował użyć FTP/HTTP proxy. Więcej informacji możesz uzyskać w podręczniku manuala fetch(3).

Usuwanie zainstalowanych portów

Teraz gdy już wiesz jak instalować porty pewnie zastanawiasz się jak je usunąć. Tak jak w przypadku instalowania musisz zadecydować, który port usunąć. My usuniemy nasz przykładowy port (jakim jest lsof - to dla nieuważnych ;-)). Najpierw musisz zmienić katalog na katalog portu (u nas /usr/ports/sysutils/lsof). Po zmianie katalogu jesteś gotowy do usunięcia programu z systemu. Dokonuje się tego za pomocą komendy make deinstall

# cd /usr/ports/sysutils/lsof
# make deinstall
===> Deinstalling for lsof-4.57

To było dość łatwe. Usunąłeś lsof (lub inną aplikację) z systemu. Jeśli chciałbyś przeinstalować port musisz uruchomić make reinstall podczas gdy jesteś w katalogu odpowiedniego portu.

Komendy make deinstall i make reinstall nie zadziałają jeżeli wcześniej użyłeś make clean. Jeżeli chcesz usunąć port po tym jak oczyściłeś port, użyj pkg_delete w sposób omówiony w dziale Menedżer Pakietów.

Porty i przestrzeń dyskowa

Używanie kolekcji portów może zużyć dużą część Twojej przestrzeni dyskowej. Aby temu zapobiec powinieneś zawsze pamiętać o czyszczeniu katalogu work używając opcji make clean. To usuwa katalog work po tym jak port został zbudowany i zainstalowany. Możesz także usunąć pliki .tar z katalogu distfiles albo usunąć zainstalowane porty, których rzadko używasz. 

Niektórzy użytkownicy wybierają ograniczoną ilość kategorii portów pobieranych z Internetu. Jest to sposób stosowany przy używaniu programu CVSup, jeżeli nie chcemy pobierać plików z danej kategorii, która nas nie interesuje.

Upgrade portów

Utrzymywanie portów w jak najświeższej wersji jest bardzo nużącą i pracochłonną pracą. Na przykład, aby zrobić upgrade portu musisz iść najpierw do katalogu portu, następnie zbudować go, odinstalować stary, zainstalować nowy a potem oczyścić port ze "śmieci". Wyobraź sobie wykonanie tej czynności dla pięciu portów. Nudna praca, prawda? Administratorzy systemu mieli duży problem z poradzeniem sobie w takich sytuacjach. Teraz mamy narzędzia, które robią to wszystko za nas. Dla przykładu aplikacja sysutils/portupgrade robi za Ciebie to co powyżej napisane! Ty musisz tylko ją zainstalować tak jak każdy inny port używając komendy make install clean.

Teraz tworzymy bazę komendą pkgdb -F

# pkgdb -F

Polecenie to odczytuje listę zainstalowanych portów i tworzy plik bazy w katalogu /var/db/pkg. Teraz gdy uruchomisz 

# portupgrade -a 

odczyta on powyższy plik i plik indeksu portów (INDEX). Następnie portupgrade rozpocznie pobieranie, budowę, backup starych portów, instalację i czyszczenie portów, które zostały zainstalowane. Inne narzędzia tego typu można znaleźć w katalogu /usr/ports/sysutils. Zobacz do czego służą i co potrafią.

To by było na tyle. Życzę udanego "portowania". ;-)


Tłumaczenie: Artur Kulda
arti(at)bsd4u.org

Tłumaczenie na podstawie FreeBSD Handbook (rozdział: 4.5 Using the Ports Collection)
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ports-using.html

Komentarze:

Tylko zarejestrowani użytkownicy mogą pisać komentarze.
Prosze zaloguj się i dodaj komentarz.

Powered by AkoComment!

Ostatnio aktualizowany ( sobota, 05 listopada 2005 )

« wstecz
Ciekawostki
Możesz logować swoje czynności na konsoli programem script(1).
Pobierz
FreeBSD
OpenBSD
NetBSD
DragonFlyBSD
PC-BSD
FreeSBIE LiveCD
4.4BSD Lite
Reklama M3M.pl
Domeny
Książki

FreeBSD. Księga eksperta

FreeBSD. Księga eksperta

Cena: 125.00 zł
Dodaj do koszyka


FreeBSD. Podstawy administracji systemem

FreebBSD

Cena: 64.90 zł
Dodaj do koszyka


OpenBSD. Podstawy administracji systemem

OpenBSD

Cena: 84.90 zł
Dodaj do koszyka


OpenBSD. Tworzenie firewalla za pomocą PF

Firewall PF

Cena: 44.90 zł
Dodaj do koszyka

Licznik odwiedzin
Odwiedziło już nas
2522166
Internautów od lutego 2003

Korzystamy ze statysyk