Набързо за aptitude

По случай скорошния рожден ден на проекта Debian, нека кажем нещо за търсенето в aptitude. Aptitude е някак странна програма – ползва се за основни неща от тези, които не искат да се задълбават в подробностите на apt, dpkg и пакетното управление в Debian. От друга страна пък се ползва и от напреднали хакери и разработчици на пакети. Едните ползват два, максимум три клавиша – u за обновяване, f за забравяне на новите и g за инсталиране на отбелязаните – а другите използват всякакви подробни клавиши, съкратени търсения и превключване на изгледите, от които на нормалния човек му се завива свят. Е, или поне му става като в Emacs (приятелска закачка към емаксаджийте, не се сърдете).

Да видим някои от най-полезните клавиши за ежедневна работа и някои основни търсения и шаблони за търсене, които може да са ни полезни. Без претенция за изчерпателност, разбира се – аз самият дълги години вече не съм седнал да дочета наръчника за програмата… Действам на принципа “колкото ми стига – толкова”.

Клавиши:

u – обновяване на списъка с пакети. Същото като apt-get update, или по-точно aptitude update. Някои си го настройват в cron, други инсталират cron-apt, apticron и подобни. Трети, като моя милост, натискат u при влизане в aptitude, за да се радват на запълващите се зелени и оранжеви стълбчета.

f – забравяне на новите пакети (aptitude forget-new). Когато повече от веднъж видите един и същи пакет в графата “New Packages”, си е досадно. Може да се настрои автоматично да ги отбелязва като нови след инсталиране на нещо, но къде отива удоволствието да гледаш как една програма “забравя”? :)

g – при първо натискане дава списък с действията по пакетите и при повторно – започва да ги действа. Пак стълбчетата.

e – ако има неразрешени зависимости, се опитва да ги разреши автоматично. Ако първият списък не ви харесва, натиснете “>” за следващо предложение. И пак, и пак – докато намерите комбинация, която ви устройва. Назад в тази поредица предложения се връщате с “<”. Понякога спестява време вместо ръчно да оправяте конфликтите с избиране на всеки пакет, да ползвате “e”. Но и често не върши работа – логиката е такава, че няма тотален приоритет на вече инсталираните пакети и неведнъж може например за едно малко програмче да ви предлага да махнете целия X с цяла страница пакети. Не разчитайте сляпо на тая автоматика.

M – ръчно отбелязване на отделния пакет като “автоматично инсталиран”.

m – ръчно отбелязване на отделния пакет като “ръчно инсталиран”. Тези последните две са полезни при бъдещо обновяване или премахване на пакети, които са в зависимост от въпросните. Казано накратко, “автоматичните” се повличат от зависещите от тях (не е толкова просто, но ни стига за момента). Разработчиците описват зависимости, но понякога ръчната донастройка на това си е полезна.

Бързи търсения:

b – търси счупени зависимости (от “broken”). Същото като “/~b”.

/ – влиза в режим търсене. Най-простото е да въведете някакъв низ, който смятате, че се съдържа в името на пакета, защото по подразбиране търси в името. Може да шикалкавите с ^ за търсене в началото и ! в края на името.

/~ – специални търсения. Тук темата е широка и не ни стига малкият сайт. Накратко някои полезни – /~dtext търси за “text” в описанието на пакета; /~mtext търси в полето за пакетиралия разработчик; /~atext търси зададено действие за пакет (“text” може да е install, upgrade, hold и т.н.); /~stext търси в секцията “text”; /~Atext търси в конкретен архив на хранилището “text” (stable, unstable и т.н.); /~Otext търси в хранилището на “text”… Май за тези се сещам…

Да не търсим повече шаблони за търсене, мисля че има още доста, но и тези са предостатъчно. Особено като се има предвид, че едно от удобствата на aptitude е визуалната работата с интерфейса – стрелки, enter, q. Каквото е mc за командния ред. :)

