Difference between revisions of "Downgrading packages (Slovenský)"

From ArchWiki
Jump to: navigation, search
m
Line 15: Line 15:
 
Downgrading je  proces pri ktorom je odinštalovaná aktuálna verzia balíčku a je nahradená bezprostredne predošlou či ľubovoľnou staršou verziou.  
 
Downgrading je  proces pri ktorom je odinštalovaná aktuálna verzia balíčku a je nahradená bezprostredne predošlou či ľubovoľnou staršou verziou.  
  
Medzi dôvody okrem iného patrí: aktuálna verzia obsahuje chybu, neobsahuje požadovanú funkcionalitu alebo ide o experimentálnu verziu balíčku a užívateľ považuje za jednoduchšie vrátiť sa k staršej verzii než čakať na vydanie novej.
+
Medzi dôvody okrem iného patrí: aktuálna verzia obsahuje chybu, neobsahuje požadovanú funkcionalitu alebo ide o experimentálnu verziu balíčku a užívateľ považuje za jednoduchšie vrátiť sa ku staršej verzii než čakať na vydanie novej.
  
 
Tento proces môže potenciálne viesť k downgradu iných balíčkov. Po inštalácii veľkého množstva testovacích či experimentálnych balíčkov a rozsiahlejších zmenách konfigurácie môže byť jednoduchšie reinštalovať systém než pokúšať sa o downgrade.
 
Tento proces môže potenciálne viesť k downgradu iných balíčkov. Po inštalácii veľkého množstva testovacích či experimentálnych balíčkov a rozsiahlejších zmenách konfigurácie môže byť jednoduchšie reinštalovať systém než pokúšať sa o downgrade.
Line 78: Line 78:
 
This alone does not guarantee a seemless rollback as there are sometimes package conflicts with regards to verion numbers, etc. If you know the repository it may be easier to visit the global mirror, e.g http://arm.konnichi.com/core/os/i686, note the omission of the date.
 
This alone does not guarantee a seemless rollback as there are sometimes package conflicts with regards to verion numbers, etc. If you know the repository it may be easier to visit the global mirror, e.g http://arm.konnichi.com/core/os/i686, note the omission of the date.
  
==What about dependencies?==
+
==Ignorovanie závislostí==
* Q: I can not downgrade a package, because of dependencies.
+
* Q: Pri downgrade balíčku my bránia jeho závislosti, je možné ich ignorovať?
* A: You can ignore dependencies when upgrading or removing with 'd'. e.g. '''pacman -Ud pkgpkgname-olderpkgver.pkg.tar.gz''' but this might break your system further.
+
* A: Ignorovať závislosti balíčku je možné pomocou prepínaču '-d' takto '''pacman -Ud pkgpkgname-olderpkgver.pkg.tar.gz'''. Ignorovanie závislostí môže spôsobiť nestabilitu systému.
  
==Stopping Pacman from updating certain packages==
+
==Ako zabrániť upgradu konkrétneho balíčku ==
* Q: How do I stop Pacman from upgrading downgraded packages?
+
* Q: Ako zabrániť upgradu balíčku po downgrade?
* A: With the "IgnorePkg" variable in {{Filename|/etc/pacman.conf}}.
+
* A: Pomocou premennej "IgnorePkg" v súbore {{Filename|/etc/pacman.conf}}.
  
{{Codeline|"IgnorePkg = package1 package2 ..."}} in your {{Filename|pacman.conf}} instructs Pacman to ignore any upgrades for selected packages when performing a --sysupgrade.
+
{{Codeline|"IgnorePkg = package1 package2 ..."}} v súbore {{Filename|pacman.conf}} zabráni upgrade konkrétnych balíčkov pri upgrade systému pomocou --sysupgrade.
  
 
==Reverting to a Savepoint==
 
==Reverting to a Savepoint==
* Q: I want to go back to how my system was yesterday.
+
* Q: Je možné vrátiť do podoby v ktorej bol včera?
* A: It is easy provided you enabled periodic snapshots.
+
* A: S použitím pravidelných snímkov disku je to jednoduché.
  
You can rely on a logical volume manager ([[LVM]]) for creating and maintaining snapshots. These snapshots should not be confused with CVS snapshots.  LVM snapshots are kernel-level filesystem snapshots that, unlike a full backup, use a COW (copy-on-write) scheme which means that it occupies very little disk space so long as no files were modified, and if files were modified, the snapshot occupies only a little more than the disk space needed to store the pre-modified files. This usually means that you can snapshot a 35GB system with only 2GB free space, considering that pacman -Sy will likely modify far less than 2GB of data. If the state of your system after the upgrade is undesirable, you can quickly rollback to previous snapshot images of your system.
+
Pre tvorbu a správu snímkov disku je možné použiť logical volume manager ([[LVM]]). LVM poskytuje snímky súborového systému na úrovni jadra systémom copy-on-write a, na rozdiel od plnohodnotnej zálohy, šetrí voľným miestom obzvlášť za predpokladu, že zálohované súbory niesu modifikované. Často je tak možné vytvoriť snímok systému s kapacitou napríklad 35 gigabajtov iba s 2GB voľného miesta, vzhľadom k faktu, že pacman -Sy pravdepodobne nemodifikuje viac nez 2 gigabajty. Ak je systém po downgrade v nežiaducom stave, je možné sa pohodlne vrátiť k niektorému zo starších snímkov systému.
  
==See Also==
+
==Pozri ja==
* [[Arch Build System]] for more information.
+
* [[Arch Build System]]
* [[LVM]] for how to enable snapshots and how to revert to their state.
+
* [[LVM]] - Ako vytvoriť snímok a ako sa vrátiť do stavu v histórii.

Revision as of 22:03, 20 February 2011

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Nasledujúci text popisuje postup pre downgrade balíčku na staršiu než aktuálnu verziu. Tento postup nieje doporučovaný a je nevyhnutný výhradne v prípade zanesenia chýb do aktuálnej verzie.

Poznámka vývojára:

Pred downgradom, zvážte svoje dôvody. Ak je dôvodom chyba, pomôžte prosím ako týmu Arch linuxu tak i upstream vývojárom tým, že obetujete pár minút tvorbou bug reportu. Nakoľko Arch je rolling release distribúcia budete nepretržite pracovať s novými verziami balíčkov a čas od času narážať na chyby.

My i upstream vývojári oceňujeme toto úsilie. Ušetrí nám hodiny testovania, a pomôže nám vydávať stabilnejší software.

Dôvody

Downgrading je proces pri ktorom je odinštalovaná aktuálna verzia balíčku a je nahradená bezprostredne predošlou či ľubovoľnou staršou verziou.

Medzi dôvody okrem iného patrí: aktuálna verzia obsahuje chybu, neobsahuje požadovanú funkcionalitu alebo ide o experimentálnu verziu balíčku a užívateľ považuje za jednoduchšie vrátiť sa ku staršej verzii než čakať na vydanie novej.

Tento proces môže potenciálne viesť k downgradu iných balíčkov. Po inštalácii veľkého množstva testovacích či experimentálnych balíčkov a rozsiahlejších zmenách konfigurácie môže byť jednoduchšie reinštalovať systém než pokúšať sa o downgrade.

Detaily

Nutno pamätať na nasledujúce fakty. Je potreba prehodnotiť závislosti každého balíčku nakoľko funkcionalita požadovaných závislostí sa môže s každou verziou meniť. Úspešné riešenie preto musí zahrnovať downgrade i týchto balíčkov.

Ďalej je nutné uistiť sa, že dané balíčky neboli odstránené zo systému prípadne že sú dostupné z iných zdrojov. Rolling release systém repozitárov Arch Linuxu je aktualizovaný automaticky bez zálohy starších verzií balíčkov.

Zvýšená opatrnosť je nutná pri zmene konfiguračných súborov a skriptov. V súčastnosti je možne spoľahnúť sa na pacman za predpokladu, že neboli obídené niektoré z jeho ochranných mechanizmov.

Vývojári pracujú na koncepte Arch Rollback Mechine, ktorý čaká na zapracovanie do nástroju pacman. Až sa tak stane, bude táto činnosť kompletne automatizovaná. Dovtedy, postupujte podľa nasledujúcich inštrukcií.

Ako na downgrade balíčku

  • Q: Použil som pacman -Syu a balíček XYZ bol upgradovaný z verzie M na verziu N. Tento balíček nefunguje správne. Ako sa môžem vráti späť k verzii M.
  • A: Za predpokladu, že cache balíčkov nebola zmazaná pomocou pacman -Scc, mali by byť staršie verzie balíčku v /var/cache/pacman/pkg. Takýto balíček môže byť znovu nainštalovaný pomocou pacman -U pkgname-olderpkgver.pkg.tar.gz. Ak tento balíček leží v inom adresári, je nutné zadať plnú cestu k nemu.

Tento proces odstráni aktuálnu verziu balíčku a nahradí ju zvolenou verziou zo všetkými jej závislosťami.

Note: Pri zmene fundamentálnych častí systému, môže nastať situácia v ktorej je potreba nahradiť desiatky balíčkov ich staršou verziou. Tieto balíčky nemusia byť dostupné a bude nutné ich znovu obstarať ručne, balíček po balíčku. Zo vzrastajúcim počtom závislostí sa tiež zvyšuje riziko zavlečenia nežiaducej verzie iného balíčku.

