Debian

Debian (wym. ) – projekt wolnej dystrybucji systemu operacyjnego GNU/Linux oraz GNU/kFreeBSD realizowany przez ochotników na całym świecie. Wewnątrz Debiana istnieją również projekty, mające na celu stworzenie dystrybucji systemu GNU/Hurd, inne odmiany BSD, a nawet dystrybucji wolnego oprogramowania na platformę Windows.

Debian cieszy się opinią stabilnego systemu o wysokiej jakości i łatwego do aktualizacji. Ze względu na dbałość o jakość i bezpieczeństwo dystrybucji, nowe wersje stabilne pojawiają się stosunkowo rzadko, często dochodzi też do opóźnień w ich wydawaniu.

Użytkownicy mogą zgłaszać błędy w projekcie przez pocztę e-mail lub za pomocą programu reportbug.

Historia Debiana 
Powstanie Debiana ogłosił 16 sierpnia 1993 r. na grupie comp.os.linux.development Ian Murdock, wówczas student uniwersytetu Purdue. Napisał on Manifest Debiana, w którym apelował o stworzenie otwartej dystrybucji w duchu Linuksa i GNU. Nazwa „Debian” jest zbitką imion Murdocka i jego dziewczyny (obecnie byłej żony) Debry. Dystrybucja ta została zbudowana na podstawie SLS. Wśród założeń Debiana było między innymi to, że będzie zawierał on najbardziej aktualne wersje oprogramowania.

Początkowo projekt Debian rozwijał się wolno. W latach 1994–1995 powstały pierwsze wersje 0.9x. W sierpniu 1995 rozpoczęto prace nad adaptacją systemu na inne architektury. Wersja 1.x została wydana w 1996.

Wiosną 1996 roku Bruce Perens zastąpił Iana Murdocka w roli koordynatora projektu. Zainicjował on stworzenie kilku ważnych dokumentów (umowy społecznej wraz z Wytycznymi Dotyczącymi Wolnego Oprogramowania) oraz instytucji prawnej (SPI).

Perens odszedł ze stanowiska w 1998, tuż przed wydaniem Debiana 2.0 (pierwszego bazującego na glibc). Uczestnicy projektu wybrali nowego lidera – Iana Jacksona – i wydali jeszcze dwie wersje Debiana 2.x (Debian 2.1 wydany 9 marca 1999 oraz Debian 2.2 wydany 14 sierpnia 2000). W okresie tym został stworzony APT oraz rozpoczęto pracę nad projektem Debian GNU/Hurd – pierwszą adaptacją systemu na jądro nielinuksowe.

19 lipca 2002 zostaje wydany Debian 3.0 „Woody”. Działa już na 11 różnych architekturach sprzętowych (włączając w to dodane wtedy IA-64, PA-RISC, MIPS oraz S/390), posiada około 8500 pakietów, a w rozwój dystrybucji jest już zaangażowanych ponad 900 deweloperów.

6 czerwca 2005 roku Projekt wydaje Debiana 3.1 ‘Sarge’, który korzysta już z własnego instalatora (debian-installer).

8 kwietnia 2007 roku został wydany Debian GNU/Linux 4.0 o nazwie kodowej Etch. Do wydania dołączono wersję na architekturę AMD64, natomiast zrezygnowano z m68k (chociaż nadal była dostępna w gałęzi wersji niestabilnej).

26 lipca 2008 roku wydano kolejną aktualizacją stabilnej wersji Debian GNU/Linux 4.0r4. Pierwszy raz w historii projektu oprócz poprawek związanych z bezpieczeństwem, dokonano aktualizacji pakietów podstawowych systemu (ang. core packages) do wyższych wersji (m.in. jądro systemu oraz serwer grafiki X.Org) w celu wsparcia nowego sprzętu (m.in. karty graficzne, sieciowe). Dystrybucja ze zmienionymi pakietami podstawowymi otrzymała nazwę etch-and-a-half (etch-i-pół) odróżniając ją od stabilnej wersji bez tych aktualizacji.

