Arch Rollback Machine

From ArchWiki
Revision as of 00:13, 6 November 2013 by Liviu.mirea (Talk | contribs) (Time travel: - Added info about "pacman -Syy and -Syuu".)

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.
Note: After making these changes, you can run pacman -Syy to forcefully re-download the package list, and pacman -Syuu to download both upgrades and downgrades (can be dangerous).

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.