「Arch Linux Archive」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(Kusakata がページ「Arch Rollback Machine」を「Arch Linux Archive」に移動しました)
1行目: 1行目:
 
[[Category:パッケージ管理]]
 
[[Category:パッケージ管理]]
[[en:Arch Rollback Machine]]
+
[[en:Arch Linux Archive]]
[[fr:Arch Rollback Machine]]
+
[[fr:Arch Linux Archive]]
{{Related articles start (日本語)}}
+
{{Related articles start}}
 
{{Related|パッケージのダウングレード}}
 
{{Related|パッケージのダウングレード}}
 
{{Related articles end}}
 
{{Related articles end}}
   
'''Arch Rollback Machine''' (略して ARM) は公式の '''Archlinux''' ミラーの毎日のスナップショットす。
+
'''A'''rch '''L'''inux '''Archive''' (''略して ala''), 旧称 ''Arch Linux Rollback Machine'' (''略して ARM'') は公式リポジトリのスナップショットや昔の ISO イメージ、ブートストラップ tarball などを保存しています。
  +
ARM を使うことでパッケージの古いバージョンを探したりシステムの更新方法を変えることができます。
 
  +
ala を使うことで以下のことができます:
  +
* パッケージを昔のバージョンにダウングレード (最新版が壊れていて、1つ前のバージョンに戻したい場合)
  +
* ある特定の時間まで全てのパッケージをリストア (全てのパッケージが壊れていて、2ヶ月前まで戻したい場合)
  +
* 1つ前のバージョンの ISO イメージを取得
   
 
== 場所 ==
 
== 場所 ==
   
ARM は http://seblu.net/a/arm または ftp://seblu.net/archlinux/arm から利用可能です。
+
Arch Linux Archive現在 http://ala.seblu.net/ から利用可能です。
  +
  +
以下の URL は非推奨となっており後に廃止される予定です:
  +
* http://seblu.net/a/archive
  +
* ftp://seblu.net/archlinux/archive
  +
  +
以下の URL はもう使うことができません:
  +
* http://seblu.net/a/arm
  +
* ftp://seblu.net/archlinux/arm
  +
  +
== ディレクトリ ==
  +
  +
'''Archive''' は以下のように3つのメインディレクトリに分かれています。
  +
  +
├── iso
  +
├── packages
  +
└── repos
   
== アーキテクチャ ==
+
=== /repos ===
   
