Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
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
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.