Difference between revisions of "Downgrading packages (Italiano)"

From ArchWiki
Jump to: navigation, search
(Created page with "Category:Package management (Italiano) Category:HOWTOs (English) {{Translateme}} {{i18n|Downgrading Packages}} This guide will show you how to downgrade a package to a p...")
 
m
(36 intermediate revisions by 7 users not shown)
Line 1: Line 1:
 
[[Category:Package management (Italiano)]]
 
[[Category:Package management (Italiano)]]
[[Category:HOWTOs (English)]]
+
[[cs:Downgrading Packages]]
{{Translateme}}
+
[[de:Ältere_Paketversion_installieren_(Downgrade)]]
{{i18n|Downgrading Packages}}
+
[[en:Downgrading Packages]]
 +
[[es:Downgrading Packages]]
 +
[[fa:دانگرید]]
 +
[[fr:Downgrade]]
 +
[[ja:Downgrading Packages]]
 +
[[ru:Downgrading Packages]]
 +
[[sk:Downgrading Packages]]
 +
[[tr:Paket_sürümünü_düşürmek]]
 +
[[uk:Downgrading Packages]]
 +
[[zh-CN:Downgrading Packages]]
 +
{{Article summary start|Sommario}}
 +
{{Article summary text|Ripristinare versioni precedenti di pacchetti: perchè e come.}}
 +
{{Article summary heading|Wiki Correlati}}
 +
{{Article summary wiki|Arch Build System (Italiano)}}
 +
{{Article summary wiki|pacman (Italiano)}}
 +
{{Article summary text|[[LVM (Italiano)|LVM]] – come abilitare gli snapshots e come ripristinare il loro stato}}
 +
{{Article summary end}}
  
This guide will show you how to downgrade a package to a previous version. Downgrading a package isn't normally recommended and is often only necessary when a bug is introduced in the current package.
+
Questa guida vi mostrerà come effettuare il downgrade di un pacchetto ad una versione precedente. Il declassamento di un pacchetto non viene normalmente raccomandato ed è spesso necessario solo quando viene introdotto un bug nel pacchetto corrente.
  
'''Developers note:'''
+
Prima di iniziare l'operazione di declassamento, considerare il perché lo si sta facendo. Se la causa è un bug, si prega di aiutare sia Arch che gli sviluppatori, dedicando pochi minuti del proprio tempo per inviare la notifica dei bug nel bug tracker Arch o sul progetto madre del programma stesso. Dal momento che Arch è una distribuzione rolling release, probabilmente si lavora di continuo con pacchetti nuovissimi e talvolta è possibile incappare in qualche problema di bug.
  
Before downgrading, consider why you are doing so. If it is because of a bug, please help both Arch and upstream developers by spending a few minutes reporting the bug on the Arch bug tracker or on the parent project itself. Because Arch is a rolling release distribution you will likely be continously working with new packages and will experience a bug from time to time.
+
Sia noi che gli sviluppatori apprezzeremo lo sforzo. Quel po' di informazioni in più ci potrebbe risparmiare ore di test e debug, e ci aiuterebbe a rilasciare software sempre più stabile.
  
Both us and the upstream developers would appreciate the effort. That extra bit of information could save us hours of testing and debugging and also helps us release more stable software.
+
== Ragioni ==
  
== Reason ==
+
Il processo di declassamento è quello di disinstallare il pacchetto attuale e installare una versione precedente.  La versione precedente può essere una versione immediata (l'ultima versione precedente del pacchetto) o un certo numero di versioni precedenti.
  
The process of downgrading is that of uninstalling the current package and installing a previous version.  The previous version can be an immediate version (the package version directly before it) or to a number of versions prior.
+
Le ragioni del declassamento includono (tra le altre): che l'attuale versione ha un bug, non contiene al momento la funzionalità desiderata, o la si sta usando per motivi di sperimentazione.  In ognuno di questi casi, l'utente ha scelto che può essere meno problematico tornare ad una versione precedente e aspettare una nuova release.
  
The reasons for downgrading include (among others): that the current version has a bug, does not yet contain the desired functionality, or was done for experimental reasonsIn any of these cases, the user has chosen that it would be less problematic to revert to a previous version than to wait for a new release.
+
Il declassamento di un pacchetto può significare che altri pacchetti potrebbero venir declassati, in quanto richiesti come dipendenzePer coloro che hanno installato una notevole quantità di pacchetti sperimentali o di test, ed eseguito molte configurazioni, può essere preferibile reinstallare il sistema piuttosto che cercare di eseguire il downgrade.
  
Downgrading a package may mean that other packages may have to be downgraded with it.  For those that have installed a good amount of experimental or testing packages, and edited a good deal of configurations, it may be preferable to re-install the system rather than trying to downgrade.
+
== I dettagli ==
  
== The Details ==
+
Tuttavia, l'utente deve tenere a mente i seguenti punti:
  
However, the user must keep in mind the following points. First, there is going to be the need to consider the dependencies of each program. The required libraries and such often change with each version, and the functionality of associated files may be completely different from previous ones.  The solution will require changing these to earlier versions as well.
+
* Considerare le dipendenze di ogni programma. Le librerie necessarie, che così spesso cambiano con ogni versione, e la funzionalità dei file associati, che possono essere completamente diversi da quelli precedenti. La soluzione richiede anche la loro modifica, per le versioni precedenti.
  
Second, one must consider if the necessary files have been removed from the system and are even going to be available from any source. Arch Linux's rolling release system of repositories are automatically upgraded without saving any older versions. See more about this problem below.
+
* Considerare se i file necessari sono stati rimossi dal sistema o se addirittura sono ancora disponibili da altre fonti. I repository del sistema rolling release di Arch Linux vengono automaticamente aggiornati, senza salvare le vecchie versioni. Vedere ulteriori informazioni su questo problema qui sotto.
  
Third, we must be careful with changes to configuration files and scripts. At this point in time, we will rely upon pacman to handle this for us, as long as we do not bypass any safeguards it contains.
+
* Fare attenzione con le modifiche ai file di configurazione e script. Su questo punto, ci si baserà su pacman che gestirà questo per noi, seguendo le indicazioni e gli avvisi di sicurezza che verranno proposti.
  
Please keep in mind that this issue brings us to the cutting edge of pacman package management development.  The Arch Rollback Machine concept is being developed and awaiting useful incorporation into pacman. Once that occurs, this will become automated.  Until then, please follow the instructions following this.
+
Il concetto di "Arch Rollback Machine" è tuttora in via di sviluppo ed in attesa di un inserimento utile in pacman. Quando succederà, diventerà automatico.
  
==How to downgrade a package==
+
==Come effettuare il downgrade di un pacchetto==
*Q: I just ran '''pacman -Syu''' and package XYZ was upgraded to version N from version M. This package is causing problems on my computer, how can I downgrade from version N to the older version M?
+
*D: Ho appena eseguito {{Ic|pacman -Syu}} e il pacchetto "XYZ" è stato aggiornato alla versione N dalla versione M. Questo pacchetto è causa di problemi sul mio computer, come posso fare il downgrade dalla versione N alla versione precedente M?
*A: You may be able to downgrade the package trivially by visiting '''/var/cache/pacman/pkg''' on your system and seeing if the older version of the package is stored there. (If you have not run '''pacman -Scc''' recently, it should be there). If the package is there, you can install that version using '''pacman -U pkgname-olderpkgver.pkg.tar.gz'''.
+
*R: Può essere possibile effettuare il downgrade del pacchetto esplorando semplicemente {{Ic|/var/cache/pacman/pkg}} sul proprio sistema e vedere se la vecchia versione del pacchetto è presente. (Se non è stato eseguito {{Ic|pacman -Scc}} di recente, dovrebbe essere lì). Se il pacchetto è lì, è possibile reinstallare la versione con il comando {{Ic|pacman -U /var/cache/pacman/pkg/pkgname-olderpkgver.pkg.tar.gz}}.
  
This process will remove the current package, it will carefully calculate all of the dependency changes, and it will install the older version you have chosen with the proper dependencies down the line.
+
Questo processo rimuoverà il pacchetto attuale, calcolerà attentamente tutte le dipendenza modificate, e reinstallerà la versione precedente scelta con le dipendenze corrette su tutta la linea.
  
{{Note| If you change a fundamental part of the OS, you may end up with the need to take out literally dozens of packages and replace them with their older versionOr they may just be gone and you will have to put them back in a manual, piece-meal fashion, while being careful that a particular upgrade does not want to re-install the undesirable package version you didn't want in the first place.}}
+
{{Nota| Se si modifica una parte fondamentale del sistema operativo, ci si può ritrovare a dover estrarre decine di pacchetti e sostituirli con le loro versioni precedentiOppure potrebbero non essere più disponibili e si dovrà rimetterli manualmente, facendo attenzione che un particolare aggiornamento, non reinstalli la versione del pacchetto indesiderata.}}
  
==Finding Your Older Version==
+
C'è anche un pacchetto in [[AUR (Italiano)|AUR]], chiamato {{AUR|downgrade}}. Si tratta di un semplice script Bash che verificherà la presenza, nella propria cache, di versioni precedenti dei pacchetti. Qualora non fossero trovati pacchetti nella cache, lo script cercherà anche in [[Downgrading_Packages_(Italiano)#ARM |A.R.M.]] Si potrà quindi selezionare il pacchetto da installare. Sostanzialmete si tratta di un'automatizzazione dei processi descritti qui. Vedere {{Ic|downgrade --help}} per informazioni sull'utilizzo.
There are three ways to do this.
+
====Out-Of-Sync Mirrors====
+
If you can not find older versions on your system, check if one of the mirrors is out of sync, and get it from there. Click here to see the [http://users.archlinux.de/~gerbra/mirrorcheck.html status of mirrors].
+
  
You can also check one of these mirrors:
+
Un altro strumento utile è {{AUR|downgrader}}, esso funziona con i log di pacman, può effettuare il downgrade dei pacchetti da ARM, dalla cache locale, e funziona con la lista dei pacchetti (se il sistema risulta instabile dopo l'aggiornamento di alcuni pacchetti e si è insicuri circa il loro nome).
* http://ftp.tu-chemnitz.de/pub/linux/sunsite.unc-mirror/distributions/archlinux/ [Err. 404]
+
* http://ftp.icm.edu.pl/pub/Linux/sunsite/distributions/archlinux/ [Good]
+
* http://ftp.parrswood.manchester.sch.uk/Mirrors/ftp.archlinux.org/ [Err. 404]
+
* http://schlunix.org/?page_id=11 [Good] (Stores old packages)
+
  
====ARM====
+
=== Effettuare il downgrade del kernel ===
The [http://arm.konnichi.com/ Arch Rollback Machine] (ARM) contains archived snapshots of all the repos going back to 1 November 2009.  The site is in a state of flux as of this date (21 November 2009), and now has lost the items back thru 1 October 2008, as previously reported.
+
  
If you are interested in ARM, it would be best to view the introductory forum announcement and discussion, so as to stay abreast of the current progress of the project. The introductory forum thread is [http://bbs.archlinux.org/viewtopic.php?id=53665 here].
+
Se dopo l'aggiornamento del kernel non si riesce ad avviare il sistema, si può effettuare il downgrade del kernel tramite il live cd. Utilizzare un supporto di installazione Arch Linux abbastanza recente. Una volta avviato, montare la partizione del proprio sistema, ad esempio /mnt e se si ha /boot oppure /var in partizioni separate, montarle entrambe (<tt>mount /dev/sdc3 /mnt/boot</tt>). Quindi montare proc, ecc..
  
It is said that the goal was to construct the urls in such a way as to facilitate easy wget+pacman scripting to "roll back" your system to a particular date. The automation process is not yet explained.  To just manually search for a particular package, one can use the search page which has been provided at [http://arm.konnichi.com/search/ ARM Search].
+
==Trovare la versione precedente==
 +
Ci sono tre modi per farlo.
 +
===Mirror non aggiornati===
 +
Se non si trovano le versioni precedenti sul proprio sistema, verificare se uno dei mirror non è ben sincronizzato con gli aggiornamenti, e ottenere i pacchetti da lì. Cliccare qui per visualizzare lo [https://www.archlinux.org/mirrors/status/ stato dei mirror].
  
====Re-Compile The Package====
+
È inoltre possibile controllare questo mirror che mantiene pacchetti datati:
In worst-case scenario, if the package is not located anywhere else, you will need to compile the older version yourself. To do this you will need a PKGBUILD for the file; you could edit the existing PKGBUILD provided by ABS to use older sources, or you can visit http://www.archlinux.org/packages/ and search for the package you wish to downgrade. Once you find it, click "View SVN entries" and select "View Log". Locate the version you need and click on the path. Then just download the files located in that directory and build it with makepkg.
+
* http://schlunix.org/?page_id=11
  
==Other Information==
+
===ARM===
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.)
+
L' [http://arm.konnichi.com/ Arch Rollback Machine] (ARM) contiene delle specie di istantanee archiviate dei repository risalenti al 1 novembre 2009. Il sito è in continuo mutamento alla data odierna (21 November 2009), ed è stato rimosso il materiale risalente fino al 1 ° ottobre 2008, come precedentemente riportato.
  
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.
+
Chi fosse interessato ad ARM, può vedere l'annuncio introduttivo sul forum e la discussione, in modo da mantenersi aggiornato sul progetto. Il thread del forum è [https://bbs.archlinux.org/viewtopic.php?id=53665 qui].
  
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:
+
In sintesi si illustra l'obiettivo, che è quello di creare degli URL in modo da facilitare l'esecuzione di pacman + wget script per ottenere il "roll back", cioè un ripristino del sistema ad una data specifica. Il processo di automazione non è stato ancora spiegato. Per cercare manualmente un particolare pacchetto, si può usare la pagina di ricerca fornita su [http://arm.konnichi.com/search/ ARM Search].
  [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 {{Filename|/etc/pacman.d/mirrorlist}}, placing an ARM mirror at the top.
+
===Ricompilare il pacchetto===
e.g http://arm.konnichi.com/2009/11/01/$repo/os/i686 to sync all official repositories listed in {{Filename|/etc/pacman.conf}} to the chosen ARM mirror then update with:
+
Nella peggiore delle ipotesi, se il pacchetto non è reperibile altrove, sarà necessario compilare la versione precedente da soli. Per fare questo è necessario un PKGBUILD per il file; si può modificare il PKGBUILD esistente fornito da ABS per utilizzare i vecchi sorgenti, o si può visitare https://www.archlinux.org/packages/ e cercare il pacchetto di cui si desidera effettuare il downgrade. Una volta trovato, cliccare "View Changes" e selezionare "log". Individuare la versione desiderata e fare clic sul percorso. Poi basta scaricare i file che si trovano in tale directory e compilarli con makepkg.
pacman -Syy  # refresh the sync databases
+
 
pacman -Suu  # downgrade all packages with a lower version in the repos
+
Per i pacchetti AUR, attualmente l'unico metodo per ottenere i vecchi PKGBUILDs è prenderli da http://pkgbuild.com/git/aur-mirror.git/ oppure controllare l'[[Unofficial User Repositories]] per i binari precompilati (a volte non sono aggiornati).
 +
 
 +
==Cambiare Repository==
 +
Per cambiare repository in ARM, occorre commentare la riga obsoleta ed aggiungere il percorso dell'idonea directory nel seguente formato:
 +
[core]
 +
#<nowiki>Server=http://mirrors.gigenet.com/archlinux/core/os/i686</nowiki>
 +
<nowiki>Server=http://arm.konnichi.com/2009/11/01/core/os/i686</nowiki>
  
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.
+
In questo esempio, la sezione data istruisce a prendere qualsiasi pacchetto disponibile dal 1 novembre 2009. Si prega di notare che tutti i repository sono gli snapshot dei repository ufficiali. Basta modificare il mirror in {{Ic|/etc/pacman.d/mirrorlist}}, e spostare un mirror ARM in alto, per esempio <nowiki>http://arm.konnichi.com/2009/11/01/$repo/os/i686</nowiki> per sincronizzare tutti i repository ufficiali elencati in {{Ic|/etc/pacman.conf}} al mirror ARM scelto. Infine aggiornarlo con:
 +
pacman -Syy  # ricarica la sincronizzazione dei database
 +
pacman -Suu  # declassa tutti i pacchetti ad una versione inferiore nei repo
  
==What about dependencies?==
+
Questo da solo non garantisce un rollback completo, dato che a volte ci possono essere conflitti tra i vari pacchetti per quanto riguarda i numeri di versione, ecc. Se si conosce il repository può essere più facile visitare il mirror globale, per esempio http://arm.konnichi.com/core/os/i686. Notare l'omissione della data.
* Q: I can not downgrade a package, because of dependencies.
+
* 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.
+
  
==Stopping Pacman from updating certain packages==
+
Per maggiori informazioni si prega di vedere [[pacman (Italiano)|pacman]].
* Q: How do I stop Pacman from upgrading downgraded packages?
+
* A: With the "IgnorePkg" variable in {{Filename|/etc/pacman.conf}}.
+
  
{{Codeline|"IgnorePkg &#61; package1 package2 ..."}} in your {{Filename|pacman.conf}} instructs Pacman to ignore any upgrades for selected packages when performing a --sysupgrade.
+
== FAQ ==
  
==Reverting to a Savepoint==
+
{{FAQ
* Q: I want to go back to how my system was yesterday.
+
|question=Non riesco a declassare un pacchetto, a causa delle dipendenze.
* A: It is easy provided you enabled periodic snapshots.
+
|answer=È possibile ignorare le dipendenze durante l'aggiornamento o la rimozione con l'opzione "d". Esempio: '''pacman -Ud pkgpkgname-olderpkgver.pkg.tar.gz''' ma questo potrebbe danneggiare ulteriormente il sistema.}}
  
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.
+
{{FAQ
 +
|question=Come è possibile impedire a Pacman di aggiornare i pacchetti scaricati?
 +
|answer={{Ic|<nowiki>IgnorePkg = package1 package2</nowiki>}} nel proprio {{Ic|pacman.conf}} indicherà a Pacman, quando si esegue --sysupgrade, di ignorare ogni aggiornamento per i pacchetti selezionati.}}
  
==See Also==
+
{{FAQ
* [[Arch Build System]] for more information.
+
|question=Vorrei tornare a come era il mio sistema ieri.
* [[LVM]] for how to enable snapshots and how to revert to their state.
+
|answer=È facilmente ottenibile se si sono eseguiti gli snapshot periodici forniti da [[LVM (Italiano)|LVM]].}}

Revision as of 15:28, 2 January 2013

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary text Template:Article summary end

Questa guida vi mostrerà come effettuare il downgrade di un pacchetto ad una versione precedente. Il declassamento di un pacchetto non viene normalmente raccomandato ed è spesso necessario solo quando viene introdotto un bug nel pacchetto corrente.

Prima di iniziare l'operazione di declassamento, considerare il perché lo si sta facendo. Se la causa è un bug, si prega di aiutare sia Arch che gli sviluppatori, dedicando pochi minuti del proprio tempo per inviare la notifica dei bug nel bug tracker Arch o sul progetto madre del programma stesso. Dal momento che Arch è una distribuzione rolling release, probabilmente si lavora di continuo con pacchetti nuovissimi e talvolta è possibile incappare in qualche problema di bug.

Sia noi che gli sviluppatori apprezzeremo lo sforzo. Quel po' di informazioni in più ci potrebbe risparmiare ore di test e debug, e ci aiuterebbe a rilasciare software sempre più stabile.

Ragioni

Il processo di declassamento è quello di disinstallare il pacchetto attuale e installare una versione precedente. La versione precedente può essere una versione immediata (l'ultima versione precedente del pacchetto) o un certo numero di versioni precedenti.

Le ragioni del declassamento includono (tra le altre): che l'attuale versione ha un bug, non contiene al momento la funzionalità desiderata, o la si sta usando per motivi di sperimentazione. In ognuno di questi casi, l'utente ha scelto che può essere meno problematico tornare ad una versione precedente e aspettare una nuova release.

Il declassamento di un pacchetto può significare che altri pacchetti potrebbero venir declassati, in quanto richiesti come dipendenze. Per coloro che hanno installato una notevole quantità di pacchetti sperimentali o di test, ed eseguito molte configurazioni, può essere preferibile reinstallare il sistema piuttosto che cercare di eseguire il downgrade.

I dettagli

Tuttavia, l'utente deve tenere a mente i seguenti punti:

  • Considerare le dipendenze di ogni programma. Le librerie necessarie, che così spesso cambiano con ogni versione, e la funzionalità dei file associati, che possono essere completamente diversi da quelli precedenti. La soluzione richiede anche la loro modifica, per le versioni precedenti.
  • Considerare se i file necessari sono stati rimossi dal sistema o se addirittura sono ancora disponibili da altre fonti. I repository del sistema rolling release di Arch Linux vengono automaticamente aggiornati, senza salvare le vecchie versioni. Vedere ulteriori informazioni su questo problema qui sotto.
  • Fare attenzione con le modifiche ai file di configurazione e script. Su questo punto, ci si baserà su pacman che gestirà questo per noi, seguendo le indicazioni e gli avvisi di sicurezza che verranno proposti.

Il concetto di "Arch Rollback Machine" è tuttora in via di sviluppo ed in attesa di un inserimento utile in pacman. Quando succederà, diventerà automatico.

Come effettuare il downgrade di un pacchetto

  • D: Ho appena eseguito pacman -Syu e il pacchetto "XYZ" è stato aggiornato alla versione N dalla versione M. Questo pacchetto è causa di problemi sul mio computer, come posso fare il downgrade dalla versione N alla versione precedente M?
  • R: Può essere possibile effettuare il downgrade del pacchetto esplorando semplicemente /var/cache/pacman/pkg sul proprio sistema e vedere se la vecchia versione del pacchetto è presente. (Se non è stato eseguito pacman -Scc di recente, dovrebbe essere lì). Se il pacchetto è lì, è possibile reinstallare la versione con il comando pacman -U /var/cache/pacman/pkg/pkgname-olderpkgver.pkg.tar.gz.

Questo processo rimuoverà il pacchetto attuale, calcolerà attentamente tutte le dipendenza modificate, e reinstallerà la versione precedente scelta con le dipendenze corrette su tutta la linea.

Nota: Se si modifica una parte fondamentale del sistema operativo, ci si può ritrovare a dover estrarre decine di pacchetti e sostituirli con le loro versioni precedenti. Oppure potrebbero non essere più disponibili e si dovrà rimetterli manualmente, facendo attenzione che un particolare aggiornamento, non reinstalli la versione del pacchetto indesiderata.

C'è anche un pacchetto in AUR, chiamato downgradeAUR. Si tratta di un semplice script Bash che verificherà la presenza, nella propria cache, di versioni precedenti dei pacchetti. Qualora non fossero trovati pacchetti nella cache, lo script cercherà anche in A.R.M. Si potrà quindi selezionare il pacchetto da installare. Sostanzialmete si tratta di un'automatizzazione dei processi descritti qui. Vedere downgrade --help per informazioni sull'utilizzo.

Un altro strumento utile è downgraderAUR, esso funziona con i log di pacman, può effettuare il downgrade dei pacchetti da ARM, dalla cache locale, e funziona con la lista dei pacchetti (se il sistema risulta instabile dopo l'aggiornamento di alcuni pacchetti e si è insicuri circa il loro nome).

Effettuare il downgrade del kernel

Se dopo l'aggiornamento del kernel non si riesce ad avviare il sistema, si può effettuare il downgrade del kernel tramite il live cd. Utilizzare un supporto di installazione Arch Linux abbastanza recente. Una volta avviato, montare la partizione del proprio sistema, ad esempio /mnt e se si ha /boot oppure /var in partizioni separate, montarle entrambe (mount /dev/sdc3 /mnt/boot). Quindi montare proc, ecc..

Trovare la versione precedente

Ci sono tre modi per farlo.

Mirror non aggiornati

Se non si trovano le versioni precedenti sul proprio sistema, verificare se uno dei mirror non è ben sincronizzato con gli aggiornamenti, e ottenere i pacchetti da lì. Cliccare qui per visualizzare lo stato dei mirror.

È inoltre possibile controllare questo mirror che mantiene pacchetti datati:

ARM

L' Arch Rollback Machine (ARM) contiene delle specie di istantanee archiviate dei repository risalenti al 1 novembre 2009. Il sito è in continuo mutamento alla data odierna (21 November 2009), ed è stato rimosso il materiale risalente fino al 1 ° ottobre 2008, come precedentemente riportato.

Chi fosse interessato ad ARM, può vedere l'annuncio introduttivo sul forum e la discussione, in modo da mantenersi aggiornato sul progetto. Il thread del forum è qui.

In sintesi si illustra l'obiettivo, che è quello di creare degli URL in modo da facilitare l'esecuzione di pacman + wget script per ottenere il "roll back", cioè un ripristino del sistema ad una data specifica. Il processo di automazione non è stato ancora spiegato. Per cercare manualmente un particolare pacchetto, si può usare la pagina di ricerca fornita su ARM Search.

Ricompilare il pacchetto

Nella peggiore delle ipotesi, se il pacchetto non è reperibile altrove, sarà necessario compilare la versione precedente da soli. Per fare questo è necessario un PKGBUILD per il file; si può modificare il PKGBUILD esistente fornito da ABS per utilizzare i vecchi sorgenti, o si può visitare https://www.archlinux.org/packages/ e cercare il pacchetto di cui si desidera effettuare il downgrade. Una volta trovato, cliccare "View Changes" e selezionare "log". Individuare la versione desiderata e fare clic sul percorso. Poi basta scaricare i file che si trovano in tale directory e compilarli con makepkg.

Per i pacchetti AUR, attualmente l'unico metodo per ottenere i vecchi PKGBUILDs è prenderli da http://pkgbuild.com/git/aur-mirror.git/ oppure controllare l'Unofficial User Repositories per i binari precompilati (a volte non sono aggiornati).

Cambiare Repository

Per cambiare repository in ARM, occorre commentare la riga obsoleta ed aggiungere il percorso dell'idonea directory nel seguente formato:

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

In questo esempio, la sezione data istruisce a prendere qualsiasi pacchetto disponibile dal 1 novembre 2009. Si prega di notare che tutti i repository sono gli snapshot dei repository ufficiali. Basta modificare il mirror in /etc/pacman.d/mirrorlist, e spostare un mirror ARM in alto, per esempio http://arm.konnichi.com/2009/11/01/$repo/os/i686 per sincronizzare tutti i repository ufficiali elencati in /etc/pacman.conf al mirror ARM scelto. Infine aggiornarlo con:

pacman -Syy  # ricarica la sincronizzazione dei database
pacman -Suu  # declassa tutti i pacchetti ad una versione inferiore nei repo

Questo da solo non garantisce un rollback completo, dato che a volte ci possono essere conflitti tra i vari pacchetti per quanto riguarda i numeri di versione, ecc. Se si conosce il repository può essere più facile visitare il mirror globale, per esempio http://arm.konnichi.com/core/os/i686. Notare l'omissione della data.

Per maggiori informazioni si prega di vedere pacman.

FAQ

Template:FAQ

Template:FAQ

Template:FAQ