Дебиан

Debian (изговаря се „дѐбиън“ или „дѐйбиън“, на български разпространено като Дебиан) е UNIX-подобна компютърна операционна система, съставена изцяло от свободен софтуер, лицензиран най-вече под GNU General Public License и пакетиран от група хора, участващи в The Debian Project (Проектът Дебиан).

The Debian Project е създаден на 16 август 1993 година от Ian Murdock (Иън Мърдок). Името „Debian“ е комбинация от първите три букви от името на тогавашната му приятелка – Debra, и от неговото име – Ian. Debian 0.01 е издаден на 15 септември 1993 година, а първият Stable (стабилно издание) е пуснат през 1996 година. Тогава започва постоянно нарастване на броя на разработчиците и на качеството на една от най-големите дистрибуции, създавана от общност, отличаваща се едновременно с отвореността си и с прецизната си, и подробна организираност.

Debian е една от най-популярните GNU/Linux дистрибуции за сървъри и персонални компютри, и на негова база са създадени над 300 GNU/Linux дистрибуции, включително Ubuntu, Linux Mint, SteamOS, Kali Linux, Tails и т.н., което прави Debian и Debian-базираните дистрибуции най-масовите в света на GNU/Linux.

Работата на проекта се осъществява в интернет от група доброволци, ръководени от Debian Project Leader (Лидера на Проекта Дебиан) и три основни документа: Debian Social Contract (Социалния договор на Дебиан), Debian Constitution (Конституцията на Дебиан), и Debian Free Software Guidelines (Указанията на Дебиан за Свободен Софтуер). The Debian Project работи непрекъснато с цел изготвяне на следващия Stable, който се пуска „когато е готов“, тоест когато разработчиците решат, че са премахнати всички критични бъгове и проблеми. Debian Stable е известен с легендарната си стабилност.

Като една от първите операционни системи базирани на Linux ядрото, е решено Debian да се разработва открито и да се разпространява безплатно и свободно, в духа на Проекта GNU. Това решение привлича вниманието и подкрепата на Free Software Foundation (Фондацията за Свободен Софтуер), която спонсорира Debian в рамките на една година,от ноември 1994 до ноември 1995. В края на спонсорството, The Debian Project създаде организацията с нестопанска цел Software in the Public Interest (Софтуер в Обществен Интерес), която първоначално е създадена, за да може Debian да приема дарения, а днес самата тя е спонсор на много свободни проекти.

Основната версия на Debian, Debian GNU/Linux, използва Linux ядро и GNU програми, но съществуват и други версии, базирани на FreeBSD ядрото – Debian GNU/kFreeBSD, и на GNU Hurd ядрото – Debian GNU/Hurd. Всичките използват GNU потребителското пространство и GNU C библиотеката (glibc).

Характеристики 

Debian има достъп до онлайн хранилища които към днешна дата съдържат между 50 000 и 60 000 пакета компилиран софтуер, което е една от най-големите колекции в света. Официално Debian съдържа само Свободен софтуер (в хранилището main), но несвободен софтуер също може да бъде изтеглен и инсталиран от хранилищата на Debian (contrib и non-free). Debian включва софтуер като офис пакетът Libre Office, браузърите Mozilla Firefox, Chromium, плеърите VLC, Rhythmbox, редакторът на изображения GIMP, уеб сървърите Apache, Nginx, базите данни MySQL/MariaDB, PostgreSQL, MongoDB, програмните езици PHP, Python, Perl, Ruby, също така се поддържат езиците Java, C#, C++, Rust и т.н., средите за разработка Eclipse, NetBeans, MonoDevelop и други. Софтуер, които поради лиценза си не може да бъде добавен в хранилищата на Debian, като Google Chrome, Visual Studio Code или Skype, също може да бъде лесно инсталиран чрез пакети предоставени на страниците на съответния софтуер.

