BSD daemon

Dokumentacja NetBSD:

Kolekcja Pakietów NetBSD (pkgsrc)

Kolekcja Pakietów NetBSD

Inne podobne strony


Kolekcja Pakietów NetBSD


Wprowadzenie (na górę)

Kolekcja Pakietów NetBSD to zestaw narzędzi programowych oraz bibliotek, które zostały przeportowane do NetBSD.

Kolekcja Pakietów może

  1. Pobrać oprogramowanie z głównego miejsca dystrybucji lub mirrora (zakładając, że jesteś podłączony do Internetu).
  2. Zweryfikować jego integralność.
  3. Zastosować łaty.
  4. Skonfigurować oprogramowanie do NetBSD, zbudować je i zainstalować.
  5. Śledzić wszystkie zainstalowane pliki aby umożliwić łatwą deinstalację oprogramowania korzystając z narzędzi pakietów.
  6. Opcjonalnie stworzyć binarny pakiet, który może byś instalowany na innych hostach.

Każde wymagane oprogramowanie będzie automatycznie pobrane, zbudowane i zainstalowane.

Korzyści (na górę)

Korzyści wynikające z tego, że nie musisz sam pobierać źródeł lub binariów z ich miejsc dystrybucji to:

Instalowanie Prekompilowanych Binarnych Pakietów (na górę)

Prekompilowane binarne pakiety dla NetBSD 1.3 i późniejszych dostępne są w /pub/NetBSD/packages/ na miejscach dystrybucyjnych NetBSD ftp.

Większość użytkowników zapewne będzie wolała skorzystać z listy pakietów.

Można je zainstalować albo poprzez pobranie pakietu oraz jego wymaganych pakietów na dysk lokalny i napisanie

    pkg_add <pakiet>
lub bezpośrednio podając pełny URL tak jak niżej:
    pkg_add ftp://ftp.NetBSD.org/pub/NetBSD/packages/<wersja_os>/<arch>/<typ>/<pakiet>
Wymagane pakiety zostaną automatycznie pobrane i zainstalowane jeśli są dostępne w tym samym miejscu.

Pakiety domyślnie są instalowane w /usr/pkg. Powinieneś się upewnić, że /usr/pkg/bin oraz /usr/pkg/sbin są w zmiennej PATH (najlepiej ustaw to w /etc/csh.cshrc).

Konfigurowanie Kolekcji Pakietów NetBSD (na górę)

Źródła Kolekcji Pakietów NetBSD ('pkgsrc') opierają się na zestawach plików Makefile, krótkich opisach, oraz wielu łatach wymaganych do uzyskania łatwej kompilacji dla różnych programów, posortowanych wg. kategorii.

Zainstalowanie pkgsrc pozwoli ci na łatwe kompilowanie i instalowanie każdego programu z kolekcji.

Jest kilka metod na uzyskanie pkgsrc:

  1. CD-Rom
    Jeśli posiadasz oficjalny CD-Rom NetBSD, zawiera on pkgsrc. Inni producenci CD też powinni je umieścić. Powinno to dobrze pracować, ale ponieważ pkgsrc są cały czas aktualizowane lepiej jest pobrać najnowszą kopię z sieci.

  2. sup
    To jest zalecany sposób. Za pierwszym razem zabiera on dużo czasu, ale po pierwszym pobraniu sup(1) będzie pobierał tylko zaktualizwane pliki, oraz automatycznie kasował stare. Najprostszą metodą na skonfigurowanie sup jest:
    • 'mkdir /etc/supfiles /usr/sup'.

    • 'cp /usr/share/examples/supfiles/serwerhost /etc/supfiles/coll.list', gdzie serwerhost jest 'najbliższym' hostem, lub po prostu 'sup.NetBSD.org')

    • Wyedytuj /etc/supfiles/coll.list, i wykomentuj (dodaj '#' na początku) wszystkie linie poza blokiem dwóch lini, które zaczynają się 'current release=pkgsrc'.

    Od tego momentu możesz uruchomić sup aby zaktualizować pkgsrc za pomocą 'sup -s -v' (lub tylko 'sup -s' aby nie oglądać komunikatów). Sup może być także wykorzystywany do pobierania innych drzew źródłowych NetBSD - zobacz linie w coll.lists, aby uzyskać więcej informacji.

  3. ftp
    To jest najprostsza metoda, ale wymaga niestety pobrania kompletnego pliku tar pkgsrc za każdym razem (aktualnie około 5MB).

    • Kolekcja Pakietów NetBSD jest archiwizowana co tydzień, i zapamiętywana jako spakowany plik tar na serwerze ftp NetBSD oraz na jego mirrorach. Uzyskaj plik z miejsca dystrybucji NetBSD ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-current/tar_files/pkgsrc.tar.gz lub najbliższego mirrora.

    • Jeśli już pobrałeś plik do systemu, użyj polecenia 'su -' aby uzyskać uprawnienia root'a. Skopiuj plik do katalogu '/usr' w twoim systemie.

    • Jeśli wcześniej rozpakowywałeś pkgsrc.tar.gz, upewnij się, że ją wcześniej usunołeś.
      	cd /usr ; rm -rf pkgsrc

    • Plik musi zostać rozpakowany do katalogu (/usr/pkgsrc):
      	cd /usr ; tar -xzvpf pkgsrc.tar.gz

    • Kiedy zbudujesz pakiet z kolekcji, automatycznie stworzy on nowe drzewo katalogów '/usr/pkg/' i sam się tam zainstaluje. Możesz zmienić to zachowanie, na przykład, dodając wpis 'LOCALBASE=/usr/local' do pliku /etc/mk.conf.

  4. AnonCVS
    Ta metoda jest dwu etapowa. Musisz skonfigurować ją pierwszy raz, a potem możesz aktualizować całe pkgsrc lub tylko ich część w kązdej chwili.

    Aby korzystać z tej metody, wykonaj instrukcje zawarte w czterech pierwszych punktach w dokumencie Śledzenie NetBSD-current za pomocą anoncvs; moduł, których będziesz chciał pobrać nazywa się pkgsrc (chyba nie jest to niespodzianką), a jego domyślą lokacją jest '/usr/pkgsrc', ale może znajdować się też w każdym innym.

    Aby zaktualizować pkgsrc, napisz:

    cd /usr/pkgsrc
    cvs update -d -P

    Jeśli chcesz zaktualizować tylko część (nie polecane ze względu na zależności): cvs update -d -P category/package

    Jeśli masz bardzo wolne łącze, możesz dodać opcję -z5 (cyfra od 1 do 9) do polecenia przed komendą (np "cvs -z5 update -d -P "); sprawi to, że wszystkie dane będą kompresowane. Pamiętaj, że korzystając z tej opcji bardzo obciążasz serwer cvs.

