Správa balíkov na Ubuntu a Debiane pomocou Apt-Get a Apt-Cache. Správca balíkov APT Apt získa hodnotu príkazu y

Pomôcka apt-get je výkonný bezplatný konzolový program, ktorý sa používa a spolupracuje s knižnicou APT (Advanced Packaging Tool) na inštaláciu nových softvérových balíkov, odstránenie existujúcich, aktualizáciu nainštalovaných a tiež na aktualizáciu celého operačného systému.

Nástroj konzoly apt-cache sa používa na vyhľadávanie softvérových balíkov APT vo vyrovnávacej pamäti. Rozprávanie jednoduchými slovami, tento nástroj sa používa na vyhľadávanie balíkov, zhromažďovanie informácií o balíkoch a nájdenie balíkov dostupných na inštaláciu v operačné systémy, založený na Debiane alebo Ubuntu.

Ako môžem získať zoznam všetkých dostupných balíkov?

Ak chcete zobraziť všetky dostupné balíky, spustite nasledujúci príkaz:

Názvy balíkov Apt-cache

Ako nájdem názov balíka a jeho popis.

Ak chcete nájsť názov a popis balíka pred inštaláciou, použite príznak „hľadať“. Použitím „search“ s apt-cache sa zobrazí zoznam zodpovedajúcich balíkov s stručný popis. Napríklad chcete nájsť popis balíka vsftpd: príkaz by mal byť takýto:

Apt-cache vyhľadávanie vsftpd

Ak chcete nájsť a zobraziť zoznam všetkých balíkov, ktorých názov začína na vsftpd, môžete použiť nasledujúci príkaz:

Apt-cache pkgnames vsftpd

Ako môžem zobraziť informácie o balíku?

Napríklad, ak chcete zobraziť informácie o balíku s jeho krátkym popisom s číslom verzie, kontrolnými súčtami, veľkosťou, inštalovanou veľkosťou, kategóriami atď., môžete použiť podpríkaz „show“, ako je uvedené nižšie:

Apt-cache show netcat

Ako môžete skontrolovať závislosti balíka?

Ak chcete skontrolovať závislosti konkrétneho balíka, môžete použiť čiastkový príkaz showpkg, aby ste zistili, či sú tieto závislosti nainštalované alebo nie. Napríklad použite príkaz showpkg spolu s názvom balíka.

Apt-cache showpkg vsftpd

Ako môžem zobraziť štatistiky vyrovnávacej pamäte?

Čiastkový príkaz stats zobrazí kompletnú štatistiku o pamäti cache, ako napríklad celkový počet balíkov nájdených v pamäti cache. Použite tento príkaz:

Apt-cache štatistiky

Ako aktualizovať zoznam balíkov v systéme?

Príkaz update sa používa na synchronizáciu a aktualizáciu súborov indexu balíkov. Synchronizácia prebieha so zdrojmi špecifikovanými v súbore /etc/apt/sources.list. Tento príkaz môžete použiť napríklad na zabezpečenie toho, aby vám neunikli dôležité aktualizácie balíkov.

Aktualizácia sudo apt-get

Ako aktualizovať balíky v systéme?

Príkaz upgrade sa používa na aktualizáciu všetkého nainštalovaného tento moment softvér vo vašom systéme. Niekedy sa môže stať, že aktualizáciu nie je možné nainštalovať kvôli inému balíku, ktorý vyžaduje starú verziu.

Aktualizácia sudo apt-get

Ak však chcete vykonať aktualizáciu bez ohľadu na požiadavky balíka, použite podpríkaz dist-upgrade:

Sudo apt-get dist-upgrade

Ako môžem nainštalovať alebo aktualizovať konkrétny balík?

Podpríkaz install sa používa na inštaláciu alebo aktualizáciu balíka.

Sudo apt-get install netcat

Ako môžem nainštalovať viacero balíkov naraz?

Môžete zadať názvy viacerých balíkov a nainštalovať ich súčasne. Ak chcete napríklad nainštalovať balíky nethogs a goaccess, môžete spustiť nasledujúci príkaz:

Sudo apt-get install nethogs goaccess

Ako nainštalovať niekoľko balíkov pomocou názvu „maska“

Pomocou bežných úryvkov môžete pridať viacero balíčkov pomocou špeciálnych znakov. Môžete napríklad použiť hviezdičku na inštaláciu všetkých balíkov, ktoré vo svojom názve obsahujú reťazec „name“:

Sudo apt-get install *name*

Ako nainštalovať balíky bez aktualizácie.

Použitie príznaku –no-upgrade zabráni inovácii, ktorá už existuje nainštalované balíky.

Sudo apt-get install packageName --no-upgrade

Ako môžem aktualizovať určité balíčky?

Príznak --only-upgrade nenainštaluje nové balíčky, iba aktualizuje existujúce.

Sudo apt-get install názov_balíka --only-upgrade

Ako môžem nainštalovať konkrétnu verziu balíka?

Predstavme si, že potrebujete nainštalovať konkrétnu verziu balíka, stačí použiť znamienko rovnosti spolu s názvom balíka a pridať požadovanú verziu.

Sudo apt-get install vsftpd=2.3.5-3ubuntu1

Ako odstrániť balíky bez odstránenia nastavení?

Ak chcete odstrániť softvérové ​​balíky bez vymazania ich konfiguračných súborov (pre budúce použitie), použite príkaz remove podľa obrázka.

Sudo apt-get remove vsftpd

Ako úplne odstrániť balíky?

Ak chcete odstrániť balík spolu s jeho konfiguračnými súbormi, použite podpríkaz purge, ako je uvedené nižšie.

Sudo apt-get purge vsftpd

Alebo môžete oba príkazy skombinovať takto:

Sudo apt-get remove --purge vsftpd

Ako môžem uvoľniť miesto na disku?

Príkaz clean sa používa na uvoľnenie miesta na disku odstránením obnovených súborov .deb balíkov vo vašom lokálnom úložisku.

Sudo apt-vyčistite

Ako si stiahnem zdrojový kód balíka?

Ak chcete stiahnuť iba zdrojový kód balíka, môžete použiť možnosť – download-only source s názvom balíka, napríklad:

Sudo apt-get -- zdroj len na stiahnutie vsftpd

Ako si môžem stiahnuť a rozbaliť balík?

Ak chcete stiahnuť a extrahovať zdrojový kód balíka do špeciálneho adresára, spustite nasledujúci príkaz:

Sudo apt-get source vsftpd

Ako si môžem stiahnuť, extrahovať a skompilovať zdrojový kód balíka?

Môžete si tiež stiahnuť, extrahovať a skompilovať zdrojový kód balíka pomocou možnosti „–kompilovať“, ako je uvedené nižšie:

Sudo apt-get --kompilujte zdrojový kód goaccess

Ako stiahnuť balík bez inštalácie

Pomocou možnosti „stiahnuť“ si môžete stiahnuť akýkoľvek balík bez jeho inštalácie. Napríklad nasledujúci príkaz stiahne iba balík nethogs do aktuálneho pracovného adresára.

Sudo apt-get na stiahnutie nethogs

Ako môžem zobraziť zoznam zmien balíka?

Príznak changelog načíta protokol zmien balíka a zobrazí verziu balíka, ak je nainštalovaný.

Sudo apt-get changelog vsftpd

Ako môžete opraviť poškodené závislosti?

Príkaz „check“ je diagnostický nástroj, používa sa na aktualizáciu vyrovnávacej pamäte balíkov a kontrolu nefunkčných závislostí.

Sudo apt-get check

Ako môžete nájsť a zhromaždiť závislosti?

Príkaz build-dep nájde a nainštaluje vstavané závislosti požadovaného balíka. Ak sa balík nenachádza v lokálnom úložisku, zobrazí sa chyba.

Sudo apt-get build-dep netcat

Ako môžem automaticky vymazať vyrovnávaciu pamäť Apt-Get?

Príkaz autoclean odstráni všetky súbory .deb z /var/cache/apt/archives, aby sa uvoľnili voľné miesto na vašom pevnom disku.

Sudo apt-get autoclean

Ako môžem automaticky odstrániť nepotrebné balíky?

Podpríkaz autoremove sa používa na automatické odstránenie balíkov, ktoré boli nainštalované ako závislosti iných, ale už nie sú potrebné. Napríklad nasledujúci príkaz odstráni nainštalovaný balík spolu s jeho závislosťami.

Sudo apt-get autoremove vsftpd

Informácie láskavo poskytnuté zo stránky. Ďakujem.

| |

Čo sa staloApt-Get?

Apt - program používateľské rozhranie príkazový riadok pre baliaci systém dpkg, čo je preferovaný spôsob správy softvéru z príkazového riadku pre akúkoľvek distribúciu. Je to hlavný systém správy balíkov v Debiane a Linuxových distribúciách založených na Debiane, ako je Ubuntu.

Zatiaľ čo nástroj dpkg poskytuje základnú vrstvu balenia, apt-get a apt-cache poskytujú pohodlné rozhrania a spracovanie závislostí. To umožňuje používateľom jednoducho a efektívne spravovať veľké množstvo softvér.