Ядра 
Debian официално поддържа Linux, а неофициално предлага kFreeBSD и GNU Hurd. Debian GNU/kFreeBSD беше пуснат за IA-32 и x86-64 архитектурите в Debian 7 „Wheezy“, и съдържаше по-малко софтуер от Linux дистрибуцията на Debian. Официално поддръжката за kFreeBSD беше премахната в Debian 8 „Jessie“, който не предлагаше kFreeBSD-базирана дистрибуция. Актуалният стабилен Debian 9 „Stretch“ използва Linux ядро версия 4.9, която е с дългосрочна поддръжка, като по-нови версии (4.13) може да бъдат инсталирани от Backports хранилището.

Инсталация 
Debian предлага DVD и CD образи за инсталация които могат да бъдат изтеглени с BitTorrent, jidgo или директно. Пълният комплект се състои от няколко диска (целият amd64 порт заема 14 DVD-та), но само първият диск е нужен за инсталацията на операционната система, тъй като инсталаторът може да изтегли от интернет софтуера, който липсва на първия диск. Останалите дискове съдържат пакетите от хранилищата и могат да бъдат използвани при липсваща връзка с интернет.

Debian предлага различни мрежови инсталационни методи. Минимален инсталатор на Debian (290 МБ) е наличен в netinstall CD-то, като първо се инсталира само базата на Debian, а останалият необходим софтуер се избира от менюто на инсталатора и се изтегля от хранилищата чрез интернет. Друга опция е инсталаторът да се зареди от интернет.

Инсталационните образи могат да бъдат записани на флашки, като за amd64 и i386 архитектурите са налични хибридни образи които могат да бъдат използвани за създаването на Live USB, чрез което операционната система да се зареди и използва без да бъде инсталирана.

По подразбиране, буутлоудъра е GNU GRUB версия 2, но името на пакета е просто grub, а версия 1 беше преименувана на grub-legacy.

Графичната среда по подразбиране може да бъде избрана от менюто по време на инсталация, като налични са GNOME, KDE, Xfce, MATE, Cinnamon и LXDE (други графични среди или мениджъри на прозорци също могат да бъдат инсталирани допълнително от хранилищата).

The Debian Project предлага подробно ръководство за инсталация, за всяка една от поддържаните архитектури.

Пакетна система 
Диаграма показваща жизнения цикъл на пакетите в Debian
Пакетната система на Дебиан, dpkg и инструментите за работа с нея, основаващи се на Apt, контролират зависимостите между пакетите. Затова Debian е операционна система със силно проследяване на зависимостите: когато потребителят инсталира програма, се проверява дали за нормалната ѝ работа не трябва инсталирането и/или донастройката на други програми. И ако това е нужно, се прави. По този начин се избягва търсенето на пакетни зависимости „на ръка“, характерно за Slackware и т.нар. „ад на зависимостите“ (dependency hell), познат от по-старите версии на rpm-базирани дистрибуции.

Системата (благодарение на управлението на пакети APT) е толкова стабилна и добре поддържана, че потребителите ѝ се пристрастяват към Debian и отказват да ползват други операционни системи. За тях понятия като преинсталация, преминаване към нова версия, инсталиране на програми за сигурност губят смисъл, тъй като някои (преинсталацията) са ненужни, а другите се поддържат автоматично.

Хранилища 
Debian поддържа няколко типа хранилища, според това колко време е тестван софтуера в тях:
 Oldstable – остарял стабилен – под името stretch
 Когато се издаде нова стабилна версия, старата продължава да се поддържа в продължение на 1 година, но се препоръчва миграция към стабилна. Екипът на Debian Long Term Support, при необходимост, осигурява поддръжката на oldstable издание до 5 години.

 Stable – стабилен – под името buster
 Този софтуер е тестван продължително време (около година). Тези хранилища се ползват в стабилното издание.

 Testing – тестов – под името bullseye
 Името често заблуждава тези, които не са запознати с дистрибуцията. Софтуерът е тестов за следващата стабилна версия, но в същото време е доста стабилен – тестван около 6 месеца в експерименталните хранилища и 2 – 3 седмици в нестабилните unstable/sid хранилища.

 Unstable – нестабилен – постоянно под името sid
 Тези хранилища са буферът между тестовите хранилища и експерименталните. В тях пакетите стоят сравнително кратко време (2 – 3 седмици), но в този период се извършва сериозна работа по напасването им към останалите пакети в системата. Ubuntu използва пакети от това хранилище.

 Experimental – експериментален
 В тези хранилища се намира нов, нетестван софтуер. Често този софтуер, след предварителна проверка, се ползва в деривати на Debian (като Linux Mint).

