Dpkg-hold: Difference between revisions
No edit summary |
No edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 4: | Line 4: | ||
AK21 | AK21 | ||
Jaanuar 2014 | |||
Line 10: | Line 10: | ||
== Sissejuhatus == | == 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. | 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. [http://man7.org/linux/man-pages/man1/dpkg.1.html] | ||
== Eeldused == | |||
Eelduseks juhendi kasutajale on baas teadmised linuxi käsurea kasutamisest, paki paigaldusest ja [[dpkg]]-st üldisemalt. Antud juhendis on kasutatud ubuntu-server v.12.04.3 LTS. Antud juhendis toodud käsud tuleb täita juurkasutaja õiguseid. | |||
== Süntaks == | == Süntaks == | ||
dpkg pakihaldus töötab süntaksil. | |||
dpkg [option...] action | |||
ent valikusse lihtsalt kirjutades võti ''hold'' ei anna meile soovitud tulemust, ning pakki ootele ei panda. Süntaksi puhul on võimalik valida kahe toimingu vahel. | |||
dpkg --get-selections | |||
dpkg --set-selections | |||
või | |||
echo [package...] hold | dpkg --set-selections | |||
== Kasutamine == | == Kasutamine == | ||
Line 34: | Line 40: | ||
Oletame, et soovime nt. tekstiredaktor nano paki seisu talletada ja ootele panna. | 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 | Dpkg-ga tuleb kõigepealt tekitada nimekiri pakkide valikust. Valiku suuname tekstifaili nimega selections.txt[http://www.debian.org/doc/manuals/debian-faq/ch-pkg_basics.en.html] | ||
<ins>Näide</ins>: | <ins>Näide</ins>: | ||
dpkg --get-selections | dpkg --get-selections > selections.txt | ||
Seejärel muuta faili selections.txt sisu. Muuta tuleb seda pakki, mida soovime just ootele panna, antud juhul siis <ins>nano</ins>. Oluline on, et tühjad read ning '#' märgiga kommenteeritud read ei ole lubatud. | Seejärel muuta faili selections.txt sisu. Muuta tuleb seda pakki, mida soovime just ootele panna, antud juhul siis <ins>nano</ins>. Oluline on, et tühjad read ning '#' märgiga kommenteeritud read ei ole lubatud.[http://www.debian.org/doc/manuals/debian-faq/ch-pkg_basics.en.html] | ||
nano install | nano install | ||
Line 61: | Line 67: | ||
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. | 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. | ||
=== | === Variant 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. | 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.[http://www.debianadmin.com/how-to-prevent-a-package-from-being-updated-in-debian.html] | ||
<ins>Näide</ins>: | <ins>Näide</ins>: | ||
dpkg -l nano | |||
või | või | ||
dpkg -l | grep nano | |||
Line 86: | Line 92: | ||
<ins>Kontrollime</ins>: | <ins>Kontrollime</ins>: | ||
dpkg -l nano | |||
Line 96: | Line 102: | ||
Piirangu eemaldamiseks kasutame hold asemel install. | Piirangu eemaldamiseks kasutame hold asemel install.[http://www.debianadmin.com/how-to-prevent-a-package-from-being-updated-in-debian.html] | ||
Line 102: | Line 108: | ||
uuesti selekteerides dpkg-l nano, näeme, et '''’hi’''' on jälle asendunud '''’ii’''' tähisega. | 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 | Sellist kontrolli saab rakendada ka esimese variandi puhul, kus valikud loeti sisse failist | ||
Line 108: | Line 114: | ||
== Kokkuvõte == | == 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. | |||
dpkg-hold on lihtne kasutada, kas ühte või teist pidi kasutades. Võimalusi on veelgi, aga esimese hooga lihtsalt paki versiooni peatamiseks on nendest võimalustest piisavalt. Natukene eksitav on eeldus, et dpkg-hold kohe teeb midagi, ent tegelikult tuleb see soovitud tulemus välja läbi teiste käskude. Minu hinnangul on tegemist väga vajaliku ning olulise tööristaga, mille keerukus tuleb välja vastavalt vajadusele. Paki ootele panek on lihtne ja lühike toiming. | |||
== Kasutatud kirjandus == | == Kasutatud kirjandus == | ||
{{reflist}} | |||
# http://man7.org/linux/man-pages/man1/dpkg.1.html | # http://man7.org/linux/man-pages/man1/dpkg.1.html |
Latest revision as of 13:17, 10 January 2014
Autor
Aare Song
AK21
Jaanuar 2014
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. [1]
Eeldused
Eelduseks juhendi kasutajale on baas teadmised linuxi käsurea kasutamisest, paki paigaldusest ja dpkg-st üldisemalt. Antud juhendis on kasutatud ubuntu-server v.12.04.3 LTS. Antud juhendis toodud käsud tuleb täita juurkasutaja õiguseid.
Süntaks
dpkg pakihaldus töötab süntaksil.
dpkg [option...] action
ent valikusse lihtsalt kirjutades võti hold ei anna meile soovitud tulemust, ning pakki ootele ei panda. Süntaksi puhul on võimalik valida kahe toimingu vahel.
dpkg --get-selections dpkg --set-selections
või
echo [package...] hold | dpkg --set-selections
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[2]
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.[3]
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.
Variant 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.[4]
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.[5]
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. dpkg-hold on lihtne kasutada, kas ühte või teist pidi kasutades. Võimalusi on veelgi, aga esimese hooga lihtsalt paki versiooni peatamiseks on nendest võimalustest piisavalt. Natukene eksitav on eeldus, et dpkg-hold kohe teeb midagi, ent tegelikult tuleb see soovitud tulemus välja läbi teiste käskude. Minu hinnangul on tegemist väga vajaliku ning olulise tööristaga, mille keerukus tuleb välja vastavalt vajadusele. Paki ootele panek on lihtne ja lühike toiming.