Difference between revisions of "Arch Rollback Machine"

From ArchWiki
Jump to: navigation, search
(fix double redirect)
 
(18 intermediate revisions by 12 users not shown)
Line 1: Line 1:
[[Category:Package management]]
+
#REDIRECT [[Arch Linux Archive]]
[[fr:Arch Rollback Machine]]
 
[[ja:Arch Rollback Machine]]
 
{{Article summary start}}
 
{{Article summary text|This guide gather information around the Arch Rollback Machine}}
 
{{Article summary heading|Related}}
 
{{Article summary wiki|Downgrading Packages}}
 
{{Article summary end}}
 
 
 
The '''Arch Rollback Machine''' (ARM for short) is a daily 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''' stores each day snapshot in a filesystem hierarchy like the following.
 
In addition there are 3 symlinks pointing to special snapshots and one packages directory.
 
 
 
├── 2013
 
│   ├── 08
 
│   │   └── 31
 
│   ├── 09
 
│   │  ├── 01
 
│   │  ├── 02
 
│   │  ├── ...
 
│   │  ├── 21
 
│   │  └── 22
 
│   └── 10
 
│      ├── 01
 
│      ├── 02
 
│      ├── ...
 
 
├── packages
 
│   ├── a
 
│   │  ├── awesome
 
│   │  │  ├── awesome-3.5.0-1-i686.pkg.tar.xz
 
│   │  │  ├── awesome-3.5.0-1-x86_64.pkg.tar.xz
 
│   │  │  ├── awesome-3.5.1-1-i686.pkg.tar.xz
 
│   │  │  ├── ...
 
│   │  │
 
│   │  ├── ...
 
│   │  ├── awstats
 
│   │  └── axel
 
│   │ 
 
│   ├── b
 
│   ├── ...
 
│   └── z
 
 
├── 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
 
│   └── ...
 
 
├── last -> 2013/09/22
 
├── month -> 2013/09/01
 
└── week -> 2013/09/16
 
 
 
* The '''20xx''' hierarchy contains daily snapshots of official mirror organized by date.
 
* The [http://seblu.net/a/arm/packages packages] hierarchy contains symlinks to all versions of each package. One directory by package.
 
* The [http://seblu.net/a/arm/all all] hierarchy contains symlinks to all versions of each package in one flat directory. No listing.
 
* The [http://seblu.net/a/arm/last last] symlink is updated every day and points to the last finished mirror snapshot.
 
* The [http://seblu.net/a/arm/week week] symlink is updated every week and points to the monday of the current week.
 
* The [http://seblu.net/a/arm/month 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 {{ic|/etc/pacman.conf}} and use the following server directive:
 
 
 
{{bc|<nowiki>
 
[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
 
</nowiki>}}
 
 
 
or by replace your {{ic|/etc/pacman.d/mirrorlist}} by the following content:
 
 
 
{{bc|<nowiki>
 
##                                                                             
 
## Arch Linux repository mirrorlist                                           
 
## Generated on 2042-01-01                                                     
 
##
 
Server=http://seblu.net/a/arm/2013/09/11/$repo/os/$arch
 
</nowiki>}}
 
 
 
{{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 {{ic|/etc/pacman.conf}} and use the following server directive:
 
 
 
{{bc|<nowiki>
 
[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
 
</nowiki>}}
 
 
 
or by replace your {{ic|/etc/pacman.d/mirrorlist}} by the following content:
 
 
 
{{bc|<nowiki>
 
##                                                                             
 
## 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
 
</nowiki>}}
 
 
 
{{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'''.
 
 
 
* Move to official infrastructure.
 
* Automatic cleanup after a defined amount of time.
 
 
 
== Sources ==
 
 
 
Scripts used to create this are simple.
 
 
 
You can find them here: https://github.com/seblu/armtools
 
 
 
== Past ==
 
 
 
The original '''ARM''' has been closed on 2013-08-18 [https://bbs.archlinux.org/viewtopic.php?pid=1313360#p1313360].
 
 
 
The new one is hosted on [http://seblu.net seblu.net] since 2013-08-31.
 

Latest revision as of 16:24, 13 October 2015

Redirect to: