Debian

Ovisnosti o paketu Debian

Ovisnosti o paketu Debian
Za Linux distribucije poput Debian GNU / Linux postoji više od 60.000 različitih softverskih paketa. Svi oni imaju određenu ulogu. U ovom članku objašnjavamo kako upravljanje paketima pouzdano upravlja ovim ogromnim brojem softverskih paketa tijekom instalacije, ažuriranja ili uklanjanja kako bi vaš sustav održao rad i bio potpuno stabilan.

Za Debian GNU / Linux ovo se odnosi na alate apt, apt-get, aptitude, apt-cache, apt-ovisi, apt-rdepends, dpkg-deb i apt-mark.

Dostupnost softverskih paketa

Kao što je već gore rečeno, Linux distribucija sastoji se od tona različitih softverskih paketa. Od danas je softver prilično složen i zato je uobičajeno dijeliti softver u nekoliko pojedinačnih paketa. Ti se paketi mogu kategorizirati prema funkcionalnosti ili po ulogama kao što su binarni paketi, knjižnice, dokumentacija, primjeri korištenja kao i zbirke specifične za jezik te pružaju odabrani dio softvera, samo. Za to ne postoji fiksno pravilo, a podjelu vrši ili razvojni tim alata ili održavatelj paketa koji se brine o softverskom paketu za vašu Linux distribuciju. Korištenjem aptitude, slika 1 navodi pakete koji sadrže prijevode za različite jezike web preglednika Mozilla Firefox.

Slika 1: aptitude-firefox.png

Ovakav način rada omogućuje da svaki paket može održavati drugi programer ili cijeli tim. Nadalje, podjela na pojedinačne komponente omogućuje i ostalim softverskim paketima da ga koriste u svoje svrhe. Potrebna funkcionalnost može se primijeniti i ne treba je ponovno izmišljati.

Organizacija paketa

Alati za upravljanje paketima na distribuciji Debian GNU / Linux neprestano vode računa da se u potpunosti zadovolje ovisnosti instaliranih paketa. To je posebno slučaj ako je softverski paket namijenjen instaliranju, ažuriranju ili brisanju na vašem sustavu ili iz njega. Nedostajući paketi dodaju se u sustav ili se instalirani paketi uklanjaju iz sustava u slučaju da više nisu potrebni. Slika 2 to pokazuje za uklanjanje paketa 'mc-data' pomoću 'apt-get'. Paket 'mc-data' preporučuje da se automatski ukloni i paket 'mc', jer više nema smisla instalirati se bez 'mc-data'.

Slika 2: apt-get-remove-mc.png

Oznake paketa i zastave

Tijekom svog rada alati za upravljanje paketima poštuju postavljene zastavice i oznake paketa. Oni se postavljaju automatski ili ih administrator sustava postavlja ručno. Posebno se ovo ponašanje odnosi na zastavicu 'bitni paket' koja je postavljena za pakete koji se ne smiju uklanjati. Jasno upozorenje izdaje se prije nego što to učinite (vidi sliku 3).

Slika 3: apt-get-remove.png

Također se uzimaju u obzir tri oznake „automatski“, „ručno“ i „zadržavanje“. Označavaju paket kao automatski instaliran, ručno instaliran ili se ne smije ažurirati (zadržati trenutnu verziju). Softverski paket označen je ili „automatski“ ili „ručno“, ali ne oboje.

Između ostalih, naredba 'apt-mark' rukuje oznakama i zastavicama pomoću sljedećih podnaredbi:

Da biste popisali sve ručno instalirane pakete, izdajte ovu naredbu:

$ apt-mark showmanual
abiword
abs-vodič
ack-grep
akl
acpi
..
$

Da biste zadržali verziju paketa, upotrijebite potkomandu 'čekanje'. Primjer u nastavku to pokazuje za paket 'mc'.

# apt-oznaka zadrži mc
mc postavljen na čekanje
#

Potkomanda 'showhold' navodi pakete koji su na čekanju (u našem slučaju to je samo paket 'mc'):

# apt-mark showhold
mc
#

Koristeći alternativnu metodu pod nazivom "apt pinning", paketi se klasificiraju prema prioritetima. Apt ih primjenjuje kako bi odlučio kako postupati s ovim softverskim paketom i verzijama koje su dostupne iz spremišta softvera.

Opis paketa

Koristeći alternativnu metodu pod nazivom "apt pinning", paketi se klasificiraju prema prioritetima. Apt ih primjenjuje kako bi odlučio kako postupati s ovim softverskim paketom i verzijama koje su dostupne iz spremišta softvera.

Svaki softverski paket dolazi sa svojim opisom paketa koji je standardiziran. Između ostalih polja ovaj opis izričito navodi o kojem daljnjem paketu ovisi. Alati specifični za distribuciju izdvajaju ove podatke iz opisa paketa, a zatim izračunavaju i vizualiziraju ovisnosti za vas. Sljedeći primjer koristi naredbu 'apt-cache show' kako bi se prikazao opis paketa 'poppler-utils' (vidi sliku 4).

Slika 4: opis-paketa-poppler-utils.png

Opis paketa sadrži odjeljak pod nazivom "Ovisi". Ovaj odjeljak navodi ostale softverske pakete i broj verzije o kojima ovisi trenutni paket. Na slici 4. ovaj je odjeljak uokviren crvenom bojom i pokazuje da 'poppler-utils' ovisi o paketima 'libpoppler64', 'libc6', 'libcairo2', 'libfreetype6', 'liblcms2-2', 'libstdc ++ 6' i 'zlib1g'.

Prikažite ovisnosti paketa

Čitanje opisa paketa težak je način za utvrđivanje ovisnosti paketa. Zatim ćemo vam pokazati kako to pojednostaviti.

Postoji nekoliko načina za prikaz ovisnosti paketa na naredbenom retku. Za deb paket kao lokalnu datoteku koristite naredbu 'dpkg-deb' s dva parametra - nazivom datoteke paketa i ključnom riječi 'Ovisi'. Primjer u nastavku to pokazuje za paket 'skypeforlinux-64.deb ':

$ dpkg-deb -f Preuzimanja / skypeforlinux-64.deb Ovisi
gconf-usluga, 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)
$

Da biste učinili isto za instalirani paket, koristite 'apt-cache'. Prvi primjer kombinira podnaredbu 'show' nakon čega slijedi naziv paketa. Izlaz se šalje naredbi 'grep' koja filtrira redak 'Ovisi':

$ apt-cache emisija xpdf | grep Ovisi
Ovisi: libc6 (> = 2.4), libgcc1 (> = 1: 4.1.1), libpoppler46 (> = 0.26.2),
libstdc ++ 6 (> = 4.1.1), libx11-6, libxm4 (> = 2.3.4), libxt6
$

Naredba 'grep-status -F paket -s ovisi o xpdf' prijavit će iste podatke.

Točnije, drugi primjer opet koristi 'apt-cache', ali s podnaredbom 'ovisi'. Podkomandu slijedi naziv paketa:

$ apt-cache ovisi o xpdf-u
xpdf
Ovisi: libc6
Ovisi: libgcc1
Ovisi: libpoppler46
Ovisi: libstdc ++ 6
Ovisi: libx11-6
Ovisi: libxm4
Ovisi: libxt6
Preporučuje: poppler-utils
poppler-utils: i386
Preporučuje: poppler-data
Preporučuje: gsfonts-x11
Preporučuje: cups-bsd
čaše-bsd: i386
Sudari se sa:
Sudari se sa:
Sudari se sa:
Sudari se sa:
Zamjenjuje:
Zamjenjuje:
Zamjenjuje:
Zamjenjuje:
Sudari se s: xpdf: i386
$

Gornji je popis prilično dugačak i može se skratiti pomoću prekidača '-i' (skraćeno od '-važno'):

$ apt-cache ovisi -i xpdf
xpdf
Ovisi: libc6
Ovisi: libgcc1
Ovisi: libpoppler46
Ovisi: libstdc ++ 6
Ovisi: libx11-6
Ovisi: libxm4
Ovisi: libxt6
$

Naredba 'apt-rdepends' čini isto, ali s informacijama o verziji ako je navedena u opisu:

