Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

pkgsrc: System pakietów NetBSD

Podobne prezentacje


Prezentacja na temat: "pkgsrc: System pakietów NetBSD"— Zapis prezentacji:

1 pkgsrc: System pakietów NetBSD
Tomasz Luchowski

2 pkgsrc: System pakietów NetBSD
Agenda Informacje ogólne Trochę historii pkgsrc a bezpieczeństwo Gałęzie Przenośność, Buildlink, Package Views Plany na przyszłość pkgsrc: System pakietów NetBSD

3 pkgsrc: System pakietów NetBSD
Oficjalny system pakietów NetBSD Łatwy w użyciu oraz utrzymaniu Przenośny Wsparcie dla bezpieczeństwa Wersja rozwojowa pkgsrc-current, oraz publikowane kwartalnie gałęzie stabilne pkgsrc: System pakietów NetBSD

4 Dlaczego warto używać systemu pakietów?
Konieczność zarządzania ogromną ilością niezależnego oprogramowania Ręczna instalacja – powtarzające się, uciążliwe czynności Problemy przy aktualizacji oprogramowania Może pojawić się konieczność samodzielnego „portowania” aplikacji do naszego systemu operacyjnego Ściągnięcie plików dystrybucyjnych Sprawdzenie sum kontrolnych Instalacja wymaganych pakietów – zależności Rozpakowanie źródeł Zaaplikowanie patch’y Kompilacja Instalacja pkgsrc: System pakietów NetBSD

5 Proces budowania pakietu
check vulnerabilities fetch checksum buildlink, tools, wrapper extract patch install-depends configure build install Ściągnięcie plików dystrybucyjnych Sprawdzenie sum kontrolnych Instalacja wymaganych pakietów – zależności Rozpakowanie źródeł Zaaplikowanie patch’y Kompilacja Instalacja pkgsrc: System pakietów NetBSD

6 Dlaczego warto używać pkgsrc?
Dostępne dla wielu systemów operacyjnych Łatwe budowanie pakietów ze źródeł oraz utworzenie pakietu binarnego Wsparcie dla bezpieczeństwa Możliwość kompilacji z konta zwykłego użytkownika Dostępne na licencji BSD Wygodne skrypty startowe rc.d Spójna obsługa plików konfiguracyjnych (PKG_SYSCONFBASE) .include „../../bsd.pkg.mk” pkgsrc: System pakietów NetBSD

7 pkgsrc: System pakietów NetBSD
Historia Sierpień 1994 – FreeBSD (ports) Czerwiec 1996 – OpenBSD (ports) Sierpień 1997 – NetBSD (pkgsrc) W każdym z tych systemów dokonano wielu zmian Początkowo planowano zintegrować modyfikacje z powrotem do ports FreeBSD pkgsrc: System pakietów NetBSD

8 Wiele systemów pakietów…
Swobodne dostosowanie do własnych potrzeb Konieczność duplikowania tej samej pracy Zmiany nie są synchronizowane (dane z 2003) FreeBSD ports: ~8500 pakietów OpenBSD ports: ~1800 pakietów NetBSD pkgsrc: ~3700 pakietów Inne projekty: OpenPackages, OpenPKG pkgsrc: System pakietów NetBSD

9 pkgsrc a bezpieczeństwo (1)
Utrzymywana jest baza danych z listą vulnerabilities Przy próbie kompilacji pakietu przeglądana w poszukiwaniu problemów bezpieczeństwa Sprawdzanie pakietów zainstalowanych w systemie audit-packages Aktualizacja bazy download-vulnerability-list pkgsrc: System pakietów NetBSD

10 pkgsrc a bezpieczeństwo (2)
Można wykorzystać system pakietów do łatania dziur w bezpieczeństwie systemu operacyjnego Możliwe jest przezroczyste dla użytkowników aktualizowanie programów Podpisywane pakiety binarne (gpg) pkgsrc: System pakietów NetBSD

11 pkgsrc: System pakietów NetBSD
just-in-time su(1) Pakiety możemy kompilować z konta zwykłego użytkownika Dodatkowe przywileje potrzebne jedynie na czas instalacji Aby nie wprowadzać hasła z klawiatury można użyć narzędzia typu sudo pkgsrc: System pakietów NetBSD

12 Wspierane platformy systemowe
NetBSD Sierpień 1997 Solaris Marzec 1999 Linux Czerwiec 1999 Mac OS X Październik 2001 FreeBSD Listopad 2002 OpenBSD Listopad 2002 IRIX Grudzień 2002 BSD/OS Grudzień 2003 AIX Grudzień 2003 MS Windows Services for UNIX Marzec 2004 pkgsrc: System pakietów NetBSD

13 Przenośność - problemy
PLIST: manuale (gz) Współdzielone biblioteki – różna ilość suffixów ncurses pkgsrc: System pakietów NetBSD