'''ARM'''日のスナップショット以下のような階層でファイルシステム保存しています。
+
[http://ala.seblu.net/repos repos] ディレクトリに公式ミラーの毎日のスナップショットが含まれており、以下のように日付でまとめられています。
さらに特別なスナップショットにリンクする3つのシンボリックリンクと1つのパッケージディレクトリがあります。
 
   
  +
repos
 
├── 2013
 
├── 2013
 
│ ├── 08
 
│ ├── 08
 
│ │ └── 31
 
│ │ └── 31
  +
│ │ ├── community
  +
│ │ ├── community-staging
  +
│ │ ├── community-testing
  +
│ │ ├── core
  +
│ │ ├── extra
  +
│ │ ├── gnome-unstable
  +
│ │ ├── kde-unstable
  +
│ │ ├── lastsync
  +
│ │ ├── multilib
  +
│ │ ├── multilib-staging
  +
│ │ ├── multilib-testing
  +
│ │ ├── pool
  +
│ │ ├── staging
  +
│ │ └── testing
 
│ ├── 09
 
│ ├── 09
 
│ │ ├── 01
 
│ │ ├── 01
27行目: 61行目:
 
│ │ ├── 21
 
│ │ ├── 21
 
│ │ └── 22
 
│ │ └── 22
└── 10
+
├── 10
  +
│ │ ├── 01
  +
│ │ ├── 02
  +
│ │ ├── ...
  +
│ │
  +
│ ├── 11
  +
│ └── 12
  +
├── 2014
  +
│ ├── 01
  +
│ │ ├── 01
  +
│ │ ├── 02
  +
│ │ ├── ...
  +
│ │
  +
│ ├── 02
  +
│ ├── 03
  +
│ ├── ...
  +
│ └── 09
 
│ ├── 01
 
│ ├── 01
│ ├── 02
 
 
│ ├── ...
 
│ ├── ...
  +
│ └── 28
 
  +
├── last
  +
├── month
  +
└── week
  +
  +
{{Note|最後の3つの特殊なディレクトリ ('''last''', '''week''', '''month''') はそれぞれ最後に同期したリポジトリ、最後の月曜日に同期したリポジトリ、月の初めに同期したリポジトリにリンクしています。}}
  +
  +
=== /packages ===
  +
  +
[http://ala.seblu.net/packages packages] ディレクトリには全てのバージョンのパッケージと署名が含まれています。1つのパッケージに1つのディレクトリとなっており、パッケージのディレクトリは最初の一文字によってまとめられています。
  +
 
├── packages
 
├── packages
 
│ ├── a
 
│ ├── a
 
│ │ ├── awesome
 
│ │ ├── awesome
 
│ │ │ ├── awesome-3.5.0-1-i686.pkg.tar.xz
 
│ │ │ ├── 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
  +
│ │ │ ├── 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
  +
│ │ │ ├── awesome-3.5.1-1-i686.pkg.tar.xz.sig
 
│ │ │ ├── ...
 
│ │ │ ├── ...
 
│ │ │
 
│ │ │
47行目: 109行目:
 
│ ├── ...
 
│ ├── ...
 
│ └── z
 
│ └── 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
 
   
  +
[http://ala.seblu.net/packages/.all .all] サブディレクトリを使うことでパッケージの名前で直接アクセスすることができます。要するに、全てのパッケージの全てのバージョンが一つのディレクトリに収まっています。クリアテキストによるリストアップはできません。
* '''20xx''' の階層には日付によってまとめられた公式ミラーの日毎のスナップショットが含まれています。
 
* [http://seblu.net/a/arm/packages packages] の階層にはそれぞれのパッケージの全てのバージョンのシンボリックリンクが含まれています。パッケージごとに一つのディレクトリにまとめれています。
 
* [http://seblu.net/a/arm/all all] の階層にはひとつのディレクトリにそれぞれのパッケージの全てのバージョンのシンボリックリンクが含まれています。順番はありません。
 
* [http://seblu.net/a/arm/last last] シンボリックリンクは毎日更新され、最後に完了したミラーのスナップショットにリンクします。
 
* [http://seblu.net/a/arm/week week] シンボリックリンクは毎週更新され、今週の月曜日にリンクします。
 
* [http://seblu.net/a/arm/month month] シンボリックリンクは毎月更新され、今月の最初の日にリンクします。
 
   
  +
├── 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
  +
│ │ └── ...
   
  +
一度に全てのパッケージを確認するための [http://ala.seblu.net/packages/.all/index.0.xz index.0.xz] という名前のインデックスが存在します。
この機能によって指定した月日のパッケージとデータベースを取得することが可能です。時間旅行を行うことで:
 
# 古いパッケージをダウンロードできます。
 
# pacman の時間を特定の日で止められます。
 
   
  +
=== /iso ===
'''pacman''' を2013年10月11日に飛ばすには、{{ic|/etc/pacman.conf}} を編集して以下の server ディレクティブを使って下さい:
 
   
  +
[http://ala.seblu.net/iso iso] ディレクトリには公式 ISO イメージとブートストラップ tarball が収められており、リリース日によって分けられています。
{{bc|<nowiki>
 
[core]
 
SigLevel = PackageRequired
 
Server=http://seblu.net/a/arm/2013/09/11/$repo/os/$arch
 
   
  +
├── 2014.09.03
[extra]
 
  +
├── 2014.10.01
SigLevel = PackageRequired
 
  +
├── 2014.11.01
Server=http://seblu.net/a/arm/2013/09/11/$repo/os/$arch
 
  +
├── 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 ==
[community]
 
SigLevel = PackageRequired
 
Server=http://seblu.net/a/arm/2013/09/11/$repo/os/$arch
 
</nowiki>}}
 
   
  +
{{Pkg|agetpkg}} は Archive に保存されているパッケージを素早く確認・取得・インストールするためのコマンドラインツールです。
もしくは {{ic|/etc/pacman.d/mirrorlist}} を以下の内容で置き換えてください:
 
   
  +
===== 一つ前のバージョンの ferm パッケージをダウンロード =====
{{bc|<nowiki>
 
  +
agetpkg ferm
##
 
## Arch Linux repository mirrorlist
 
## Generated on 2042-01-01
 
##
 
Server=http://seblu.net/a/arm/2013/09/11/$repo/os/$arch
 
</nowiki>}}
 
   
  +
===== xterm のバージョン 296 をダウンロード =====
それからデータベースを更新してください: {{Ic|# pacman -Syy}}
 
  +
agetpkg ^xterm 296
   
  +
===== zsh のバージョンを全て確認 =====
{{Note|ARM と最新のミラーを混ぜるのは危険です。ダウンロードが失敗した場合に、上流のパッケージが拾われる可能性があり、システムの他の部分と epoch が合わないパッケージが入ることになってしまいます。}}
 
  +
agetpkg -l zsh$
   
  +
===== バージョン 1.26.0 リリース 3 の gvfs パッケージをインストール =====
== 時間の遅れ ==
 
  +
agetpkg -i gvfs 1.26.0 3
   
  +
===== pwgen パッケージを全てダウンロード =====
この機能を使うことで Archlinux の更新を将来に先送りすることが可能です。
 
  +
agetpkg -g -a pwgen
コンピュータを週ごと・月ごとのペースで更新するには、{{ic|/etc/pacman.conf}} を編集して以下の server ディレクティブを使って下さい:
 
  +
  +
== FAQ ==
  +
  +
=== パッケージをダウングレードする方法 ===
  +
  +
You can use {{Pkg|agetpkg}} to easily download a specific package version from the Archive.
  +
  +
Or you can do it manually:
  +
  +
# Run your favorite internet browser and go to http://ala.seblu.net/packages;
  +
# Go to the package you need and download it;
  +
# Run {{Ic|pacman -U ''pkgname''.pkg.tar.xz}} as root.
  +
  +
=== 特定の日時まで全てのパッケージをリストアする方法 ===
  +
  +
特定の日時にあったパッケージにリストアするには、例えば2014年3月30日の場合、{{ic|/etc/pacman.conf}} を編集して以下のようにサーバーを記述することで [[pacman]] にその時のパッケージをダウンロードさせます:
   
 
{{bc|<nowiki>
 
{{bc|<nowiki>
 
[core]
 
[core]
 
SigLevel = PackageRequired
 
SigLevel = PackageRequired
Server=http://seblu.net/a/arm/month/$repo/os/$arch
+
Server=http://ala.seblu.net/repos/2014/03/30/$repo/os/$arch
#Server=http://seblu.net/a/arm/week/$repo/os/$arch
 
   
 
[extra]
 
[extra]
 
SigLevel = PackageRequired
 
SigLevel = PackageRequired
Server=http://seblu.net/a/arm/month/$repo/os/$arch
+
Server=http://ala.seblu.net/repos/2014/03/30/$repo/os/$arch
#Server=http://seblu.net/a/arm/week/$repo/os/$arch
 
   
 
[community]
 
[community]
 
SigLevel = PackageRequired
 
SigLevel = PackageRequired
Server=http://seblu.net/a/arm/month/$repo/os/$arch
+
Server=http://ala.seblu.net/repos/2014/03/30/$repo/os/$arch
#Server=http://seblu.net/a/arm/week/$repo/os/$arch
 
 
</nowiki>}}
 
</nowiki>}}
   
もしくは {{ic|/etc/pacman.d/mirrorlist}} を以下の内容で置き換えてください:
+
もしくは以下の内容で {{ic|/etc/pacman.d/mirrorlist}} を置き換えます:
   
 
{{bc|<nowiki>
 
{{bc|<nowiki>
131行目: 201行目:
 
## Generated on 2042-01-01
 
## Generated on 2042-01-01
 
##
 
##
Server=http://seblu.net/a/arm/month/$repo/os/$arch
+
Server=http://ala.seblu.net/repos/2014/03/30/$repo/os/$arch
#Server=http://seblu.net/a/arm/week/$repo/os/$arch
 
 
</nowiki>}}
 
</nowiki>}}
   
  +
そしてデータベースをアップデートして強制的にダウングレード:
{{Note|ARM と最新のミラーを混ぜるのは危険です。ダウンロードが失敗した場合に、上流のパッケージが拾われる可能性があり、システムの他の部分と epoch が合わないパッケージが入ることになってしまいます。}}
 
  +
# pacman -Syyuu
   
  +
{{Note|Archive と最新のミラーを混ぜるのは危険です。ダウンロードが失敗した場合に、上流のパッケージが拾われる可能性があり、システムの他の部分と epoch が合わないパッケージが入ることになってしまいます。}}
== 未来 ==
 
 
以下 '''ARM''' の TODO リスト。
 
 
* 公式のインフラに移動。
 
* ある程度時間が経過したら自動でクリーンアップ。
 
* AUR を ARM に追加する。
 
   
 
== ソース ==
 
== ソース ==
   
  +
* [https://github.com/seblu/archivetools archivetools] -- Archive サーバーを動かすためのソフトウェア
ARM を作るためのスクリプトはシンプルです。
 
  +
* [https://github.com/seblu/agetpkg agetpkg] -- Archive から簡単にパッケージをダウングレードするためのソフトウェア
   
  +
== 将来の予定 ==
スクリプトはここから入手できます: https://github.com/seblu/armtools
 
   
  +
* 公式のインフラに移行。
== 過去 ==
 
  +
* ある程度時間が経過したら自動でクリーンアップ。
  +
* 他のパッケージもアーカイブ化。
   
  +
== 歴史 ==
オリジナルの '''ARM''' は 2013-08-18 に幕を閉じました [https://bbs.archlinux.org/viewtopic.php?pid=1313360#p1313360]。
 
   
  +
* 2015-10-13 に、新しい URL が作られ昔の ARM ディレクトリは無くなりました。新しいソフトウェア、agetpkg が作られました。
新しい ARM は 2013-08-31 から [http://seblu.net seblu.net] でホストされています。
 
  +
* オリジナルの 'ARM (''Archlinux Rollback Machine'') は 2013-08-18 に幕を閉じました [https://bbs.archlinux.org/viewtopic.php?pid=1313360#p1313360]。
  +
* 新しい ARM は 2013-08-31 から [http://seblu.net seblu.net] でホストされています。

2015年10月21日 (水) 19:42時点における版

関連記事

Arch Linux Archive (略して ala), 旧称 Arch Linux Rollback Machine (略して ARM) は公式リポジトリのスナップショットや昔の ISO イメージ、ブートストラップ tarball などを保存しています。

ala を使うことで以下のことができます:

  • パッケージを昔のバージョンにダウングレード (最新版が壊れていて、1つ前のバージョンに戻したい場合)
  • ある特定の時間まで全てのパッケージをリストア (全てのパッケージが壊れていて、2ヶ月前まで戻したい場合)
  • 1つ前のバージョンの ISO イメージを取得

場所

Arch Linux Archive は現在 http://ala.seblu.net/ から利用可能です。

以下の URL は非推奨となっており後に廃止される予定です:

以下の URL はもう使うことができません:

ディレクトリ

Archive は以下のように3つのメインディレクトリに分かれています。

├── 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
ノート: 最後の3つの特殊なディレクトリ (last, week, month) はそれぞれ最後に同期したリポジトリ、最後の月曜日に同期したリポジトリ、月の初めに同期したリポジトリにリンクしています。

/packages

packages ディレクトリには全てのバージョンのパッケージと署名が含まれています。1つのパッケージに1つのディレクトリとなっており、パッケージのディレクトリは最初の一文字によってまとめられています。

├── 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 という名前のインデックスが存在します。

/iso

iso ディレクトリには公式 ISO イメージとブートストラップ tarball が収められており、リリース日によって分けられています。

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

agetpkg は Archive に保存されているパッケージを素早く確認・取得・インストールするためのコマンドラインツールです。

一つ前のバージョンの ferm パッケージをダウンロード
agetpkg ferm
xterm のバージョン 296 をダウンロード
agetpkg ^xterm 296
zsh のバージョンを全て確認
agetpkg -l zsh$
バージョン 1.26.0 リリース 3 の gvfs パッケージをインストール
agetpkg -i gvfs 1.26.0 3
pwgen パッケージを全てダウンロード
agetpkg -g -a pwgen

FAQ

パッケージをダウングレードする方法

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
ノート: Archive と最新のミラーを混ぜるのは危険です。ダウンロードが失敗した場合に、上流のパッケージが拾われる可能性があり、システムの他の部分と epoch が合わないパッケージが入ることになってしまいます。

ソース

  • archivetools -- Archive サーバーを動かすためのソフトウェア
  • agetpkg -- Archive から簡単にパッケージをダウングレードするためのソフトウェア

将来の予定

  • 公式のインフラに移行。
  • ある程度時間が経過したら自動でクリーンアップ。
  • 他のパッケージもアーカイブ化。

歴史

  • 2015-10-13 に、新しい URL が作られ昔の ARM ディレクトリは無くなりました。新しいソフトウェア、agetpkg が作られました。
  • オリジナルの 'ARM (Archlinux Rollback Machine) は 2013-08-18 に幕を閉じました [1]
  • 新しい ARM は 2013-08-31 から seblu.net でホストされています。