{ }
menu zespół linki Logowanie
Stabilny hosting
BSDGuru zawdzięcza
firmie Datanet.pl
Hosting BSDGuru.org - DataNet.pl

Porty - używanie


Poniższa sekcja dostarcza podstawowych instrukcji używania kolekcji portów, w stopniu umożliwiającym instalowanie lub odinstalowywanie programów z Twojego systemu.


Zdobyć kolekcję portów...


Zanim zainstalujesz porty, musisz zdobyć kolekcję portów, która w zasadzie jest zestawem plików Makefile, patch i opisowych. Zwykle usytułowione są w /usr/ports.

Gdy instalowałeś FreeBSD, Sysinstall pytał, czy chcesz zainstalować kolekcję portów. Jeśli wybrałeś "nie", możesz prześledzić poniższe instrukcje dotyczące sposobu zdobycia kolekcji portów.


Metoda z sysinstallem


Ta metoda instaluje kolekcję portów posługując się programem sysinstall. Jest to metoda alternatywna, do instalacji manualnej.

  1. Jako root uruchom /stand/sysinstall jak pokazano poniżej:
    FreeBSD# /stand/sysinstall
    
  2. Przejdź w dół i wybierz Configure, naciśnij Enter

  3. Przejdź w dół i wybierz Distributions, naciśnij Enter
  4. Przejdź w dół do portów, naciśnij klawisz spacji
  5. Przejdź w górę, do Exit, wciśnij Enter
  6. Ustaw wybrany przez siebie typ mediów instalacji, jak CDROM, FTP itd.
  7. Podążaj za menu, aby wyjść z sysinstall

Alternatywną metodą zdobycia i utrzymania świeżej kolekcji portów jest użycie CVSup. Spójrz na plik CVSup, /usr/share/examples/cvsup/ports-supfile. Zobacz Użycie CVSup (Sekcja A.6), jeśli potrzebujesz więcej informacji na ten temat.


Metoda CVSup

ALIGN="justify"To jest krótka metoda zdobycia kolekcji portów używając CVSup. Jeśli chcesz mieć aktualne drzewo portów, lub nauczyć się czegoś o CVSup, przeczytaj poniżej wspomniane sekcje.

  1. Zainstaluj port net/cvsup. Zobacz Instalacja CVSup (Sekcja A.6.2).
  2. Jako root, skopiuj /usr/share/examples/cvsup/ports-supfile do nowego katalogu, np /root, lub Swojego katalogu domowego
  3. Wyedytuj ports-supfile
  4. Zmień CHANGE_THIS.FreeBSD.org na CVSup blisko Ciebie. Jeśli chcesz zobaczyć kompletną listę serwerów, zobacz Mirrory CVSupp (Sekcja A.6.7)
  5. Uruchom cvsup -g -L 2 <ścieżka_do_supfile>
    FreeBSD# cvsup -g -L 2 /root/ports-supfile
    
  6. Po uruchomieniu tego polecenia zostaną pobrane wszystkie zmiany w kolekcji portów.


Instalacja Portów


Pierwsza rzecz o jakiej należy wspomnieć omawiając kolekcję portów, jest szkielet. Mówiąc w skrócie, szkielet portu jest minimalnym zestawem plików, które mówią FreeBSD, jak dobrze skompilować i zainstalować program. Każdy szkielet portu zawiera:

  • Plik Makefile. Makefile zawiera różne dane, określają one jak skompilować aplikację oraz gdzie ją zainstalować w systemie.

  • Plik distinfo. Plik ten zawiera informacje dotyczące plików, które muszą być ściągnięte, aby zbudować port. Zawiera ponadto sumy kontrolne, które pozwalają sprawdzić, czy pliki nie uległy uszkodzeniu podczas pobierania z sieci.

  • Katalog plików. Ten katalog zawiera łaty (patche) pozwalające skompilować i zainstalować program na Twoim systemie FreeBSD. Łaty są małymi plikami, w których określone są zmiany dotyczące pojedynczych plików. Są wypisane w postaci pliku tekstowego i po prostu mówią "Usuń linię 10" lub "Zmień linię 26 na to: ... ". Łatki są także znane jako "diffs" (ang. skrót od różnice) ponieważ są generowane przez program diff. Ten katalog może zawierać także inne pliki używane do budowy portu.

  • Plik komentarza pkg-comment. Jest to jednoliniowy opis programu.

  • Plik opisu pkg-descr. Jest on bardziej szczegółowym, często wieloliniowym opisem programu.

  • Plik listy pkg-plist. Jest to lista wszystkich plików, które będą instalowane przez port. Jest to także lista plików, które należy usunąć w przypadku odinstalowywania.

Niekiedy porty zawierają inne pliki, takie jak na przykład pkg-message (message-wiadomość). System portów używa tych plików, aby posłużyć się nimi w odpowiednich sytuacjach. Jeśli potrzebujesz więcej informacji na temat tych plików i portów w ogóle, zajrzyj do FreeBSD Handbook'a Portera.