Táto príručka hovorí o základnom použití „apt-get“ a „apt-cache“ a ich možnostiach pri správe softvéru. Všetky príklady sú zobrazené na cloudovom serveri Ubuntu 12.04, ale opísané kroky a techniky je možné vykonať na akejkoľvek distribúcii založenej na Debiane.

Aktualizácia databázy balíkov zAptZískajte

Apt-get pracuje s databázou známeho a dostupného softvéru. Tento príkaz vykoná inštaláciu, vyhľadávanie balíkov a ďalšie akcie súvisiace s touto databázou.

Preto pred začatím akejkoľvek operácie balenia s apt-get sa musíte uistiť, že máte aktuálnu lokálnu kópiu databázy.

Databázu môžete aktualizovať pomocou nasledujúceho príkazu. Apt-get vyžaduje administrátorské práva na vykonávanie väčšiny operácií:

aktualizácia sudo apt-get

Zobrazí sa zoznam serverov, z ktorých sa získavajú informácie. Potom bude databáza aktualizovaná.

Aktualizácia nainštalovaných balíkov pomocouAptZískajte

Systémové balíky je možné aktualizovať pomocou nasledujúceho príkazu:

upgrade sudo apt-get

Pre viac úplná aktualizácia použite argument "dist-upgrade", ktorý rieši inteligentné závislosti nových balíkov a aktualizácií potrebné programy kvôli menej dôležitým:

sudo apt-get dist-upgrade

Inštalácia nových balíkov sAptZískajte

Ak poznáte názov balíka, ktorý chcete nainštalovať, môžete ho nainštalovať pomocou nasledujúcej syntaxe:

sudo apt-get install package1 package2 package3 ...

Môžete tiež nainštalovať viacero balíkov naraz, čo vám umožní získať všetok softvér, ktorý potrebujete pre svoj projekt, v jednom kroku.

Je dôležité pochopiť, že apt-get nainštaluje nielen požadovaný softvér, ale aj programy potrebné na jeho inštaláciu alebo spustenie.

Napríklad kompletný balík textového editora vim je možné nainštalovať zadaním:

sudo apt-get install vim

OdstráneniebalíksАpt-Get

Na odstránenie balíka môžete použiť nasledujúci príkaz:

sudo apt-get remove package_name

Tento príkaz odstráni balíky, ale uloží konfiguračný súbor pre prípad, že sa balík znova nainštaluje. Týmto spôsobom zostanú nastavenia nedotknuté, aj keď program nie je nainštalovaný.

Ak konfiguračný súbor nie je potrebné uchovávať, je možné ho vymazať spolu s programom pomocou syntaxe:

sudo apt-get purge názov_balíka

Táto akcia odstráni všetky konfiguračné súbory spojené s balíkom.

Ak chcete odstrániť nepotrebný balík, ktorý bol nainštalovaný automaticky na podporu iného programu, zadajte nasledovné:

sudo apt-get autoremove

Môžete tiež zadať názov balíka za príkazom "autoremove" na odstránenie balíka a jeho závislostí.

Spoločné vlajkyAptZískajte

Existuje množstvo rôznych možností, ktoré možno zadať pomocou príznakov. Pozrime sa na niektoré z nich.

Ak chcete „testovať“ procedúru a zistiť, čo robí, môžete použiť príznak „-s“ („simulovať“):

sudo apt-get install -s htop
Čítam zoznamy balíkov... Hotovo
Budovanie stromu závislostí
Čítanie informácií o stave... Hotovo
Odporúčané balíčky:
strace ltrace
Nainštalujú sa nasledujúce NOVÉ balíky:
htop
0 inovované, 1 novo nainštalované, 0 na odstránenie a 118 neaktualizované.
Inst htop (1.0.1-1 Ubuntu: 12.04/presné)
Conf htop (1.0.1-1 Ubuntu: 12.04/presné)

Namiesto skutočných akcií môžete vidieť sekcie „Inst“ a „Conf“, ktoré označujú miesto, kde sa balík nainštaluje a nakonfiguruje, ak sa odstráni príznak „-s“.

Ak potrebujete nastaviť automatické potvrdenie výberu, môžete použiť príznak „-y“, ktorý automaticky odpovie „áno“ na všetky otázky.

sudo apt-get remove -y htop

Ak chcete stiahnuť balík, ale nechcete ho nainštalovať, môžete spustiť nasledujúci príkaz:

sudo apt-get install -d názov balíka

Tieto súbory budú umiestnené v priečinku „/var/cache/apt/archives“.

Ak potrebujete potlačiť výsledky, môžete použiť príznak "-qq":

sudo apt-get remove -qq názov balíka

Vyhľadajte balík pomocouAptCache

Nástroj na balenie „apt“ je vlastne zbierka súvisiacich bezplatné nástroje, ktoré sa používajú na ovládanie systémového softvéru.

Zatiaľ čo "apt-get" sa používa na aktualizáciu, inštaláciu a odstraňovanie balíkov, "apt-cache" sa používa na vyhľadávanie informácií v databáze balíkov.

Na vyhľadanie balíkov, ktoré potrebujete, môžete použiť nasledujúci príkaz. Všimnite si, že apt-cache vo všeobecnosti nevyžaduje oprávnenia správcu.

apt-cache search what_you_are_looking_for

Ak chcete napríklad vyhľadať výraz „htop“, lepšiu verziu výrazu „top“, môžete zadať nasledovné:

apt-cache search htop
aha - prevodník farieb ANSI na HTML
htop - interaktívny prehliadač procesov

Môžete tiež hľadať všeobecnejšie pojmy. V tomto príklade musíte nájsť softvér na konverziu mp3:

apt-cache search mp3 convert
abcde - Lepší kódovač CD
cue2toc - konvertuje súbory CUE do formátu TOC cdrdao
dir2ogg - prevodník zvukových súborov do formátu ogg-vorbis
easytag - prezeranie, úprava a písanie ID3 tagov
hpodder – nástroj na skenovanie a sťahovanie podcastov (podcatcher)
id3v2 – Editor značiek id3v2 príkazového riadku
kid3 - KDE MP3 ID3 tag editor
kid3-qt - Editor zvukových značiek
. . .

Zobraziť informácie o balíku pomocouAptCache

Ak chcete zobraziť informácie o balíku vrátane rozšíreného popisu, použite nasledujúcu syntax:

apt-cache zobrazí názov_balíka

To tiež poskytne informácie o veľkosti sťahovania a závislostiach požadovaných pre balík.

Ak chcete overiť, či je balík nainštalovaný a zistiť, do ktorého úložiska patrí, zadajte:

politika apt-cache názov_balíka

Výsledky

Táto príručka poskytuje dostatok informácií na správu väčšiny softvéru na serveri.

Hoci je niekedy potrebné ísť nad rámec týchto nástrojov a softvéru dostupného v softvérových úložiskách, väčšinu softvérových operácií možno ovládať pomocou týchto príkazov.

Značky: ,

Kvôli tomu, že niektorí súdruhovia nechápu, čo je apt a dpkg. Rozhodol som sa vytvoriť ďalší príspevok o týchto nástrojoch.

APT a všetko, všetko, všetko. Skúmanie možností správcu balíkov APT a súvisiacich programov

Debian priniesol do sveta Linuxu množstvo pozitívnych inovácií, z ktorých mnohé prevzali aj iné distribúcie. Najvýznamnejším vylepšením Debianu bol systém správy balíkov APT po jeho vydaní sa všetky ostatné distribúcie zmenili na zastaraný odpad. Dnes je APT komplexný, inteligentný, flexibilný a pred nezasväteným používateľom Linuxu skrýva mnohé tajomstvá.

Pokročilý systém správy balíkov

Samotný APT (Advanced Packaging Tool) nie je systémom na správu balíkov. doslova toto slovo. Všetky akcie pre rozbalenie, registráciu v systéme a prezeranie databázy balíkov vykonávajú nástroje balíkov dpkg, zatiaľ čo nástroje APT sú obalom, ktorý sa používa na vyhľadávanie balíkov, kontrolu kontrolných súčtov, sťahovanie z úložiska, riešenie závislostí, atď. ako množstvo iných akcií.

APT obsahuje nasledujúcu sadu nástrojov:

nástroje balíka apt

apt-cache - manipuluje s vyrovnávacou pamäťou dostupných balíkov, bežne používaných
na vyhľadanie balíka a/alebo získanie informácií o ňom

apt-cdrom - umožňuje pridať CD/DVD ako zdroj balíka (úložisko)

apt-config - načíta hodnoty možností špecifikovaných v konfigurácii
súbor /etc/apt/apt.conf, ktorý používajú iné pomocné programy APT

apt-extracttemplates - extrakty konfiguračné súbory DebConf
z balíkov, ktoré používajú iné nástroje APT

apt-ftparchive - vytvára indexové súbory

apt-get - nainštaluje, odstráni, aktualizuje zoznam balíkov
a samotné balíčky, centrálny nástroj APT

apt-key - spravuje autentifikačné kľúče používané na overenie
pravosť zdrojov balíkov

