Debian

Závislosti balíkov Debianu

Závislosti balíkov Debianu
Pre distribúcie Linuxu, ako je Debian GNU / Linux, existuje viac ako 60.000 rôznych softvérových balíkov. Všetky majú špecifickú úlohu. V tomto článku vysvetľujeme, ako správa balíkov spoľahlivo spravuje toto obrovské množstvo softvérových balíkov počas inštalácie, aktualizácie alebo odstraňovania, aby bol váš systém funkčný a úplne stabilný.

Pre Debian GNU / Linux to znamená nástroje apt, apt-get, aptitude, apt-cache, apt-depends, apt-rdepends, dpkg-deb a apt-mark.

Dostupnosť softvérových balíkov

Ako už bolo povedané vyššie, distribúcia Linuxu pozostáva z množstva rôznych softvérových balíkov. Softvér je dnes pomerne zložitý, a preto je bežné softvér rozdeliť do niekoľkých samostatných balíkov. Tieto balíčky možno kategorizovať podľa funkčnosti alebo podľa role, ako sú binárne balíčky, knižnice, dokumentácia, príklady použitia, ako aj jazykovo špecifické zbierky, a poskytujú vybranú časť softvéru, iba. Neexistuje pre ňu žiadne pevné pravidlo a rozdelenie vykonáva buď vývojový tím nástroja, alebo správca balíkov, ktorý sa stará o softvérový balík pre vašu distribúciu Linuxu. Pomocou aptitude, obrázok 1, zobrazuje zoznam balíkov, ktoré obsahujú preklady do rôznych jazykov webového prehliadača Mozilla Firefox.

Obrázok 1: aptitude-firefox.png

Tento spôsob práce umožňuje, aby každý balík mohol udržiavať iný vývojár alebo ako celý tím. Ďalej rozdelenie na jednotlivé komponenty umožňuje ďalším softvérovým balíkom, aby ich využívali aj na svoje vlastné účely. Je možné použiť požadovanú funkčnosť a nie je potrebné ju znova objavovať.

Organizácia balíkov

Nástroje na správu balíkov v distribúcii Debian GNU / Linux sa neustále starajú o úplné splnenie závislostí nainštalovaných balíkov. To platí najmä v prípade, ak je softvérový balík určený na inštaláciu, aktualizáciu alebo odstránenie vo vašom systéme alebo z neho. Chýbajúce balíčky sa pridajú do systému alebo nainštalované balíčky sa zo systému odstránia, ak už nie sú potrebné. Obrázok 2 to ukazuje na odstránenie balíka „mc-data“ pomocou „apt-get“. Balík „mc-data“ odporúča automaticky odstrániť aj balík „mc“, pretože už nemá zmysel inštalovať ho bez „mc-data“.

Obrázok 2: apt-get-remove-mc.png

Značky a vlajky na obale

Počas svojej práce nástroje na správu balíkov rešpektujú nastavené vlajky a značky. Nastavujú sa buď automaticky, alebo ich nastavuje manuálne správca systému. Najmä toto správanie sa týka príznaku „zásadný balík“, ktorý je nastavený pre balíky, ktoré by sa nemali odstraňovať. Predtým, ako to urobíte, bude vydané jasné varovanie (pozri obrázok 3).

Obrázok 3: apt-get-remove.png

Zohľadňujú sa tiež tri označenia „automatický“, „manuálny“ a „podržať“. Označia balík ako automaticky nainštalovaný, ručne nainštalovaný alebo sa nemusí aktualizovať (podržať aktuálnu verziu). Softvérový balík je označený ako „automatický“ alebo „manuálny“, ale nie obidva.

Príkaz 'apt-mark' okrem iného spracováva značky a vlajky pomocou nasledujúcich čiastkových príkazov:

Ak chcete zobraziť zoznam všetkých ručne nainštalovaných balíkov, zadajte tento príkaz:

$ apt-mark showmanual
abiword
abs-sprievodca
ack-grep
acl
acpi

$

Na uchovanie verzie balíka použite čiastkový príkaz 'pozdržať'. Nasledujúci príklad to ukazuje pre balík „mc“.

# apt-mark hold mc
mc pozastavené
#

Podpríkaz 'showhold' zobrazuje zoznam pozastavených balíkov (v našom prípade je to iba balík 'mc'):

# apt-mark showhold
mc
#

Použitím alternatívnej metódy s názvom 'apt pinning' sú balíčky klasifikované podľa priorít. Spoločnosť Apt ich uplatňuje pri rozhodovaní o tom, ako naložiť s týmto softvérovým balíkom a verziami, ktoré sú k dispozícii v softvérovom úložisku.

Popis balenia

Použitím alternatívnej metódy s názvom 'apt pinning' sú balíčky klasifikované podľa priorít. Spoločnosť Apt ich uplatňuje pri rozhodovaní, ako naložiť s týmto softvérovým balíkom a verziami, ktoré sú k dispozícii v softvérovom úložisku.

