dselect

Dselect, е стандартния за Debian механизъм за управление и инсталация на пакети. Въпреки че частично функционалността му може да бъде постигната чрез apt или директно чрез dpkg, dselect разполага с някой функционалности, които не трябва да бъдат пропускани.

Основното, което прави dselect уникален като механизъм за управление на пакетите в debian, е това, че той присъства стандартно във всяка инсталация, предлага текстово меню базиран интерфейс, и следи зависимостите между пакетите много по-дълбоко, отколкото го прави apt, и това му помага да решава проблеми, които apt не е годен да реши.

Основи на dselect:

Dselect трябва да се стартира от командният ред в текстов режим, с права на root и без никакви параметри. Макар че е възможно да се стартира от името и на друг потребител, при типично стандартно инсталирана дистрибуция няма да може да се прави нищо съществено с него. Dselect разполага с няколко командни параметъра, но те се използват много рядко и като цяло управляват debug, или цветови режим.

Менюто на dselect се състои от няколко основни части:

0. [A]ccess

1. [U]pdate

2. [I]nstall

3. [C]onfig

4. [R]emove

5. [Q]uit

Всяка буквичка от меню заградена в квадратни скоби [] може да бъде използвана за директен достъп чрез натискане на съответния клавиш от клавиатурата. Също така е възможно да се използва и съпоставеният номер пред името на реда, за директен достъп. В противен случай можете да използвате и да се позиционирате на съответното място чрез стрелките.

Въпреки че не е било винаги така, в съвременните debian дистрибуции dselect използва dpkg и apt като подсистеми за конкретно управление на пакетите, по макар и невидим за потребителите начин. Все пак е важно да се знае това, с цел в процеса на работата с дистрибуцията и управлението на пакети да се осъзнае нейната логика и свързаност между съставните и компоненти.

Когато управлявате инсталацията на пакети основните въпроси, на които трябва да си отговорите са:

От къде се извличат пакетите, когато желаем да ги инсталираме? – С това се занимава конфигурацията в менюто [A]ccess

Какви точно пакети има на мястото, от което ги взимаме преди да ги инсталираме и какви са техните изисквания и зависимости? – С това се занимава менюто [U]pdate

Какво точно искаме да направим (да инсталираме, премахнем, преконфигурираме) и с кой пакет? – С това се занимава менюто [S]elect

Да изпълним съответните действия зададени от [S]elect. – С това се занимават менюто [I]nstall, [C]onfig и [R]remove.

Следователно, за да направим инсталация на пакет през dselect, трябва последователно да преминем и конфигурираме всяко едно от менютата – [A]ccess, [U]pdate, [S]elect, [I]nstall. От друга страна, ако веднъж сме конфигурирали [A]ccess например, и не желаем да променяме конфигурацията, не е нужно да преминаваме от там. Същото се отнася като цяло и за другите менюта.

[A]ccess

Целта на това меню е да бъде конфигуриран и избран методът на достъп до мястото, където се намират пакетите, които желаем евентуално да инсталираме на системата. Веднъж конфигурирано, не е необходимо това меню да бъде достъпвано повече (освен, ако не желаете да направите някаква промяна).

В съвременния dselect след избиране на [A]ccess следва да посочите метод на достъп до пакетите. Възможностите са много, поради факта, че методите са всъщност малки модули, които разширяват функционалността на dselect. Всеки, както и вие самият можете да си напишете такъв модул.

Типичните налични методи са:

multi_cd

multi_nfs

mounted

floppy

apt

Метод за достъп apt

Това е метод за достъп, който е базиран на стандартната работа на командата apt. Целта е достъпът и управлението на пакетите да бъде унифициран, без значение дали се използва apt или dselect. И понеже dselect и apt записват информацията за наличните пакети и техните зависимости в различни файлове, е силно препоръчително в dselect да се използва метод за достъп apt, с цел информацията между двете да си съвпада (единствената съществена причина за това е да се улесни работата на администраторите и да не се извлича два пъти информация от оригиналния източник).

Когато изберете метод apt ви се предлага един диалог, в който можете да промените конфигурацията на apt файла sources. Там можете да изберете мястото, където се намират пакетите и как да се достъпват според правилата на apt. Менюто е точен еквивалент на извикването на командата apt-setup. Конфигурацията на достъпа се намира във файла /etc/apt/sources.list (man sources.list). Ако имате proxy то трябва да го зададете по правилата на apt (или lynx) чрез променлива:

# export http_proxy=http://gateway:3128/

# dselect

Метод за достъп multi_cd

Това е мощен но вече сравнително стар метод за достъп до пакетите на debian. Основната му цел е да позволи инсталация на дистрибуция от един или няколко CDROM-а като например Debian Binary CD.

Когато започнете да го използвате ще бъдете запитани за директорията, в която се монтира CDROM-а, мястото на Debian дистрибуцията и на пакетите в нея.

Метод за достъп multi_nfs, mounted

