Arch Linux Archive (简体中文) - ArchWiki

# Arch Linux Archive (简体中文)

翻译状态： 本文是英文页面 Arch_Linux_Archive 的翻译，最后翻译时间：2015-11-11，点击这里可以查看翻译后英文页面的改动。

Related articles

- Downgrading packages (简体中文)

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

用途

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

## 位置

Arch Linux 存档目前位于 https://archive.archlinux.org/ (即以前的 http://ala.seblu.net/ ) 。

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

- http://seblu.net/a/archive
- ftp://seblu.net/archlinux/archive

下列网址已关闭：

- http://seblu.net/a/arm
- ftp://seblu.net/archlinux/arm

## 目录

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

    ├── 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

注意: 最下面的三个特定目录（last、week 和 month）分别链接到已同步的最新仓库版本、本周星期一版本和本月一日版本。

### /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

This article or section is a candidate for moving to Downgrading packages.

Notes: (Discuss in Talk:Archive#agetpkg)

This article or section is out of date.

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.

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

如果想恢复所有包到指定日期（比如2014年3月30日），你必须如下例所示编辑 `/etc/pacman.conf`，从而让 pacman 保持在这个时间点并且直接使用指定的服务器：

    [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

或者如下例编辑 `/etc/pacman.d/mirrorlist`：

    ##
    ## Arch Linux repository mirrorlist
    ## Generated on 2042-01-01
    ##
    Server=http://ala.seblu.net/repos/2014/03/30/$repo/os/$arch

然后同步包数据库以强制降级：

    # pacman -Syyuu

注意: 混用归档和更新镜像很不安全。万一降级失败，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.

Categories:

- 简体中文
- Package management (简体中文)

Hidden categories:

- Pages or sections flagged with Template:Move
- Pages or sections flagged with Template:Out of date
- Pages with broken package links