Každý softvérový balík má svoj vlastný štandardizovaný popis balíka. V ďalších poliach tento popis výslovne špecifikuje, na ktorých ďalších balíkoch závisí. Nástroje špecifické pre distribúciu extrahujú tieto informácie z popisu balíka a potom pre vás vypočítajú a vizualizujú závislosti. Nasledujúci príklad používa príkaz 'apt-cache show' na zobrazenie popisu balíka balíka 'poppler-utils' (pozri obrázok 4).

Obrázok 4: package-description-poppler-utils.png

Popis balíka obsahuje časť s názvom „Závisí“. Táto časť obsahuje zoznam ďalších softvérových balíkov a číslo verzie, od ktorých závisí aktuálny balík. Na obrázku 4 je táto časť orámovaná červenou farbou a ukazuje, že program „poppler-utils“ závisí od balíkov „libpoppler64“, „libc6“, „libcairo2“, „libfreetype6“, „liblcms2-2“, „libstdc ++ 6“ a „zlib1g“.

Zobraziť závislosti balíka

Čítanie popisu balíka je ťažký spôsob, ako zistiť závislosti na balíku. Ďalej si ukážeme, ako to zjednodušiť.

Existuje niekoľko spôsobov, ako zobraziť závislosti balíkov na príkazovom riadku. Pre deb balík ako lokálny súbor použite príkaz 'dpkg-deb' s dvoma parametrami - názvom súboru balíka a kľúčovým slovom 'Depends'. Nasledujúci príklad to ukazuje na balík 'skypeforlinux-64.deb ':

$ dpkg-deb -f Stiahnutie / skypeforlinux-64.deb Závisí
gconf-service, libasound2 (> = 1.0.16), libatk1.0-0 (> = 1.12.4), libc6 (> = 2.17),
libcairo2 (> = 1.2.4), libcups2 (> = 1.4.0), libexpat1 (> = 2.0.1),
libfreetype6 (> = 2.4.2), libgcc1 (> = 1: 4).1.1), libgconf-2-4 (> = 3.2.5),
libgdk-pixbuf2.0-0 (> = 2.22.0), libglib2.0-0 (> = 2.31.8), libgtk2.0-0 (> = 2.24.0),
libnspr4 (> = 2: 4.9-2 ~), libnss3 (> = 2: 3).13.4-2 ~), libpango-1.0-0 (> = 1.14.0),
libpangocairo-1.0-0 (> = 1.14.0), libsecret-1-0 (> = 0.7), libv4l-0 (> = 0.5.0),
libx11-6 (> = 2: 1.4.99.1), libx11-xcb1, libxcb1 (> = 1.6), libxcomposite1 (> = 1: 0).3-1),
libxcursor1 (>> 1.1.2), libxdamage1 (> = 1: 1).1), libxext6, libxfixes3,
libxi6 (> = 2: 1.2.99.4), libxrandr2 (> = 2: 1).2.99.3), libxrender1, libxss1,
libxtst6, apt-transport-https, libfontconfig1 (> = 2.11.0), libdbus-1-3 (> = 1.6.18),
libstdc ++ 6 (> = 4.8.1)
$

Aby ste to isté urobili aj pre nainštalovaný balík, použite 'apt-cache'. Prvý príklad kombinuje čiastkový príkaz 'show', za ktorým nasleduje názov balíka. Výstup sa odošle do príkazu „grep“, ktorý filtruje riadok „Závisí“:

$ apt-cache show xpdf | grep Závisí
Závisí: libc6 (> = 2.4), libgcc1 (> = 1: 4).1.1), libpoppler46 (> = 0.26.2),
libstdc ++ 6 (> = 4.1.1), libx11-6, libxm4 (> = 2.3.4), libxt6
$

Príkaz 'grep-status -F package -s Depends xpdf' oznámi rovnaké informácie.

Konkrétnejšie, druhý príklad opäť používa „apt-cache“, ale s čiastkovým príkazom „závisí“. Za čiastkovým príkazom nasleduje názov balíka:

$ apt-cache závisí xpdf
xpdf
Závisí: libc6
Závisí to: libgcc1
Závisí to: libpoppler46
Závisí: libstdc ++ 6
Závisí to: libx11-6
Závisí: libxm4
Závisí to: libxt6
Odporúča: poppler-utils
poppler-utils: i386
Odporúča: poppler-data
Odporúča: gsfonts-x11
Odporúča: poháre-bsd
cup-bsd: i386
Zrazí sa s:
Zrazí sa s:
Zrazí sa s:
Zrazí sa s:
Nahrádza:
Nahrádza:
Nahrádza:
Nahrádza:
Zrazí sa s: xpdf: i386
$