Това са методи, чиято цел е да се опише, че пакетите са достъпни през монтирана през NFS или по друг начин директория на диска.

Метод за достъп floppy

Това е непрепоръчителен метод за инсталация на дистрибуцията от floopy или ZIP диск.

[U]pdate

Целта на това меню е да стартира процес, който да извлече от мястото, където се намират пакетите списък с техните имена и зависимости. Какво точно прави зависи и е специфично за всеки различен избран метод за достъп. Ако е избран препоръчителният метод за достъп apt, се стартира процес, който е еквивалентен на изпълнението на командата apt-get update. След приключване на изпълнението на apt-get update, dselect изчита обновеният списък с пакетите на apt, и изгражда собствената си база с данни. В базата на dselect се следят много по-сложни зависимости.

В типичните ситуации е рядкост често да се променя методът за достъп (менюто [A]ccess). Но е силно препоръчително при всяко стартиране на dselect да се извика поне веднъж [U]pdate, за да бъде сигурно, че информацията за пакетите е актуална. Това не се прави автоматично с единствената идея, че администраторът на машината може да не я е свързал в интернет или да не е сложил cdrom-ът с пакетите.

[S]elect

Това е менюто, в което се върши реалната работа по управлението на пакетите. След като е направен [U]pdate, за да сме сигурни, че информацията в базата с пакетите е актуална трябва да влезем тук.

След избиране на [S]elect се вижда една страница с кратка помощ как точно ще изглежда списъкът с пакетите и как да различим кои са нови, кои са инсталирани, за кои има по-нови версии и в кои има някакъв проблем. Също така с помощта на клавиша интервал може да се разходите и да разгледате останалата част от помощната страница, както и клавишите за достъп до функциите, които се предлагат. С клавиша Enter се влиза директно в списъка с пакетите.

Това, което е важно да се запомни е, че винаги, когато натиснете клавиша „?” ще бъде показана кратка помощ за клавишите и как се използва менюто като цяло.

Ако терминалната емулация ви е конфигурирана както трябва, то трябва да виждате всички пакети, за които dselect знае от къде да ги извлече или са инсталирани на системата. Менюто изглежда горе долу така:

Пакетите са разделени на секции (стари, графични, инсталирани, свободни, платени и т.н.). Пред всяко име на пакет има 4 знака, които за инсталираните пакети изглеждат най-често като „*”. Тези три знака определят какво е състоянието на пакета спрямо системата. Това се нарича EIOM. Или по точно:

Под E стои знак, който определя дали е имало грешка при инсталирането или достъпването на пакета. Ако тук пише „R” значи е имало сериозен проблем.

Под I стои знак, който определя дали пакетът е инсталиран вече. Знаците значат както следва:

„*” – пакета е инсталиран

„-„ – пакета не е инсталиран, но конфигурационните му файлове присъстват (може да е бил деинсталиран без изтриване на конфигурационните файлове)

„U” – разархивиран, но без стартиран конфигурационен скрипт

„C” – полуинсталиран, поради грешки в конфигурационният скрипт

„I” – полуинсталиран, поради някаква грешка

Под O стои знак, който определя каква е била предишната ни директива/команда към пакета (например да се инсталира).

Под M стои знак, който определя текущата директива (последното, което сме избрали и което ще бъде изпълнено при Install). Знаците значат както следва:

„*” – ще бъде инсталиран и упгрдейдван

„-„ – ще бъде изтрит

„=” – пакета е заключен. Няма да бъде променян от автоматично действие.

„_” – пакета е маркиран за пълно изтриване (включително с конфигурационните файлове)

„n” – пакета е нов и не е имал предишно зададена команда

Възможно е да желаете да виждате информацията за пакетите в по-подробен вид. Това се превключва чрез клавиша “V” – Verbose.

Основните клавиши, които трябва да се знаят:

„+” избира пакетът да бъде инсталиран. При натискането веднага се проверяват всички познати зависимости между пакетите и се прави предложение да бъдат изпълнени.

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

„=” заключва пакета. Така той няма да бъде променян или предлаган за upgrade при автоматична проверка.

„:” отключва пакета, ако е бил заключен.

„Q” излиза от менюто или под менюто, без да прави проверка на зависимостите.

Enter излиза от менюто с проверка на зависимостите (препоръчителният начин).

„X” излиза без да запомня последната промяна.

CTRL+C излиза от dselect директно.

„/” търси текст в името на пакетите.

„\” търси последният търсен текст отново.

“e” се мести от началото до края на списъка.

„i” дава допълнителна информация за пакета.

[I]nstall

Това е менюто, което изпълнява зададените в Select команди. Ако се използва метод APT, тук се и изтриват зададените за изтриване пакети.

[C]onfigure

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

[R]emove

Това е менюто, което изтрива зададените в [S]elect за изтриване пакети.

dselect

Nikola Antonov

2004-07-30T19:16:00