$ apt-rdepends xpdf
Čitanje popisa paketa ... Gotovo
Izgradnja stabla ovisnosti
Čitanje podataka o stanju ... Gotovo
xpdf
Ovisi: libc6 (> = 2.4)
Ovisi: libgcc1 (> = 1: 4.1.1)
Ovisi: libpoppler46 (> = 0.26.2)
Ovisi: libstdc ++ 6 (> = 4.1.1)
Ovisi: libx11-6
Ovisi: libxm4 (> = 2.3.4)
Ovisi: libxt6
libc6
Ovisi: libgcc1
..
$

Naredba 'aptitude' radi i s prekidačima. Za ovisnosti upotrijebite prekidač '~ R' iza kojeg slijedi naziv paketa. Slika 5 prikazuje ovo za paket 'xpdf'. Slovo "A" u drugom stupcu rezultata "aptitude" identificira paket koji se automatski instalira.

Slika 5: aptitude-rdepends.png

Ovisnosti o paketima mogu biti pomalo nezgodne. Možda će vam pomoći grafički prikazati ovisnosti o paketu. Upotrijebite naredbu 'debtree' iza koje slijedi ime paketa kako biste stvorili grafički prikaz ovisnosti paketa. Alat "točka" iz paketa Graphviz opis pretvara u sliku kako slijedi:

$ debtree xpdf | dot -Tpng> graf.png

Na slici 6 vidite stvorenu PNG sliku koja sadrži graf ovisnosti.

Slika 6: točka.png

Prikažite obrnute ovisnosti

Do sada smo prikazali da smo odgovarali na pitanje koji su paketi potrebni za paket. Postoji i obrnuto - takozvane obrnute ovisnosti. Sljedeći se primjeri bave paketom kao i paketima koji o njemu ovise. Primjer broj jedan koristi 'apt-cache' s podnaredbom 'rdepends' kako slijedi:

$ apt-cache crveni se xpdf
xpdf
Obrnuto ovisi:
| oktava-dok
xpdf: i386
libfontconfig1: i386
| xmds-dok
xfe
wiipdf
| vim-lateks
python-scapy
| rubin-tioga
| python-table-doc
| krcanje stranice
| oktava-dok
| muttprint-priručnik
mozplugger
mlpost
libmlpost-ocaml-dev
..
$

Paketi koji ovise o ostalim paketima označeni su simbolom cijevi. Ovi paketi ne trebaju biti instalirani na vašem sustavu, već moraju biti navedeni u bazi podataka paketa.

Sljedeći primjer koristi 'aptitude' za popis paketa koji imaju čvrstu referencu na paket 'xpdf' (vidi sliku 7).

Slika 7: traženje sposobnosti.png

Potvrdite instalaciju za nedostajuće pakete

'Apt-get' nudi potkomandu 'check' koja omogućuje provjeru valjanosti instalacije. Ako vidite sljedeći izlaz, ne nedostaju paketi:

# apt-get ček
Čitanje popisa paketa ... Gotovo
Izgradnja stabla ovisnosti
Čitanje podataka o stanju ... Gotovo
#

Zaključak

Pronalaženje ovisnosti paketa dobro funkcionira s pravim alatima. Ako ih pravilno upotrebljavate, razumijete zašto su paketi instalirani i koji možda nedostaju.

Poveznice i reference

Emulirajte klikove mišem lebdeći mišem bez klika u sustavu Windows 10
Korištenje miša ili tipkovnice u pogrešnom držanju pretjerane upotrebe može rezultirati mnogim zdravstvenim problemima, uključujući naprezanje, sindro...
Dodajte geste miša u sustav Windows 10 pomoću ovih besplatnih alata
Posljednjih godina računala i operativni sustavi uvelike su se razvili. Bilo je vrijeme kada su korisnici morali koristiti naredbe za navigaciju kroz ...
Kontrolirajte i upravljajte kretanjem miša između više monitora u sustavu Windows 10
Dvostruki zaslon upravitelja miša omogućuje vam kontrolu i konfiguriranje kretanja miša između više monitora, usporavajući njegovo kretanje blizu gran...