Arch Rollback Machine

From ArchWiki
Revision as of 16:30, 26 September 2013 by FoolEcho (Talk | contribs) (+link to the french wiki page)

Jump to: navigation, search

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

The Arch Rollback Machine (ARM for short) is an everyday snapshot of official Archlinux mirror. You can use it to find an old version of a package or to change the way you upgrade your system.

Location

The ARM is available at http://seblu.net/a/arm or ftp://seblu.net/archlinux/arm

Architecture

The ARM store each day snapshot in a filesystem hierarchy like the following. In addition there is 3 symlinks pointing to special snapshots.

├── 2013
│   ├── 08
│   │   └── 31
│   ├── 09
│   │   ├── 01
│   │   ├── 02
│   │   ├── ...
│   │   ├── 21
│   │   └── 22
│   └── 10
│       ├── 01
│       ├── 02
│       ├── ...
│
├── last -> 2013/09/22
├── month -> 2013/09/01
└── week -> 2013/09/16
  • The last symlink is updated everyday and points to the last finished mirror snapshot.
  • The week symlink is updated every week and points to the monday of the current week.
  • The month symlink is updated every month and points to the first day of the current month.

Time travel

This feature allow you to get packages and databases at a given date. You can use it to:

  1. download an old package;
  2. use pacman stuck on a particular day.

To have pacman be stuck on 11th September 2013, edit your /etc/pacman.conf and use the following server directive:

[core]
SigLevel = PackageRequired
Server=http://seblu.net/a/arm/2013/09/11/$repo/os/$arch

[extra]
SigLevel = PackageRequired
Server=http://seblu.net/a/arm/2013/09/11/$repo/os/$arch

[community]
SigLevel = PackageRequired
Server=http://seblu.net/a/arm/2013/09/11/$repo/os/$arch

or by replace your /etc/pacman.d/mirrorlist by the following content:

##                                                                              
## Arch Linux repository mirrorlist                                             
## Generated on 2042-01-01                                                      
##
Server=http://seblu.net/a/arm/2013/09/11/$repo/os/$arch
Note: It's not safe to mix ARM and up-to-date mirrror. In case of download failure, you can fallback on a upstream package and you will have packages not from the same epoch than the rest of the system.

Time relativity

The feature allow you to get Archlinux upgrades delayed in time. To upgrade your computer on a weekly or a monthly basis, edit your /etc/pacman.conf and use the following server directive:

[core]
SigLevel = PackageRequired
Server=http://seblu.net/a/arm/month/$repo/os/$arch
#Server=http://seblu.net/a/arm/week/$repo/os/$arch

[extra]
SigLevel = PackageRequired
Server=http://seblu.net/a/arm/month/$repo/os/$arch
#Server=http://seblu.net/a/arm/week/$repo/os/$arch

[community]
SigLevel = PackageRequired
Server=http://seblu.net/a/arm/month/$repo/os/$arch
#Server=http://seblu.net/a/arm/week/$repo/os/$arch

or by replace your /etc/pacman.d/mirrorlist by the following content:

##                                                                              
## Arch Linux repository mirrorlist                                             
## Generated on 2042-01-01                                                      
##
Server=http://seblu.net/a/arm/month/$repo/os/$arch
#Server=http://seblu.net/a/arm/week/$repo/os/$arch
Note: It's not safe to mix ARM and up-to-date mirrror. In case of download failure, you can fallback on a upstream package and you will have packages not from the same epoch than the rest of the system.

Future

This is a kind a TODO list for ARM.

  • Create an all directory with all packages.
  • Move to official infrastructure.
  • Automatic cleanup after a defined amount of time.

Past

The original ARM has been closed on 2013-08-18 [1].

The new one is hosted on seblu.net since 2013-08-31.