Доста вероятно най-характерната особеност на Debian-базираните Linux дистрибуции (като Ubuntu, Mepis, Knoppix и т.н.) е тяхната пакетна система - APT. Също известен като Advanced Package Tool, APT бе представен за първи път в Debian 2.1 през 1999 г. APT не е толкова специфична програма, колкото е колекция от отделни пакети, свързани с нея.

С APT, Linux придобива възможността да инсталира и управлява софтуерни пакети по много по-прост и по-ефективен начин, отколкото беше възможно преди това. Преди въвеждането му най-много софтуер трябваше да бъде инсталиран или чрез ръчно компилиране на изходния код, или чрез използване на отделни пакети без автоматична обработка на зависимостта (като RPM файлове). Това може да означава часове на "зависимост на ада", дори да се инсталира една доста тривиална програма.

В тази статия ще разгледаме някои от най-добрите характеристики на APT и ще споделим някои от по-слабо познатите характеристики на APT и братовчед му dpkg . Вярвайте или не, APT може дори да се използва за решаване на пъзели Sodoku!

Dpkg

Базата от пакетна система на Debian е dpkg. Той изпълнява всички функции на ниско ниво на инсталацията на софтуера. Ако сте били толкова склонни, можете да използвате само dpkg, за да управлявате софтуера си. Той може да инсталира, премахне и предостави информация за софтуерната колекция на вашата система. Ето някои от любимите ми функции.

Основна инсталация на локален файл

Някои автори на софтуера създават Debian пакети на своите програми, но не осигуряват хранилище за APT, от което да се изтеглят. В този случай те просто предоставят файл за изтегляне .deb. Това е много подобно на RPM пакетите или дори на Windows .msi файлове. Той съдържа всички файлове и конфигурационна информация, необходима за инсталирането на програмата. За да инсталирате програма от .deb файл, просто се нуждаете

dpkg -i MyNewProgram.deb

-i, както може да предположите, казва на dpkg да инсталира това парче софтуер.

Вписване на съдържанието на пакета

Може да се окажете, след като инсталирате програма, да не можете да разберете как да изпълните тази програма. Понякога трябва да знаете къде да намерите конфигурационните файлове за новата игра. Dpkg предоставя лесен начин да се изброят всички файлове, които принадлежат към конкретен пакет.

dpkg -L MyNewProgram

Обърнете внимание, че случаят е от значение. -L и -l са напълно различни опции.

Често пакетът съдържа толкова файлове, че може да е трудно да пресетите списъка, за да намерите търсения (ите), който търсите. Ако това е така, можем да използваме grep, за да филтрираме резултатите. Следващата команда прави същото като по-горе, но показва само резултати, които имат "бин" в пътя, като например / usr / bin.

dpkg -L MyNewProgram | grep bin

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

Намиране на собственика на файл

Понякога се намирате в ситуация, която е обратна на горната част. Имате файл, но не знаете кой пакет принадлежи. Още веднъж, dpkg сте покрити.

dpkg -S mysteryfile.cfg

Това ще ви каже кой пакет създаде / притежава този файл.

Вписване на това, което сте инсталирали

Да приемем, че възнамерявате да преинсталирате системата си и искате да знаете точно какво сте инсталирали вече. Можете да отворите приложение като Synaptic и да зададете филтър, който да показва всичко отбелязано като "инсталирано", или бихте могли да го направите бързо и лесно от командния ред с dpkg.

dpkg-1

или

dpkg --get-selections

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

Преконфигуриране на пакет

Когато пакетът .deb е инсталиран, той преминава през няколко етапа. Един от тях е етапът на конфигуриране, където разработчиците могат да поставят редица действия, които се извършват след като всички файлове са инсталирани на подходящо място. Това включва неща като стартиране / спиране на услуги или създаване на дневници или други подобни неща. Понякога трябва да повторите тези стъпки, без да преминавате през целия процес на преинсталация. За това, вие използвате:

dpkg-reconfigure (име на пакета)

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

Склонността / ап-да

Има някои дебати и объркване по отношение на тези два инструмента. Много потребители на Linux имат трудно време да разберат кога / защо да използват един над друг, тъй като правят грубо едно и също нещо.

Кратък отговор: използвайте Aptitude.

Дълъг отговор: И двата могат да бъдат използвани за управление на всички премахвания на софтуерни инсталации и и двете ще вършат добра работа. Екипът на Дебиан официално препоръчва използването на Aptitude. Не е, че това е много по-добро от това да се получи, но това е малко по-добре, по много начини. Можете да използвате една от тях и тя ще отговаря на вашите нужди за управление на пакетите, но не се смесвайте и не ги сравнявайте със същата система. Изберете един и се придържайте към него.

Намиране на правилния пакет

Често се намират в нужда от софтуер, за да направят нещо, но не знам името на програми, които да го правят. Например, може да ми е необходим FLAC плейър, но не знам кой играч ще работи ...

правоспособност:

търсене на привилегия

Класическа APT:

apt-cache търсене flac

Ще получите списък с наличните пакети, които имат "flac" в името или описанието.

Предотвратяване на актуализирането на пакета

В някои случаи имам версия на пакет, който искам да запазя, въпреки че може да има подобрения. Що се отнася до ядрото ми например, предпочитам да актуализирам ръчно.

правоспособност:

Поддържане на правоспособност (име на пакета)

Dpkg:

echo "(packagename) hold" | dpkg --set-selections

Надграждане

Както Aptitude, така и класическата APT предлагат два метода за надстройване на вашата система: ъпгрейд и dist-upgrade . Това е друго нещо, което предизвиква объркване. Надстройването е ъпгрейд, нали? Е, не точно.

Стандартният ъпгрейд ще прочете списъка ви с пакети, ще проверява онлайн за по-нови версии и ще ги инсталира, ако е необходимо. Той обаче НЕ ще извърши надстройки, които да изискват инсталирането на нови пакети или премахването на съществуващите. Това е, което дист-ъпгрейд е за. Той ще получи всяка по-нова версия, която открива, дори ако включва инсталиране на нещо ново (като например зависимост) или премахване на съществуващ пакет (ако е остарял или вече не е необходим).

правоспособност:

aptitude safe-upgrade
пълна ъпгрейд на aptitude

Класическа APT:

apt-get upgrade
apt-get dist-ъпгрейд

Научете повече за пакета

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

правоспособност:

aptitude show (име на пакета)

APT:

apt-cache showpkg (име на пакета)

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

Също така, за тези, които имат търпение да четат по целия път до края,

apt-get moo