Може би тук е моментът да спомена, че съкращенията с ~ си имат несъкратен аналог с ? – например на d отговаря description, на b – broken и т.н. Рядко съм ги ползвал, но ако някъде видите да се споменават, да знаете, че са същите като кратките. Може би е някакво удобство да виждаш изписана цялата дума и така да не я грешиш, не знам.

Също така всяко от тези условия за търсене може да се обръща с “!” – тоест /!text търси за пакети, които НЕ съдържат “text”.

И сега нека честитим рождения ден на Дебиан, като пуснем следното търсене:

/~i!~Odebian

Това ще ви даде пакетите, които са инсталирани и не са от официалните хранилища на Debian. От пакет на пакет може да минавате с “n” (от “next”). А списък с всички тези пакети наведнъж може да получите от команден ред така:

# aptitude search '~i!~Odebian'

Ако като мен използвате към официалните хранилища и тези на Siduction, тогава:

# aptitude search '~i!(~Odebian|~Osiduction)'

Всичко останало са пакети от рожденика :)

Debian на 19

Няма как да се пропусне споменаването – макар да се случва всяка година, рожденият ден на Дебиан си е повод ако не за хакерско празненство с торта с лого, то поне за усмивка и едно “благодаря” наум.

Проектът Debian навърши 19 години. Ако беше от Алабама или Южна Корея, примерно, щеше да навършва пълнолетие. Но за всички, които ползваме Debian GNU/Linux си е отдавна зрял. Думите са или малко, или ненужно помпозни, или така и така вече казани на предните годишнини, затова е достатъчно само едно:

Честит празник на всички!

Софтуерната свобода е за всички потребители, а Дебиан продължава да прави много за разпространението на тази свобода. Дотолкова, че приносът често не се разпознава и е станал част от пейзажа, част от бита ни – както и трябва да бъде.

apt-get rule-world! Debian FTW! Happy birthday! :)

Едно хранилище, без огледала

Raphael Geissert от Debian обяви услугата Debian mirrors HTTP redirector, с която се предполага, че управлението на хранилища в системата и ориентирането из тях – особено ако станат повечко – ще е по-лесно за потребителите. Това, което представлява http.debian.net е един вид посредник, прокси, което пренасочва заявките от един лесно запомнящ се адрес (deb http://http.debian.net/debian) към някой от многото огледални сървъри с хранилища.

Целта е при всяко действие да се използва най-подходящото за целта огледало. Използва се наличните данни за заявката – местоположение и свързаност на клиента и на огледалата, подробности за исканите файлове и на кои огледала могат да се намерят и др. под. И поддържа IPv6. :)

Все още redirector-ът не е съвсем официална и стабилна услуга, не се и настройва по подразбиране при инсталация. Но върши работа – от личен опит споделям няколко успешни ползвания вчера и едно неуспешно днес. Може би все още се донастройва, защото от Debian казват, че подобрения по http.debian.net тепърва ще има.

Ползването е от просто по-просто – ако, да речем, ползвате Unstable, вместо няколко реда с няколко резервни български огледала, пишете само един ред в /etc/apt/sources.list:

deb http://http.debian.net/debian unstable main

И магията работи на заден план.

Може и да се изпробва – на мен в момента ми дава, че най-подходящото огледало е това в ftp.uni-sofia.bg. Има и други начини за избиране на най-бързо огледало. Също така преди имаше сайт apt-get.org с каталог на (не)официални хранилища. Но Debian mirrors redirector звучи обещаващо, запомнящ се и лесен е и има потенциала да подобри работата с хранилища в Дебиан, която особено за начинаещи на моменти изглежда излишно сложна.

Дебиан на 15 години

Проектът Debian, който разработва и развива свободната операционната система Debian във вариантите й за няколко процесорни архитектури и с няколко различни ядра, стана на 15 години.

Все още тинейджър и с много планове за бъдещето. Честито на дебианци!

http://insidesocal.com/click/2008/08/happy-15th-birthday-debian.html
http://www.efytimes.com/efytimes/28150/news.htm
http://yasen.lindeas.com/book/debian-birthday-2008