Zoznam vyššie je dosť dlhý a dá sa skrátiť pomocou prepínača „-i“ (skratka pre „-dôležité“):

$ apt-cache závisí -i xpdf
xpdf
Závisí: libc6
Závisí to: libgcc1
Závisí to: libpoppler46
Závisí: libstdc ++ 6
Závisí to: libx11-6
Závisí: libxm4
Závisí to: libxt6
$

Príkaz 'apt-rdepends' robí to isté, ale s informáciami o verzii, ak je to uvedené v popise:

$ apt-rdepends xpdf
Čítajú sa zoznamy balíkov ... Hotovo
Budovanie stromu závislostí
Čítajú sa informácie o stave ... Hotovo
xpdf
Závisí: libc6 (> = 2.4)
Závisí: libgcc1 (> = 1: 4.1.1)
Závisí: libpoppler46 (> = 0.26.2)
Závisí: libstdc ++ 6 (> = 4.1.1)
Závisí to: libx11-6
Závisí: libxm4 (> = 2.3.4)
Závisí to: libxt6
libc6
Závisí to: libgcc1

$

Príkaz 'aptitude' funguje aj s prepínačmi. Pre závislosti použite prepínač '~ R', za ktorým nasleduje názov balíka. Obrázok 5 to ukazuje pre balík 'xpdf'. Písmeno „A“ v druhom stĺpci výstupu programu „aptitude“ označuje balík, ktorý sa inštaluje automaticky.

Obrázok 5: aptitude-rdepends.png

Závislosti balíkov môžu byť trochu zložité. Môže to pomôcť graficky zobraziť závislosti balíkov. Na vytvorenie grafického znázornenia závislostí balíka použite príkaz „deblord“, za ktorým nasleduje názov balíka. Nástroj „bodka“ z balíka Graphviz transformuje popis na obrázok nasledovne:

$ dlhový xpdf | bodka -Tpng> graf.png

Na obrázku 6 vidíte vytvorený obrázok PNG, ktorý obsahuje graf závislostí.

Obrázok 6: bodka.png

Zobraziť opačné závislosti

Doteraz sme zobrazovali, že sme odpovedali na otázku, ktoré balíčky sú pre balíček potrebné. Existuje aj opačná strana - takzvané reverzné závislosti. Nasledujúce príklady sa zaoberajú balíkom aj balíkmi, ktoré na ňom závisia. Prvý príklad používa „apt-cache“ s čiastkovým príkazom „rdepends“ nasledovne:

$ apt-cache rdepends xpdf
xpdf
Reverzné závislosti:
| oktáva-doc
xpdf: i386
libfontconfig1: i386
| xmds-doc
xfe
wiipdf
| vim-latexsuite
python-scapy
| ruby-tioga
| python-tables-doc
| krízová stránka
| oktáva-doc
| muttprint-manual
mozplugger
mlpost
libmlpost-ocaml-dev

$

Balíky, ktoré závisia od iných balíkov, sú označené symbolom fajky. Tieto balíčky nie je potrebné inštalovať do vášho systému, musia byť uvedené v databáze balíkov.

Nasledujúci príklad používa 'aptitude' na zoznam balíkov, ktoré majú pevný odkaz na balík 'xpdf' (pozri obrázok 7).

Obrázok 7: aptitude-search.png

Overte inštaláciu chýbajúcich balíkov

'Apt-get' ponúka čiastkový príkaz 'check', ktorý umožňuje overiť inštaláciu. Ak uvidíte nasledujúci výstup, nechýbajú žiadne balíčky:

# apt-get check
Čítajú sa zoznamy balíkov ... Hotovo
Budovanie stromu závislostí
Čítajú sa informácie o stave ... Hotovo
#

Záver

Hľadanie závislostí balíkov funguje dobre so správnymi nástrojmi. Ich správne použitie vám pomôže pochopiť, prečo sú balíčky nainštalované a ktoré môžu chýbať.

Odkazy a referencie

Hry Zadarmo a open source herné motory pre vývoj hier pre Linux
Zadarmo a open source herné motory pre vývoj hier pre Linux
Tento článok sa bude zaoberať zoznamom bezplatných a otvorených herných nástrojov, ktoré možno použiť na vývoj 2D a 3D hier v systéme Linux. Existuje ...
Hry Výukový program Shadow of the Tomb Raider pre Linux
Výukový program Shadow of the Tomb Raider pre Linux
Shadow of the Tomb Raider je dvanásty prírastok do série Tomb Raider - franšíza akčných adventúr vytvorená Eidosom Montrealom. Túto hru prijali kritic...
Hry Ako zvýšiť rýchlosť FPS v systéme Linux?
Ako zvýšiť rýchlosť FPS v systéme Linux?
FPS znamená Počet snímok za sekundu. Úlohou FPS je merať snímkovú frekvenciu pri prehrávaní videa alebo herných výkonoch. Jednoducho povedané, počet n...