Arch Linux Archive (Español)
Arch Linux Archive (también conocido como ALA), anteriormente conocido como Arch Linux Rollback Machine (también conocido como ARM), almacena instantáneas de los repositorios oficiales, imágenes iso y tarballs de bootstrap a lo largo del tiempo.
Puede utilizarlo para:
- Degradar a una versión anterior de un paquete (la última versión está rota y desea la anterior)
- Restaurar todos sus paquetes a un momento preciso (el sistema está roto, desea restaurarlo a hace 2 meses)
- Encuentrar una versión anterior de una imagen ISO
Los paquetes solo se guardan durante unos años, posteriormente se trasladan a Arch Linux Historical Archive en archive.org.
Ubicación
Arch Linux Archive está disponible en https://archive.archlinux.org/.
El código fuente también está disponible para configurar su propio servidor de réplica.
Directorios
Archive se divide en 3 directorios principales detallados a continuación.
├── iso ├── packages └── repos
/repos
El directorio repos contiene instantáneas diarias del servidor de réplica oficial, organizadas por fecha, como en el siguiente ejemplo.
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
Nota: los últimos 3 directorios especiales (last, week y month) enlazan respectivamente al último repositorio sincronizado, al del último del lunes y al del primero del mes actual.
/packages
El directorio packages contiene todas las versiones de cada paquete con sus firmas. Un directorio por paquete y los directorios de paquete se agrupan por su primera letra.
├── 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
Puede usar el subdirectorio mágico .all para acceder a todos los paquetes por su nombre. Actúa como un directorio plano que contiene todas las versiones de cada paquete.
├── 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 │ │ └── ...
Puede descargar la lista completa de paquetes (hay más de cien mil paquetes) como un índice comprimido: 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
/iso
El directorio iso contiene imágenes ISO oficiales y tarballs bootstrap ordenados por fecha de lanzamiento.
├── 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
FAQ
Cómo degradar un paquete
Localice el paquete que desea en /packages y deje que pacman lo busque para la instalación. Por ejemplo:
# pacman -U https://archive.archlinux.org/packages/ ... packagename.pkg.tar.xz
Si deja que pacman lo busque, descargará automáticamente el archivo .sig separado del paquete y lo verificará de acuerdo con la configuración de /etc/pacman.conf
.
Alternativamente, descargue e instale el paquete manualmente usando pacman -U
.
Consulte también Downgrading packages (Español)#Automatización para obtener herramientas que simplifican el proceso.
Cómo restaurar todos los paquetes a una fecha específica
Para restaurar todos los paquetes a la versión correspondiente a una fecha específica, digamos el 30 de marzo de 2014, debe dirigir pacman a esta fecha, editando /etc/pacman.conf
y utilizar la siguiente directiva de servidor:
[core] SigLevel = PackageRequired Server=https://archive.archlinux.org/repos/2014/03/30/$repo/os/$arch [extra] SigLevel = PackageRequired Server=https://archive.archlinux.org/repos/2014/03/30/$repo/os/$arch [community] SigLevel = PackageRequired Server=https://archive.archlinux.org/repos/2014/03/30/$repo/os/$arch
o reemplazar /etc/pacman.d/mirrorlist
con el siguiente contenido:
## ## Arch Linux repository mirrorlist ## Generated on 2042-01-01 ## Server=https://archive.archlinux.org/repos/2014/03/30/$repo/os/$arch
Luego actualice la base de datos y fuerce la degradación:
# pacman -Syyuu
Histórico de Archive
Mantener Arch Linux Archive consume una cantidad significativa de recursos, por lo que los paquetes antiguos se limpian de vez en cuando.
Antes de eliminarlos, los paquetes antiguos se cargan en una colección dedicada de «Arch Linux Historical Archive» en archive.org.
El Histórico de Archive no proporciona una forma de acceder a una «instantánea» de los paquetes de Arch en un momento dado. Sin embargo, hay una redirección en archive.archlinux.org
para que las descargas de paquetes antiguos se redirijan al Histórico de Archive en archive.org
.No debería haber ningún sobresalto visible desde el lado del usuario, excepto por el hecho de que archive.org
generalmente es bastante lento para la descarga.
Encontrar paquetes en el Histórico de Archive
La colección Arch Linux Historical Archive tiene un índice de todos los paquetes: https://archive.org/details/archlinuxarchive
También es posible acceder directamente a un paquete mediante su identificador. El patrón general para los identificadores es:
archlinux_pkg_<sanitized package name>
Para obtener el nombre del paquete saneado, simplemente reemplace cualquier carácter @
, +
o .
en el nombre del paquete con un guión bajo _
.
Por ejemplo, el identificador para lucene++ es archlinux_pkg_lucene__
.
Puede acceder a la página de detalles de un paquete a través de su identificador, por ejemplo: https://archive.org/details/archlinux_pkg_lucene__
También es posible ejecutar búsquedas con el cliente Python de 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"}
Descargar paquetes del Histórico de Archive
Se puede acceder a todas las versiones de paquete disponibles (y su firma) a través de la página de descarga de un paquete: https://archive.org/download/archlinux_pkg_lucene__
Para descargar, verificar e instalar un paquete usando pacman:
# pacman -U https://archive.org/download/archlinux_pkg_cjdns/cjdns-16.1-3-x86_64.pkg.tar.xz
La verificación del paquete está controlada por la opción RemoteFileSigLevel
de pacman. Tenga en cuenta que si usa pacman, deberá averiguar las dependencias usted mismo.
También es posible utilizar el cliente Python de archive.org:
# Descargar una versión específica de un paquete $ ia download archlinux_pkg_cjdns cjdns-16.1-3-x86_64.pkg.tar.xz{,.sig} # Descargar todas las versiones x86_64 de un paquete, con firmas $ ia download archlinux_pkg_cjdns --glob="*x86_64.pkg.tar.xz*"
Historia
- El ARM original (Archlinux Rollback Machine) se cerró en 2013-08-18.[1]
- El nuevo está alojado en seblu.net desde 2013-08-31.
- Nueva URL y cierre de la antigua jerarquía ARM en 2015-10-13. Se introdujo un nuevo software, agetpkg-gitAUR.
- Se trasladó a archive.archlinux.org en 2015-12-19.[2]
- Paquetes antiguos de 2013-2016 cargados en archive.org el 2018-06-05.