27 lipca 2008 roku została zamrożona wersja testowa Debiana – Lenny, do czasu wydania stabilnej wersji.

14 lutego 2009 roku nowa wersja stabilna – Lenny została wydana. Wydanie cechuje się obsługą 12 architektur sprzętowych (nowa architektura armel), oraz 23000 gotowych do zainstalowania pakietów. Wydanie to zostało dedykowane Thiemo Seuferowi – aktywnemu członkowi zespołu (odpowiedzialnemu między innymi za wspieranie architektury MIPS), który 26 grudnia 2008 roku zginął w tragicznym wypadku samochodowym.

6 sierpnia 2010 roku została zamrożona wersja testowa Debiana – Squeeze, do czasu wydania stabilnej wersji.

6 lutego 2011 roku ukazało się kolejne stabilne wydanie – Squeeze. Nowa wersja posiada wsparcie dla 9 architektur sprzętowych (11 programowych) oraz ponad 36000 gotowych do zainstalowania pakietów. Po raz pierwszy oficjalnie pojawia się (jako technical preview) adaptacja na jądro FreeBSD z narzędziami GNU – GNU/kFreeBSD dla architektur x86 oraz AMD64.

4 maja 2013 roku została wydana nowa wersja stabilna Debiana 7.0 – Wheezy. W nowym wydaniu pojawiła się obsługa wielu architektur jednocześnie (tzw. multiarch), która pozwala na instalację pakietów z wielu architektur na tej samej jednostce, a także uruchamianie zarówno 32 i 64-bitowych programów, ze spełnianiem wszystkich zależności. Nowy Debian wprowadza również szereg rozwiązań prywatnej chmury obliczeniowej (między innymi Xen Cloud Platform oraz OpenStack), ulepszony instalator systemu oraz kompletny zestaw multimedialnych narzędzi i kodeków, bez potrzeby korzystania z zewnętrznych repozytoriów. W procesie instalacji wprowadzono ulepszenia pozwalające osobom niewidomym na instalację przy użyciu syntezatora mowy. Instalator został przetłumaczony na 73 języki, z czego ponad 12 posiada obsługę syntezatora mowy. Debian Wheezy obsługuje 64-bitowe komputery z UEFI, jednak na dzień wydania nowej wersji dystrybucji bez obsługi „Secure Boot”.

13 maja 2013, Lars Wirzenius i Russ Allbery zaproponowali zmiany dotyczące planu wydawniczego, którego głównym założeniem jest jego przyspieszenie.

Historia wersji

Rozwój Debiana 
Debian jest tworzony przez dużą grupę ochotników komunikujących się ze sobą poprzez szereg list dyskusyjnych (dostępnych również w Usenecie w hierarchii linux.debian.*) oraz system śledzenia błędów. Projekt Debian posiada rozbudowaną strukturę wewnętrzną: z wyborami, konstytucją, a także formalnymi dokumentami określającymi zasady postępowania.

Obecnie projekt ten nie jest związany z żadną firmą ani organizacją. Przez krótki okres był powiązany z Free Software Foundation (FSF), która nawet pokrywała część kosztów funkcjonowania projektu. Na bazie Debiana opartych zostało wiele innych dystrybucji, na przykład: Corel Linux (obecnie XandrOS), Knoppix, Morphix, Ubuntu, MEPIS, Cdlinux.pl i inne.

Wersje Debiana

Gałęzie dystrybucji 
Debian jest rozwijany jako 4 równoległe gałęzie:

 stabilna (stable) – zmiany polegają prawie wyłącznie na naprawianiu problemów dotyczących bezpieczeństwa (przy czym do dystrybucji nie są wprowadzane nowe wersje pakietów, które mogą spowodować nowe problemy – poprawiane są jedynie błędy krytyczne dla bezpieczeństwa systemu);
 testowa (testing) – tu automatycznie trafiają po pewnym czasie pakiety z wersji niestabilnej, w których nie wykryto błędu o priorytecie serious lub wyższym;
 niestabilna (unstable) – tutaj trafiają wszystkie nowe wersje pakietów;
 eksperymentalna (experimental) – pakiety eksperymentalne jak np. upstart
Tworzenie nowej wersji stabilnej polega na zamrożeniu gałęzi testowej. Następuje wtedy okres przejściowy, w którym, poza wyjątkowymi przypadkami, do gałęzi testowej nie są dodawane żadne nowe pakiety. Gdy liczba błędów w tak zamrożonej dystrybucji testowej zmniejszy się do akceptowalnego poziomu, wersja testowa jest przemianowywana na stabilną i otrzymuje swój numer wersji. Poprzednia dystrybucja stabilna staje się dystrybucją archiwalną, jednak wsparcie od strony bezpieczeństwa zapewniane jest jeszcze przez jakiś czas.

Ze względu na nacisk na bezpieczeństwo i specyficzny cykl rozwoju produktu, stabilne wersje Debiana pojawiają się relatywnie rzadko.

Nazwa kodowa dystrybucji niestabilnej – „sid” jest niezmienna – Sid to, w filmie Toy Story, chłopiec psujący zabawki. Można ją również rozwinąć w sformułowanie Still In Development (ang. ciągle rozwijany).

Nazwy wersji Debiana 
Kolejne wersje Debiana, od początku projektu noszą nazwy będące imionami bohaterów filmu Toy Story.

 Buzz – Debian 1.1 – od Buzza Astrala – kosmicznego marine;
 Rex – Debian 1.2 – od tyranozaura;
 Bo – Debian 1.3 – od Bo Peep, pasterki, która opiekowała się owcami;
 Hamm – Debian 2.0 – od świnki-skarbonki;
 Slink – Debian 2.1 – od Cienkiego, czyli zabawkowego, rozciągliwego psa (Slinky Dog);
 Potato – Debian 2.2 – od Pana Bulwy (Mr. Potato);
 Woody – Debian 3.0 – od Chudego;
 Sarge – Debian 3.1 – od Sierżanta małych, zielonych, plastikowych żołnierzyków;
 Etch – Debian 4.0 – od zabawkowej tablicy do rysowania (Etch-a-Sketch);
 Lenny – Debian 5.0 – od lornetki (Lenny the Binoculars);
 Squeeze – Debian 6.0 – od trójokiego kosmity;
 Wheezy – Debian 7.0 – od pingwina w czerwonej muszce;
 Jessie – Debian 8.0 – od kobiety kowbojki.
 Stretch – Debian 9.0 – od fioletowej ośmiornicy.
 Buster – Debian 10.0 – od starego psa.
 Bullseye – Debian 11.0 – od konia.
 Bookworm – Debian 12.0 – od mola książkowego.
 Trixie – Debian 13.0 – od niebieskiego triceratopsa.
 Forky - Debian 14.0 - od Sztućka.
 Sid – wersja w ciągłym rozwoju nie posiadająca wydań – od chłopca z sąsiedztwa, który psuł zabawki.

Wyspecjalizowane dystrybucje Debiana 
 DebianJr. – celem projektu jest stworzenie dystrybucji, która będzie chętnie używana przez dzieci w każdym wieku i sprawi, że w późniejszym czasie używanie głównej dystrybucji Debiana będzie dla nich łatwiejsze. Początkowo projektanci będą się skupiać na stworzeniu systemu przyjaznego dla dzieci, które nie ukończyły ośmiu lat, a następną grupą docelowa będą osoby w wieku 8–12 lat;
 Debian Med – celem projektu jest stworzenie całkowicie darmowego systemu, który będzie mógł być używany w branżach związanych w praktykach lekarskich oraz badaniach medycznych;
 Debian Edu – pomysł powstania podprojektu narodził się latem 2001 w Norwegii (stąd też druga nazwa Skolelinux – Skole oznacza szkołę). Celem przedsięwzięcia było stworzenie w pełni otwartego rozwiązania dla szkół;
 Debian Desktop – jest to dystrybucja skierowana do użytkownika domowego oraz firm;
 Debian Accessibility – projekt, którego celem jest przystosowanie Debiana do użytku przez osoby niepełnosprawne;
 DebianGis – Debian dla zastosowań w geografii;
 Debian Science – Debian dla zastosowań w fizyce;
 DebiChem – Debian dla zastosowań w chemii;
 Debian Multimedia – Debian do zastosowań multimedialnych;
 Debian EzGo.

