Arch Linux Archive (Français)

From ArchWiki
État de la traduction: Cet article est la version francophone de Arch Linux Archive. Date de la dernière traduction: 2022-01-19. Vous pouvez aider à synchroniser la traduction s'il y a eu des changements dans la version anglaise.

L'Arch Linux Archive (alias ALA), anciennement connue sous le nom de Arch Linux Rollback Machine (alias ARM), stocke les instantanés des dépôts officiels, les images iso et les archives d'amorçage «bootstrap» dans le temps.

Vous pouvez l'utiliser pour :

  • rétrograder à une version précédente d'un paquet (la dernière version est cassée, je veux la précédente)
  • Restaurer tous vos paquets à un moment précis (mon système est cassé, je veux revenir 2 mois en arrière)
  • Trouver une version précédente d'une image ISO

Les paquets ne sont conservés que pendant quelques années, après quoi ils sont déplacés vers les Archives Arch Linux Historiques sur archive.org.

Localisation

L'archive d'Arch Linux est disponible sur https://archive.archlinux.org/ et ses miroirs à travers le monde.

Le code source est également disponible pour la création de votre propre miroir.

Architecture

L'Archive se présente comme suit:

├── iso
├── packages
└── repos

/repos

Le répertoire repos contient des instantanés quotidiens des dépôts officiels organisés selon les dates:

repos
├── 2013
│   ├── 08
│   │   └── 31
│   │       ├── community
│   │       ├── community-staging
│   │       ├── community-testing
│   │       ├── core
│   │       ├── extra
│   │       ├── gnome-unstable
│   │       ├── kde-unstable
│   │       ├── lastsync
│   │       ├── multilib
│   │       ├── multilib-staging
│   │       ├── multilib-testing
│   │       ├── pool
│   │       ├── staging
│   │       └── testing
│   ├── 09
│   │   ├── 01
│   │   ├── 02
│   │   ├── ...
│   │   ├── 21
│   │   └── 22
│   ├── 10
│   │   ├── 01
│   │   ├── 02
│   │   ├── ...
│   │
│   ├── 11
│   └── 12
├── 2014
│   ├── 01
│   │   ├── 01
│   │   ├── 02
│   │   ├── ...
│   │
│   ├── 02
│   ├── 03
│   ├── ...
│   └── 09
│       ├── 01
│       ├── ...
│       └── 28
├── last
├── month
└── week

Note : Les 3 derniers répertoires spéciaux (last, week et month) qui renvoient respectivement au dernier dépôt synchronisé, au dernier lundi et au premier du mois en cours.

/packages

Le répertoire packages contient toutes les versions de chaque paquet avec leur signature. Un répertoire par paquet et les répertoires de paquets sont regroupés par leur première lettre:

├── packages
│   ├── a
│   │   ├── awesome
│   │   │   ├── awesome-3.5.0-1-i686.pkg.tar.xz
│   │   │   ├── awesome-3.5.0-1-i686.pkg.tar.xz.sig
│   │   │   ├── awesome-3.5.0-1-x86_64.pkg.tar.xz
│   │   │   ├── awesome-3.5.0-1-x86_64.pkg.tar.xz.sig
│   │   │   ├── awesome-3.5.1-1-i686.pkg.tar.xz
│   │   │   ├── awesome-3.5.1-1-i686.pkg.tar.xz.sig
│   │   │   ├── ...
│   │   │ 
│   │   ├── ...
│   │   ├── awstats
│   │   └── axel
│   │   
│   ├── b
│   ├── ...
│   └── z

Vous pouvez utiliser le répertoire .all pour accéder à tous les paquets par leur nom. En un mot, toutes les versions de tous les paquets sont présentes dans un seul répertoire.

├── packages
│   ├── .all
│   │   ├── awesome-3.5.1-1-i686.pkg.tar.xz
│   │   ├── ...
│   │   ├── zsh-5.0.2-3-i686.pkg.tar.xz
│   │   ├── zsh-5.0.2-4-i686.pkg.tar.xz
│   │   └── ...

Vous pouvez télécharger la liste complète des paquets (il y a plus de cent mille paquets) sous forme d'index compressé : index.0.xz.

$ curl https://archive.archlinux.org/packages/.all/index.0.xz | unxz
0ad-a14-1-i686
0ad-a14-1-x86_64
0ad-a14-2-i686
...
zziplib-0.13.62-1-x86_64
zziplib-0.13.62-2-i686
zziplib-0.13.62-2-x86_64

/isos

Le répertoire iso contient des images ISO officielles et des archives d'amorçage triés par date de sortie.

├── 2014.09.03
├── 2014.10.01
├── 2014.11.01
├── 2014.12.01
├── 2015.07.01
├── 2015.08.01
├── 2015.09.01
└── 2017.04.01
    ├── arch
    ├── archlinux-2017.04.01-x86_64.iso
    ├── archlinux-2017.04.01-x86_64.iso.sig
    ├── archlinux-2017.04.01-x86_64.iso.torrent
    ├── archlinux-bootstrap-2017.04.01-x86_64.tar.gz
    ├── archlinux-bootstrap-2017.04.01-x86_64.tar.gz.sig
    ├── md5sums.txt
    └── sha1sums.txt

Questions fréquemment posées

Comment rétrograder un paquet

Trouvez le paquet que vous voulez sous /packages et laissez pacman le récupérer pour l'installer. Par exemple :

# pacman -U https://archive.archlinux.org/packages/path/packagename.pkg.tar.xz

En laissant pacman le récupérer, le fichier détaché .sig du paquet sera automatiquement téléchargé et vérifié selon les paramètres de /etc/pacman.conf.

Vous pouvez également télécharger et installer le paquet manuellement en utilisant pacman -U.

Consultez également Downgrading packages (Français)#Automatisation pour des outils qui simplifient le processus.

Comment restaurer tous les paquets à une date spécifique

Pour restaurer tous les paquets à leur version à une date spécifique, disons le 30 mars 2014, vous devez diriger pacman vers cette date, en éditant votre /etc/pacman.conf et utiliser la configuration serveur suivante :

[core]
SigLevel = PackageRequired
Serveur=https://archive.archlinux.org/repos/2014/03/30/$repo/os/$arch

[extra]
SigLevel = PackageRequired
Serveur=https://archive.archlinux.org/repos/2014/03/30/$repo/os/$arch

[communautaire]
SigLevel = PackageRequired
Serveur=https://archive.archlinux.org/repos/2014/03/30/$repo/os/$arch

ou en remplaçant votre /etc/pacman.d/mirrorlist par le contenu suivant :

##                                                                              
## Liste des miroirs du dépôt d'Arch Linux                                             
### Généré le 2042-01-01                                                      
##
Serveur=https://archive.archlinux.org/repos/2014/03/30/$repo/os/$arch

Ensuite, mettez à jour la base de données et forcez le «downgrade» :

# pacman -Syyuu

Si vous obtenez des erreurs se plaignant de paquets corrompus/invalides à cause de la signature PGP, essayez d'abord de mettre à jour séparément archlinux-keyring et ca-certificates. Vous pouvez également décider de désactiver temporairement la vérification de la signature désactiver la vérification des signatures.

Note: Il n'est pas recommandé de mélanger les miroirs Archive et les miroirs à jour. En cas d'échec du téléchargement, vous vous rabattrez sur un paquet amont et vous aurez des paquets ne datant pas de la même époque dans le reste du système.

Archive historique

La maintenance des archives d'Arch Linux nécessite une quantité importante de ressources, c'est pourquoi les anciens paquets sont nettoyés de temps en temps.

Avant de les supprimer, les anciens paquets sont téléchargés sur une collection dédiée "Arch Linux Historical Archive" sur archive.org.

L'archive historique ne fournit pas un moyen d'accéder à un "instantané" des paquets Arch à un moment donné dans le temps. Cependant, il y a une redirection sur archive.archlinux.org pour que les téléchargements d'anciens paquets soient redirigés vers l'archive historique sur archive.org. Il ne devrait pas y avoir d'impact visible du côté des utilisateurs, à l'exception du fait que archive.org est généralement assez lent pour les téléchargements.

Trouver des paquets dans l'archive historique

La collection Arch Linux Historical Archive possède un index de tous les paquets : https://archive.org/details/archlinuxarchive.

Il est également possible d'accéder directement à un paquet par son identifiant. Le modèle général pour les identifiants est archlinux_pkg_sanitized_package_name.

Pour obtenir le nom de paquet assaini («sanitized»), il suffit de remplacer tout caractère @, + ou . dans le nom du paquet par un caractère de soulignement _.

Par exemple, l'identifiant de lucene++ est archlinux_pkg_lucene__.

Vous pouvez alors accéder à la page de détails d'un paquet via son identifiant, par exemple : https://archive.org/details/archlinux_pkg_lucene__.

Il est également possible d'effectuer des recherches avec le client Python archive.org :

$ ia search subject:"archlinux package" subject:'mysql'
{"identifier": "archlinux_pkg_ejabberd-mod_mysql"}
{"identifier": "archlinux_pkg_ejabberd-mod_mysql-svn"}
{"identifier": "archlinux_pkg_gambas3-gb-db-mysql"}
{"identifier": "archlinux_pkg_gambas3-gb-mysql"}
{"identifier": "archlinux_pkg_libgda-mysql"}

Téléchargement de paquets depuis l'archive historique

Toutes les versions disponibles des paquets (et leur signature) sont accessibles via la page de téléchargement d'un paquet : https://archive.org/download/archlinux_pkg_lucene__.

Pour télécharger, vérifier et installer un paquet en utilisant pacman :

# pacman -U https://archive.org/download/archlinux_pkg_cjdns/cjdns-16.1-3-x86_64.pkg.tar.xz

La vérification du paquet est contrôlée par l'option RemoteFileSigLevel de pacman. Notez que si vous utilisez pacman, vous devez déterminer vous-même les dépendances.

Il est également possible d'utiliser le client Python archive.org.

Télécharger une version spécifique d'un paquet :

$ ia download archlinux_pkg_cjdns cjdns-16.1-3-x86_64.pkg.tar.xz{,.sig}

Télécharger toutes les versions x86_64 d'un paquet, avec les signatures :

$ ia download archlinux_pkg_cjdns --glob="*x86_64.pkg.tar.xz*"

Historique

  • L'ARM originale (Archlinux Rollback Machine) a été fermé le 2013-08-18. [1]
  • La nouvelle est hébergée sur seblu.net depuis 2013-08-31.
  • Nouvelle URL et fermeture de l'ancienne hiérarchie ARM le 2015-10-13. Un nouveau logiciel, agetpkg-gitAUR a été introduit.
  • Déplacement vers archive.archlinux.org le 2015-12-19. [2]
  • Anciens paquets de 2013-2016 téléchargés sur archive.org le 2018-06-05.