Arch Rollback Machine
| Summary |
|---|
| This guide gather information around the Arch Rollback Machine |
| Related |
| Downgrading Packages |
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.
Contents |
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:
- download an old package;
- 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
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
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.