Difference between revisions of "Arch Linux Archive (简体中文)"

From ArchWiki
Jump to navigation Jump to search
m
Line 8: Line 8:
 
{{Related articles end}}
 
{{Related articles end}}
  
The '''A'''rch '''L'''inux '''Archive''' (''a.k.a ala''), formerly known as ''Arch Linux Rollback Machine'' (''a.k.a ARM''), stores ''official repositories snapshots'', ''iso images'' and ''bootstrap tarballs'' across time.
+
Arch Linux 存档('''A'''rch '''L'''inux '''Archive'''''简称 ala''),以前称为 ''Arch Linux 回滚机器(Arch Linux Rollback Machine''''简称 ARM''),保存了 ''官方仓库快照''''iso 镜像'' ''引导程序包'' 的历史版本。
  
'''You can use it to'''
+
'''用途'''
* Downgrade to a previous version of one package (last version is broken, I want the previous one)
+
* 将某个包降级到某个早期版本(最新版本不能用,我需要之前的版本)
* Restore all your packages at a precise moment (All theses packages are broken, I want to go back 2 months ago)
+
* 将所有包恢复到某个指定的历史时刻(所有包都不能用,我要恢复到两个月之前的状态)
* Find a previous version of an ISO image
+
* 查找某个历史版本的 ISO 镜像
  
 
== 位置 ==
 
== 位置 ==
  
The Arch Linux Archive is currently available at http://ala.seblu.net/.
+
Arch Linux 存档目前位于 http://ala.seblu.net/
  
Previous locations listed below are deprecated and will be closed soon:
+
此前的下列网址即将关闭,建议不要再使用:
 
* http://seblu.net/a/archive
 
* http://seblu.net/a/archive
 
* ftp://seblu.net/archlinux/archive
 
* ftp://seblu.net/archlinux/archive
  
The following locations listed below are now closed:
+
下列网址已关闭:
 
* http://seblu.net/a/arm
 
* http://seblu.net/a/arm
 
* ftp://seblu.net/archlinux/arm
 
* ftp://seblu.net/archlinux/arm
Line 29: Line 29:
 
== 目录 ==
 
== 目录 ==
  
The '''Archive''' is split into 3 main directories detailed below.
+
'''存档'''分为下列三个主目录:
  
 
  ├── iso
 
  ├── iso
Line 37: Line 37:
 
=== /repos ===
 
=== /repos ===
  
The [http://ala.seblu.net/repos repos] directory contains daily snapshots of official mirror organized by date like in the following example.
+
[http://ala.seblu.net/repos repos] 这个目录包含官方仓库镜像的每日快照,按下例结构组织:
  
 
  repos
 
  repos
Line 87: Line 87:
 
  └── week
 
  └── week
  
Note: The last 3 special directories ('''last''', '''week''' and '''month''') which links respectively to the last synced repository, to the last monday and to the first of the current month.
+
注意: 最下面的三个特定目录('''last''''''week''' '''month''')分别链接到'''已同步的最新仓库版本'''、'''本周星期一版本'''和'''本月一日版本'''。
  
 
=== /packages ===
 
=== /packages ===
  
The [http://ala.seblu.net/packages packages] directory contains all versions of each package with their signatures. One directory by package and package directories are grouped by their first letter.
+
[http://ala.seblu.net/packages packages] 这个目录包含每个包的所有版本及其相应的数字签名。每个包一个目录,按首字母排序。
  
 
  ├── packages
 
  ├── packages
Line 112: Line 112:
 
  │   └── z
 
  │   └── z
  
You can use the magic subdirectory [http://ala.seblu.net/packages/.all .all] to access all packages by their name. In a nutshell, all versions of each package in one flat directory. No clear-text listing allowed here.
+
你可以使用“魔法目录”[http://ala.seblu.net/packages/.all .all] 按包名访问所有包。In a nutshell, all versions of each package in one flat directory. No clear-text listing allowed here.
  
 
  ├── packages
 
  ├── packages

Revision as of 03:46, 11 November 2015

Arch Linux 存档(Arch Linux Archive简称 ala),以前称为 Arch Linux 回滚机器(Arch Linux Rollback Machine简称 ARM),保存了 官方仓库快照iso 镜像引导程序包 的历史版本。

用途

  • 将某个包降级到某个早期版本(最新版本不能用,我需要之前的版本)
  • 将所有包恢复到某个指定的历史时刻(所有包都不能用,我要恢复到两个月之前的状态)
  • 查找某个历史版本的 ISO 镜像

位置

Arch Linux 存档目前位于 http://ala.seblu.net/

此前的下列网址即将关闭,建议不要再使用:

下列网址已关闭:

目录

存档分为下列三个主目录:

├── iso
├── packages
└── repos

/repos

repos 这个目录包含官方仓库镜像的每日快照,按下例结构组织:

repos
├── 2013
│   ├── 08
│   │   └── 31
│   │       ├── community
│   │       ├── community-staging
│   │       ├── community-testing
│   │       ├── core
│   │       ├── extra
│   │       ├── gnome-unstable
│   │       ├── kde-unstable
│   │       ├── lastsync
│   │       ├── multilib
│   │       ├── multilib-staging
│   │       ├── multilib-testing
│   │       ├── pool
│   │       ├── staging
│   │       └── testing
│   ├── 09
│   │   ├── 01
│   │   ├── 02
│   │   ├── ...
│   │   ├── 21
│   │   └── 22
│   ├── 10
│   │   ├── 01
│   │   ├── 02
│   │   ├── ...
│   │
│   ├── 11
│   └── 12
├── 2014
│   ├── 01
│   │   ├── 01
│   │   ├── 02
│   │   ├── ...
│   │
│   ├── 02
│   ├── 03
│   ├── ...
│   └── 09
│       ├── 01
│       ├── ...
│       └── 28
├── last
├── month
└── week

注意: 最下面的三个特定目录(lastweekmonth)分别链接到已同步的最新仓库版本本周星期一版本本月一日版本

/packages

packages 这个目录包含每个包的所有版本及其相应的数字签名。每个包一个目录,按首字母排序。

├── packages
│   ├── a
│   │   ├── awesome
│   │   │   ├── awesome-3.5.0-1-i686.pkg.tar.xz
│   │   │   ├── awesome-3.5.0-1-i686.pkg.tar.xz.sig
│   │   │   ├── awesome-3.5.0-1-x86_64.pkg.tar.xz
│   │   │   ├── awesome-3.5.0-1-x86_64.pkg.tar.xz.sig
│   │   │   ├── awesome-3.5.1-1-i686.pkg.tar.xz
│   │   │   ├── awesome-3.5.1-1-i686.pkg.tar.xz.sig
│   │   │   ├── ...
│   │   │ 
│   │   ├── ...
│   │   ├── awstats
│   │   └── axel
│   │   
│   ├── b
│   ├── ...
│   └── z

你可以使用“魔法目录”.all 按包名访问所有包。In a nutshell, all versions of each package in one flat directory. No clear-text listing allowed here.

├── packages
│   ├── .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
│   │   └── ...

An lightweight index, named index.0.xz is available to list all package in once.

/iso

The iso directory contains official ISO images and bootstrap tarballs sorted by release date.

├── 2014.09.03
├── 2014.10.01
├── 2014.11.01
├── 2014.12.01
├── 2015.07.01
├── 2015.08.01
├── 2015.09.01
└── 2015.10.01
    ├── arch
    ├── archlinux-2015.10.01-dual.iso
    ├── archlinux-2015.10.01-dual.iso.sig
    ├── archlinux-2015.10.01-dual.iso.torrent
    ├── archlinux-bootstrap-2015.10.01-i686.tar.gz
    ├── archlinux-bootstrap-2015.10.01-i686.tar.gz.sig
    ├── archlinux-bootstrap-2015.10.01-x86_64.tar.gz
    ├── archlinux-bootstrap-2015.10.01-x86_64.tar.gz.sig
    ├── md5sums.txt
    └── sha1sums.txt

agetpkg

Tango-go-next.pngThis article or section is a candidate for moving to Downgrading packages.Tango-go-next.png

Notes: (Discuss in Talk:Archive#agetpkg)

Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

Reason: As of October 2015, the fate of the package is discussed in arch-dev-public. (Discuss in Talk:Arch Linux Archive (简体中文)#)

agetpkg[broken link: package not found] is a command line tool used to quickly list/get/install packages stored in the Archive.

Download a previous version of ferm package
agetpkg ferm
Download xterm version 296
agetpkg ^xterm 296
List all zsh versions
agetpkg -l zsh$
Install all gvfs packages in version 1.26.0 release 3
agetpkg -i gvfs 1.26.0 3
Download all pwgen packages
agetpkg -g -a pwgen

常见问题

如何降级某个包

You can use #agetpkg to easily download a specific package version from the Archive.

Or you can do it manually:

  1. Run your favorite internet browser and go to http://ala.seblu.net/packages;
  2. Go to the package you need and download it;
  3. Run pacman -U pkgname.pkg.tar.xz as root.

如何恢复所有包到指定日期

To restore all the package you have at a specific date, let says 30th March 2014, you have to stuck pacman at this date, by editing your /etc/pacman.conf and use the following server directive:

[core]
SigLevel = PackageRequired
Server=http://ala.seblu.net/repos/2014/03/30/$repo/os/$arch

[extra]
SigLevel = PackageRequired
Server=http://ala.seblu.net/repos/2014/03/30/$repo/os/$arch

[community]
SigLevel = PackageRequired
Server=http://ala.seblu.net/repos/2014/03/30/$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://ala.seblu.net/repos/2014/03/30/$repo/os/$arch

Then update the database and force downgrade:

# pacman -Syyuu
Note: It's not safe to mix Archive and up-to-date mirrors. In case of download failure, you can fall-back on an upstream package and you will have packages not from the same epoch as the rest of the system.

源码

  • archivetools -- Software to run an Archive server
  • agetpkg -- Software to easy downgrade package from the Archive

未来计划

  • Move to official infrastructure.
  • Automatic clean-up after a defined amount of time?
  • Archive more stuff?

历史

  • New URL and closing the old ARM hierarchy on 2015-10-13. A new software, agetpkg was introduced.
  • The original ARM (Archlinux Rollback Machine) was closed on 2013-08-18 [1].
  • The new one is hosted on seblu.net since 2013-08-31.