Dpkg-divert

From EIK wiki

Autor

EESTI INFOTEHNOLOOGIA KOLLEDŽ
IT süsteemide administreerimine
AK21




SIIM PÄÄRO

Tallinn 2013
Parandused:
14.01.2014

Sissejuhatus

Käesolev artikkel võtab kokku erinevate allikate materjalid, mis selgitavad kus kohas ja millisel moel on võimalik kasutada Debian süsteemides leiduvat tööriista dpkg-divert, mille kasutus toimub käsurea pealt. Materjal eeldab lugejalt põhiteadmisi käsurealt operatsioonisüsteemi administreerimise kohta.
Dpkg-divert on tööriist millega seatakse üles ja uuendatakse suunamiste nimistut. Failide suunamine on viis kuidas sundida peaprogrammi dpkg mitte paigaldama faili oma ettenähtud asukohta, vaid suunatud asukohta. Suunamisi saab kasutada läbi debiani pakihaldussüsteemi, et liigutada faile millel on tekkinud konflikt mõne muu süsteemi sätte või failiga. Süsteemiadministraatorid saavad seda kasutada paki seadistusfaili vaikeväärtuste üle kirjutamiseks ja olukorras kus on vaja paki uuendamisel alles jätta vana fail. (Debian Project, 2011)

Pakihaldussüsteemi kohta saab täpsemalt lugeda kaastudengi artiklis „Dpkg


Süntaks

dpkg-divert   [Parameeter...]   käsk

Tööriista kasutamiseks on vaja juurkasutaja (root) õigusi ja suunata saab vaid *.deb pakkide sees olevaid faile.

Käsud

Käsud on dpkg-divert põhitööriistad mida saab kasutada eraldi või koos parameetritega. Korraga saab kasutada vaid ühte käsklust, millele võib lisada mitu parameetrit.

--add failinimi
Lisab failile süsteemi poolt genereeritud suunamise, mis on tavaliselt samas kaustas ja on vormingus "failinimi.distrib". Fail tekitatakse peale paki paigaldust.

--remove failinimi
Eemaldab failile lisatud suunamised ilma faili muutmata. Juhul kui suunamise ajal oli paigaldatud pakk, siis selle fail jääb alles suunamise eemaldamisel. Paki uuesti paigaldamisel tehakse uus suunamata fail.

--list glob-muster
Kuvab kõik suunamised, mis on seotud leitud glob-mustri ehk failinime järgi.

--listpackage pakinimi
Otsib pakist faile millel on suunamine määratud ja näitab märksõna "LOCAL" kui leidub mõni, muul juhul ei kuva midagi.

--truename failinimi
Näitab faili nime ja asukohta mida kasutavad pakid, suunatud faili korral näitab suunamise kohta.

(Debian Project, 2011)

Parameetrid

Parameetreid võib kasutada mitut korraga, koos või ilma käsuta.

--admindir kaust
Seab ümber dpkg poolt kasutatava kausta kus sees on suunamiste nimistut sisaldav fail (vaikimisi: /var/lib/dpkg).

--divert suunamise-koht
Seab paika pakihalduris kuhu suunatakse fail.

--local
Suunab pakid kasutama olemasolevat faili olenemata versioonist.

--package pakinimi
Faili suunamisel, määrab paki mille puhul faili ei suunata.

--quiet
Teeb suunamise ilma ekraanile kuvamata teateid.

--rename
Suunamisega koos tõstab ümber ka endise faili. Kui samanimeline fail juba eksisteerib, siis katkestatakse suunamise määramine.

--test
Testib tegevust ilma midagi muutmata ja kuvab ekraanile tulemuse.

--help
Näitab dpkg-divert kasutamise lühijuhendit.

--version
Kuvab programmi versiooni.

(Debian Project, 2011)

Näited

dpkg-divert --list /usr/games/cowsay
  • dpkg-divert --list /usr/games/cowsay - osa määrab ära, et kuvatakse suunamised
  • dpkg-divert --list /usr/games/cowsay - osa näitab millise faili kohta informatsiooni kuvatakse.
  • List käsu kasutamisel kuvatakse kõik suunamised, mis on seotud failiga cowsay.



dpkg-divert --divert /usr/mangud/lehmajutt --rename /usr/games/cowsay
  • dpkg-divert --divert /usr/mangud/lehmajutt --rename /usr/games/cowsay - osa näitab millisele failile suunamine tehakse.
  • dpkg-divert --divert /usr/mangud/lehmajutt --rename /usr/games/cowsay - osa näitab kuhu fail suunatakse.
  • dpkg-divert --divert /usr/mangud/lehmajutt --rename /usr/games/cowsay - osa määrab ära, et esmane fail muudetakse koos suunamisega ära.
  • Kasutades korraga divert ja rename parameetrit jääb alles ainult fail lehmajutt ja edaspidised uuendused pakihaldussüsteemi poolt, mis muidu oleks tehtud failile cowsay, nüüd tehakse failile lehmajutt.



dpkg-divert --quiet --package mingipakk --divert /usr/mangud/lehmajutt /usr/games/cowsay
  • dpkg-divert --quiet --package mingipakk --divert /usr/mangud/lehmajutt /usr/games/cowsay - osa näitab millisele failile suunamine tehakse.
  • dpkg-divert --quiet --package mingipakk --divert /usr/mangud/lehmajutt --rename /usr/games/cowsay - osa näitab kuhu fail suunatakse.
  • dpkg-divert --quiet --package mingipakk --divert /usr/mangud/lehmajutt /usr/games/cowsay - osa määrab ära millise paki korral suunamist ei tehta.
  • dpkg-divert --quiet --package mingipakk --divert /usr/mangud/lehmajutt /usr/games/cowsay - osa määrab ära, et teateid ei kuvataks käsu täitmise kohta.
  • Parameetrite package ja divert tulemusel suunatakse kõikide pakkide peale "mingipakk" uuendused failile cowsay ümber uuele failile lehmajutt. Quiet parameetri tõttu viiakse toiming läbi teateid kuvamata.



dpkg-divert --local --divert /usr/mangud/lehmajutt /usr/games/cowsay
  • dpkg-divert --local --divert /usr/mangud/lehmajutt /usr/games/cowsay - osa näitab millisele failile suunamine tehakse.
  • dpkg-divert --local --divert /usr/mangud/lehmajutt /usr/games/cowsay - osa näitab kuhu fail suunatakse.
  • dpkg-divert --local --divert /usr/mangud/lehmajutt /usr/games/cowsay - osa määrab ära, et uuenduste korral kasutatakse olemasolevat faili
  • Käsu tulemusel suunatakse fail cowsay ümber lehmajutt peale ja local parameetri tõttu tulevikus pakihaldussüsteem seda faili enam ei uuenda vaid kasutab arvutis olevat versiooni.



Kokkuvõte

Dpkg-divert on väga hea tööriist millega hallata milliseid faile ja kuidas kasutatakse programmide poolt ja kuidas käitub pakihaldussüsteem failide uuendamisel. See tööriist on hea probleemide diagnoosimiseks kasutades mitut erinevat varianti failist või lihtsalt kui tahta säilitada vanemat versiooni tagavarks. Kasutuslihtsust ja kiirus teevad tema kasutamise sobilikuks igale isikule kes kasutavad käsurea tööriistu.

Kasutatud kirjandus

Dpkg-divert manual, Debian Project, 2011
<http://manpages.debian.net/cgi-bin/man.cgi?query=dpkg-divert>