14 Przenośność - rozwiązania
${ECHO}, ${TOUCH}, ${CAT} REPLACE_PERL pthread.buildlink3.mk java-vm.mk: PKG_JVM_DEFAULT, USE_JAVA Buildlink! pkgsrc: System pakietów NetBSD

15 pkgsrc: System pakietów NetBSD
bootstrap-pkgsrc (1) Zestaw narzędzi, pozwalający używać pkgsrc na platformie innej niż NetBSD Zawiera: pkg_install, bmake, ftp, mtree, pax Zastąpiło rozwijany kiedyś projekt Zoularis pkgsrc: System pakietów NetBSD

16 pkgsrc: System pakietów NetBSD
bootstrap-pkgsrc (2) Dla niektórych platform dostępne są binaria: gzip -c -d bootstrap-pkgsrc-IRIX mips tar.gz \ | (cd /; tar -xpf -) pkgsrc: System pakietów NetBSD

17 pkgsrc: System pakietów NetBSD
bootstrap-pkgsrc (3) Kompilacja oraz instalacja ze źródeł: cd pkgsrc/bootstrap ./bootstrap pkgsrc: System pakietów NetBSD

18 pkgsrc: System pakietów NetBSD
bootstrap-pkgsrc (4) Używamy komendy bmake zamiast make Należy dodać /usr/pkg/bin do PATH Należy dodać /usr/pkg/man do MANPATH pkgsrc: System pakietów NetBSD

19 pkgsrc: System pakietów NetBSD
Buildlink Ścisła kontrola zależności Nagłówki użyte w czasie kompilacji Zwiększa przenośność pkgsrc: System pakietów NetBSD

20 pkgsrc: System pakietów NetBSD
Buildlink 1 Katalog tymczasowy wypełniany linkami symbolicznymi w czasie budowania pakietu – nagłówki, biblioteki ${PREFIX} -> ${WRKDIR}/.buildlink Konieczność usuwania referencji do BUILDLINK_DIR pkgsrc: System pakietów NetBSD

21 pkgsrc: System pakietów NetBSD
Buildlink 2 Wrapper CC, AS Podmiana ścieżek pkgsrc: System pakietów NetBSD

22 pkgsrc: System pakietów NetBSD
Buildlink 3 Zaprojektowany aby zwiększyć przenośność Wsparcie dla Package Views Skrypt CC symulujący GCC Podmienia argumenty, ścieżki Możliwość używania „systemowe” kompilatora – SUN PRO, MIPS PRO WRKDIR/{bin,include,lib} Linki symboliczne Silniejsze sprawdzanie zależności (DEPENDS) pkgsrc: System pakietów NetBSD

23 Oprogramowanie systemowe czy z pakietu?
Różnice w standardowo dostępnym oprogramowaniu pomiędzy systemami operacyjnymi PREFER_PKGSRC PREFER_NATIVE Podajemy: nazwa_pakietu | YES | NO pkgsrc: System pakietów NetBSD

24 Tworzenie pakietów dla pkgsrc
Stosunkowo proste i dobrze udokumentowane Szczegółowa dokumentacja w pliku Packages.txt Można wykorzystać narzędzie url2pkg pkgsrc: System pakietów NetBSD

25 pkgsrc-wip (work in progress)
Projekt utrzymywany na SourceForge Każda chętna osoba może otrzymać konto z dostępem do CVS Pakiety po zaakceptowaniu są przenoszone do oficjalnej kolekcji pkgsrc Jest to sugerowana metoda zgłaszania własnych pakietów pkgsrc: System pakietów NetBSD

26 pkgsrc: System pakietów NetBSD
Gałęzie pkgsrc Kwartalnie pkgsrc jest zamrażane, dokonuje się stabilizacji i tworzona jest nowa gałąź Obecnie najnowsze wydanie – pkgsrc-2004Q3 Wersja rozwojowa – pkgsrc-current (HEAD) Pull-up’s pkgsrc: System pakietów NetBSD

27 Gdzie utrzymywane jest pkgsrc?
W repozytorium CVS projektu NetBSD Główny serwer - cvs.netbsd.org Dla użytkowników – anoncvs.netbsd.org oraz serwery lustrzane pkgsrc: System pakietów NetBSD

28 pkgsrc: System pakietów NetBSD
Plany na przyszłość Pełne wsparcie dla wszystkich ważniejszych systemów operacyjnych Package Views, dynamic PLIST Bulk builds na platformach różnych od NetBSD pkgsrc: System pakietów NetBSD

29 pkgsrc: System pakietów NetBSD
Linki The NetBSD Project The NetBSD Packages Collection The pkgsrc guide pkgsrc: System pakietów NetBSD

30 Pytania? Tomasz Luchowski The NetBSD Project
The NetBSD Project pkgsrc: System pakietów NetBSD


Pobierz ppt "pkgsrc: System pakietów NetBSD"

Podobne prezentacje


Reklamy Google