Teraz, gdy masz już wystarczającą ilość podstawowych informacji by wiedzieć, do czego służy kolekcja portów, jesteś gotowy do zainstalowania Twojego pierwszego portu. Poniżej przedstawione są dwa sposoby w jaki można tego dokonać.

Zanim będziemy mogli się tym zająć, wciąż potrzebujemy wybrać port, który chcemy zainstalować. Jeśli jesteśmy niezdecydowani, możemy sobie pomóc używając systemu wyszukiwawczego na stronie FreeBSD, lub po prostu przeglądając listę portów. Każdy port zawiera zwięzły opis mówiący o zastosowaniu i typie portu.

Kolejną metodą jest komenda whereis. Aby użyć whereis, po prostu wpisz "whereis (program który chcesz zainstalować)". Jeśli znajduje się on w Twoim systemie, zostaniesz powiadomiony o tym gdzie on jest w następujący sposób

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

Mówi nam to, że lsof (użytek systemowy) można odnaleźć w katalogu /usr/ports/sysutils/lsof.

Kolejną metodą wspomagającą odnajdywanie pojedynczych portów jest użycie wbudowanego w kolekcję portów mechanizmu wyszukiwawczego. Aby tego użyć musisz znajdować się w katalogu /usr/ports. Gdy już się tam znajdujesz, uruchom make search name=nazwa_programu, gdzie "nazwa_programu" to nazwa programu, który chcesz odnaleźć. Na przykład, jeśli rozglądałbyś się za 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:  obrien@FreeBSD.org
Index:  sysutils
B-deps:
R-deps:

Częścią wyświetlonych informacji, którą powinieneś zainteresować się najbardziej, jest "Path:" (ang. ścieżka), linia, która mówi Ci, gdzie możesz to znaleźć. Pozostałe dostarczone informacje nie są konieczne do zainstalowania przez Ciebie portu, dlatego nie zostaną tutaj omówione.

Dla głębszego wyszukiwania, możesz także użyć make search key=łańcuch, gdzie "łańcuch" jest częścią tekstu, którego szukasz. Przeszukuje to nazwy portów, komentarze, opisy i zależności, pomaga odnaleźć port odnoszący się do wybranych tematów, jeśli nie znasz nazwy programu, który jest Ci potrzebny.

W obu przypadkach, łańcuch szukanych znaków jest wrażliwy na wielkość liter. Poszukiwania "LSOF" nie są tym samym, co poszukiwania "lsof".

Pamiętaj: Musisz być root'em, aby instalować porty.

Teraz, gdy już odnalazłeś port, który chciałbyś zainstalować, jesteś gotowy do instalacji. Port zawiera instrukcje, jak zbudować kod źródłowy, ale żadnego kodu. Kod możesz pobrać z CDROM'u lub z Internetu. Źródło jest przedstawione w jakikolwiek sposób, przewidziany przez jego autora. Najczęściej jest ztarowane i gzipowane, ale może być także skompresowane jakimiś innymi narzędziami, lub nawet nie skompresowane. Kod źródłowy programu, w jakiejkolwiek formie, nazywany jest "distfile". Możesz go pobrać z CDROM'u lub z Internetu.


Instalowanie portów z cdromu

Oficjalne obrazy CDROM'ów Projektu FreeBSD nie zawierają plików dystrybucji "distfiles". Zabierają one zbyt dużo miejsca, które lepiej wykorzystać umiejscawiając tam przekompilowane paczki. CDROM'y takie, jak FreeBSD Power Pak zawierają pliki distfiles, możesz zamówić tego typu zestaw płyt u dostawcy na przykład FreeBSD Mall. Poniższa sekcja zakłada, że masz tego typu zestaw CDROM'ów.

Włóż CDROM do napędu. Zamontuj go w /cdrom. (Jeśli używasz innego punktu montowania, zrób tak, aby działało). Aby zacząć, zmień katalog na ten, który zawiera port wybrany przez Ciebie do instalacji.

# cd /usr/ports/sysutils/lsof

Jak już jesteś w katalogu lsof, powinieneś widzieć szkielet portu. Następnym krokiem jest kompilacja (także nazywana budową) portu. Dokonuje się tego przez proste wpisanie make za znakiem zachęty. Jeśli już to zrobiłeś, powinieneś zobaczyć:

# 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 [wypakowywanie lsof]
...
[informacje dekompresji wycięte]
...
>> Checksum OK for lsof_4.57D.freebsd.tar.gz.
   [sprawdzanie wielkości pliku]
===>  Patching for lsof-4.57 [łatanie]
===>  Applying FreeBSD patches for lsof-4.57 [łatanie]
===>  Configuring for lsof-4.57 [konfigurowanie lsfof]
...
[informacje konfiguracyjne wycięte]
...
===>  Building for lsof-4.57 [budowanie lsof]
...
[kompilacja wycięta]
...
#