Korzystanie z Kolekcji Pakietów NetBSD (na górę)

  1. Katalog '/usr/pkgsrc/' zawiera teraz zestaw katalogów, ułożonych kategoriami. Możesz przeglądnąć indeks pakietów w Internecie, lub uruchomić 'make readme' z katalogu /usr/pkgsrc aby zbudować pliki README.html dla wszystkich pakietów. Możesz przeglądać pliki 'README.html' w katalogach, aby dowiedzieć się do czego służy konkretne narzędzie/aplikacja.

  2. Kiedy zdecydujesz się zainstalować jedną z aplikacji, jest to bardzo łatwe. Na przykład aby zainstalować edytor zawany Joe (Joe jest małym ale wydajnym edytorem, który naśladuje inne edytory takie jak Wordstart czy Emacs), wejdź do katalogu:
    	cd /usr/pkgsrc/editors/joe
    

  3. Jeśli korzystasz z połączenia dial-up aby uzyskać dostęp do Internetu, połącz się teraz, aby źródła oprogramowania mogły zostać pobrane.

    Jeśli pakiet zależy od wielu innych pakietów (tak jak kde), budowanie może składać się z pobierania źródeł oraz kompilacji (na zmianę). Aby upewnić się, że masz pobrane już wszystkie źródła napisz:

    	make fetch-list | sh
    
    co spowoduje wyświetlenie i uruchomienie zestawu poleceń powłoki w celu pobrania wymaganych plików do /usr/pkgsrc/distfiles. Możesz także ręcznie pobrać wymagane pliki do /usr/pkgsrc/distfiles, ponieważ wymaga to zdecydowanie więcej wysiłku, powinno być stosowane tylko jako ostateczne rozwiązanie.

  4. Teraz napisz
    	make
    
    znajdując się w katalogu '/usr/pkgsrc/editors/joe'. Źródła i łaty, oraz oprogramowanie wymagane przez program do kompilacji, zostaną teraz pobrane.

  5. Kiedy już oprogramowanie zostanie pobrane a łaty zaaplikowane, zostanie wykonana kompilacja. Może to zabrać trochę czasu, zależnie od twojego komputera, oraz od ilu innych pakietów zależy program w chwili kompilacji.

  6. Kiedy zostanie to ukończone i nie zobaczysz żadnych błędów, możesz rozłączyć się z Internetem (oszczędzaj na rachunku!).

  7. Następnym krokiem jest instalacja nowo skompilowanego oprogramowania do systemu. Zrób to pisząc:

    	make install
    
    pozostając nadal w katalogu '/usr/pkgsrc/editors/joe', (lub katalogu odpowiednim do tego co instalujesz).

  8. To wszystko, oprogramowanie powinno być już zainstalowane i gotowe do użycia. Możesz napisać:
    	make clean
    
    aby usunąć skompilowane pliki z katalogu roboczego, ponieważ nie powinieneś ich więcej potrzebować. Jeśli także inne pakiety zostały dodane do twojego systemu (zależności) aby twój program mógł się skompilować, możesz je także usunąć za pomocą komendy:
    	make clean CLEANDEPENDS=YES
    

Problemy z kompilacją pakietów (na górę)

