{ }
menu zesp贸艂 linki Logowanie

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