[ previous ] [ Abstract ] [ Copyright Notice ] [ Contents ] [ next ]

APT HOWTO
Chapter 3 Управление на пакетите


3.1 Осъвременяване на листинга с наличните пакети

Пакетната система използва база данни в която съхранява записи за това кои пакети са инсталирани и кои не. Програмата apt-get използва тази база данни за да "разбере" как да инсталира пакетите поискани от потребителя, и да определи кои допълнителни пакети трябва да се инсталират така, че избраният пакет да работи правилно.

За да осъвремените този листинг, изпълнете apt-get update . Тази команда ще използва листинга на пакетните архиви който е зададен в /etc/apt/sources.list; виж /etc/apt/sources.list file, Виж Файлът /etc/apt/sources.list, Section 2.1 за повече информация.

Добра идея е да стартирате тази команда от време на време, за да добивате информация за евентуалните обновления на пакетите.


3.2 Инсталиране на пакети

Вече идваме и до самото инсталиране на пакети. Необходимо е само да се посочи името на пакета. Например, може да изпълните:

     apt-get install xchat

APT ще претърси своята база данни за последната версия на този пакет и ще я изтегли от съответния архив указан в sources.list. В случай, че този пакет зависи от друг -- както е в случая -- APT ще провери зависимостите и ще инсталира необходимите пакети. Пример:

     [root]@[/] # apt-get install nautilus
     Reading Package Lists... Done
     Building Dependency Tree... Done
     The following extra packages will be installed:
       bonobo libmedusa0 libnautilus0
     The following NEW packages will be installed:
       bonobo libmedusa0 libnautilus0 nautilus
     0 packages upgraded, 4 newly installed, 0 to remove and 1  not upgraded.
     Need to get 8329kB of archives. After unpacking 17.2MB will be used.
     Do you want to continue? [Y/n]

Пакетът nautilus зависи от показаните споделени библиотеки, така че APT ще ги изтегли от архива. Ако сте указали иманата на пакетите съдържащи тези библиотеки в командния ред на apt-get , APT няма да ви попита дали искате да продължите с инсталацията, а ще сметне че искате да инсталирате всички тези пакети.

Това означава, че APT иска потвърждение когато трябва да инсталира пакети които не сте посочили, но са необходими за да се разрещат зависимостите.

Следните опции на apt-get могат да ви бъдат полезни:

     -h  This help text.
     -d  Download only - do NOT install or unpack archives
     -f  Attempt to continue if the integrity check fails
     -s  No-act. Perform ordering simulation
     -y  Assume Yes to all queries and do not prompt
     -u  Show a list of upgraded packages as well

Може да посочите множество пакети за инсталиране, като ги подадете един ред. Изтеглените пакети се съхраняват в директорията /var/cache/apt/archives за да бъдат инсталирани по-късно.

Можете да укажете на същия команден ред пакетите които искате да премахнете. Просто поставете '-' след името на пакета за който искате да направите това. Пример:

     [root]@[/] # apt-get install nautilus gnome-panel-
     Reading Package Lists... Done
     Building Dependency Tree... Done
     The following extra packages will be installed:
       bonobo libmedusa0 libnautilus0
     The following packages will be REMOVED:
       gnome-applets gnome-panel gnome-panel-data gnome-session
     The following NEW packages will be installed:
       bonobo libmedusa0 libnautilus0 nautilus
     0 packages upgraded, 4 newly installed, 4 to remove and 1  not upgraded.
     Need to get 8329kB of archives. After unpacking 2594kB will be used.
     Do you want to continue? [Y/n]

Виж Премахване на пакети, Section 3.3 за повече информация относно премахването.

Ако по някакъв начин повредите инсталиран пакет, или просто искате файловете от този пакет да бъдат преинсталирани със същата версия, тогава ползвайте опцията --reinstall . Пример:

     [root]@[/] # apt-get --reinstall install gdm
     Reading Package Lists... Done
     Building Dependency Tree... Done
     0 packages upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 1  not upgraded.
     Need to get 0B/182kB of archives. After unpacking 0B will be used.
     Do you want to continue? [Y/n]

Версията на APT по време на създаването на този документ е 0.5.3, в текущата версия на Debian `unstable' (sid). Ако имате инсталирана тази версия тогава ще разполагате с допълнителна функционалност по отношение на това от коя дистрибуция да бъде инсталиран вашия пакет, формата е apt-get install package/distribution или apt-get install package=version. Например:

     apt-get install nautilus/unstable

по този начин ще инсталирате nautilus от `unstable' дистрибуцията дори в момента да работите на `stable'. Стойностите за дистрибуцията са stable, testing, и unstable.

Важно забележка: `unstable' дистрибуцията на Дебиан съдържа последните "качени" пакети. В тази дистрибуция се правят голяма част от промените в проблемните пакети, касаещи няколко други пакета или системата като цяло. По тази причина, тази дистрибуция не би следвало да се ползва от начинаещи потребители, или такива които се нуждаят от доказаната стабилност на `stable' дистрибуцията, защото `unstable' е първия етап от разработката и проблеми най-вероятно ще има. Дистрибуцията `testing' е по-стабилно състояние от `unstable', т.е. повечето от пакети за вече преминали някакъв период на тестиране и тестовете продължават така, че когато наистина всичко е изчистено да преминат в `stable' дистрибуцията.


3.3 Премахване на пакети

Ако не искате повече да ползвате някой пакет, можете да го премахнете от системата използвайки APT. Просто изпълнете: apt-get remove package . Например:

     [root]@[/] # apt-get remove gnome-panel
     Reading Package Lists... Done
     Building Dependency Tree... Done
     The following packages will be REMOVED:
       gnome-applets gnome-panel gnome-panel-data gnome-session
     0 packages upgraded, 0 newly installed, 4 to remove and 1  not upgraded.
     Need to get 0B of archives. After unpacking 14.6MB will be freed.
     Do you want to continue? [Y/n]

Както се вижда от примера, APT също се грижи за премахването на пакетите които зависят от пакета който искате да премахнете. Няма начин да премахнете пакет чрез APT без също така да премахнете и тези пакети които зависят от него.

Ползвайки apt-get както е посочено по-горе ще премахне пакетите, но техните конфигурационни файлове (ако има такива) ще останат в системата. За пълно премахване на пакета заедно с неговите конфигурационни файлове изпълнете:

     [root]@[/] # apt-get --purge remove gnome-panel
     Reading Package Lists... Done
     Building Dependency Tree... Done
     The following packages will be REMOVED:
       gnome-applets* gnome-panel* gnome-panel-data* gnome-session*
     0 packages upgraded, 0 newly installed, 4 to remove and 1  not upgraded.
     Need to get 0B of archives. After unpacking 14.6MB will be freed.
     Do you want to continue? [Y/n]

Забележка: Символът '*' пред имената на пакетите показва, че конфигурационните файлове на всеки от премахваните пакети също ще бъдат премахнати.

Точно както в случая с install , можете да укажете инвертиращо поведение