Винаги когато се работи с Debian, трябва да се има предвид, че стабилната Stable и тестовата Testing или Sid версията, са всъщност различни дистрибуции. Testing не е просто по-нов вариант на стабилната версия, а тестова версия на следващото стабилно издание. Пакетите в нея са несъвместими с тези в предходната версия. Затова никога не трябва да се смесват хранилищата на различните дистрибуции. Винаги трябва да се използват само стабилните, само тестовите или само нестабилните хранилища, но никога заедно.

Backports хранилища 
Тези хранилища позволяват включването на нов софтуер (еквивалентен на този в testing) в стабилната версия stable. С добавянето им може да се добави ново щатно ядро или нова версия на уеб браузъра, но това трябва да се прави само при необходимост и от опитни потребители.

Инсталация/деинсталация на пакети 
Инсталацията на пакети от хранилищата се извършва с Apt. Мениджърът сваля пакета от хранилищата, заедно с необходимите зависими пакети, и го инсталира. Деинсталацията също се извършва от Apt, като има и опция която намира и изтрива вече ненужните за функционирането на системата пакети.

Това може да стане директно – команден ред в терминала или с някое от графичните приложения – Synaptic, Apper, Packagekit. Програмата има търсачка, с която се намира желаният пакет, задава се за инсталация и се прилагат промените.

Инсталация на локални пакети 
Инсталацията на локални (външни за хранилищата) пакети се извършва в команден ред с командата:
dpkg -i път_до_пакета
Този метод е несигурен, защото с dpkg –i се инсталира всеки посочен .deb пакет, независимо дали е за съответната система и дали са налични зависимости.

Резултатът често е инсталиран, но неработещ пакет в системата.

По-безопасен и в същото време лесен метод е инсталацията с графични мениджъри от типа на GDebi (gdebi-kde или gdebi-gtk).

Тези приложения ползват едновременно dpkg-i и apt-get. Когато бъде инсталиран локален пакет с такова приложение, то проверява пакета за съвместимост и инсталира от хранилищата липсващите зависимости. Резултатът е инсталиран и работещ пакет.

Актуализация 
Според типа на обновяване (надграждане), GNU/Linux дистрибуциите са два основни типа – с периодични издания и непрекъснато актуализиращи се (Rolling release). Надграждането в Debian съдържа елементи и на двата типа.

Debian е една от малкото GNU/Linux дистрибуции, които поддържат два типа издания – Стабилно Stable и Тестово Testing. Периодично, тестовото издание се „замразява“. През този период от разработката фокусът на разработчиците не е към добавяне на нова функционалност, а към изчистване на съществуващите бъгове и проблеми. Когато се прецени, че Testing е достатъчно зрял и безпроблемен, той се обявява за Стабилен (обявява се Release на новата Stable версия). От следващия ден започва разработката на тестовата версия на бъдещото стабилно издание. Хранилищата могат да се конфигурират по такъв начин, че да се поддържа винаги Stable, Testing или Sid версия. Могат да бъдат конфигурирани и само за конкретно издание, чрез изписване на името му, при което, дори при излизане на следващото Стабилно издание, надграждане няма да има. С промяна на конфигурацията на хранилищата (може да се извърши само с редакция на една дума в реда с източника), може да се извърши преход от стабилно, към тестово или нестабилно издание.

Графични среди 
За Debian са налични много от популярните, съществуващи графични среди за GNU/Linux.