apt-secure - kontroluje pravosť digitálny podpis zahrnuté balíčky apt
zahrnuté v distribúcii a úložiskách

apt-sortpkgs - triedi indexové súbory

Pomôcky sa spoliehajú na nasledujúce konfiguračné súbory:

APT konfiguračné súbory

/etc/apt/sources.list - zoznam zdrojov balíkov (repozitárov)
/etc/apt/apt.conf - hlavný konfiguračný súbor APT
/etc/apt/preferences - súbor preferencií, určuje, ktorá verzia balíka bude
nainštalovaný, ak je v úložisku niekoľko verzií naraz

APT je jednoduchý a priamočiary na použitie bežnému používateľovi zvyčajne stačí šesť nižšie uvedených príkazov:

Základné príkazy APT

maska ​​vyhľadávania apt-cache - vyhľadávanie balíkov
apt-cache zobraziť balík - zobrazenie informácií o balíku
apt-get install package - inštalácia balíka
apt-get remove package - odstránenie balíka
apt-get update - aktualizujte vyrovnávaciu pamäť dostupných balíkov
apt-get upgrade - aktualizujte všetky balíčky

Posledné dva príkazy sa zvyčajne spúšťajú jeden po druhom, čím sa preinštalujú všetky balíky, pre ktoré sú v úložisku dostupné nové verzie. Ak potrebujete aktualizovať iba určený balík, potom po „apt-get update“ by ste mali spustiť príkaz „apt-get install package“.

Distribúcia Ubuntu ešte viac zjednodušuje proces „komunikácie“ s pomôckami APT a redukuje ho na klikanie na začiarkavacie políčka v grafickom rozhraní. Má svojho vlastného, ​​mimoriadne jednoduchého správcu balíkov (nazývaného „Správca balíkov“), ktorý sa spúšťa cez cron. Aktualizácie Manager, grafický inštalátor pre manuálne stiahnuté deb balíčky GDebi a výkonnejší grafický doplnok pre pomocné programy Synaptic APT.

Medzitým je APT oveľa komplexnejší a flexibilnejší, ako by sa na prvý pohľad mohlo zdať. Preto sa v nasledujúcich častiach pozrieme na niekoľko nie úplne typických spôsobov jeho využitia.

Zdroje balíkov tretích strán

Okrem hlavného úložiska, ktoré obsahuje všetky balíky od vývojárov distribúcie, existuje množstvo ďalších zdrojov balíkov, ktoré môžu obsahovať softvér tretích strán, ktorý nie je dostupný z oficiálneho úložiska, poskytovať jeho novšie verzie alebo jednoducho byť rýchlejším zrkadlom. Úložisko môže byť buď bežný adresár na pevnom disku alebo CD.

Ak chcete naučiť APT pracovať s archívmi tretích strán, postupujte podľa štyroch jednoduchých krokov:

Pole uri je adresa úložiska, čo je vo väčšine prípadov adresa HTTP, ale môže to byť aj odkaz na miestne úložisko (file:/root/repository), adresa úložiska na serveri FTP alebo SSH. Pole „distribúcia“ označuje názov distribúcie, pre ktorú sa balíky zhromažďujú. V prípade Debianu môže byť názov stabilný, starý stabilný, nestabilný, testovací, zatiaľ čo v prípade Ubuntu by ste mali uviesť iba konkrétny názov distribúcie (napríklad jaunty), ako aj rôzne označenia na ňom založené ( napríklad vzrušujúce aktualizácie, vzrušujúce spätné porty, vzrušujúce zabezpečenie). Treba povedať, že APT vôbec nie je proti miešaniu balíkov z rôznych distribúcií na jednom systéme, no v tomto prípade budete za následky zodpovedný iba vy. Komponent sa zvyčajne nazýva main, contrib alebo non-free pre Debian a main, Universe, multiverse, partner a obmedzený pre Ubuntu. Toto sú všetky názvy rôznych úložísk balíkov, ktoré sú rozdelené iba do samostatných balíkov na základe určitých kritérií. Napríklad hlavné sú balíky zostavené skupinou vývojárov Ubuntu/Debianu a existujú určité záruky kvality softvéru v nich obsiahnutého, vrátane včasné aktualizácie a opravy chýb, zatiaľ čo contrib a Universe sú softvér tretích strán, ktorý inštalujete na vlastné riziko.

2. Pridajte do kľúča apt verejný kľúč úložiska, ktorý sa používa na overenie jeho pravosti a spoľahlivosti. Kľúč je možné získať akýmkoľvek spôsobom a pridať ho spustením príkazu „apt-key add key“, ale táto metóda sa zriedka praktizuje kvôli jej nepohodlnosti. V drvivej väčšine prípadov budete mať do činenia s tímom

sudo apt-key adv --keyserver Certificate-server --recv-keys key-id
ktorý vyžaduje kľúč priamo od certifikačného servera (pre Ubuntu je to keyserver.ubuntu.com). Takto väčšina vývojárov tretích strán distribuuje svoj softvér pre distribúcie Debian/Ubuntu (zatiaľ čo iní jednoducho uverejňujú balíčky a ich kontrolné súčty). Napríklad tak, že prejdete na stránku projektu, o ktorý máte záujem, na hostingu launchpad.net a kliknete na odkaz „Technické podrobnosti o tomto PPA“, uvidíte riadok, ktorý je potrebné pridať do /etc/apt/sources .list, v „Podpisový kľúč:“ bude uvedené ID kľúča.

3. Aktualizujte vyrovnávaciu pamäť dostupných balíkov:

aktualizácia sudo apt-get
4. Nainštalujte balík pomocou príkazu „apt-get install package“.

Mnoho vývojárov vložilo odkaz na úložisko a jeho ID kľúča priamo do balíka deb, takže po stiahnutí balíka, jeho inštalácii a spustení príkazu „apt-get update && apt-get upgrade“ budú balíky aktualizované spolu so svojimi bratmi. uvedené v zozname zdrojov. Takto sú distribuované najmä prehliadače Opera a alfa verzia prehliadača Google Chrome.

Repozitár umiestnený na CD je oveľa jednoduchšie pridať do sources.list. Existuje na to špeciálny príkaz apt-cdrom. Jednoducho vložíte CD do mechaniky a spustíte príkaz:

pridať sudo apt-cdrom

Triky a nezvyčajné situácie

APT je APT, je pohodlný a jednoduchý, no niekedy sa nezaobídete bez trikov, z ktorých najužitočnejšie sa dozviete v tejto časti.

1. V predvolenom nastavení príkaz "apt-get remove" úplne odstráni balík iba vtedy, ak sa žiadny z jeho súborov od inštalácie nezmenil, inak zostanú upravené súbory nedotknuté. Prirodzene, konfiguračné súbory sa takmer vždy menia, takže apt-get za sebou zanecháva kopu odpadu, ktorý musíte vyčistiť ručne. Tento problém rieši príkaz „apt-get purge“ namiesto „apt-get remove“.

2. Tí, ktorí sa radi pohrávajú so systémom, ako aj správcovia systému, ktorých servery boli napadnuté, budú s najväčšou pravdepodobnosťou chcieť vrátiť balíky do pôvodného stavu, v ktorom boli pred manipuláciou. Príkaz vám s tým pomôže:

sudo apt-get install --reinstall balík
3. Viac služby nízkej úrovne Správcovia balíkov Deb (ako dselect a dpkg) udržiavajú špeciálny zoznam stavov balíkov, ktoré možno použiť na kontrolu, ktoré balíky sa majú nainštalovať alebo odstrániť v dávkovom režime (takto funguje dselect + dpkg). Dá sa použiť aj na mnohé iné účely, napríklad na prenos konfigurácie systému do iného stroja. Spustite nasledujúci príkaz:

dpkg --get-selections > súbor
Preneste súbor do iného počítača a spustite na ňom dva príkazy:

cat súbor > dpkg --set-selections
apt-get dselect-upgrade

Všetky balíky zdrojového systému budú pridané do systému. Aby súbor stavu balíka obsahoval aj informácie o tom, ktoré balíky by mali byť odstránené zo systému, pridajte znak "\*" za argument "--get-selections". Stavový zoznam neobsahuje verzie balíkov, to je možné použiť po inštalácii novšej verzie distribúcie na jej uvedenie do požadovaného stavu.

4. Manuálne ste aplikovali opravu na súbor jedného zo systémových balíkov a nechcete, aby sa tento balík aktualizoval (so zničením všetkých vašich zmien) po zavolaní „apt-get upgrade“. V tomto prípade vám opäť pomôže zoznam štátov. Balík môže byť zamrznutý, v dôsledku čoho ho apt-get odmietne aktualizovať a preskočí:

echo -e "coreutils hold" | dpkg --set-selections
Aktualizáciu balíka môžete vynútiť zadaním príznaku "-u" pri volaní apt-get.

5. Ako každý systém so sieťovými funkciami, aj APT vám umožňuje používať proxy na prístup k úložiskám. Ak chcete povoliť túto funkciu, pridajte nasledujúci riadok do súboru /etc/apt/apt.conf:

Získať::http::Proxy "http://xxx.xxx.xx:yyyy"

