「Arch Linux Archive」の版間の差分
細 Kusakata がページ「Arch Rollback Machine」を「Arch Linux Archive」に移動しました |
編集の要約なし |
||
| 1行目: | 1行目: | ||
[[Category:パッケージ管理]] |
[[Category:パッケージ管理]] |
||
[[en:Arch |
[[en:Arch Linux Archive]] |
||
[[fr:Arch |
[[fr:Arch Linux Archive]] |
||
{{Related articles start |
{{Related articles start}} |
||
{{Related|パッケージのダウングレード}} |
{{Related|パッケージのダウングレード}} |
||
{{Related articles end}} |
{{Related articles end}} |
||
''' |
'''A'''rch '''L'''inux '''Archive''' (''略して ala''), 旧称 ''Arch Linux Rollback Machine'' (''略して ARM'') は公式リポジトリのスナップショットや昔の ISO イメージ、ブートストラップ tarball などを保存しています。 |
||
ARM を使うことでパッケージの古いバージョンを探したりシステムの更新方法を変えることができます。 |
|||
ala を使うことで以下のことができます: |
|||
* パッケージを昔のバージョンにダウングレード (最新版が壊れていて、1つ前のバージョンに戻したい場合) |
|||
* ある特定の時間まで全てのパッケージをリストア (全てのパッケージが壊れていて、2ヶ月前まで戻したい場合) |
|||
* 1つ前のバージョンの ISO イメージを取得 |
|||
== 場所 == |
== 場所 == |
||
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 === |
||
[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 |
||
│ │ ├── 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/ |
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/ |
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/ |
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/ |
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
/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:
- Run your favorite internet browser and go to http://ala.seblu.net/packages;
- Go to the package you need and download it;
- Run
pacman -U pkgname.pkg.tar.xzas 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
ソース
- archivetools -- Archive サーバーを動かすためのソフトウェア
- agetpkg -- Archive から簡単にパッケージをダウングレードするためのソフトウェア
将来の予定
- 公式のインフラに移行。
- ある程度時間が経過したら自動でクリーンアップ。
- 他のパッケージもアーカイブ化。