Cykl życia pakietu 

Każdy pakiet w Debianie ma swojego opiekuna, który utrzymuje go w odpowiedniej wersji, a także dba o jego zgodność z polityką Debiana, utrzymuje zgodność z innymi pakietami i stara się, aby był on na odpowiednio wysokim poziomie. Użytkownicy zgłaszają błędy poprzez system zgłaszania błędów, a następnie opiekun stara się naprawić błędy w aplikacji. Zazwyczaj jeden opiekun zajmuje się jednym pakietem, jednak czasami niewielkie grupy deweloperów zajmują się jednym dużym pakietem lub grupą pakietów silnie ze sobą powiązanych.

Gdy opiekun chce wydać nową wersję pakietu najpierw wysyła go do katalogu „incoming” w archiwum pakietów Debiana. Serwer sprawdzi czy plik został poprawie wysłany i czy wszystkie wymagane pliki znajdują się w nim. Dla pewności sprawdza poprawność klucza OpenPGP opiekuna. Każdy z deweloperów Debiana posiada własny klucz prywatny, a na serwerze jest jego klucz publiczny. Pakiety są podpisywane, aby uniknąć wysłania aktualizacji pakietu przez nieuprawnioną do tego osobę, która mogłaby wprowadzić modyfikację kodu wywołującą obniżenie bezpieczeństwa systemu, bądź dodanie kodu łamiącego zasady Debiana lub licencji programu.

Jeżeli wysłany pakiet spełnił powyższe wymagania, zostaje przesunięty do obszaru nazwanego „pool”. Każdego dnia setki ze światowych mirrorów pobierają pakiety z tego katalogu. Wszystkie pobrane pakiety są dostępne tylko w niestabilnej gałęzi Debiana, która zawiera najnowsze wersje każdego pakietu.

Jednak nowy kod to także niesprawdzony kod, dlatego każdy pakiet z tej gałęzi jest udostępniany bez jakichkolwiek gwarancji bezpieczeństwa czy stabilności. Aby pakiet stał się kandydatem do następnego stabilnego wydania Debiana najpierw musi trafić do gałęzi testowej. Wymagania aby pakiet trafił do gałęzi testowej są następujące:
 Musi być obecny przez pewną ilość dni w wydaniu niestabilnym;
 Nie może mieć więcej błędów krytycznych wydania niż pakiet, który aktualnie znajduje się w testowej gałęzi. Błąd krytyczny wydania to taki błąd, który może negatywnie wpłynąć na bezpieczeństwo lub stabilność systemu i powinien być poprawiony przed następnym stabilnym wydaniem;
 Musi być skompilowany we wszystkich oficjalnie wspieranych architekturach;
 Nie może być zależny od pakietów które nie znajdują się w wydaniu testowym.

W ten sposób błąd krytyczny w jednym pakiecie od którego zależy wiele innych pakietów (np. biblioteka) może spowodować, że wiele pakietów nie trafi do testowej gałęzi.

