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: