Dpkg-hold: Difference between revisions

From ICO wiki
Jump to navigationJump to search
No edit summary
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Autor ==
Aare Song
AK21
Jaanuar 2014
== 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]
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.
== 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


    dpkg –set-selection
või
    dpkg –get-selection


    echo [package...] hold | dpkg --set-selections


== Kasutamine ==
== Kasutamine ==
Line 25: 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 \* > selections.txt
     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 52: 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.


=== Varjant kaks ===
=== 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     
     dpkg -l nano     
või
või
     Dpkg -l | grep nano
     dpkg -l | grep nano




Nano kõrval vasakul asetsev ’ii’ tähistab, et nano on võimalik uuendada.
Nano kõrval vasakul asetsev '''’ii’''' tähistab, et nano on võimalik uuendada.
[[File:dpkg-hold_1]]
 
[[File: dpkg_hold_1.png]]
   
   
Paneme paki ootele:
Paneme paki ootele:
echo nano hold | dpkg --set-selections


Kontrollime:
    echo nano hold | dpkg --set-selections
Dpkg-l nano
 
 
 
<ins>Kontrollime</ins>:
 
    dpkg -l nano
 
 
<ins>Tulemus</ins>:
 
[[File: Dpkg_hold_2.png]]
   
   
Vasakul ’ii’ on asendunud tähisega ’hi’. ’hi’ tähistab paki ootel olekut.  
Vasakul '''’ii’''' on asendunud tähisega '''’hi’'''. '''’hi’''' tähistab paki ootel olekut.  
Kui soovime piirangu maha võtta, kasutame käsku:
 
echo nano install | dpkg --set-selections
 
Piirangu eemaldamiseks kasutame hold asemel install.[http://www.debianadmin.com/how-to-prevent-a-package-from-being-updated-in-debian.html]
 
 
    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.
 
 
 
== Kasutatud kirjandus ==
 
{{reflist}}


uuesti selekteerides dpkg-l nano, näeme, et ’hi’ on jälle asendunud ’ii’ tähisega.
# http://man7.org/linux/man-pages/man1/dpkg.1.html
Sellist kontrolli saab rakendada ka esimese varjandi puhul, kus valikud lugesime  sisse failist.
# http://www.debian.org/doc/manuals/debian-faq/ch-pkg_basics.en.html
# http://www.debianadmin.com/how-to-prevent-a-package-from-being-updated-in-debian.html


Kokkuvõte:
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]
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.

Latest revision as of 14: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.


Kasutatud kirjandus

  1. http://man7.org/linux/man-pages/man1/dpkg.1.html
  2. http://www.debian.org/doc/manuals/debian-faq/ch-pkg_basics.en.html
  3. http://www.debianadmin.com/how-to-prevent-a-package-from-being-updated-in-debian.html