Menadżer danego wydania stabilnego publikuje wytyczne dla deweloperów i decyduje o terminie wydania stabilnego. Jeżeli wszystkie ważne pakiety są we względnie nowych wersjach i są dostępne dla oficjalnie wspieranych architektur, a także wypełnione są założenia dla danego wydania, następuje wydanie nowej wersji stabilnej. W jednym czasie wszystkie pakiety z gałęzi testowej stają się częścią wydania stabilnego. Operacja ta jest poprzedzona tzw. zamrożeniem gałęzi (), w tym najważniejszych podsystemów (jądro, biblioteki, kompilatory, interpretery języków skryptowych itp.).
W czasie gdy gałąź testowa jest zamrożona, nie są w niej umieszczane żadne większe aktualizacje pakietów (w szczególności bibliotek od których zależy wiele innych pakietów), chyba że:
 aktualizacja usuwa poważne błędy (które uniemożliwiłyby używanie danego programu lub całego systemu),
 aktualizacja jest poprawką bezpieczeństwa.
Jest możliwość, że stosunkowo stary, rzadko aktualizowany pakiet, będzie należał do więcej niż jednej gałęzi w tym samym czasie.
Gałęzie są prostą metodą przechodzenia pakietu z katalogu „pool” do stabilnego wydania.

Liderzy projektu 

Liderami Debiana byli kolejno:
 Ian Murdock – sierpień 1993 do kwietnia 1996
 Bruce Perens – kwiecień 1996 do grudnia 1997
 Ian Jackson – styczeń 1998 do grudnia 1998
 Wichert Akkerman – styczeń 1999 do marca 2001
 Ben Collins – kwiecień 2001 do kwietnia 2002
 Bdale Garbee – kwiecień 2002 do kwietnia 2003
 Martin Michlmayr – marzec 2003 do marca 2005
 Branden Robinson – kwiecień 2005 do kwietnia 2006
 Anthony Towns – kwiecień 2006 do kwietnia 2007
 Sam Hocevar – kwiecień 2007 do kwietnia 2008
 Steve McIntyre – kwiecień 2008 do kwietnia 2010
 Stefano Zacchiroli – kwiecień 2010 do kwietnia 2013
 Lucas Nussbaum – kwiecień 2013 do kwietnia 2015
 Neil McGorven – kwiecień 2015 do kwietnia 2016
 Mehdi Dogguy – kwiecień 2016 do kwietnia 2017
 Chris Lamb – kwiecień 2017 do kwietnia 2019
 Sam Hartman – kwiecień 2019 do kwietnia 2020
 Jonathan Carter – kwiecień 2020 - aktualny lider

Obsługiwane jądra systemów operacyjnych 
W ramach polityki tworzenia uniwersalnego systemu operacyjnego, projekt Debian przygotowuje porty dostępnego w tej dystrybucji oprogramowania dla wielu jąder systemów operacyjnych. Obecnie istnieją:

 Debian GNU/Linux na jądrze Linux; oryginalny, oficjalnie wydawany port dostępny na ponad 9 architekturach;
 Debian GNU/kFreeBSD na jądrze FreeBSD (na architekturach i386 oraz amd64); w Squeeze jako technical preview – następnie w wersji Jessie wstrzymany;
 Debian GNU/Hurd na jądrze GNU Hurd (na architekturze i386); wydaniem oficjalnie wspierającym ten kernel miał być Wheezy (Debian 7), nigdy nie ukazało się kompletne wydanie;
 Debian GNU/NetBSD na jądrze NetBSD (na architekturze i386).

Istnieją również porty nieoficjalne, wśród nich:
 Nexenta – Debian GNU/OpenSolaris na jądrze OpenSolaris (na architekturach i386 oraz amd64).

