wtorek,
Debian GNU/Linux
16 sierpnia 1993 roku amerykański student uniwersytetu Purdue Ian Murdock ogłosił powstanie Debiana. Obecnie jest to jedna z najstarszych i największych dystrybucji Linuksa, jednak projekt wykroczył poza ramy standardowej dystrybucji, ponieważ aktualnie systemy Debian są dostępne na wiele architektur sprzętowych i posiadają adaptacje oparte na jądrach FreeBSD, NetBSD oraz Hurd. Nazwa Debian to zbitek imion Murdocka i jego dziewczyny Debry. Wkrótce Murdock opublikował Manifest Debiana definiujący główne założenia i cele przyświecające powstaniu dystrybucji, celem nadrzędnym było zachowanie zgodności z duchem Linuksa i GNU.
15 września 1993 roku powstał system Debian 0.01, jednak dopiero wersja 0.90 była dostępna publicznie. Na przełomie lat 1994 i 1995 projekt był finansowany przez Free Software Foundation. W 1996 roku liderem projektu został Bruce Perens. Doprowadził on do powstania organizacji non-profit Software in the Public Interest, co umożliwiło projektowi Debian przyjmowanie darowizn. Obecnie organizacja wspiera także inne projekty z kręgu wolnego oprogramowania, a Stanach Zjednoczonych darowizny można odliczyć od podatku. Bruce Perens wniósł duży wkład w powstanie dwóch dokumentów: „Wytyczne Debiana dotyczące wolnego oprogramowania” oraz „Umowa społeczna Debiana”. „Umowa społeczna Debiana” z 1997 roku określa główne zasady projektu. Skrócona forma tego dokumentu to zasady:
- Debian pozostanie w 100% wolny.
- Spłacimy dług społeczności wolnego oprogramowania.
- Nie będziemy ukrywać problemów.
- Nasze priorytety to użytkownicy oraz wolne oprogramowanie.
- Akceptujemy programy, które nie są zgodne z naszymi standardami wolnego oprogramowania.
Debian przyjął obszerny zestaw zasad i procedur dotyczących dystrybucji oprogramowania. Są one wspierane przez narzędzia, automatyzację i dokumentację obejmujące wszystkie kluczowe elementy systemu w sposób otwarty i widoczny, np. system zgłaszania błędów jest dostępny publicznie. Od początku projektu nazwy kolejnych wydań są imionami bohaterów filmu „Toy Story”. System rozwijany jest równolegle w czterech gałęziach:
- stabilna (stable) – zmiany polegają prawie wyłącznie na naprawianiu problemów dotyczących bezpieczeństwa;
- testowa (testing) – automatycznie trafiają tu przetestowane pakiety z wersji niestabilnej niezawierające poważniejszych błędów;
- niestabilna (unstable) – wszystkie nowe wersje pakietów;
- eksperymentalna (experimental) – pakiety eksperymentalne.
Kolejne wydania powstają według ściśle określonych zasad. Wersja testowa zostaje na pewien czas „zamrożona” i poza wyjątkowymi sytuacjami nie trafiają do niej żadne nowe pakiety. Po usunięciu błędów do akceptowalnego poziomu wersja testowa staje się stabilną. Twórcy systemu kładą duży nacisk na bezpieczeństwo i wersje stabilne pojawiają się stosunkowo rzadko. W praktyce wersja stabilna posiada starsze wersje programów, ale zapewnia maksymalne bezpieczeństwo i brak problemów. „Domowi” użytkownicy często preferują wersję testową, która daje relatywnie dobrą stabilność i nowe wersje programów. Wersje niestabilna i eksperymentalna nie są przeznaczone dla użytkowników końcowych, utrzymanie systemu w dobrej kondycji jest pracochłonne i każda aktualizacja grozi problemami, ponieważ są to gałęzie robocze. Dystrybucja niestabilna nosi nazwę kodową „Sid” od imienia chłopca chłopiec psującego zabawki w filmie „Toy Story”. Określana jest ona także jako Still In Development (ciągle rozwijany).
Raz do roku programiści wybierają lidera projektu. Ma on specjalne uprawnienia, jednak ważne decyzje podejmowane są w demokratyczny sposób. Sposób głosowania to opracowana w 1997 roku przez Markusa Schulzego metoda określona jego nazwiskiem. Dotychczasowi liderzy projektu:
- Ian Murdock – lata 1993–1996;
- Bruce Perens – lata 1996–1998;
- Ian Jackson – lata 1998–1999;
- Wichert Akkerman – lata 1999–2001;
- Ben Collins – lata 2001–2002;
- Bdale Garbee – lata 2002–2003;
- Martin Michlmayr – lata 2003–2005;
- Branden Robinson – lata 2005–2006;
- Anthony Towns – lata 2006–2007;
- Sam Hocevar – lata 2007–2008;
- Steve McIntyre – lata 2008–2010;
- Stefano Zacchiroli – lata 2010–2013;
- Lucas Nussbaum – lata 2013–2015;
- Neil McGorven – lata 2015–2016;
- Mehdi Dogguy – lata 2016–2017;
- Chris Lamb – lata 2017–2019;
- Sam Hartman – lata 2019–2020;
- Jonathan Carter – od 2020 roku.
Debian wykorzystuje pakiety deb, których podstawowym instalatorem jest program dpkg. Pierwszą wersję dpkg opracował Ian Murdock w styczniu 1994 roku. Bardziej zaawansowanym narzędziem do zarządzania pakietami deb jest system APT (Advanced Packaging Tool). Pakiety deb i instalatory posiadają zaawansowaną kontrolę powiązań i zależności pomiędzy poszczególnymi składnikami systemu. Pakiety można znaleźć m.in. na płytach instalacyjnych, jednak najłatwiejszą metodą ich instalowania jest korzystanie z repozytoriów w Internecie. Debian dostarcza wiele programów do zarządzania pakietami, są to m.in. konsolowe dpkg, dselect, apt, aptitude oraz graficzne Synaptic, KPackage, adept.
Debian 3.0 „Woody” z 2012 roku wspierał jedenaście architektur sprzętowych i składał się z około 8500 pakietów. W tym okresie nad rozwojem dystrybucji pracowało dziewięciuset deweloperów. Aktualne wydanie stabilne to Debian 11.0 „Bullseye” wydany 14 sierpnia 2020 roku. Obecnie dystrybucja zawiera ponad 59000 pakietów. Debian stał się fundamentem ponad setki innych dystrybucji, na jego bazie powstały m.in. tak znane projekty, jak Ubuntu, Mint, MEPIS i KNOPPIX.
Nazwy stabilnych wersji Debiana
- Buzz – Debian 1.1 (1996) – od astronauty Buzza Lightyeara;
- Rex – Debian 1.2 (1996) – od tyranozaura;
- Bo – Debian 1.3 (1997) – od pasterki owiec Bo Peep;
- Hamm – Debian 2.0 (1998) – od świnki-skarbonki;
- Slink – Debian 2.1 (1999) – od Cienkiego – zabawkowego, rozciągliwego psa (Slinky Dog);
- Potato – Debian 2.2 (2000) – od Pana Bulwy (Mr. Potato);
- Woody – Debian 3.0 (2002) – od kowboja Chudego;
- Sarge – Debian 3.1 (2005) – od Sierżanta małych, zielonych, plastikowych żołnierzyków;
- Etch – Debian 4.0 (2007) – od zabawkowej tablicy do rysowania (Etch-a-Sketch);
- Lenny – Debian 5.0 (2009) – od lornetki (Lenny the Binoculars);
- Squeeze – Debian 6.0 (201) – od trójokiego kosmity;
- Wheezy – Debian 7.0 (2013) – od pingwina w czerwonej muszce;
- Jessie – Debian 8.0 (2015) – od kobiety kowbojki;
- Stretch – Debian 9.0 (2017) – od fioletowej ośmiornicy;
- Buster – Debian 10.0 (2019) – od starego psa;
- Bullseye – Debian 11.0 (2020) – od konia.
Obsługiwane architektury sprzętowe
Oficjalnie:
- amd64 – 64-bitowe PC (amd64) – 64-bitowe procesory Opteron, Athlon i Sempron firmy AMD oraz procesory Intel 64 Intela: Pentium D, a także serie Xeon i Core;
- arm64 – ARM 64-bit (AArch64) – wersja 8 architektury ARM zawierająca AArch64, nowy zestaw 64-bitowych instrukcji;
- armel – EABI ARM – najstarsza obecnie adaptacja ARM Debiana wspierająca procesory ARM little-endian z zestawem instrukcji v4t;
- armhf – ABI ARM ze sprzętowym FPU – adaptacja Debiana armhf wymaga co najmniej procesora ARMv7 z Thumb-2 oraz ze wsparciem operacji zmiennoprzecinkowych VFP3-D16;
- i386 – 32-bitowe PC (i386) – pierwsza z architektur, działa na wszystkich procesorach IA-32 produkowanych przez Intela (w tym wszystkie procesory Pentium), AMD (m.in. K6, Athlon), Cyrixa i innych producentów;
- mips – MIPS (tryb big-endian) – Debian jest adaptowany dla architektury MIPS, używane przez komputery SGI (MSB pierwszy = big-endian);
- mipsel – MIPS (tryb little-endian) – Debian jest adaptowany dla architektury MIPS, używane przez komputery Digital DECstation (LSB pierwszy = little-endian);
- mips64el – MIPS (64-bit little-endian mode) – adaptacja little-endian używająca ABI N64, ISA MIPS64r1 oraz sprzętowego wsparcia operacji zmiennoprzecinkowych;
- ppc64el – POWER7+, POWER8 – adaptacja ppc64 little-endian używająca ABI Open Power ELFv2;
- s390x – System z – 64-bitowa przestrzeń użytkownika dla komputerów mainframe IBM System z.
Nieoficjalnie:
- alpha – Alpha – zarzucona adaptacja na 64-bitowe procesory RISC zaprojektowane i wyprodukowane przez firmę Digital Equipment Corp. (DEC);
- arm – OABI ARM – działa na różnego rodzaju urządzeniach wbudowanych, jak routery lub urządzenia NAS, obecnie zastąpiona przez armel;
- AVR32 – 32-bitowy Atmel RISC – zarzucona adaptacja na 32-bitową architekturę RISC Atmela, AVR32;
- hppa – HP PA-RISC – zarzucona adaptacja dla architektury PA-RISC Hewletta-Packarda;
- hurd-i386 – 32-bitowe PC (i386) – GNU Hurd to nowy system operacyjny tworzony przez zespół GNU, obecny projekt jest oparty o architekturę i386, prace są w toku;
- ia64 – Intel Itanium IA-64 – adaptacja dla pierwszej 64-bitowej architektury Intela;
- kfreebsd-amd64 – 64-bitowe PC (amd64) – adaptacja systemu Debian GNU dla jądra FreeBSD;
- kfreebsd-i386 – 32-bitowe PC (i386) – adaptacja systemu Debian GNU dla jądra FreeBSD, prace są w toku;
- m32 – M32R – nierozwijana adaptacja dla 32-bitowych mikroprocesorów Renesas Technology;
- m68k – Motorola 68k – działa na szerokiej gamie komputerów opartych o procesory z rodziny Motorola 68k, np. stacjach roboczych Sun3 oraz komputerach osobistych Apple Macintosh, Atari i Amiga, prace są w toku;
- netbsd-i386 – 32-bitowe PC (i386) – zarzucona adaptacja całego systemu operacyjnego Debian dla jądra NetBSD;
- netbsd-alpha – Alpha – zarzucona adaptacja całego systemu operacyjnego Debian dla jądra NetBSD;
- or1k – OpenRISC 1200 – nierozwijana adaptacja dla procesora OpenRISC 1200 rozwijanego jako procesor open source;
- powerpc – Motorola/IBM PowerPC – zarzucona adaptacja, która działa na wielu modelach Apple Macintosh PowerMac oraz na komputerach o architekturach CHRP i PReP;
- powerpcspe – PowerPC Signal Processing Engine – adaptacja na sprzęt „Signal Processing Engine” obecny na w energooszczędnych procesorach 32-bitowych FreeScale oraz IBM e500, prace są w toku;
- riscv64 – RISC-V (64-bit little endian) – adaptacja dla procesora RISC-V, wolnego/otwartego ISA, w szczególności w wersji 64-bit little-endian, prace są w toku;
- s390 – S/390 i zSeries – zastąpiona przez s390x adaptacja Debiana dla serwerów IBM S/390;
- sparc – Sun SPARC – adaptacja, która działa na komputerach z serii stacji roboczych Sun UltraSPARC i części ich następców z rodziny sun4, będzie zastąpiona przez sparc64;
- sparc64 – SPARC 64-bit – 64-bitowa adaptacja na procesory SPARC, prace są w toku;
- sh4 – SuperH – adaptacja na procesory Hitachi SuperH, a także otwartoźródłowy procesor J-Core, prace są w toku;
- x32 – 64-bitowy PC z 32-bitowymi wskaźnikami – ABI dla procesorów amd64/x86 używających 32-bitowych wskaźników, prace są w toku.