Kde xxx.xxx.xx je názov vášho proxy, yyyy je port.

6. Obslužné programy APT zvyčajne požadujú najnovšiu verziu balíka od všetkých, ktoré sú v ich vyrovnávacej pamäti, takže ak ste do sources.list pridali rôzne experimentálne a nestabilné úložiská, potom po aktualizácii dostanete distribúciu pozostávajúcu výlučne z experimentálnych alebo nestabilných balíkov. a kopa problémov spôsobených týmto stavom vecí. Situáciu však možno ľahko vyriešiť umiestnením nasledujúceho riadku do /etc/apt/apt.conf:

APT::Default-Release "release";

Kde je vydanie staré stabilné, stabilné, nestabilné, testovacie alebo experimentálne pre Debian alebo názov vydania pre Ubuntu. Ak teraz potrebujete nainštalovať balík zo zadanej distribúcie, stačí pri volaní apt-get napísať jeho názov za argument "-t":

sudo apt-get -t unstable inštalačný balík
7. Všetky prijaté deb balíky apt-get sú uložené v adresári /var/cache/apt/archives, čo znamená, že ak preinštalujete systém, môžete skopírovať obsah adresára na iný disk/diskový oddiel a potom ho obnoviť a ušetríte čas/inštalačný balík balíkov. Okrem toho je to v podstate snímka vášho nainštalovaného systému (tej jeho časti, ktorú ste si nainštalovali sami), ktorú možno pripísať priateľovi (spolu so zoznamom stavov opísaných v treťom odseku) alebo, ak to nie je potrebné, odstrániť aby sa uvoľnilo miesto.

8. Odstránenú snímku systému opísanú v predchádzajúcom odseku možno ľahko obnoviť pomocou nižšie uvedeného návrhu:

sudo dpkg --get-selections | grep -v "deinstall" | \
awk "(tlač $1)" | xargs dpkg-repack

9. Okrem binárnych balíkov obsahujú archívy Debian/Ubuntu aj zdrojové balíky aplikácií, ktoré je možné získať a zostaviť pomocou nasledujúceho príkazu:

sudo apt-get -b názov zdrojového balíka

Nástroje tretích strán

Systém APT prešiel vo svojom vývoji veľmi dlhú cestu, takže okrem oficiálnych nástrojov zahrnutých v balíku apt sú úložiská Debian a Ubuntu preplnené množstvom nástrojov tretích strán, ktoré možno použiť na vykonávanie niektorých štandardné úlohy.
Najužitočnejší z nich sa nazýva apt-file a je potrebný, ako by ste mohli uhádnuť z názvu, na určenie, či konkrétny súbor patrí do konkrétneho balíka. Inštalácia:

sudo apt-get nainštalujte súbor apt
Požiadame apt-file, aby vytvoril vyrovnávaciu pamäť všetkých súborov nainštalovaných v systéme balíkov (budú prehľadané):

apt-file search /usr/bin/apt-get
apt: /usr/bin/apt-get

Požadujeme zoznam všetkých súborov balíkov:

zoznam súborov apt apt

Jednoduchý nástroj s názvom apt-show-versions vám ukáže, ktoré balíčky je možné aktualizovať, vrátane verzií a ďalších podrobností. Spustite ho s príznakom "-u", aby ste získali zoznam iba balíkov, ktoré sa majú aktualizovať (namiesto zoznamu všetkých balíkov).

Ak ste nainštalovali veľké množstvo rôznych balíkov a teraz sa chcete zbaviť nepotrebného odpadu, potom vám v tejto veci pomôže utilita deborphan, ktorá hľadá nepoužívané balíky a osirelé závislosti. Stačí spustiť deborphan bez akýchkoľvek argumentov a uvidíte zoznam balíkov, ktoré môžete okamžite odovzdať ako vstup príkazu „apt-get remove“ alebo jednoducho spustiť nasledujúci príkaz:

sudo apt-get odstrániť `deborphan`

V predvolenom nastavení deborphan spracováva iba balíky obsahujúce knižnice, ale toto správanie možno zmeniť pridaním príznaku "-a" do volania príkazu:

Nemali by ste sa okamžite ponáhľať s odstránením balíkov zobrazených obslužným programom, pretože ani ten najvýkonnejší heuristický algoritmus nie je schopný určiť vaše osobné potreby. Program mi teda ukázal balíčky google-chrome, inkscape a dokonca xorg.

Nástroj apt-move vám umožní vytvoriť lokálne úložisko. Nainštalujte program, otvorte súbor /etc/apt-move.conf, zadajte vo voľbe LOCALDIR cestu k adresáru, v ktorom sa má úložisko nachádzať, a spustite príkaz:

aktualizácia sudo apt-move

Výsledkom je, že všetky balíky stiahnuté z internetu pomocou apt-get (adresár /var/cache/apt/archives) sa presunú do adresára uvedeného v konfigurácii, pre ktorý budú vytvorené indexový súbor. Toto je pohodlný spôsob, ako vytvoriť intranetové úložisko pre prípady, keď je potrebné nainštalovať veľa rovnakých balíkov na mnoho počítačov.

Na vytvorenie lokálneho úložiska je tiež veľmi výhodné použiť server apt-proxy, ktorý vám umožňuje ukladať do vyrovnávacej pamäte deb balíčky stiahnuté z úložiska na strane servera. Na tento účel sa apt-proxy nainštaluje na vyhradený počítač (možno brána) a zoznam klientov sa upraví tak, aby adresa tohto počítača bola špecifikovaná ako pole uri všetkých repozitárov. Výsledkom je, že všetky požiadavky na deb balíky sú presmerované na apt-proxy, ktorý si balík vyžiada z repozitára head a uloží ho do svojej vyrovnávacej pamäte a odpoveď na všetky nasledujúce požiadavky na tento balík sa vráti z vyrovnávacej pamäte.

Najprv nainštalujte apt-proxy na vyhradený počítač:

sudo apt-get nainštalovať apt-proxy

Ďalej otvorte súbor /etc/apt-proxy/apt-proxy-v2.conf, prejdite do sekcie a nahraďte hodnotu adresy IP adresou počítača a tiež popíšte zdroje paketov, ktoré apt- proxy, napríklad:

sudo vi /etc/apt-proxy/apt-proxy-v2.conf


backendy = http://ru.archive.ubuntu.com/ubuntu/
min_refresh_delay = 1 d


backendy = http://security.ubuntu.com/ubuntu/
min_refresh_delay = 1 d

Zvyčajne tieto dve adresy postačujú na pokrytie celého rozsahu balíkov poskytovaných vývojármi Ubuntu. Reštartujte apt-proxy:

sudo invoke-rc.d reštart apt-proxy

Ak chcete prepnúť klientov na používanie apt-proxy, vezmite si štandardný Ubuntu sources.list, nahraďte všetky skutočné polia uri reťazcom „http://IP-address-apt-proxy:9999/ubuntu/“ a skopírujte tento súbor každému klientovi.

Existuje mnoho ďalších, menej zaujímavých nástrojov, ktoré fungujú v spojení s APT. Napríklad apt-dater vám umožňuje aktualizovať balíky na veľkom počte vzdialených uzlov pomocou pseudografického rozhrania. Program aptsh implementuje príkazové rozhranie podobné sh nad príkazy balíka apt, aptfs je virtuálny súborový systém na správu APT. Nástroj debdelta, ktorý vám umožňuje aktualizovať balíky stiahnutím ich delt z internetu, by mohol byť témou samostatného článku, ak by preň existoval aspoň jeden včas aktualizovaný repozitár.

spôsobilosť

Pomôcka apt-get a jej príbuzní nie sú jedinou dostupnou implementáciou APT. Ešte výkonnejšia, pohodlnejšia a všestrannejšia alternatíva k nim sa nazýva aptitude a je sústredenou funkcionalitou apt-get, apt-cache a dselect na jednom mieste.
Aptitude vám umožňuje inštalovať/odinštalovať, vyhľadávať, aktualizovať a robiť množstvo ďalších vecí s balíkmi pomocou dvoch typov rozhrania: príkazový režim, podobne ako apt-get a apt-cache, a režim s pseudografickým rozhraním, zvonka pripomínajúcim rozhranie dselect, ale oveľa pohodlnejší a funkčnejší.

V režime príkazového riadka možno aptitude použiť napríklad na:

aptitude install - inštalácia balíka

aptitude remove - odstránenie balíkov a osirelých závislostí

aptitude purge - odstránenie balíka, osamotené závislosti
a po nich zostávajúce konfiguračné súbory

aptitude search - hľadanie balíka vo vyrovnávacej pamäti (zoznam dostupných balíkov)

aptitude update - aktualizácia vyrovnávacej pamäte

aptitude safe-upgrade - aktualizácia balíkov

aptitude clean - odstránenie predtým stiahnutých balíkov

aptitude full-upgrade - aktualizácia balíkov,
aj keď táto akcia vyžaduje odstránenie akýchkoľvek balíkov

aptitude show - informácie o balíku

aptitude autoclean - odstránenie zastaraných balíkov