Domyślne limity zasobów na niektórych portach są zbyt małe dla pewnych dużych pakietów - jeśli kompilacja przerywana jest komunikatem "virtual memory exhausted", przeczytaj FAQ kompilacji część o unlimit.

Co to jest /etc/mk.conf ? (na górę)

/etc/mk.conf może być użyty aby zdefiniować pewne zmienne dla systemu pakietów. Domyślnie plik nie istnieje, ale można go utworzyć kiedy tylko jest potrzebny. Niektóre z dostępnych opcji, które można zdefiniować to:

Jeśli chcesz uzyskać pełną listę, zobacz /usr/pkgsrc/mk/mk.conf.example.

Jak uzyskać informacje o tym co jest dostępne w Kolekcji Pakietów NetBSD (na górę)

Najlepszym sposobem aby uzyskać informacje jakie pakiety są dostępne w kolekcji jest przejście do głownego katalogu pkgsrc (zazwyczaj jest to /usr/pkgsrc) i napisanie "make readme". Polecenie to stworzy plik README.html w głównym katalogu pkgsrc, oraz w kązdym katalogu kategorii i pakietu. Możesz wtedy zobaczyć jakie pakiety są dostępne z krótkim (w jednej linii) opisem funkcji pakietu, oraz linkiem do pełniejszego opisu, za pomocą przeglądarki takiej jak lynx (zobacz pkgsrc/www/lynx) lub czegoś takiego jak Mozilla (pkgsrc/www/mozilla), lub communicator. Jest to także dostępne w Internecie jako

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

Jeśli wolisz pełną (długą!) listę wszystkich dostępnych pakietów, kliknij tu:

	ftp://ftp.NetBSD.org/pub/NetBSD/packages/pkgsrc/README-all.html.

Inną drogą na uzyskanie informacji o dostępnych pakietach w kolekcji jest przejście do głównego katalogu pkgsrc i napisanie "make index". Stworzy to plik pkgsrc/INDEX, który można przeglądać za pomocą "make print-index | more". Możesz także wyszukać konkretne pakiety lub słowa kluczowe używając "make search key=<słowo_kluczowe>".

Sprawdzanie bezpieczeństwa zainstalowanych pakietów (na górę)

Oficer-Bezpieczeństwa NetBSD oraz Grupy zajmujące się Pakietami zarządzają listą znanych dziur bezpieczeństwa w pakietach, które są (lub znajdowały się) w pkgsrc. Lista jest dostępna z FTP NetBSD:

ftp://ftp.NetBSD.org/pub/NetBSD/packages/distfiles/vulnerabilities

Tą listę można automatycznie pobierać poprzez audit-packages, można także wykonywać automatyczny audyt bezpieczeństwa zainstalowanych pakietów.

audit-packages składa się z dwóch komponentów. Pierwszy komponent, download-vulnerability-list, służy do pobierania listy dziur bezpieczeństwa z FTP NetBSD. Drugi komponent, audit-packages, sprawdza, czy któreś z zainstalowanych pakietów są dziurawe. Jeśli pakiet jest dziurawy, zobaczysz

Package samba-2.0.9 has a local-root-shell vulnerability, see \
http://www.samba.org/samba/whatsnew/macroexploit.html

Możesz ustawić audit-packages aby pobierać codziennie plik vulnerabilties oraz wywoływać pakiet audit w dziennym skrypcie bezpieczyństwa. Szczegółowa informacje na ten temat znajdziesz w pliku MESSAGE dla audit-packages.

Sprawdzanie, czy nowsze wersje zainstalowanych pakietów są dostępne w pkgsrc. (na górę)

Aby sprawdzić czy nowsze wersję zainstalowanych pakietów są dostępne w Kolekcji Pakietów NetBSD, pownieneś najpierw zainstalować pkgsrc/pkgtools/pkglint. Po zainstalowaniu, jeśli jest dostępna nowsza wersja, uruchomienie 'lintpkgsrc -i' poinformuje Cię o tym.

Na przykład, jeśli masz zainstalowane pkgsrc/shells/tcsh w wersji 6.09.00, a wersja w pkgsrc to 6.10.00, 'lintpksrc -i' wyświetli taki komunikat:

   Version mismatch: 'tcsh' 6.09.00 vs 6.10.00

Inne Komendy dla Kolekcji Pakietów NetBSD (na górę)

Inne użyteczne komendy dla Kolekcji Pakietów NetBSD znajdują się poniżej

Więcej szczegółowych i pomocnych informacji o Kolekcji Pakietów NetBSD znajdziesz w pliku Packages.txt, który znajduje się w pkgsrc.

Dostępne jest także Japońskie tłumaczenie pliku Packages.txt.

Podziękowania stronom NetBSD Simon'a Rowe'a


Dokumentacja NetBSD: Oprogramowanie
Strona domowa
Powrót do Dokumentacji

(Skontaktuj się z nami) $NetBSD: packages.html,v 1.14 2007/04/14 14:40:49 kano Exp $
Prawa autorskie © 1994-2003 Fundacja NetBSD, Inc. WSZYSTKIE PRAWA ZASTRZEŻONE.