На основния инсталационен диск – DVD-1, са достъпни 6 от най-често използваните – GNOME, KDE, Xfce, Cinnamon, MATE и LXDE. В Debian 7 Wheezy, средата по подразбиране GNOME 2 бе заменена с Xfce, а в Debian 8 Jessie отново бе избран GNOME, но вече с актуалната версия 3. В Debian 9 Stretch среда по подразбиране отново е GNOME 3, като налични са също и МАТЕ, KDE Plasma, Xfce, LXDE, LXQt, Cinnamon, възможно е и инсталирането само на мениджър на прозорци – Openbox, Enlightenment, Fluxbox, IceWM, Window Maker или инсталация без графична среда (често срещано при сървъри).

Указания на Debian за свободния софтуер (DFSG) 
Версия 1.1, ратифицирана на 26 април 2004 г. Замества версия 1.0, ратифицирана на 5 юли 1997 г.

Указанията на Debian за свободен софтуер, първоначално проектирани като набор от ангажименти, които обещаваме да спазваме, са част от обществения договор и бяха приети от обществото на свободния софтуер като основа за дефиницията за отворен изходен код.
 Свободно разпространениеЛицензът на никой компонент на Debian не може да ограничава никого да продава или подарява софтуера като част от софтуерна дистрибуция, съдържаща програми от различни източници. Лицензът не може да изисква процент от продажбите или друга такса при подобна продажба.
 Изходен кодПрограмата трябва да идва с изходен код и да позволява разпространение във вид на изходен ход и в компилиран вид.
 Производни разработкиЛицензните условия трябва да позволяват промени и производни разработки и трябва да позволява те да бъдат разпространявани при същите условия като оригиналния софтуер.
 Непокътнат авторски изходен кодЛицензните условия може да ограничават разпространението на променен изходен код _само_ при условие, че не ограничават разпространяването на „файлове-кръпки“ заедно с изходния код с цел модификация на програмата по време на компилиране. Лицензът трябва ясно да разрешава разпространението на резултата от компилирането на променен изходен код. Лицензът може да изисква производните разработки да използват различно име или версия от оригиналния софтуер. (Това е компромис. Проектът Debian препоръчва на авторите да не ограничават променете в никакви файлове, независимо дали са изходен код или резултата от компилиране.)
 Без дискриминация на лица и групиЛицензните условия не трябва да дискриминират отделни лица или групи.
 Без ограничаване на начините на използванеЛицензните условия не трябва да поставят ограничения при използването на софтуера за специфични цели. Например, не се допуска забраната за използване в бизнес-организации или за генетични изследвания.
 Разпространение на лицензаПравата, прикрепени към програмата трябва да са приложими за всички, до които тя се разпространява без да е необходим допълнителен лиценз.
 Лицензът не трябва да е специфичен за DebianПравата, прикрепени към програмата не трябва да зависят от това дали тя е част от Debian или не. Ако програмата е извадена от операционната система Debian и се използва или разпространява без Debian, но според условията на лиценза, всички, получили копия на програмата трябва да получават същите права, които биха получили ако програмата е част от Debian.
 Лицензът не трябва да засяга друг софтуерЛицензните условия не трябва да поставят ограничение за друг софтуер, разпространяван с лицензирания. Например лицензът не трябва да изисква всички други програми, разпространявани на същия носител да са свободен софтуер.
 Примерни лицензиЛицензите GPL, BSD и Artistic са примери за лицензи, които смятаме за „свободни“.

Ресурси в България 
Българските сайтове за изтегляне, инсталация и поддръжка на Debian са:
 www.debian.org на български
 debian.ludost.net
 ftp.bg.debian.org

Дистрибуции, базирани на Debian

Български 
УСУ, Tilix (вече не съществува).

Други 
Ubuntu, Mint, LMDE, Kali Linux, SteamOS, Tails, Point Linux, Knoppix, Linspire, Mepis, Kanotix, Xandros, SolusOS, Aptosid, Siduction, Parsix, Snowlinux, KWeezy, GNewSense и още над 300 дистрибуции.

От къде идват кодовите имена на изданията? 
Имената са взети от филма Toy Story с цел да се направят по-лесно огледалата на Debian.

Източници

Външни препратки 
 Официален сайт, включително и на български
 Форум

GNU/Linux дистрибуции