Debian za kulisami
-
Upload
adam-byrtek -
Category
Technology
-
view
2.177 -
download
1
description
Transcript of Debian za kulisami
Debian, za kulisamiAdam Byrtek <[email protected]>
Wstęp
O czym wykład nie będzie● Instalacja, konfiguracja, obsługa, administracja
– http://www.debian.org– http://www.debianusers.pl– http://debian.linux.org.pl
O czym wykład będzie (z grubsza)● Historia, sprawy techniczne, filozofia, struktura,
społeczność● Pytania
Wstęp, c.d.
Czym jest Projekt Debian?● "Projekt Debian to grupa osób, które wspólnie
zdecydowały się stworzyć wolny system operacyjny"
Zasadnicze różnice● Członkami społeczność ochotników● Projekt niekomercyjny● Tylko otwarte narzędzia● Wspiera różnorodność
Początki Debiana
Rys historyczny
● Ian Murdock, manifest w roku 1993● Motywacja
– dystrybucja "w duchu Linuksa"– zły stan ówczesnych dystrybucji
● Wsparcie FSF przez pierwszy rok (GNU/Linux)● Nazewnictwo dystrybucji, wersji● Prawidłowa wymowa: "deb ee n"● Pierwszt system pakietów (z zależnościami)● Powołanie SPI
Fakty
● Edycja stablina: Woody 3.0, wydana w lipcu 2002r.● 10 lat istnienia, silna pozycja wśród dystrybucji● 11 wspieranych architektur
alpha, arm, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, sparc
● Jedyna dystrybucja wspierająca różne jądraLinux, Hurd, BSD
● 1134 osób, 7264 pakietów źródłowych, 11758 binarnych, 318 serwerów lustrzanych
● Polska na piątym miejscu w (nieoficjalnym) rankingu ilości użytkowników
Organizacje
● Linux International● Linux Professional Institute● Linux Magazine advisory council● Linux Standards Base● Free Standards Group● SchoolForge● GNOME Foundation advisory board● OASIS: Organization for the Advancement of Structured
Information Standards● Desktop Linux Consortium
Oparte na Debianie
● Xandros (dawniej Corel)● Progeny (instalator)● Lindows● Knoppix● i inne...
FILOZOFIA
Zasady stanowiące fundament● Debian Free Software Guidelines● Umowa społeczna Debiana● Debian Policies
Kontrakt społeczny
● Debian pozostanie w pełni wolny (patrz DFSG)● Spłacimy dług społeczności oprogramowania
wolnodostępnego● Nie będziemy ukrywać problemów● Naszymi priorytetami są nasi użytkownicy i wolne
oprogramowanie● Wsparcie dla programów nie spełniających standardów
DFSG (archiwum non-free)
Debian Free Software Guidelines
● Wolna redystrybucja● Dołączony kod źródłowy (i możliwość jego
redystrybucji)● Dzieła pochodne, możliwość ich tworzenia i dystrybucji
na tej samej licencji● Brak ograniczeń integralności kodu● Nie dyskryminuje żadnych osób bądź grup
Debian Free Software Guidelines, c.d.
● Nie ogranicza zakresu użytkowania● Licencja musi dotyczyć wszystkich● Licencja nie może dotyczyć wyłącznie Debiana● Licencja nie może 'zanieczyszczać' innego
oprogramowania
● Przykłady: GPL, BSD, Artistic● Bruce Perens i manifest Open Source
Debian Policy
● Wytyczne techniczne: najważniejsze zasady gwarantujące spójność pakietów w dystrybucji
● Pełna zgodność z FHS● Niektóre dodatkowe policies
– Perl– Java– Menu– Emacs– ...
Konstytucja
● Konstytucja: podstawa formalna● Głosowania● Decyzje podejmuje
– Zgromadzenie Ogólne Deweloperów– Lider Projektu– Komitet Techniczny i/lub jego Przewodniczący– deweloper odpowiedzialny za dane zadanie– delegaci wyznaczeni przez Lidera do danego zadania– Sekretarz Projektu
Gałęzie
● stable (obecnie woody)gałąź do zastosowań produkcyjnych, zamrożona i gruntowanie przetestowana, do niej pojawiają się poprawki bezpieczeństwa
● testing (obecnie sarge)gałąź najprawdopodobniej pozbawiona ciężkich błędów, ale nie jest to gwarantowane
● unstable (zawsze sid)najświeższe pakiety prosto z pieca, bywają z nimi kłopoty
● experimentalużycie wysoce niewskazane
● Archiwa: main, non-free, contrib
System pakietów
● dpkg: nadzór nad bazą pakietów, manipulacja pakietami– zależności– pliki konfiguracyjne– szablony debconf
● APT: zarządzanie pakietami pochodzącymi z różnych źródeł– repozytoria oficjalne, nieoficjalne– priortety, pinning
● Liczne nakładki (dselect, aptitude, synaptic, ...)
Struktura pakietu źródłowego
● Oficjalne źródła: foo_x.y.orig.tar.gz● Debianowa łata: foo_x.y-z.diff.gz
– katalog ./debian/*– debian/rules: makefile budujący pakiet
● Z pakietu źródłowego powstaje jeden lub więcej pakietów binarnych:– foo_x.y-z_i386.deb– foo-doc_x.y-z_all.deb
Struktura pakietu binarnego
plik DEB
control.tar.gz data.tar.gz
/etc/.../usr/.../var/......
controlconffilesmd5sumspreinstpostinstprermpostrm...
Droga pakietu
pakiet
incoming
unstable testing stable
nowa wersja upstream
brak RC,wydanie
upload (podpisany), x.y-z
max 1 dzień (chyba że pakiet nowy)
10 dni (low),brak“excuses”
mirror mirror mirror
NMU
experimental
x.y
Edycja stabilna
● "Release when ready", rządzi Release Manager● Zamrożenie testing gdy nie ma już poważniejszych
problemów (RC)● Dokładne testowanie● Wydanie nowej edycji stabilnej● Co jakiś czas edycje poprawiające (najnowsza 3.0r1)● Około roczne wsparcie starej wersji stabilnej
Portowanie
● i386 to nie cały świat, deweloper odpowiedzialny za inne architektury
● Ekipa odpowiedzialna za porty● Dobra praktyka programistyczna● Problemy usprawiedliwione w rzadkich przypadkach● System auto-builderów● Non-Maintainer Upload (NMU)
Walka z błędami
● BTS: informacje zgłaszane przez email (reportbug preferowanym sposobem)– informacje dostępne publicznie– flagi i waga błędu (RC)– deweloper manipuluje stanem błędu– deweloper ma obowiązek przesyłać wszystkie
poprawki do upstreamu– nie tylko dla pakietów (np. WNPP, debian-policy)
● Od niedawna PTS● Lintian: pomoc dla deweloperów
Bezpieczeństwo
● Jeden z priorytetów, Security Team● Publiczne informacje, otwartość (DFSG)● Najlepiej korzystać ze stable● Advisories
– [email protected]– http://www.debian.org
● Automatyczny upgrade dla stable przez APTdeb http://security.debian.org/ woody/updates main contrib non-free
Pozostałe cechy Debiana
● Instalator● Inicjalizacja systemu (update-rc.d)● Budowanie własnego jądra (make-kpkg)● System menu● System alternatyw● ...
Lokalizacja
● Strona WWW● Task "polish", pakiety z polską dokumentacją● Wsparcie locales (teraz już standard)● Instalator● Mapy klawiatury, czcionki● Opisy pakietów● Szablony debconf● DWN (na 7thguard.net oraz stronach Debiana)
LUDZIE
● Rdzeń projektu● Baza danych informacji o
deweloperach (vacation)● Od rodziny do społeczności● Od dłuższego czasu (mniej więcej)
liniowy wzrost● Różne cele, spojrzenia, poglądy, równe prawo głosu● Podział na podgrupy, podprojekty● Specjaliści z danych dziedzin (porty, instalator)
Mapa lokalizacji deweloperów
źródło: http://www.debian.org/devel/developers.loc
POLSCY DEWELOPERZY
Krzysztof KrzyżaniakPawel WięcekGrzegorz ProkopskiMarcin OwsianyPiotr RoszatyckiRobert LuberdaJanusz A. UrbanowiczRyszard Lach
Marek HabersackŁukasz JachowiczMirosław BaranAdam Byrtek
Kontakt
● Przede wszystkim email ([email protected])– wykorzystanie PGP, keyring Debiana
● IRC: dyskusje robocze, BSP (serwer freenode)● Listy dyskusyjne (ponad 100 różnych)
– debian-devel, debian-private● Listy ogłoszeniowe
– debian-announce, debian-devel-announce– debian-security-announce
● Debian Weekly News
Praca grupowa
● CVS– np. strona WWW
● Alioth, klon SourceForge– projekty których założycielem jest deweloper
Debiana
Jak pomóc
● Nie trzeba być deweloperem aby pomagać (sponsoring)● Promować Debiana (i Linuksa jako takiego)● Zgłaszać informacje o błedach i sugestie, korzystać z
testing/unstable● Przeglądać zgłoszenia, przesyłać patche, komentować
bugreporty (PTS)● Pomagać przy tłumaczeniu i tworzeniu dokumentacji
Jak wstąpić
● Uwaga na 1 kwietnia!● Proces NM (New Maintainer), lista debian-mentors
– adwokat– przydzielenie AM (Application Manager)– pierwszy kontakt– potwierdzenie tożsamości– filozofia i procedury– zadania i umiejętności– ankieta i podumowanie
Jak taki projekt może działać?
● Wartościowi ludzie, "karma" deweloperów● Władze formalne ingerujące jedynie gdy jest to
konieczne● Współpraca i wymiana poglądów przez Internet● Ścisłe reguły i procedury, ale minimum formalizmu● Narzędzia, szczegółowa dokumentacja● Infrastruktura fundowana przez sponsorów
Przyszłość
● Sarge (“release when ready”)– GCC 3.2– KDE 3.1– Gnome 2
● Nowy instalator (stary największą zmorą)– pełna integracja z debconf– zróżnicowany interface
● Jeszcze większy nacisk na wielonarodowość● Pełna zgodność z LSB (Linux Software Base)
To tylko wierzchołek góry lodowej.
Dziękuję za wysłuchanie wykładu.Proszę o pytania.
W razie czego mój adres:[email protected]