V repozitári AUR existuje balíček downgrade ktorý automatizuje popisovaný postup. Tento jednoduchý bash script prehľadá lokálnu cache spolu s A.R.M. v snahe nájsť staršie verzie balíčkov. Následne stačí zvoliť ktorý balíček nainštalovať. Pre viac informácií použite downgrade --help.

Nájdenie staršej verzie

Existujú tri spôsoby ako postupovať.

Out-Of-Sync Mirrory

Ak lokálna cache neobsahuje požadovanú verziu balíčku, je možne, že niektorý s mirrorov je neaktualizovaný a obsahuje balíček v požadovanej verzii.

Tiež je vhodné skontrolovať mirror ktorý balíčky archivuje:

ARM

Archív Arch Rollback Machine (ARM) zaznamenáva snímky repozitárov od 1. novembra 2009.

Pre záujemcov o aktuality projektu ARM je tu oznámenie a diskusia

Cieľom bolo navrhnúť systém URL tak, aby umožňovali rollback celého systému pomocou nástrojov wget a pacman do stavu v konkrétny deň. K ručnému vyhľadaniu je možné použiť ARM vyhľadávanie.

Kompilácia balíčku

V najhoršom prípade, ak nieje možné obstarať pôvodný balíček, je nutné ho znovu skompilovať. K tomu je potrebné upraviť súbor PKGBUILD požadovaného balíčku tak aby používal staršie verzie zdrojov. Tiež je možné vyhľadať balíček na http://www.archlinux.org/packages/.

  • V detailoch balíčkov kliknite na SVN Entries a zvoľte log.
  • Vyhľadajte požadovanú verziu, kliknite na path.
  • Stiahnite súbory z tohto adresára.
  • Zostavte balíček pomocou makepkg.

Other Information

The basic concept of user control in pacman package management is to edit the pacman.conf file by logging in as root at the command prompt and using "nano /etc/pacman.conf" (without the quotes) to edit that file. (While this can often be done from within your GUI frontend of choice, such as Shaman, sometimes it is more accurate to do it right from the CLI. It is suggested that you clean up any accumulated junk while in the file.)

One is simply going to be changing the locations of repositories in which pacman searches for programs. Remarking out any existing repos by the use of the pound sign at the begining of the line will leave the current ones without making them accessible to pacman and the package management system.

For instance, to add a repository from the ARM, one simply remarks-out the old line and adds the appropriate directory location in the format:

[core]
#Server=http://mirrors.gigenet.com/archlinux/core/os/i686
Server=http://arm.konnichi.com/2009/11/01/core/os/i686

In this example, the date section is taking whatever packages are available as of the date of November 1st, 2009. Please note that all repositories are snapshots of the official repositories. You need only change the mirror in Template:Filename, placing an ARM mirror at the top. e.g http://arm.konnichi.com/2009/11/01/$repo/os/i686 to sync all official repositories listed in Template:Filename to the chosen ARM mirror then update with:

pacman -Syy  # refresh the sync databases
pacman -Suu  # downgrade all packages with a lower version in the repos

This alone does not guarantee a seemless rollback as there are sometimes package conflicts with regards to verion numbers, etc. If you know the repository it may be easier to visit the global mirror, e.g http://arm.konnichi.com/core/os/i686, note the omission of the date.

Ignorovanie závislostí

  • Q: Pri downgrade balíčku my bránia jeho závislosti, je možné ich ignorovať?
  • A: Ignorovať závislosti balíčku je možné pomocou prepínaču '-d' takto pacman -Ud pkgpkgname-olderpkgver.pkg.tar.gz. Ignorovanie závislostí môže spôsobiť nestabilitu systému.

Ako zabrániť upgradu konkrétneho balíčku

  • Q: Ako zabrániť upgradu balíčku po downgrade?
  • A: Pomocou premennej "IgnorePkg" v súbore Template:Filename.

Template:Codeline v súbore Template:Filename zabráni upgrade konkrétnych balíčkov pri upgrade systému pomocou --sysupgrade.

Reverting to a Savepoint

  • Q: Je možné vrátiť do podoby v ktorej bol včera?
  • A: S použitím pravidelných snímkov disku je to jednoduché.

Pre tvorbu a správu snímkov disku je možné použiť logical volume manager (LVM). LVM poskytuje snímky súborového systému na úrovni jadra systémom copy-on-write a, na rozdiel od plnohodnotnej zálohy, šetrí voľným miestom obzvlášť za predpokladu, že zálohované súbory niesu modifikované. Často je tak možné vytvoriť snímok systému s kapacitou napríklad 35 gigabajtov iba s 2GB voľného miesta, vzhľadom k faktu, že pacman -Sy pravdepodobne nemodifikuje viac nez 2 gigabajty. Ak je systém po downgrade v nežiaducom stave, je možné sa pohodlne vrátiť k niektorému zo starších snímkov systému.

Pozri ja