Zauważ, że jeśli kompilacja jest zakończona, powracasz do Swojego znaku zachęty. Kolejnym krokiem jest instalacja portu. Aby tego dokonać, należy po prostu dodać jedno słowo do komendy make, a tym słowem jest install:

# make install
===>  Installing for lsof-4.57 [instalowanie lsof]
...
[wyjście wycięte]
...
===>   Generating temporary packing list 
       [tworzenie tymczasowych list]
===>   Compressing manual pages for lsof-4.57 
       [kompresowanie man dot. lsof]
===>   Registering installation for lsof-4.57 
       [rejestrowanie instalacji]
===>  SECURITY NOTE: [notka dot. bezpieczeństwa]
      This port has installed the following binaries 
      which execute with increased privileges.
#

Jak już powróciłeś do znaku zachęty, powinieneś mieć możliwość uruchomienia aplikacji, którą właśnie zainstalowałeś. lsof jest programem, który uruchomiony jest z większymi przywilejami, dlatego wyświetlane jest ostrzeżenie dotyczące bezpieczeństwa. Podczas budowania i instalowania portu, powinieneś uważnie czytać tego typu informacje i inne ostrzeżenia.

Uwaga: Możesz zaoszczędzić dodatkowy krok, wpisując tylko make install zamiast make i make install jako dwie osobne komendy.

Uwaga: Licencje kilku portów nie pozwalają na włączenie ich na CDROM. Dzieje się tak dlatego, że niektórzy twórcy wymagają wypełnienia form rejestracyjnych przed pobraniem programu. Redystrybucja ich jest zabroniona. 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


Jak w ostatniej sekcji, ta zakłada, że masz działające połączeniem Internetowe. Jeśli nie, będziesz ograniczony do instalacji z CDROM'u.

Instalowanie portu z Internetu jest wykonywane dokładnie w ten sam sposób, jak instalowanie z CDROM'u. Jedyna różnica pomiędzy tymi dwoma, to ta, że pliki ze źródłami pobierane są z Internetu zamiast z CDROM'u.

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% 
[pobieranie pliku]
439860 bytes transferred in 18.0 seconds (23.90 kBps) 
[plik pobrany w xx s.]
===>  Extracting for lsof-4.57 [rozpakowywanie]
...
[wyjście rozpakowywania wycięte]
...
>> Checksum OK for lsof_4.57D.freebsd.tar.gz.
   [suma kontrolna]
===>  Patching for lsof-4.57 [łatanie]
===>  Applying FreeBSD patches for lsof-4.57 [łatanie]
===>  Configuring for lsof-4.57 [konfigurowanie]
...
[wyjście konfiguracyjne wycięte]
...
===>  Building for lsof-4.57 [budowanie]
...
[kompilacja wycięta]
...
===>  Installing for lsof-4.57 [instalowanie]
...
[procedura instalacyjna wycięta]
...
===>   Generating temporary packing list 
       [tworzenia tymczasowej listy paczki ]
===>   Compressing manual pages for lsof-4.57 
       [kompresowanie man dla lsof]
===>   Registering installation for lsof-4.57 
       [rejestracja instalacji]
===>  SECURITY NOTE: [notka bezpieczeństwa]
      This port has installed the following binaries 
      which execute with increased privileges.
#

Jak widzisz, jedyną różnicą jest to, że system mówi Ci, iż pobiera plik, informuje także skąd.

To wszystko dotyczyło instalacji portów w Twoim systemie. W następnej sekcji nauczysz się porty usuwać.


Usuwanie zainstalowanych portów


Teraz, gdy wiesz już jak instalować porty, zastanawiasz się prawdopodobnie jak je usuwać, na przykład w wypadku, gdy zainstalowałeś port, ale decydujesz się jednak go usunąć. Usuniesz port, który instalowaliśmy w poprzednim przykładzie (którym był lsof - dla tych którzy nie uważają). Podobnie jak przy instalacji, pierwszą rzeczą jaką musisz zrobić, jest zmienić aktualny katalog na katalog portu /usr/ports/sysutils/lsof. Po tej zmianie jesteś gotowy odinstalować lsof. Dokonuje się tego komendą make deinstall:

# cd /usr/ports/sysutils/lsof
# make deinstall
===>  Deinstalling for lsof-4.57 [odinstalowywanie lsof-7.57]

To było łatwe. Usunąłeś lsof z Twojego systemu. Jeśli chciałbyś przeinstalować, możesz to zrobić uruchamiając make reinstall, podczas gdy jesteś w katalogu /usr/ports/sysutils/lsof.

make deinstall i make reinstall nie działają, jeśli uruchomiłeś make clean (ang. clean - czyścić). Jeśli chcesz odinstalować port po czyszczeniu, użyj pkg_delete w sposób omawiany w Handbook'u, w sekcji dotyczącej paczek. (także dostępne na tej stronie w tłumaczeniu dot. pkg)

mlodszy, pt., 25/04/2008 - 21:03