aptitude hold - nastavenie zákazu aktualizácie balíka

Interaktívny režim dostupný pri spustení aptitude bez argumentov vám umožňuje vykonávať všetky rovnaké akcie pomocou pseudografického rozhrania postaveného na knižnici ncurses. Funguje v dávkovom režime (vyberte balíky - spustite proces inštalácie), takže to bude výhodné v prípadoch, keď potrebujete nainštalovať veľké množstvo balíkov.

veľkonočné vajíčka

Vývojári nástrojov APT sa ukázali ako chlapíci s trochu skrúteným zmyslom pre humor. Stačí sa pozrieť na výsledok nasledujúceho príkazu:

sudo apt-get moo
Ešte divokejšie vyzerá to, čo tvorcovia aptitude zabudovali do svojho programu. Skúste:

sudo aptitude moo
Akési veľkonočné vajíčko bez veľkonočného vajíčka. OK:

sudo aptitude -v moo
sudo aptitude -vv moo
sudo aptitude -vvv moo
sudo aptitude -vvvv moo
sudo aptitude -vvvvv moo

A posledný akord:

sudo aptitude -vvvvvv moo

Užitočné príkazy apt-cache

apt-cache show package - podrobné informácie o balíčku
balík apt-cache showpkg - všeobecné informácie o balíku
apt-cache závisí na balíku - zoznam závislostí balíkov
balík apt-cache rdepends - zoznam reverzných závislostí (kto potrebuje špecifikovaný balík)

Slovník APT

Balík - program, knižnica, zdrojový kód alebo akékoľvek iné súbory, ako aj ich metadáta, zabalené v špeciálne vytvorenom archíve.

Úložisko je úložisko pre deb balíčky.

Dostupná vyrovnávacia pamäť balíkov (alebo jednoducho cache) je súbor, ktorý ukladá informácie o všetkých balíkoch dostupných zo zdrojov uvedených v /etc/apt/sources.list. Cache sa aktualizuje vždy, keď sa zavolá príkaz "apt-get update".

Indexový súbor - hlavný súbor úložiska obsahujúci názov, verziu, veľkosť, krátke a Celý popis a závislosti pre každý balík. Má názov Packages.gz v prípade binárneho úložiska a Sources.gz pre úložisko zdrojového kódu. Vytvorené pomocou pomocných programov pkg-scanpackages a dpkg-scansources.

Apt keyring (doslova: apt keyring) je úložisko kľúčov, ktoré overujú zdroje balíkov (repozitáre).

čo je vo vnútri?

Charakteristickým znakom balíkov Deb je ich jednoduchosť. Každý balík Deb sa skladá z troch súborov: data.tar.gz, control.tar.gz a debian-binary, ktoré sú zabalené s archivátorom ar. Súbor data.tar.gz je obsah balíka (binárne súbory, manuál, dokumentácia atď.), control.tar.gz sú metadáta, v najjednoduchšej verzii dva súbory: control, obsahujúci popis balíka, závislosti, size atď. .d. a md5sums - kontrolné súčty všetkých súborov balíka Súbor debian-binary obsahuje verziu balíka Deb (napríklad 2.0 Na rozbalenie balíka môžete použiť príkaz:

ar -xv package.deb && tar -xzf data.tar.gz

Advanced Packaging Tool je nástroj na vysokej úrovni pre prácu s balíkmi.

Práca s balíkmi pomocou dpkg.

dpkg je hlavný program v systéme na prácu s balíkmi Debianu. Ak existujú balíčky .deb, je to dpkg, ktorý vám umožňuje ich inštaláciu alebo analýzu ich obsahu. Tento program má však len čiastočný pohľad na svet Debianu: vie, čo je v systéme nainštalované, ako aj všetko, čo mu bolo odovzdané na príkazovom riadku, ale nevie nič o iných dostupných balíkoch. Preto zlyhá, ak narazí na neuspokojenú závislosť. Nástroje ako apt na druhej strane automaticky vytvoria zoznam závislostí, aby bolo možné všetko nainštalovať čo najautomaticky.

dpkg alebo apt?

dpkg by sa mal považovať za nízkoúrovňový nástroj (motor) a vhodný ako nástroj bližšie k používateľovi, ktorý obchádza obmedzenia prvého. Tieto nástroje spolupracujú, každý má svoje špecifiká, prispôsobené pre špecifický rozsah úloh.

Inštalácia balíkov

dpkg je primárne nástroj na inštaláciu už dostupných balíčkov Debianu (keďže nič nesťahuje). Ak chcete nainštalovať balík, použite voľbu -i alebo --install.

Inštalácia balíka pomocou dpkg

Dpkg -i man-db_2.7.0.2-5_amd64.deb




Balík man-db (2.7.0.2-5) sa konfiguruje...

Vidíme každý krok, ktorý vykoná dpkg, takže vieme, kde sa mohla vyskytnúť chyba. Inštalácia môže prebiehať aj v dvoch fázach: najprv rozbalenie, potom konfigurácia. Vďaka tomu bude apt-get menej volať dpkg (každá takáto požiadavka je drahá operácia kvôli potrebe načítať databázu do pamäte vrátane celého zoznamu už nainštalovaných súborov).

Samostatné vybalenie a nastavenie

Dpkg --unpack man-db_2.7.0.2-5_amd64.deb

(Čítam databázu...momentálne je nainštalovaných 86425 súborov a adresárov.)
Príprava na rozbalenie man-db_2.7.0.2-5_amd64.deb ...
Man-db (2.7.0.2-5) je rozbalený, aby nahradil (2.7.0.2-5) ...
Spúšťače pre podporu mime (3.58) sú spracované...

Dpkg --konfigurácia man-db

Balík man-db (2.7.0.2-5) sa konfiguruje...
Aktualizácia databázy manuálových stránok...

Niekedy dpkg z jedného alebo druhého dôvodu nemôže nainštalovať balík a vráti chybu; ak používateľ dá pokyn ignorovať túto chybu, vydá sa iba varovanie; Na to existujú rôzne možnosti --force-*. Poskytne to príkaz dpkg --force-help alebo dokumentácia k tomuto príkazu úplný zoznam takéto možnosti. Najčastejšou chybou, s ktorou sa skôr či neskôr stretnete, je konflikt súborov. Keď balík obsahuje súbor, ktorý je už nainštalovaný iným balíkom, dpkg ho odmietne nainštalovať a dostaneme správu ako je táto:

Balík libgdm je rozbalený (zo súboru.../libgdm_3.8.3-2_amd64.deb) ...
dpkg: chyba pri spracovaní parametra /var/cache/apt/archives/libgdm_3.8.3-2_amd64.deb (--unpack):
pokúšam sa prepísať "/usr/bin/gdmflexserver", ktorý je už v balíku gdm3 3.4.1-9

V tomto prípade, ak sa domnievate, že nahradenie tohto súboru nepredstavuje významné riziko pre stabilitu vášho systému (toto je často prípad), môžete použiť možnosť --force-overwrite, ktorá dpkg povie, aby túto chybu ignoroval a prepísať súbor.
Hoci existuje veľa možností --force-*, na bežné používanie sa odporúča iba --force-overwrite. Ostatné sú určené len pre výnimočné prípady a je lepšie ich nechať na pokoji čo najdlhšie, aby boli dodržané pravidlá stanovené pri vytváraní balíka. Nezabudnite, že tieto pravidlá sú zárukou integrity a stability systému.

POZOR! Efektívne využitie --force-*

Ak si nedáte pozor, použitie voľby --force-* môže spôsobiť, že príkazy APT prestanú fungovať. Niektoré z týchto možností vám umožňujú nainštalovať balík s nesplnenými závislosťami alebo v prípade konfliktu. Výsledkom je, že konzistencia systému z hľadiska závislostí je narušená a príkazy APT odmietnu robiť čokoľvek iné, než to, čo vráti systém do konzistentného stavu (zvyčajne to znamená inštaláciu chýbajúcej závislosti alebo odstránenie problematického balíka ). Tu je príklad správy označujúcej takúto chybu, ktorá bola prijatá po inštalácii novej verzie rdesktop a ignorovaní závislosti na novšej verzii libc6:

apt úplný upgrade

Na opravu týchto chýb možno budete chcieť použiť "apt-get -f install".
Balíky s nesplnenými závislosťami:
rdesktop: Závisí od: libc6 (>= 2.5), ale 2.3.6.ds1-13etch7 je už nainštalovaný
E: Nesplnené závislosti.

Skúste použiť -f.
Neohrození správcovia, ktorí sú si istí svojou analýzou situácie, môžu ignorovať varovanie o probléme so závislosťou alebo konflikte použitím vhodnej voľby --force-*. V tomto prípade, ak chcete pokračovať v používaní apt alebo aptitude, musíte upraviť /var/lib/dpkg/status a odstrániť/zmeniť závislosť alebo konflikt.
Úprava tohto súboru je špinavý hack a nemala by sa používať s výnimkou extrémnych prípadov. Najlepším riešením je často prebudovať balík spôsobujúci problém, „Znova zostavte balík z jeho zdrojový kód") alebo pomocou jeho novej verzie (pravdepodobne opravenej) z úložiska, ako je napríklad stable-backports (pozrite si časť 6.1.2.4 – „Stabilný softvér so spätnou kompatibilitou").