Obsługiwane architektury sprzętowe 
Debian jest wydawany dla różnych architektur komputerowych. Obecnie w wersji stabilnej Jessie istnieją następujące adaptacje:

 i386 – Debian na maszynach x86 – podstawowa i najaktywniej rozwijana, dotyczy procesorów x86;
 amd64 – Debian na maszynach AMD64 – adaptacja dla procesorów 64-bitowych x86-64 oraz Intel Core;
 arm64 – Debian ARMv8-A – adaptacja dla procesorów 64-bitowych ARM;
 armel – Debian EABI ARM – adaptacja dla procesorów ARM;
 armhf – Debian Hard Float ABI ARM – adaptacja dla procesorów ARM z zestawem instrukcji ARMv7;
 mips – Debian MIPS Big-endian – adaptacja dla procesorów MIPS Big endian;
 mipsel – Debian MIPS Little-endian – adaptacja dla procesorów MIPS Little endian;
 powerpc – Debian na maszynach Motorola/IBM PowerPC  – adaptacja dla procesorów PowerPC;
 ppc64el – Debian PowerPC64 Little-endian  – adaptacja dla 64-bitowych procesorów PowerPC Little endian (POWER8, POWER7+);
 s390x – Debian na maszynach Hercules (emulator), IBM System z;
 mips64el – Debian MIPS 64-bit Little-endian – adaptacja dla procesorów MIPS Little endian.

Dodatkowo prace trwają nad architekturami ARM big-endian (armeb), Hitachi SuperH (sh), PowerPC64 (ppc64), Renesas M32R (m32r).

Narzędzia do zarządzania pakietami 
Debian korzysta z pakietów deb. Podstawowym instalatorem pakietów jest dpkg – instalator niskiego poziomu obsługiwany z linii poleceń, lub jego bardziej zaawansowany odpowiednik – APT, w którym wiele czynności jest zautomatyzowanych (pobieranie pakietów, rozwiązywanie zależności między pakietami). Do wygodniejszego zarządzania pakietami, Debian dysponuje nakładkami na powyższe narzędzia – dselect, oraz nowszy – aptitude.

Programy do zarządzania pakietami w Debianie:
 konsolowe: dpkg, dselect, apt, aptitude;
 graficzne: Synaptic, KPackage, adept;
 wyszukiwanie osieroconych pakietów: konsolowy orphaner i graficzny gtkorphan.

Pochodne dystrybucje 
 cdlinux.pl – polska dystrybucja typu LiveCD, oparta na Debianie Sid, uruchamiana z płyt miniCD/CD/DVD
 Floppix – konsolowa dystrybucja typu LiveCD oparta na Debianie slink
 gNewSense – w pełni wolna według FSF dystrybucja oparta na Debianie i Ubuntu
 Knoppix – dystrybucja typu LiveCD, oparta na Debianie, uruchamiana z płyt CD/DVD
 Linux Mint – dystrybucja typu LiveCD, oparta na Debianie i Ubuntu, popularna wśród użytkowników korzystających z niewolnego oprogramowania
 Aptosid – dystrybucja typu LiveCD (dawna nazwa Sidux) oparta na niestabilnym wydaniu Debiana (Sid)
 Trisquel – w pełni wolna według FSF dystrybucja oparta na Ubuntu
 Ubuntu – popularna dystrybucja oparta na Debianie, dostępna także w formie LiveCD
 Raspberry Pi OS – wersja przeznaczona dla mikrokomputera Raspberry Pi
 TAILS – dystrybucja dostarczająca narzędzia ułatwiające zachować użytkownikowi anonimowość i prywatność, a dzięki oprogramowaniu do szyfrowania zwiększa bezpieczeństwo danych. Twórcy na płycie umieszczają m.in. Tor Browser, wraz z przeglądarką internetową doposażoną w rozszerzenia: TorButton, HTTPS Everywhere, NoScript i Adblock Plus.
 Devuan – dystrybucja pierwotnie bazująca na Wheezy (Debian 7), będąca protestem przeciwko integracji debiana z Systemd, uważanego przez sporą grupę osób wspierających Debiana jako coś szkodliwego. ta dystrybucja bazuje na zarządzaniu rozruchem systemu w stylu System V. Podział nastąpił po wydaniu Debian 8.

Przypisy

Linki zewnętrzne 

 Informacje dotyczące wydania “bullseye”,
 Obrazy płyt CD/DVD Debiana wersji stabilnej bullseye.
 Nieoficjalne obrazy płyt do instalacji sieciowej, zawierające własnościowe firmware. (Debian non-free ISO.)