\chapter{За този документ и потребителите}

\section{Достъп до документа}

\begin{itemize}

\item \hlink{http://debian-book.photo-forum.net/}{http://debian-book.photo-forum.net/} 
е \textbf{заглавната страница}, където ще се публикуват официалните издания.

\end{itemize}

Най-добре би било, ако всички потребители използват направо кода от
това CVS-хранилище, синхронизирайки своето локално копие от него и
компилирайки по свое собствено желание различните изходи -- HTML,
при който всичко в един файл, или HTML, разбит по глави, PDF и т.н.
Така всички бързо и лесно ще се сдобиват с последните промени в хранилището и ще могат да
добавят свои допълнения, когато намерят за добре. За тези, които не могат
или не искат да си настроят съответното обкръжение за компилиране на
книгата и така да компилират всичко при себе си, могат да ползват
следните сървъри, които всекидневно синхронизират своето локално копие
със CVS хранилището, компилират при себе си и публикуват на своето web
пространство. Ако не компилирате сами за себе си, това е
препоръчителният вариант, с който ще имате достъп до последните промени
правени по съдържанието на документа. Ето и местата от които можете да
разглеждате или изтегляте ежедневни издания по HTTP или FTP:

\begin{itemize}

\item
\textbf{Nightly CVS Mirror \& Build Locations}:

\begin{tabular}{|p{0.1in}|p{3.1in}|p{1.4in}|p{0.8in}|p{0.5in}|}
\hline N & Сайтове & Задачи & Час & Достъп \\
\hline 1 & \hlink{http://www.debianbookbg.org}{http:///www.debianbookbg.org} & cvsupdate,build,rsync,cvs & 01:00 bg & бърз \\
\hline 2 & \hlink{http://debian-book.logos-bg.net}{http://debian-book.logos-bg.net} & cvsupdate,build,rsync & 04:00 bg & бърз \\
\hline 3 & \hlink{http://minus273.mnet.bg/debian-book/}{http://minus273.mnet.bg/debian-book/} & cvsupdate,build & 22:40 bg & бавен \\
\hline 4 & \hlink{ftp://ftp.uni-sofia.bg/debian-book/}{ftp://ftp.uni-sofia.bg/debian-book/} & cvsupdate,build & 22:40 bg & бърз \\
%\hline 5 & \hlink{http://debian.fmi.uni-sofia.bg/\textasciitilde ogi/debian-book/}{http://debian.fmi.uni-sofia.bg/\textasciitilde ogi/debian-book/} & cvsupdate,build & 05:00 bg & бавен \\
%\hline 6 & \hlink{http://www.mathematik.uni-karlsruhe.de/\textasciitilde kuhlmann/debian-book/}{http://www.mathematik.uni-karlsruhe.de/\textasciitilde kuhlmann/debian-book/} & rsync от N 1 & 04:40 bg & бърз \\
\hline
\end{tabular}

\smallskip

В директория \texttt{utils/} се намира скриптът \texttt{debuild.sh}.
Ако не разбирате за какво е и как го прави, не го използвайте.

\end{itemize}

\textbf{Цялата документация и информация, необходима на потребителите,
за да генерират документа на своите машини, както и такава за участие
в проекта и лиценза, под който се разпространява, идва с изходния код.}

\section{Накратко за съдържанието на книгата}

Тази книга се разработва в свободното време с помощта на \LaTeX~и CVS.
Предназначена е за бързо нахвърляне, съхранение и споделяне на
информация между множество потребители, и то на български език, за
неща, уникални за Debian, които може би не се срещат като
функционалност при други системи или са залегнали лошо като замисъл
и/или реализация. Това не значи, разбира се, че Debian е безгрешен. 
Предполага се, че имате поне основна представа от структурата и основните 
особености на Debian, можете да работите с най-важните инструменти за 
управление на системата. Интересно е да се споделя опит и знания за 
възможностите, които може и да не се срещат в официалната документация на 
Debian. Документът към момента се опитва да стане по-добър от стилистична 
и дизайнерска гледна точка, така че подобна помощ, а както и всякакви
конструктивни критики и коментари по съдържанието, се приемат с
удоволствие. Така ще е поне докато махнем и последното FIXME,
включително и това. Целта не е точно описание на конкретен Release на
Debian, това е преходно и е описано на доста места, затова ще гледаме
малко по-глобално. Важното е да се посочат идеята и
дизайнът, които са разширявани, допълвани, тествани и доказали своята
гъвкавост и работоспособност през годините, а самата имплементация
може да се разгледа в съответните изходни кодове.

Предполага се, че имате някаква идея какво е \hlink{Linux}{http://www.kernel.org}
и \hlink{GNU/Linux}{http://www.gnu.org/gnu/linux-and-gnu.html}, но все пак
силно препоръчително е да се прочете внимателно и задълбочено
\hlink{Linux kernel mailing list FAQ}{http://www.kernel.org/pub/linux/docs/lkml/},
където се изясняват неща по принцип, като не е нужно да се записвате в този
списък, разбира се. Ако не разбирате или не ви е ясно нещо от гореспоменатото, то
се препоръчва да започнете първо с:

\begin{itemize}
\item \hlink{http://linux-book.hit.bg}{http://linux-book.hit.bg}
\item \hlink{http://linux-book.logos-bg.net}{http://linux-book.logos-bg.net}
\end{itemize}

които дават добро общо въведение в средата на GNU/Linux.

Ще е добре да имате Debian наоколо, инсталиран на хард диска на някоя
машина, или ако нямате такава с инсталирана Debian подръка, можете да
заредите на произволна x86 машина (PC)
\hlink{Knoppix}{http://www.knoppix.org} от CDROM (без да предприемате
каквито и да било интервенции по хард дисковете, виж по-долу), за да е
по-лесно схващането на нещата, защото само с четене от този документ е
доста по-трудно за разбиране.  Може би ще ви е интересно да прочетете
\hlink{Историята на проекта
  Debian}{http://www.debian.org/doc/manuals/project-history/} (от
пакета \deb{debian-history}) и отговорите на \hlink{Често Задаваните
  Въпроси за Debian}{http://www.debian.org/doc/FAQ/} (от пакета
\deb{doc-debian}).

\section{Други книги за Debian на английски език}

Следните книги могат свободно да се четат през Интернет:

\begin{itemize}
\item \hlink{Debian Reference}{http://qref.sourceforge.net/}
\item \hlink{The Debian Universe}{http://www.debianuniverse.com/}
\item \hlink{Guide to Debian GNU/Linux Desktop
    Survival}{http://www.togaware.com/linux/survivor/}
\end{itemize}

\chapter{Защо Debian GNU/Linux}

\hlink{Debian GNU/Linux}{http://www.debian.org} не е току-що появила се
дистрибуция на операционна система, но като че ли не е достатъчно
популярна и позната сред новите потребители. Затова този документ е
предназначен предимно за тях, но също и за по-напредналите, които въобще не
подозират какво се крие зад Debian GNU/Linux.

Нека направим и уговорката, че това изложение е направено от следната позиция:
         
\begin{itemize}
\item Дистрибуцията трябва да бъде чиста и да пази свободата ---
  \hlink{Debian Social
    Contract}{http://www.debian.org/social\_contract}, \hlink{Debian
    Free Software
    Guidelines}{http://www.debian.org/social\_contract\#guidelines},
  \hlink{Free Software}{http://www.debian.org/intro/free} --- това
  гарантира, че ще се разработва, оценява и излага безпристрастно и
  само и единствено от технически аспект, без влагане на какъвто и да
  било друг нюанс. Така няма да можем да бъдем обвинени в
  недобросъвестна или неясна користна реклама. Ако трябва да бъдем
  честни и безмилостни към съществуващите проблеми, първо трябва да
  започнем с тях, като постепенно ще се преминава към излагане на
  силните страни на дистрибуцията. Това гарантира, че читателят няма
  да бъде заблуден или оплетен още в самото начало с гръмки и сложни
  велики изречения, сякаш проблеми едва ли не няма, като ги
  споменаваме бегло в края. Дори се приема, че читателят, осведомен за
  проблемите, може ще се откаже от по-нататъшно четене, ако е на мнение,
  че тези проблеми са прекалено големи за него.
\item Дистрибуцията трябва да предоставя начин или схема за добре
  обмислено доставяне на софтуера в произволно големи количества, в
  предварително компилиран вид и като изходни кодове, които тя
  предлага в различните свои версии до потребителя, т.е. да е чисто
  installable и upgradeable, като освен това трябва да обучава
  потребителя кое как се прави и защо се прави по този начин, чрез
  съответната документация, стил, политика и изходни кодове.
\end{itemize}

\chapter{Основни понятия и команди}

\section{Общи понятия}

\subsection{Компютър, хардуер и софтуер}

Да започнем с най-простото.  Компютрите са създадени, за да си вършим
по-добре работата.  Това се постига с използването на най-различни
\textit{програми}, които носят общото име \textit{софтуер}.
Програмите доставят функционалността, която се очаква от компютъра.
Това обаче не е физическият компютър, който виждаме.  Този физически
компютър, заедно с всички прикачени към него устройства, наричаме
\textit{хардуер}.

Софтуерът и хардуерът са двете части, които заедно образуват това,
което наричаме \textit{компютър}.  Софтуерът е нещо като "`духа на
компютъра"'.

\subsection{Операционни системи}

В миналото програмите са се грижили за цялото общуване с хардуера,
което е било тежка задача.  Части от програмите са се повтаряли в
толкова много програми, че те се отделяли в \textit{библиотеки}.

Това обаче не се оказало достатъчно.  Нужно било постоянно в паметта
да стои \textit{програма}, която да се грижи за връзката между \textit{програмата} и
другите програми, както и между \textit{програмата} и периферията (клавиатура,
екран).  Тази програма се нарича \textit{ядро}, защото стои в центъра
на дейността на компютъра и всичко останало зависи от нея.

Комбинацията от ядро, \textit{стандартни библиотеки} и много често
използвани програми се нарича \textit{операционна системи}.
Операционната система дава основния тон на цялото общуване между
човек, програми и хардуер.

\section{Дистрибуции на софтуер с ядрото Linux}

\subsection{Пакети}

Това, което обикновено се нарича "`програма"', в света на
операционните системи с ядро Linux, както и във вариантите на BSD, се
нарича \textit{пакет}.  Пакетът е основната единица за функционалност
в операционната система.  Затова най-важните задачи на една
операционна система са инсталирането и премахването на пакети.

\subsection{Дистрибуции и пакетни системи}

Въпреки общото име "`пакет"' има много различни начини да се
реализират действията с пакетите.  Така се образуват \textit{пакетните
  системи}.  Допълнително диференциране се получава от \textit{начините
  на пакетиране}, които могат да бъдат различни за една и съща пакетна
система.  Именно тук стигаме до понятието \textit{дистрибуция}, което
значи организирано пакетиране на програми, при което полученият
резултат се разпространява.

Например дистрибуцията \hlink{Red Hat}{http://www.redhat.com/}
използва пакетната система \hlink{RPM}{http://www.rpm.org/}, също
както дистрибуцията \hlink{Mandrake}{http://www.mandrakelinux.com/}.
Въпреки общата си пакетна система тези дистрибуции са различни, защото
различни организации пакетират програмите, може би даже по различен
начин.

\subsection{Някои термини и понятия}

Нека да дадем и яснота и по някои понятия или термини, повечето от които са 
въведени от проекта Debian, но се ползват и от всички останали:

\begin{itemize}

\item \textbf{upstream sources} - сорсове на дадена програма или приложение.

\item \textbf{debian source package} - \textbf{upstream sources}, към които е 
добавена директория \textbf{debian/}, съдържаща кода, който контролира процеса 
на изграждане (билд процеса) за получаването на \textbf{debian binary packages} 
(\textbf{.deb's}) за съответните хардуерни архитектури. 

\item \textbf{upstream developer} - разработчик на софтуер, по принцип програмист. 
Тези създават \textbf{upstream sources}. 

\item \textbf{upstream maintainer} - този които поддържа \textbf{upstream sources} 
на дадена програма към даден момент. Може и да съвпада с горното, т.е. и той да е 
и \textbf{upstream developer}.

\item \textbf{debian maintainer}, използва се още и \textbf{debian developer} или 
за по-кратко \textbf{DD} - този който създава и поддържа \textbf{debian source package} 
или по-точно директорията \textbf{debian/} към дадени \textbf{upstream sources} към 
даден момент, като трябва да е запознат до известна степен и с нейните \textbf{upstream sources}, 
дори и да не се явява \textbf{upstream developer} или \textbf{upstream maintainer}. 
Може да съвпада с горните две, т.е. да е и \textbf{upstream developer} и \textbf{upstream maintainer}.

\item \textbf{Sponsor} - като цяло \textbf{debian maintainer} не се става лесно. 
Има установена процедура, през която всички кандидати за \textbf{debian maintainers} 
се оценяват и евентуално се одобряват според техните технически умения и възможности 
(статус \hlink{http://nm.debian.org}{http://nm.debian.org}). Има \hlink{Група от опитни 
debian developers}{http://nm.debian.org/whoisam.php}, които се занимават с това процедиране 
на новите кандидатури. Тези, които все още не са станали официални \textbf{debian maintainers}, 
могат да си намерят \hlink{Sponsor}{http://www.debian.org/devel/join/newmaint\#Sponsor} - това 
е официално регистриран \textbf{debian maintainer}, който ще се съгласи на одитира и upload-ва
в официалния архив на Debian така направения от Вас пакет или пакети. Може да ви бъде от полза 
следното хранилище: \hlink{http://mentors.debian.net}{http://mentors.debian.net}. Не бъркайте 
този вид \hlink{Developer Sponsorship}{http://www.debian.org/devel/join/newmaint\#Sponsor} с
\hlink{Partners}{http://www.debian.org/parthners} или \hlink{Donations}{http://www.debian.org/donations}

\end{itemize}

Понеже Debian е платформа, използвана много интензивно от програмисти или въобще разработчици
на софтуер, в доста случаи един и същи човек е и \textbf{upstream developer} и \textbf{debian
maintainer}. Има и доста софтуер, който е разработен специално за проекта Debian, но може да
се ползва и от всички останали, разбира се.