Odstránenie balíka

Spustenie dpkg s voľbou -r alebo --remove nasledovanou názvom balíka odstráni daný balík. Toto odstránenie však nie je úplné: všetky konfiguračné súbory, skripty správcu, protokolové súbory (systémové protokoly) a ďalšie používateľské údaje používané týmto balíkom zostanú. Týmto spôsobom je jednoduché zbaviť sa programu jeho odinštalovaním, no zároveň zostáva možnosť ho znova nainštalovať s rovnakou konfiguráciou. Pre úplné odstránenie všetko spojené s balíkom používa voľbu -P alebo --purge, za ktorou nasleduje názov balíka.

Kompletné odstránenie balíka debian-cd

Dpkg -r debian-cd

(Čítam databázu...momentálne je nainštalovaných 97747 súborov a adresárov.)

Dpkg -P debian-cd

(Čítam databázu...momentálne je nainštalovaných 97401 súborov a adresárov.)
Balík debian-cd (3.1.17) sa odstraňuje...
Konfiguračné súbory balíka debian-cd (3.1.17) sú vymazané...

databázové dotazy dpkg a analyzovanie súborov .deb

Pre väčšinu možností existujú možnosti „dlhá“ (jedno alebo viac slov, pred ktorými je dvojitá pomlčka) a „krátke“ možnosti (jedno písmeno, často prvé písmeno možnosti „dlhá“, za ktorou nasleduje jedna spojovník). Táto konvencia je taká bežná, že je už štandardom POSIX.
Predtým, ako túto časť uzavrieme, pozrime sa na možnosti dpkg na dopytovanie rôznych informácií v internej databáze. V tomto prípade budú najskôr špecifikované dlhé možnosti a potom zodpovedajúce krátke možnosti (ktoré samozrejme majú rovnaké argumenty). Teda --listfiles package (alebo -L) uvádza zoznam súborov nainštalovaných balíčkom; --search file (alebo -S) vyhľadá balík, do ktorého tento súbor patrí; --status package (alebo -s) zobrazuje informácie o konkrétnom nainštalovanom balíku; --list (alebo -l) zobrazuje zoznam balíkov známych systému a ich stav; --contents file.deb (alebo -c) zobrazuje zoznam súborov v tomto balíku; --info file.deb (alebo -I) zobrazuje informácie o balíku Debian.

Získavanie informácií pomocou dpkg

Dpkg -L base-passwd

/.
/usr
/usr/sbin
/usr/sbin/update-passwd
/usr/share
/usr/share/man
/usr/share/man/en
/usr/share/man/ru/man8
/usr/share/man/ru/man8/update-passwd.8.gz
/usr/share/man/pl
/usr/share/man/pl/man8
/usr/share/man/pl/man8/update-passwd.8.gz
/usr/share/man/man8
/usr/share/man/man8/update-passwd.8.gz
/usr/share/man/fr
/usr/share/man/fr/man8
/usr/share/man/fr/man8/update-passwd.8.gz
/usr/share/doc-base
/usr/share/doc-base/users-and-groups
/usr/share/base-passwd
/usr/share/base-passwd/passwd.master
/usr/share/base-passwd/group.master
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/base-passwd
/usr/share/doc
/usr/share/doc/base-passwd
/usr/share/doc/base-passwd/copyright
/usr/share/doc/base-passwd/users-and-groups.html
/usr/share/doc/base-passwd/changelog.gz
/usr/share/doc/base-passwd/users-and-groups.txt.gz
/usr/share/doc/base-passwd/README

Dpkg -S /bin/dátum

coreutils: /bin/date

Dpkg -s coreutils

Balík: coreutils
Podstatné: áno
Stav: inštalácia je v poriadku nainštalovaná
Priorita: vyžaduje sa
Sekcia: inžinierske siete
Inštalovaná veľkosť: 13822
Údržba: Michael Stone
Architektúra: amd64
Multi-Arch: zahraničný
Verzia: 8.13-3.5
Náhrady: mktemp, timeout
Závisí: dpkg (>= 1.15.4) | informácie o inštalácii
Vopred závisí: libacl1 (>= 2.2.51-8), libattr1 (>= 1:2.4.46-8), libc6 (>= 2.7), libselinux1 (>= 1.32)
Konflikty: časový limit
Popis: Základné nástroje GNU
Tento balík obsahuje základnú manipuláciu so súbormi, shellom a textom
pomocné programy, od ktorých sa očakáva, že budú existovať v každom operačnom systéme.
.
Konkrétne tento balík obsahuje:
arch base64 basename cat chcon chgrp chmod chown chroot cksum comm cp
csplit dátum strihu dd df dir dircolors dirname du echo env expand expr
faktor false flock fmt fold groups head hostid id install join link ln
logname ls md5sum mkdir mkfifo mknod mktemp mv nice nl nohup nproc od
vložiť pathchk pinky pr printenv printf ptx pwd readlink rm rmdir runcon
sha*sum seq shred spánok sort split stat stty sum sync tac tail test tee
timeout touch tr true truncate tsort tty uname unexpand uniq unlink
používatelia vdir wc whoami áno
Domovská stránka: http://gnu.org/software/coreutils

Dpkg -l "b*"

Desired=unknown[u]/install[i]/delete[r]/clear[p]/commit[h]
| Stav=nie[n]/nainštalované[i]/nakonfigurované[c]/rozbalené[U]/čiastočne nakonfigurované[F]/
čiastočne nainštalovaný[H]/trig-aWait/Trig-pend
|/ Chyba?=(žiadne)/vyžaduje sa opätovná inštalácia[R] (veľké písmená
v poliach status a error označuje abnormálnu situáciu)
||/ Názov Verzia Popis architektúry
+++-============-==============-==============-================================
jeden zálohovací ninja<нет>(popis nie je k dispozícii)
un base<нет>(popis nie je k dispozícii)
un base-config<нет>(popis nie je k dispozícii)
ii základné súbory 7.1 amd64 Základný systém Debianu rôzne
ii base-passwd 3.5.26 amd64 hlavné heslo základného systému Debianu
[...]

Dpkg -c /var/cache/apt/archives/gnupg_1.4.12-7_amd64.deb

drwxr-xr-x root/root 0 2013-01-02 19:28 ./
drwxr-xr-x root/root 0 2013-01-02 19:28 ./usr/
drwxr-xr-x root/root 0 2013-01-02 19:28 ./usr/share/
drwxr-xr-x root/root 0 2013-01-02 19:28 ./usr/share/doc/
drwxr-xr-x root/root 0 2013-01-02 19:28 ./usr/share/doc/gnupg/
-rw-r--r-- root/root 3258 20.01.2012 10:51 ./usr/share/doc/gnupg/TODO
-rw-r--r-- root/root 308 2011-12-02 18:34 ./usr/share/doc/gnupg/FAQ
-rw-r--r-- root/root 3543 20.02.2012 18:41 ./usr/share/doc/gnupg/Upgrading_From_PGP.txt
-rw-r--r-- root/root 690 20.02.2012 18:41 ./usr/share/doc/gnupg/README.Debian
-rw-r--r-- root/root 1418 20.02.2012 18:41 ./usr/share/doc/gnupg/TODO.Debian
[...]

Dpkg -I /var/cache/apt/archives/gnupg_1.4.12-7_amd64.deb

nový balík debian, verzia 2.0.
veľkosť 1952176 bajtov: dĺžka riadiaceho archívu 3312 bajtov.
1449 bajtov, 30 riadiacich riadkov
4521 bajtov, 65 riadkov md5sum
479 bajtov, 13 riadkov * postinst #!/bin/sh
473 bajtov, 13 riadkov * preinst #!/bin/sh
Balenie: gnupg
Verzia: 1.4.12-7
Architektúra: amd64
Správca: Debian GnuPG-Maintainers
Inštalovaná veľkosť: 4627
Závisí: libbz2-1.0, libc6 (>= 2.4), libreadline6 (>= 6.0), libusb-0.1-4 (>= 2:0.1.12), zlib1g (>= 1.1.1.4), dpkg (>= 1.15.4) | informácie o inštalácii, gpgv
Odporúča: libldap-2.4-2 (>= 2.4.7), gnupg-curl
Navrhuje: gnupg-doc, xloadimage | imagemagick | eog, libpcsclite1
Sekcia: inžinierske siete
Priorita: dôležité
Multi-Arch: zahraničný
Domovská stránka: http://www.gnupg.org
Popis: Ochrana súkromia GNU - bezplatná náhrada PGP
GnuPG je nástroj GNU na bezpečnú komunikáciu a ukladanie dát.
Môže sa použiť na šifrovanie údajov a vytváranie digitálnych podpisov.
Zahŕňa pokročilé zariadenie na správu kľúčov a je v súlade
s navrhovaným internetovým štandardom OpenPGP, ako je opísané v RFC 4880.
[...]

HĹBKA PRENÁJMU: Porovnanie verzií

