\subsection{\textit{apt}: Advanced Package Tool}

От чисто потребителска гледна точка \deb{dpkg} не е много удобен за
употреба.  Причината за това е, че почти винаги желаният пакет
\textit{зависи} от присъствието (да бъдат инсталирани) на други
пакети.  От своя страна тези пакети могат да зависят от други пакети.
Всичко това може да превърне едно просто инсталиране на пакет в дълга
и досадна рутина.  Но това не е всичко.  Възможно е всички тези пакети
да бъдат разхвърляни на различни компактдискове, Интернет сайтове или
места в локалната мрежа.

Решението на този проблем е пакетът \deb{apt}, който изцяло стъпва
върху \deb{dpkg} за основните задачи по инсталиране и премахване на
deb-файлове.  Самото \deb{apt} се грижи по доставката на тези файлове.

Основният конфигурационен файл на \deb{apt} е \man{sources.list}{5}.
Той съдържа списък на всички места, наричани \textit{източници},
откъдето \deb{apt} да взема пакети.  Всеки източник съдържа списък на
пакети, които могат да се вземат от него.  Така на разположение на
\deb{apt} стои едно голямо множество от пакети, които могат да бъдат
инсталирани.  Както беше казано и по-горе, пакетите могат да зависят
от други пакети.  Например пакет с програма на Perl ще зависи от
пакета \deb{perl}.  Взимайки впредвид тези отношения между пакети,
можем да си представим това множество от пакети като мислена
\textit{мрежа от пакети}.  Цялата функционалност на \deb{apt} се върти
около поддържането на тази мрежа от пакети, така че инсталирането на
пакет да доведе до инсталирането и на всички останали нужни пакети.

\subsubsection{Практическа употреба}

\paragraph{Конфигуриране}

Преди всяка употреба на \deb{apt} трябва се зададат източниците на
пакети в \man{sources.list}{5}.  Във втората фаза на инсталацията на
Debian, след рестартирането, се задават въпроси в тази насока, които
редактират файла \texttt{/etc/apt/sources.list}.  Примерно съдържание
на този файл е следното:

\begin{verbatim}
deb http://security.debian.org/ stable/updates main contrib non-free
deb http://mirrors.ludost.net/debian stable main contrib non-free
deb http://ftp.bg.debian.org/debian stable main contrib non-free
\end{verbatim}

Освен източници в Интернет могат да се добавят и компактдискове с
дистрибуцията.  Дисковете трябва да се слагат един по един в
компактдисковото устройство и да се изпълнява следната командата за
всеки един от тях

\begin{verbatim}
# apt-cdrom add
\end{verbatim}

С това се добавя по един ред в \texttt{/etc/apt/sources.list} за всеки
компант-диск.

\paragraph{Поддържане на мрежата от пакети}

Мрежата от пакети не е статична и непроменяща се с времето.  Списъкът
от пакети на всеки от източниците може да се мени.  Затова тези
списъци, а съответно и мрежата от пакети, трябва да се обновяват.
Това се осъществява с командата

\begin{verbatim}
# apt-get update
\end{verbatim}

Дори да използвате компактдисковете на стабилната дистрибуция на
Debian, вие най-вероятно ще включите като източник
security.debian.org, както е показано по-горе.  Това е източник с
пакети, т.нар. \textit{security updates}, които са подновени след
издаването на стабилната дистрибуция, защото правят системата уязвима
на атаки.  Този източник съдържа същите пакети с (в повечето случаи)
същите версии, но подновени така, че да не застрашават сигурността на
системата. Затова присъствието на източника е много важно, ако сте
свързан към Интернет или локална мрежа.  От само себе си се разбира,
че от време на време трябва да обновявате мрежата от пакети, за да
можете да "`виждате"' тези коригирани пакети.

Повече подробности могат да се намерят в \hlink{страницата в сайта на
  Debian относно сигурността}{http://www.debian.org/security/}.  В
случай на нов коригиран пакет е достатъчно да изпълните

\begin{verbatim}
# apt-get update
# apt-get upgrade
\end{verbatim}

\paragraph{Инсталиране и премахване на пакет}

След като източниците са конфигурирани и мрежата от пакети е обновена,
инсталирането на пакети се заключава в изпълнението на командата

\begin{verbatim}
# apt-get install xpdf kernel-package
\end{verbatim}

В случая тази команда инсталира пакетите \deb{xpdf} и
\deb{kernel-package}, инсталирайки допълнително всички нужни пакети.

Премахването на пакет също е лесно:

\begin{verbatim}
# apt-get remove xpdf
\end{verbatim}

За съжаление това няма премахне пакетите, които са били инсталирани
само за да може \deb{xpdf} да се инсталира.

\paragraph{Търсене на пакет}

Пакети могат да се търсят лесно, ако се използват подбрани ключови
думи, които да се търсят чрез \man{apt-cache}{8} в описанието на
всички пакети.  Пример за търсене е следната команда:

\begin{verbatim}
$ apt-cache search pdf viewer
\end{verbatim}

\paragraph{Информация за пакет}

Командата \man{apt-cache}{8} може да се използва и за тази цел:

\begin{verbatim}
$ apt-cache show xpdf
\end{verbatim}

\subsection{\textit{aptitude}: Удобният начин}

Освен конфигурирането почти всички действия на \man{apt-get}{8} могат
да се извършат и с интерактивната програма \deb{aptitude}.  Употребата
й е препоръчителна за новаци.

\subsection{\textit{synaptic}: Друг графичен начин}

Освен конфигурирането почти всички действия на \man{apt-get}{8} могат
да се извършат и с интерактивната програма \deb{synaptic}.  Употребата
й е препоръчителна за новаци.
