Debiani GNU / Linuxi puhul viitab see tööriistadele apt, apt-get, aptitude, apt-cache, apt-depend, apt-rdepends, dpkg-deb ja apt-mark.
Tarkvarapakettide kättesaadavus
Nagu juba eespool öeldud, koosneb Linuxi distributsioon tonnidest erinevatest tarkvarapakettidest. Tänaseks on tarkvara üsna keeruline ja seetõttu on tavaline tarkvara jagada mitmeks üksikpaketiks. Neid pakette saab liigitada funktsionaalsuse või rolli järgi, näiteks binaarpaketid, teegid, dokumentatsioon, kasutusnäited ja keelespetsiifilised kogud ning need pakuvad tarkvara ainult valitud osa. Selle jaoks pole kindlat reeglit ja jaotuse teeb kas tööriista arendustiim või paketi hooldaja, kes hoolitseb teie Linuxi distributsiooni tarkvarapaketi eest. Kasutades sobivust, loetleb joonis 1 paketid, mis sisaldavad veebibrauseri Mozilla Firefox erinevate keelte tõlkeid.
Joonis 1: sobivus-Firefox.png
Selline tööviis võimaldab, et iga paketti saab hooldada erinev arendaja või kogu meeskond. Lisaks võimaldab üksikuteks komponentideks jaotamine ka teistel tarkvarapakettidel seda oma eesmärkidel kasutada. Nõutavat funktsionaalsust saab rakendada ja seda pole vaja uuesti leiutada.
Pakettide korraldus
Debiani GNU / Linuxi jaotuse paketihaldustööriistad hoolitsevad pidevalt selle eest, et installitud pakettide sõltuvused oleksid täielikult täidetud. Seda eriti juhul, kui tarkvarapakett on mõeldud teie süsteemi installimiseks, värskendamiseks või kustutamiseks. Puuduvad paketid lisatakse süsteemi või installitud paketid eemaldatakse süsteemist, juhul kui neid enam vaja pole. Joonis 2 näitab seda paketi „mc-data” eemaldamiseks „apt-get” abil. Pakett 'mc-data' soovitab ka paketi 'mc' automaatselt eemaldada, kuna pole enam mõtet installida ilma 'mc-data'.
Joonis 2: apt-get-remove-mc.png
Pakimärgid ja lipud
Töö ajal austavad paketihalduse tööriistad seatud paketilippe ja -märke. Need määratakse kas automaatselt või süsteemiadministraator määrab need käsitsi. Eriti viitab see käitumine lipule „oluline pakett”, mis on määratud pakettidele, mida ei tohiks eemaldada. Enne seda tehakse selge hoiatus (vt joonis 3).
Joonis 3: apt-get-remove.png
Samuti võetakse arvesse kolme märki "automaatne", "käsitsi" ja "hoia". Nad tähistavad paketti automaatselt installituna, käsitsi installituna või seda ei tohi värskendada (hoidke praegust versiooni). Tarkvarapaketil on kas märge „automaatne” või „käsitsi”, kuid mitte mõlemad.
Muu hulgas käsutab käsk apt-mark märke ja lippe järgmiste alamkäskude abil:
- auto: määrake pakett automaatselt installituks
- hoidke: hoidke paketi praegust versiooni
- käsiraamat: määrake pakett käsitsi installituks
- showauto: näitab automaatselt installitud pakette
- showmanual: kuvab käsitsi installitud paketid
- showhold: loetlege ootel olevad paketid
- unhold: eemaldage antud pakendi ootelipp
Kõigi käsitsi installitud pakettide loetlemiseks väljastage see käsk:
$ apt-mark showmanualabisõna
abs-juhend
ack-grep
acl
acpi
…
$
Pakettversiooni hoidmiseks kasutage alamkäsu 'hold'. Allpool olev näide näitab seda paketi „mc” kohta.
# apt-mark hoidke mcmc ootel
#
Alamkäsk "showhold" loetleb ootel olevad paketid (meie puhul on see ainult pakett "mc"):
# apt-mark showholdmc
#
Kasutades alternatiivset meetodit pealkirjaga „tabav kinnitamine”, klassifitseeritakse paketid prioriteetide järgi. Apt rakendab neid, et otsustada, kuidas seda tarkvarapaketti ja tarkvarahoidlast saadaval olevaid versioone käsitseda.
Pakendi kirjeldus
Kasutades alternatiivset meetodit pealkirjaga „tabav kinnitamine“, klassifitseeritakse paketid prioriteetide järgi. Apt rakendab neid, et otsustada, kuidas seda tarkvarapaketti ja tarkvarahoidlast saadaval olevaid versioone käsitseda.
Igal tarkvarapaketil on oma standardiseeritud paketikirjeldus. Lisaks muudele väljadele täpsustab see kirjeldus selgesõnaliselt, millistest pakettidest pakett (id) see sõltub. Levitamise spetsiifilised tööriistad eraldavad selle teabe paketi kirjeldusest ning arvutavad ja visualiseerivad teie jaoks sõltuvused. Järgmine näide kasutab käsku apt-cache show paketi 'poppler-utils' paketikirjelduse kuvamiseks (vt joonis 4).
Joonis 4: package-description-poppler-utils.png
Pakendi kirjeldus sisaldab jaotist nimega 'Sõltub'. Selles jaotises on loetletud muud tarkvarapaketid koos versiooninumbriga, millest praegune pakett sõltub. Joonisel 4 on see jaotis punase raamiga ja näitab, et 'poppler-utils' sõltub pakettidest 'libpoppler64', 'libc6', 'libcairo2', 'libfreetype6', 'liblcms2-2', 'libstdc ++ 6' ja "zlib1g".
Näita paketi sõltuvusi
Pakendi kirjelduse lugemine on keeruline viis paketi sõltuvuste väljaselgitamiseks. Järgmisena näitame teile, kuidas seda lihtsustada.
Paketisõltuvuste kuvamiseks käsureal on mitu võimalust. Deb-paketi jaoks kohaliku failina kasutage kahe parameetriga käsku „dpkg-deb” - paketi failinimi ja märksõna „Sõltub”. Allpool toodud näide näitab seda paketi „skypeforlinux-64” puhul.deb ':
$ dpkg-deb -f Allalaadimised / skypeforlinux-64.deb Sõltubgconf-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)
$
Installitud paketi jaoks sama toimingu tegemiseks kasutage 'apt-cache'. Esimene näide ühendab alamkäsu 'show', millele järgneb paketi nimi. Väljund saadetakse käsule „grep”, mis filtreerib rida „Sõltub”:
$ apt-cache näitab xpdf | grep OlenebSõltub: libc6 (> = 2.4), libgcc1 (> = 1: 4).1.1), libpoppler46 (> = 0.26.2),
libstdc ++ 6 (> = 4.1.1), libx11-6, libxm4 (> = 2.3.4), libxt6
$
Käsk 'grep-status -F package -s Depends xpdf' edastab sama teabe.
Täpsemalt öeldes kasutab teine näide jällegi 'apt-cache', kuid selle asemel alamkäsuga 'sõltub'. Alamkäsule järgneb paketi nimi:
$ apt-cache sõltub xpdf-stxpdf
Sõltub: libc6
Sõltub: libgcc1
Sõltub: libpoppler46
Sõltub: libstdc ++ 6
Sõltub: libx11-6
Sõltub: libxm4
Sõltub: libxt6
Soovitab: poppler-utils
poppler-utils: i386
Soovitab: poppler-data
Soovitab: gsfonts-x11
Soovitab: tassid-bsd
tassid-bsd: i386
Kokkupõrge:
Kokkupõrge:
Kokkupõrge:
Kokkupõrge:
Asendab:
Asendab:
Asendab:
Asendab:
Kokkupõrge: xpdf: i386
$
Ülaltoodud loetelu on üsna pikk ja seda saab lühendada lülitiga '-i' (lühidalt '-oluline'):
$ apt-cache sõltub -i xpdf-stxpdf
Sõltub: libc6
Sõltub: libgcc1
Sõltub: libpoppler46
Sõltub: libstdc ++ 6
Sõltub: libx11-6
Sõltub: libxm4
Sõltub: libxt6
$
Käsk 'apt-rdepends' teeb sama, kuid versiooniteabega, kui see on kirjelduses täpsustatud:
$ apt-rdepends xpdfPakettide loendite lugemine ... Valmis
Sõltuvuspuu ehitamine
Olekuteabe lugemine ... Valmis
xpdf
Sõltub: libc6 (> = 2.4)
Sõltub: libgcc1 (> = 1: 4.1.1)
Sõltub: libpoppler46 (> = 0.26.2)
Sõltub: libstdc ++ 6 (> = 4.1.1)
Sõltub: libx11-6
Sõltub: libxm4 (> = 2.3.4)
Sõltub: libxt6
libc6
Sõltub: libgcc1
…
$
Käsk 'aptitude' töötab ka lülititega. Sõltuvuste puhul kasutage lülitit '~ R', millele järgneb paketi nimi. Joonis 5 näitab seda paketi 'xpdf' kohta. A-täht „aptitude” väljundi teises veerus tähistab paketti automaatselt installituna.
Joonis 5: sobivus-rdepends.png
Pakendisõltuvused võivad olla veidi keerulised. See võib aidata näidata pakendisõltuvusi graafiliselt. Paketi sõltuvuste graafilise kujutise loomiseks kasutage käsku 'võlgnevus', millele järgneb paketi nimi. Graphvizi paketi tööriist 'dot' muudab kirjelduse pildiks järgmiselt:
$ võlakiri xpdf | punkt -Tpng> graafik.pngJoonisel 6 näete loodud PNG-pilti, mis sisaldab sõltuvusgraafikut.
Joonis 6: punkt.png
Näidake vastupidiseid sõltuvusi
Siiani oleme vastanud küsimusele, milliseid pakette paketi jaoks vaja on. On ka vastupidi - nn vastupidised sõltuvused. Järgmised näited käsitlevad nii paketti kui ka sellest sõltuvaid pakette. Näide number üks kasutab käsku „apt-cache” koos alamkäsuga „rdepends” järgmiselt:
$ apt-cache rdepps xpdfxpdf
Tagurpidi sõltub:
| oktaav-doc
xpdf: i386
libfontconfig1: i386
| xmds-doc
xfe
wiipdf
| vim-lateksisuit
python-scapy
| rubiin-tioga
| python-tabelid-doc
| lehe krigistamine
| oktaav-doc
| Muttprint-manual
mozplugger
mlpost
libmlpost-ocaml-dev
…
$
Pakendid, mis sõltuvad teistest pakenditest, on tähistatud toru sümboliga. Neid pakette ei pea teie süsteemi installima, vaid need peavad olema pakettide andmebaasis loetletud.
Järgmine näide kasutab paketti 'xpdf' viitega pakettide loendil 'aptitude' (vt joonis 7).
Joonis 7: sobivuse otsimine.png
Kontrollige puuduvate pakettide installimist
'Apt-get' pakub alamkäsu 'check', mis võimaldab installi valideerida. Kui näete järgmist väljundit, pole ühtegi paketti puudu:
# apt-get kontrollPakettide loendite lugemine ... Valmis
Sõltuvuspuu ehitamine
Olekuteabe lugemine ... Valmis
#
Järeldus
Paketisõltuvuste leidmine töötab õigete tööriistadega hästi. Nende õige kasutamine aitab teil mõista, miks paketid on installitud ja millised võivad puududa.
Lingid ja viited
- Axel Beckert, Frank Hofmann: Das Debian-Paketmanagement-Buch, https: // www.dpmb.org /