Keďže dpkg je program na prácu s balíkmi Debianu, obsahuje okrem iného aj referenčnú implementáciu logiky porovnávania čísel verzií. Preto má možnosť --compare-versions, ktorú používajú externé programy (hlavne konfiguračné skripty spúšťané samotným dpkg). Táto možnosť vyžaduje tri parametre: číslo verzie, operátor porovnávania a číslo druhej verzie. Platné operátory porovnávania sú lt (prísne menšie ako), le (menšie alebo rovné), eq (rovná sa), ne (nerovná sa), ge (väčšie alebo rovné) a gt (prísne väčšie ako). Ak je porovnanie správne, dpkg vráti 0 (úspech, ak nie, potom nenulovú hodnotu (chyba).

$ dpkg --porovnanie verzií 1.2-3 gt 1.1-4
$echo$?
0
$ dpkg --porovnanie verzií 1.2-3 lt 1.1-4
$echo$?
1
$ dpkg --compare-versions 2.6.0pre3-1 lt 2.6.0-1
$echo$?
1

Všimnite si neočakávané zlyhanie posledného porovnania: v prípade dpkg nemajú písmená pre, ktoré zvyčajne označujú predbežné vydanie, žiadny špeciálny význam a abecedné znaky sa porovnávajú rovnakým spôsobom ako čísla (a< b < c ...), в алфавитном порядке. Именно поэтому dpkg считает, что «0pre3» больше, чем «0». При необходимости указать в номере версии, что она относится к предварительному выпуску, используется символ тильды «~»:

$ dpkg --compare-versions 2.6.0~pre3-1 lt 2.6.0-1
$echo$?
0

súbor denníka dpkg

dpkg uchováva denník všetkých svojich akcií v /var/log/dpkg.log. Tento protokol je mimoriadne podrobný a dokumentuje každý krok spracovania balíkov dpkg. Tento protokol pomáha nielen sledovať správanie dpkg, ale aj udržiavať históriu zmien v systéme: môžete nájsť presný okamih, kedy bol každý balík nainštalovaný alebo aktualizovaný, a tieto informácie môžu byť mimoriadne užitočné pri určovaní príčin zmeny v správaní systému ako celku. Okrem toho sa zaznamenávajú informácie o všetkých verziách a možno ich ľahko skontrolovať oproti changelog.Debian.gz z príslušného balíka alebo proti online hláseniam o chybách.

Podpora viacerých architektúr

Všetky balíky Debianu majú vo svojich metadátach pole Architecture. Toto pole môže obsahovať buď hodnotu „all“ (pre balíky, ktoré sú nezávislé od architektúry) alebo názov špecifickej architektúry, pre ktorú je balík určený (napríklad „amd64“, „armhf“, ...). V druhom prípade dpkg štandardne povolí inštaláciu balíka iba vtedy, ak sa jeho architektúra zhoduje so systémovou architektúrou vrátenou dpkg --print-architecture.
Toto obmedzenie zaisťuje, že v systéme nie sú skompilované žiadne binárne súbory pre nesprávnu architektúru. To by bolo v poriadku, ale (niektoré) počítače môžu spúšťať binárne súbory pre rôzne architektúry, buď natívne (napríklad systémy „amd64“ spúšťajú binárne súbory pre „i386“) alebo prostredníctvom emulátorov.

Povolenie multi-architektúry

Podpora viacerých architektúr dpkg vám umožňuje definovať „cudzie architektúry“, ktoré je možné nainštalovať na daný systém. To sa dá ľahko urobiť pomocou dpkg --add-architecture, ako je znázornené v príklade nižšie. Existuje aj zodpovedajúci príkaz dpkg --remove-architecture na vypnutie podpory pre cudziu architektúru, ale dá sa použiť iba vtedy, ak v systéme nezostali žiadne balíky tejto architektúry.

dpkg --print-architecture
amd64

dpkg: chyba pri spracovaní archívu gcc-4.9-base_4.9.1-19_armhf.deb (--install):
architektúra balíka (armhf) nezodpovedá systému (amd64)
Pri spracovaní sa vyskytli chyby:
gcc-4.9-base_4.9.1-19_armhf.deb

dpkg --add-architecture armhf
dpkg --add-architecture armel
dpkg --print-foreign-architectures
armhf
armel

Dpkg -i gcc-4.9-base_4.9.1-19_armhf.deb

Vyberá sa predtým nevybraný balík gcc-4.9-base:armhf.
(Načítava sa databáza ... Aktuálne je nainštalovaných 86425 súborov a adresárov.)
Príprava na rozbalenie gcc-4.9-base_4.9.1-19_armhf.deb ...
Rozbaľuje sa gcc-4.9-base:armhf (4.9.1-19) ...
Nastavenie gcc-4.9-base:armhf (4.9.1-19) ...

Dpkg --remove-architecture armhf

dpkg: chyba: nemožno odstrániť architektúru "armhf", ktorú momentálne používa databáza

Dpkg --remove-architecture armel
dpkg --print-foreign-architectures
Podpora viacerých architektúr v APT

APT automaticky zistí, či je dpkg nakonfigurovaný na podporu cudzích architektúr a počas procesu aktualizácie začne sťahovať príslušné súbory balíkov.
Cudzie balíky je možné nainštalovať pomocou príkazu apt install package:architecture.

Používanie proprietárnych binárnych súborov i386 na systémoch amd64

Existuje niekoľko prípadov, keď môže byť užitočná multiarchitektúra, ale najbežnejším z nich je umožniť spustenie 32-bitových súborov (i386) na 64-bitových systémoch (amd64), najmä preto, že niektoré populárne proprietárne aplikácie (ako Skype) sú iba dostupné ako 32-bitové verzie.

Zmeny súvisiace s multi-architektúrou

Aby bola podpora viacerých oblúkov skutočne užitočná, knižnice bolo potrebné prebaliť a presunúť ich do adresára špecifického pre architektúru, aby bolo možné nainštalovať viacero kópií (pre rôzne architektúry) súčasne. Takéto aktualizované balíky obsahujú hlavičku "Multi-Arch: same", ktorá naznačuje systému správy balíkov, že rôzne architektúry balíkov môžu byť inštalované spoločne (a že tieto balíky môžu uspokojiť iba závislosti balíkov rovnakej architektúry). Keďže podpora viacerých oblúkov bola pridaná iba do Debian Wheezy, ešte neboli konvertované všetky knižnice.

Dpkg -s gcc-4,9-základ

dpkg-query: error: --status vyžaduje platný názov balíka, ale "gcc-4.9-base" nie je: nejednoznačný názov balíka "gcc-4.9-base" s viac ako jednou nainštalovanou inštanciou

Použite voľbu --help na zobrazenie pomoci pre balíkové dotazy.

Dpkg -s gcc-4,9-základ:amd64 gcc-4,9-základ:armhf | grep ^Multi

Multi-Arch: to isté
Multi-Arch: to isté

Dpkg -L libgcc1:amd64 |grep .so

/lib/x86_64-linux-gnu/libgcc_s.so.1

Dpkg -S /usr/share/doc/gcc-4.9-base/copyright

gcc-4.9-base:amd64, gcc-4.9-base:armhf: /usr/share/doc/gcc-4.9-base/copyright

Stojí za zmienku, že balíky s rovnakým poľom Multi-Arch: by mali byť pomenované názvom architektúry, aby ich bolo možné jednoznačne identifikovať. Môžu tiež mať zdieľané súbory s inými inštanciami toho istého balíka; dpkg v tomto prípade zaisťuje, že všetky balíky majú bit po bit identické zdieľané súbory. Všetky inštancie balíka musia mať rovnakú verziu, preto sa musia aktualizovať spoločne.
Podpora viacerých oblúkov tiež prináša niekoľko zaujímavých funkcií do mechanizmu spracovania závislostí. Vyriešenie závislosti vyžaduje buď balík označený ako "Multi-Arch: Foreign" alebo balík s rovnakou architektúrou (pri riešení závislosti sa balíky nezávislé od architektúry považujú za balíky rovnakej architektúry ako systém). Závislosť môže byť tiež uvoľnená, aby ju balík akejkoľvek architektúry uspokojil pomocou syntaxe package:any, ale cudzie balíky môžu takúto závislosť uspokojiť len vtedy, ak sú označené ako "Multi-Arch: Allowed".

Použité materiály.

Niekedy nastanú situácie, keď potrebujete zistiť, ktoré balíčky sú nainštalované v systéme. To môže byť potrebné, ak si chcete vytvoriť záložnú kópiu nainštalovaných balíkov, skontrolovať ich integritu, preniesť všetky balíky do iného systému a pri mnohých iných úlohách. V Debiane na to môžete použiť niekoľko metód.

V dnešnom článku sa pozrieme na to, ako zobraziť zoznam nainštalovaných balíkov Debianu pomocou terminálu, rozhrania curses, ako aj grafické rozhranie. Takéto zoznamy možno použiť nielen na Rezervovať kópiu, ale aj za účelom jednoduchého opakovania a vymazania nepotrebné programy, čím sa systém vyčistí od trosiek.

Úplne prvý spôsob, ako zobraziť nainštalované balíky Debianu, je pomocou nástroja dpkg. Dá sa použiť nielen v Debiane, ale vo všetkých distribúciách, ktoré sú na ňom založené:

dpkg --get-selections | grep -v odinštalovať

dpkg --get-selections | grep -v deinstall > mylist.txt

Môžete tiež odstrániť všetky nepotrebné informácie a ponechať si iba názvy balíkov:

dpkg -l | grep ^ii | awk "( vytlačiť $2)" > mylist.txt

Ďalším spôsobom, ako vyriešiť tento problém, je použiť nástroj dpkg-query. Je to podobné ako v predchádzajúcej možnosti, ale trochu jednoduchšie. Tento príkaz zobrazí všetky nainštalované balíky spolu s informáciami o nich:

Aj tu môžete vybrať iba názvy balíkov pomocou voľby -f:

dpkg-query -f "$(binary:Package)\n" -W

Treťou metódou je nástroj apt, ktorý sme zvyknutí používať na inštaláciu aplikácií, má príkaz list:

zoznam apt --nainštalovaný

zoznam apt --nainštalovaný | grep python

Na apt sme sa pozreli podrobnejšie v článku. Ďalšou zaujímavou funkciou apt je vidieť, ktoré balíky boli nainštalované manuálne. Ak to chcete urobiť, zadajte:

apt-mark showmanuál

A ďalšia možnosť pomocou apt:

apt-cache pkgname

Nástroj na správu balíkov aptitude vám tiež umožňuje zobraziť zoznam nainštalovaných balíkov:

aptitude hľadať "~i!~M"

Aptitude môže pracovať aj v režime prekliatia, čo je veľmi pohodlné:

Posledný spôsob, ako zobraziť zoznam nainštalovaných balíkov, je v súbore /var/lib/apt/extended_states. Toto je databáza, ktorá obsahuje nainštalované programy debianu v tomto formáte:

Package: package_name
Architektúra: architektúra
Automaticky nainštalované: 0_or_1

cat /var/lib/apt/extended_states

Obnovenie zoznamu nainštalovaných balíkov

Mnoho používateľov vytvára zoznam balíkov nielen na prezeranie, ale aj na budúce obnovenie. Ak ste zoznam vytvorili pomocou dpkg, potom ho môžete veľmi ľahko obnoviť do systému pomocou podobného príkazu:

sudo dpkg --clear-selections
$ sudo dpkg --set-selections< mylist.txt

Všetko je veľmi jednoduché. Na inštaláciu balíkov po ich pridaní do zoznamu použite príkaz:

sudo apt dselect-upgrade

Ak máte iba zoznam názvov balíkov, musíte ho obnoviť trochu inak. Stačí zadať všetky tieto názvy príkazu apt na inštaláciu:

xargs< mylist.txt apt install -y

závery

V tomto článku sme sa pozreli na to, ako zobraziť zoznam nainštalovaných balíkov Debianu. To môže byť veľmi užitočné a je to celkom jednoduché. Dúfam, že tieto informácie boli pre vás užitočné.

Dlho ma trápila neznalosť toho, ako robiť niektoré základné veci v správcovi balíkov Debianu, ale ako sa často stáva, nablízku nebol nikto, koho by som sa mohol opýtať, a ja som sa nedostal k tomu, aby som si niečo zapísal. A nakoniec otázky dozreli a svoju otázku som napísal do mailing listu Debianu. Prirodzene sa ukázalo, že som vynechal niečo samozrejmé, ale naučil som sa aj veľa nezrejmých užitočných vecí, a tak som sa rozhodol načrtnúť cheat sheet, možno sa to niekomu bude hodiť.

Rýchla pomoc správcu Debianu

Základné a dobre známe
Získavanie informácií o nových/aktualizovaných balíkoch
aktualizácia sudo aptitude
Aktualizovať
sudo aptitude safe-upgrade
Vyhľadanie balíka podľa názvov balíkov
aptitude search key_word
Vyhľadajte balík podľa presného názvu
aptitude hľadať "^name$"
Hľadajte podľa popisu
aptitude search "?description("key_word")"
Informácie o balíku
aptitude show názov_balíka
Inštalácia
sudo aptitude install package_name
Odstránenie
sudo aptitude odstráňte názov_balíka
Úplné odstránenie (spolu s konfiguráciami)
sudo aptitude purge názov_balíka
Vymažte vyrovnávaciu pamäť stiahnutých balíkov (uvoľnite miesto)
aptitude autoclean # budú odstránené iba balíky zastaraných verzií aptitude clean # bude vymazaná celá vyrovnávacia pamäť
Inštalácia samostatne stiahnutého/vytvoreného balíka (na vytvorenie balíka zo zdrojov tretích strán musíte použiť pomôcku checkinstall s príznakom -D)
sudo dpkg -i /cesta/k/baliku.deb
Pre ďalšie informácie
man aptitude sudo aptitude install aptitude-doc-sk
a pozrite si dokumentáciu (/usr/share/doc/aptitude/html/en/index.html), ak potrebujete rýchlu pomoc so vzormi vyhľadávania, prejdite sem - /usr/share/doc/aptitude/html/en/ch02s04 .html. Ak ste príliš leniví na inštaláciu dokumentu, potom je k dispozícii online.
Úvod do Debian Wiki: wiki.debian.org/Aptitude
A teraz to, čo nie je zrejmé alebo si vyžaduje úplné prečítanie dokumentácie
1. Ako zistím, ktoré balíčky budú aktualizované po aktualizácii?
aptitude search ?upgradovateľné
možno použiť aj (ak je nainštalovaný)
sudo daptup
ale po nainštalovaní sa bežná aktualizácia bude správať úplne rovnako

2. Ako zistím, čo sa zmenilo v balíkoch, ktoré sa budú aktualizovať?
Si môžete vyskúšať
sudo aptitude changelog názov_balíka
pre každý balík.
Ale je lepšie nainštalovať apt-listchanges, potom sa pred každou inštaláciou aktualizácie zobrazí zoznam zmien, predvolené nastavenia nie sú príliš pohodlné, takže je lepšie si prekonfigurovať sami, napríklad vybrať výstupný formát (zatiaľ som m pomocou textu, pre veľké aktualizácie je pravdepodobne lepší pager), neposielajte listy, žiadajte o potvrdenie, zobrazte všetky informácie. Ak to chcete urobiť, musíte bežať
sudo dpkg-reconfigure apt-listchanges
3. Čo mám robiť, ak aktualizácia niečo pokazí a potrebujem sa vrátiť späť?
Neexistuje žiadne vrátenie späť, môžete sa pokúsiť nájsť predchádzajúcu verziu balíka
sudo aptitude verzia názov_balíka
a nainštalujte ho
sudo aptitude install názov_balíka=verzia
4. Ako nájsť všetky balíky nainštalované manuálne?
existuje možnosť príkazu (aptitude search "~i!~M"), ale bohužiaľ nedáva požadovaný výsledok, takže otázka zostáva otvorená, existuje veľa metód založených na analýze protokolov
/var/log/aptitude (+ otočené časti) /var/log/installer/initial-status.gz /var/log/dpkg.log (+ otočené časti)
ale neexistuje jednoduche a pripravene riesenie a pri rotaciach sa teoreticky mozu stratit informacie, treba nakonfigurovat

5. Ako môžem zobraziť zoznam súborov v balíku?
ak je balík nainštalovaný
dpkg -L názov_balíka
pre všetky balíky nainštalujte apt-file a
apt-file list názov_balíka
6. Ako zistím, do ktorého balíka súbor patrí?
dpkg -S názov_súboru
7. Ako odstrániť všetky balíky, ktoré obsahujú kľúč v názve balíka?
sudo aptitude purge ~ikey
8. Ako odstrániť zostávajúce konfigurácie z odstránených balíkov?
sudo aptitude purge ~c
9. Ako nájsť balík, ktorý obsahuje súbor lib.so:
apt-file search lib.so
10. Ako previesť rpm balíček v deb?
alien --to-deb /cesta/k/suboru.rpm
11. Ako nájsť zoznam nainštalovaných jadier?
dpkg --zoznam linux-* | grep ii
12. Ako nainštalovať balík z testovania alebo experimentu?
Na túto tému treba písať samostatne (napríklad takto), ale na to skrátka existujú príkazy
sudo aptitude -t testing názov_balíka
alebo
sudo aptitude názov_balíka/testing
13. Ako môžem odstrániť metabalík, ale ponechať jednu zo závislostí?
Budete si musieť prečítať dokumentáciu o kľúči unmarkauto alebo sa pozrieť sem.

14. Ako zistiť, čo sa do systém súborov prekonal systém správy balíkov?
Existuje pomôcka cruft, hoci otázka interpretácie výsledkov (súbor správy) je stále otvorená
sudo cruft -d / -r report --ignore /home --ignore /var --ignore /tmp
15. Aké ďalšie úložiská existujú?
Debian - wiki.debian.org/UnofficialRepositories
Ubuntu - veľa rôznych



Načítava...
Hore