Arch Linux Archive (简体中文)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
翻译状态:本文是 Arch_Linux_Archive翻译。上次翻译日期:2016-07-20。如果英文版本有所更改,则您可以帮助同步翻译。

Tango-preferences-desktop-locale-modified.png这篇文章或章节的翻译不反映原文。Tango-preferences-desktop-locale-modified.png

原因:Last updated in 2016 (442344), out of sync with English page(在 Talk:Arch Linux Archive (简体中文)# 中讨论)

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/[失效链接 2020-08-02 ⓘ] ) 。

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

下列网址已关闭:

这里 的源代码可以帮助您架设自己的存档库服务器。

目录

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

├── 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 按包名访问所有包。这是一个没有子目录的结构。

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

可以下载一个压缩的索引文件,包含完整的软件包列表 index.0.xz.

$ curl https://archive.archlinux.org/packages/.all/index.0.xz | unxz
0ad-a14-1-i686
0ad-a14-1-x86_64
0ad-a14-2-i686
...
zziplib-0.13.62-1-x86_64
zziplib-0.13.62-2-i686
zziplib-0.13.62-2-x86_64

/iso

iso 目录按发布日期,保存官方 ISO 镜像和启动压缩包。

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

常见问题

如何降级某个包

/packages 中找到需要的软件包,下载并通过 pacman -U 安装.

软件包降级#自动化 包含了可以简化这个过程的工具。

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

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

[core]
SigLevel = PackageRequired
Server=https://archive.archlinux.org/repos/2014/03/30/$repo/os/$arch

[extra]
SigLevel = PackageRequired
Server=https://archive.archlinux.org/repos/2014/03/30/$repo/os/$arch

[community]
SigLevel = PackageRequired
Server=https://archive.archlinux.org/repos/2014/03/30/$repo/os/$arch

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

##                                                                              
## Arch Linux repository mirrorlist                                             
## Generated on 2042-01-01                                                      
##
Server=https://archive.archlinux.org/repos/2014/03/30/$repo/os/$arch

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

# pacman -Syyuu
注意: 混用归档和更新镜像很不安全。万一降级失败,可能使用的是上游软件包,会出现软件包的 epoch 和系统其它软件不一致的现象。

历史