piątek,
Debian
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 – od 2019;
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 10.0 „Buster” z lipca 2019 roku. Obecnie Debian 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.
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.