Ten artykuł wymaga modyfikacji na podstawie najświeższych informacji.
Niektóre treści są na pewno lub najprawdopodobniej nieaktualne. Artykuł należy zweryfikować, wskazując w przypisach źródła informacji. Dokładniejsze informacje o tym, co należy poprawić, być może znajdują się w dyskusji tego artykułu. Po wyeliminowaniu niedoskonałości należy usunąć szablon {{Dopracować}} z tego artykułu.
Debian (wym. ˈdɛbiən[1]) – 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[2]. 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 studentuniwersytetu 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.
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[3], którego głównym założeniem jest jego przyspieszenie.
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[17].
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[18];
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 (ang.freeze), 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.
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 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.
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ą wyposaż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.