Dpkg-hold
Autor
Aare Song
AK21
2013
Sissejuhatus
Dpkg-hold võimaldab kasutajal soovitud paki panna ootele selliselt, et selle järgmist paki versiooni ei uuendata ja paigaldatud versioon on külmutatud. See osutub kasulikuks nt. kui on avastatud mõnest olulisest uuendusest turvaauk, ning ei soovita seda järgmise uuendusega kasutusele võtta. Pakkidele on võimalik külge panna lipukesi, mis ütlevad, mida selle pakiga tohib teha. Võimalused on unknown, install, remove, purge ja hold.
Hold – kasutaja soovib paki hetke oleku ja versiooni külmutada. Ehk pakk on märgitud ootele, kuigi seda märget ei halda otseselt dpkg, juhul kui ei ole sunnitud seda toimingut käsuga
–force-hold.
Süntaks
dpkg –set-selection dpkg –get-selection
Kasutamine
Dpkg-hold kasutamisel on kas varianti. Kas väljastada nimekiri kõikidest pakkidest ja seda muuta ning see uuesti sisse lugeda või teha muudatus otse käsurealt.
Variant üks
Oletame, et soovime nt. tekstiredaktor nano paki seisu talletada ja ootele panna. Dpkg-ga tuleb kõigepealt tekitada nimekiri pakkide valikust. Valiku suuname tekstifaili nimega selections.txt
Näide:
dpkg --get-selections \* > selections.txt
Seejärel muuta faili selections.txt sisu. Muuta tuleb seda pakki, mida soovime just ootele panna, antud juhul siis nano. Oluline on, et tühjad read ning '#' märgiga kommenteeritud read ei ole lubatud.
nano install
muudame:
nano hold
salvestame faili selections.txt ning laeme selle dpkg andmebaasi tagasi:
dpkg --set-selections < selections.txt
Tulemus: nano pakki järgmise uuendusega enam ei uuendata.
Antud varjant osutub kasulikus, kui soovime mitut või suuremat hulka pakke ootele panna. Üksikute pakkite puhul on tülikas läbi nii mitme käsu seda teha. Seepärast on võimalik pakke ootele panna ka läbi käsurea.
Varjant kaks
Kui on teada, et nt. nano pakis on turvaauk ja on kriitiline, et seda järgmise uuendusega ei uuendataks. Ühe paki puhul ei pea väljastama faili, saab otse käsurealt selle muudatuse teha.
Näide:
Dpkg -l nano
või
Dpkg -l | grep nano
Nano kõrval vasakul asetsev ’ii’ tähistab, et nano on võimalik uuendada.
Paneme paki ootele:
echo nano hold | dpkg --set-selections
Kontrollime:
Dpkg -l nano
Tulemus:
Vasakul ’ii’ on asendunud tähisega ’hi’. ’hi’ tähistab paki ootel olekut.
Piirangu eemaldamiseks kasutame hold asemel install.
echo nano install | dpkg --set-selections
uuesti selekteerides dpkg-l nano, näeme, et ’hi’ on jälle asendunud ’ii’ tähisega.
Sellist kontrolli saab rakendada ka esimese variandi puhul, kus valikud loeti sisse failist
Kokkuvõte
Dpkg-hold on oluline tööriist erinevatel põhjustel. Kui soovime talletada valitud paki hetke seisu ning kaitsta seda uuenduste eest. Põhjuseks kasvõi uuendustega tulnud turvaaugud. Üksikutel juhtudel saab kiirelt toiminguid teha läbi käsurea, kuid suurema valiku puhul on kasulik kasutada failist sisse lugemist.