Debian GNU / Linux tai reiškia įrankius apt, apt-get, aptitude, apt-cache, apt-depend, apt-rdepends, dpkg-deb ir apt-mark.
Programinės įrangos paketų prieinamumas
Kaip jau minėjome aukščiau, „Linux“ platinimą sudaro daugybė skirtingų programinės įrangos paketų. Šiandien programinė įranga yra gana sudėtinga, todėl programinę įrangą paprastai skirstoma į kelis atskirus paketus. Šiuos paketus galima suskirstyti pagal funkcionalumą arba vaidmenis, tokius kaip dvejetainiai paketai, bibliotekos, dokumentai, naudojimo pavyzdžiai, taip pat kalbų rinkiniai ir pateikti tik pasirinktą programinės įrangos dalį. Nėra jai nustatytos taisyklės ir padalijimą atlieka arba įrankio kūrimo komanda, arba paketų prižiūrėtojas, kuris rūpinasi jūsų „Linux“ platinimo programinės įrangos paketu. Naudojant tinkamumą, 1 paveiksle pateikiami paketai, kuriuose pateikiami žiniatinklio naršyklės „Mozilla Firefox“ skirtingų kalbų vertimai.
1 paveikslas: tinkamumas-„Firefox“.png
Toks darbo būdas leidžia kiekvieną paketą prižiūrėti skirtingam kūrėjui arba visai komandai. Be to, suskirstymas į atskirus komponentus leidžia kitiems programinės įrangos paketams taip pat naudoti juos savo tikslams. Reikiamą funkciją galima pritaikyti ir jos nereikia iš naujo sugalvoti.
Pakuočių organizavimas
„Debian GNU / Linux“ paskirstymo paketų valdymo įrankiai nuolat rūpinasi, kad įdiegtų paketų priklausomybė būtų visiškai patenkinta. Tai ypač pasakytina, jei programinės įrangos paketą ketinama įdiegti, atnaujinti ar ištrinti sistemoje arba iš jos. Trūkstami paketai įtraukiami į sistemą arba įdiegti paketai pašalinami iš sistemos, jei jų nebereikia. 2 paveiksle parodyta, kaip pašalinti paketą „mc-data“ naudojant „apt-get“. Paketas „mc-data“ taip pat rekomenduoja automatiškai pašalinti paketą „mc“, nes nebėra prasmės įdiegti be „mc-data“.
2 paveikslas: apt-get-remove-mc.png
Pakuočių ženklai ir vėliavos
Savo darbo metu paketų valdymo priemonės gerbia nustatytas paketų žymes ir žymes. Juos nustato arba automatiškai, arba sistemos administratorius nustato rankiniu būdu. Ypač šis elgesys susijęs su vėliava „būtinas paketas“, kuris nustatytas paketams, kurių nereikėtų pašalinti. Prieš tai darant, pateikiamas aiškus įspėjimas (žr. 3 paveikslą).
3 paveikslas: apt-get-remove.png
Taip pat atsižvelgiama į tris ženklus „automatinis“, „rankinis“ ir „laikykite“. Jie pažymi, kad paketas yra automatiškai įdiegtas, rankiniu būdu įdiegtas arba neturi būti atnaujinamas (laikykite dabartinę versiją). Programinės įrangos paketas pažymėtas „automatiniu“ arba „rankiniu“, bet ne abu.
Be kitų, komanda „apt-mark“ ženklus ir vėliavas tvarko naudodama šias pakomandas:
- auto: nustatykite paketą kaip automatiškai įdiegtą
- palaikykite: laikykite dabartinę paketo versiją
- rankinis: nustatykite paketą kaip rankiniu būdu įdiegtą
- showauto: rodyti automatiškai įdiegtus paketus
- showmanual: rodyti rankiniu būdu įdiegtus paketus
- showhold: nurodykite sulaikytus paketus
- unhold: nuimkite nurodytos pakuotės sulaikymo vėliavą
Norėdami išvardyti visus rankiniu būdu įdiegtus paketus, išleiskite šią komandą:
$ apt-mark showmanualabiword
abs vadovas
ack-grep
acl
acpi
…
$
Norėdami laikyti paketo versiją, naudokite potvarkį „hold“. Žemiau pateiktame pavyzdyje tai parodyta paketui „mc“.
# apt-mark hold mcmc nustatytas laikinai
#
Pakomanda „showhold“ pateikia sulaikytus paketus (mūsų atveju tai tik paketas „mc“):
# apt-mark showholdmc
#
Naudojant alternatyvų metodą, pavadintą „tinkamas prisegimas“, paketai skirstomi pagal prioritetus. „Apt“ jas taiko, kad nuspręstų, kaip elgtis su šiuo programinės įrangos paketu ir versijomis, kurias galima rasti programinės įrangos talpykloje.
Pakuotės aprašymas
Naudojant alternatyvų metodą, pavadintą „tinkamas prisegimas“, paketai skirstomi pagal prioritetus. „Apt“ jas taiko, kad nuspręstų, kaip tvarkyti šį programinės įrangos paketą ir versijas, kurias galima rasti programinės įrangos talpykloje.
Kiekvienas programinės įrangos paketas yra su savo standartizuotu paketo aprašymu. Be kitų laukų, šiame apraše aiškiai nurodoma, nuo kurio paketo (-ų) jis priklauso. Konkretaus paskirstymo įrankiai išskiria šią informaciją iš paketo aprašymo ir paskaičiuoja bei vizualizuoja priklausomybes. Kitame pavyzdyje naudojama komanda „apt-cache show“, kad būtų parodytas paketo „poppler-utils“ paketo aprašymas (žr. 4 paveikslą).
4 paveikslas: „package-description-poppler-utils“.png
Pakuotės aprašyme yra skyrius pavadinimu „Priklauso“. Šiame skyriuje pateikiami kiti programinės įrangos paketai ir versijos numeris, nuo kurių priklauso dabartinis paketas. 4 paveiksle šis skyrius yra įrėmintas raudonai ir rodo, kad „poppler-utils“ priklauso nuo paketų „libpoppler64“, „libc6“, „libcairo2“, „libfreetype6“, „liblcms2-2“, „libstdc ++ 6“ ir „zlib1g“.
Rodyti paketo priklausomybes
Skaityti paketo aprašymą yra sudėtingas būdas išsiaiškinti paketo priklausomybes. Toliau mes jums parodysime, kaip tai supaprastinti.
Yra keli būdai, kaip komandų eilutėje parodyti paketo priklausomybes. Norėdami naudoti „deb“ paketą kaip vietinį failą, naudokite komandą „dpkg-deb“ su dviem parametrais - paketo failo pavadinimu ir raktiniu žodžiu „Priklauso“. Žemiau pateiktas pavyzdys tai rodo paketui „skypeforlinux-64“.deb ':
$ dpkg-deb -f Atsisiuntimai / skypeforlinux-64.deb Priklauso„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)
$
Norėdami tai padaryti įdiegtame pakete, naudokite „apt-cache“. Pirmajame pavyzdyje yra subkomanda „show“, po kurios nurodomas paketo pavadinimas. Išvestis siunčiama komandai „grep“, kuri filtruoja eilutę „Priklauso“:
$ apt-cache rodo xpdf | grep PriklausoPriklauso nuo: libc6 (> = 2.4), libgcc1 (> = 1: 4.1.1), libpoppler46 (> = 0.26.2),
libstdc ++ 6 (> = 4.1.1), libx11-6, libxm4 (> = 2.3.4), libxt6
$
Komanda „grep-status -F package -s Depeps xpdf“ pateiks tą pačią informaciją.
Tiksliau sakant, antrame pavyzdyje vėl naudojamas „apt-cache“, bet vietoj to su potvarkiu „priklauso“. Po potvarkiu nurodomas pakuotės pavadinimas:
$ apt-cache priklauso xpdfxpdf
Priklauso: libc6
Priklauso: libgcc1
Priklauso: libpoppler46
Priklauso: libstdc ++ 6
Priklauso: libx11-6
Priklauso: libxm4
Priklauso: libxt6
Rekomenduoja: poppler-utils
poppler-utils: i386
Rekomenduoja: poppler-data
Rekomenduoja: gsfonts-x11
Rekomenduoja: puodeliai-bsd
puodeliai-bsd: i386
Susiduria su:
Susiduria su:
Susiduria su:
Susiduria su:
Pakeičia:
Pakeičia:
Pakeičia:
Pakeičia:
Susiduria su: xpdf: i386
$
Aukščiau pateiktas sąrašas yra gana ilgas ir jį galima sutrumpinti naudojant jungiklį „-i“ (sutrumpintai „-important“):
$ apt-cache priklauso -i xpdfxpdf
Priklauso: libc6
Priklauso: libgcc1
Priklauso: libpoppler46
Priklauso: libstdc ++ 6
Priklauso: libx11-6
Priklauso: libxm4
Priklauso: libxt6
$
Komanda „apt-rdepends“ daro tą patį, bet pateikia informaciją apie versiją, jei nurodyta apraše:
$ apt-rdepends xpdfSkaitomi paketų sąrašai ... Atlikta
Pastatymo priklausomybės medis
Nuskaitoma būsenos informacija ... Atlikta
xpdf
Priklauso nuo: libc6 (> = 2.4)
Priklauso nuo: libgcc1 (> = 1: 4.1.1)
Priklauso nuo: libpoppler46 (> = 0.26.2)
Priklauso: libstdc ++ 6 (> = 4.1.1)
Priklauso: libx11-6
Priklauso: libxm4 (> = 2.3.4)
Priklauso: libxt6
libc6
Priklauso: libgcc1
…
$
Komanda „aptitude“ taip pat veikia su jungikliais. Priklausomybėms naudokite jungiklį „~ R“, po kurio nurodomas paketo pavadinimas. 5 paveiksle tai parodyta paketui „xpdf“. Raidė „A“ antrame „aptitude“ išvesties stulpelyje nurodo, kad paketas įdiegtas automatiškai.
5 paveikslas: tinkamumas-rdepends.png
Pakuočių priklausomybės gali būti šiek tiek sudėtingos. Tai gali padėti grafiškai parodyti priklausomybes nuo paketų. Norėdami sukurti grafinį paketo priklausomybių vaizdą, naudokite komandą „skolos“, po kurios nurodomas paketo pavadinimas. „Graphviz“ paketo įrankis „taškas“ aprašą paverčia vaizdu taip:
USD skolos xpdf | taškas -Tpng> grafikas.png6 paveiksle matote sukurtą PNG vaizdą, kuriame yra priklausomybės grafikas.
6 paveikslas: taškas.png
Parodykite atvirkštines priklausomybes
Iki šiol rodėme, kad atsakėme į klausimą, kurios pakuotės reikalingos paketui. Yra ir atvirkščiai - vadinamosios atvirkštinės priklausomybės. Kiti pavyzdžiai susiję su paketu ir nuo jo priklausančiais paketais. Pirmasis pavyzdys naudoja „apt-cache“ su pakomanda „rdepends“ taip:
$ apt-cache rdepends xpdfxpdf
Atvirkščiai priklauso:
| oktava-doc
xpdf: i386
libfontconfig1: i386
| xmds-doc
xfe
wiipdf
| vim-lateksuitas
pitonas-scapy
| ruby-tioga
| python-tables-doc
| puslapis-crunch
| oktava-doc
| Kiaušinio spaudimo vadovas
mozplugger
mlpost
libmlpost-ocaml-dev
…
$
Pakuotės, kurios priklauso nuo kitų pakuočių, yra pažymėtos vamzdžio simboliu. Šių paketų nereikia įdiegti jūsų sistemoje, tačiau jie turi būti nurodyti paketų duomenų bazėje.
Kitas pavyzdys naudoja „aptitude“, kad išvardytų paketus, kuriuose yra griežta nuoroda į paketą „xpdf“ (žr. 7 paveikslą).
7 pav. Tinkamumo paieška.png
Patvirtinkite trūkstamų paketų diegimą
'Apt-get' siūlo potvarkį „check“, kuris leidžia patvirtinti diegimą. Jei matote šį išvestį, nėra jokių paketų:
# apt-get patikrinimasSkaitomi paketų sąrašai ... Atlikta
Pastatymo priklausomybės medis
Nuskaitoma būsenos informacija ... Atlikta
#
Išvada
Paketų priklausomybių radimas gerai veikia naudojant tinkamus įrankius. Tinkamas jų naudojimas padeda suprasti, kodėl paketai yra įdiegti ir kokių gali trūkti.
Nuorodos ir nuorodos
- Axelis Beckertas, Frankas Hofmannas: Das Debianas-Paketmanagement-Buchas, https: // www.dpmb.org /