「Powerpill」の版間の差分
(en:Powerpillへの転送ページ) |
Kusakata.bot (トーク | 投稿記録) 細 (文字列「http://xyne.archlinux.ca/」を「https://xyne.archlinux.ca/」に置換) |
||
(他の1人の利用者による、間の2版が非表示) | |||
1行目: | 1行目: | ||
+ | [[Category:パッケージ管理]] |
||
− | #redirect[[en:Powerpill]] |
||
+ | [[en:Powerpill]] |
||
+ | [[it:Powerpill]] |
||
+ | [[ru:Powerpill]] |
||
+ | Powerpill は並列・分割ダウンロードをすることで Pacman のダウンロードを高速化する [[Pacman]] ラッパーです。内部的には [[Aria2]] と [[Reflector]] を使ってダウンロードの高速化をしています。[[Rsync]] をサポートしている公式ミラーなら Powerpill で Rsync を使うこともできます。単一のミラーからダウンロードするときに最大帯域を使いきっているユーザーなら効果的です。設定ファイルによって [[Pacserve]] もサポートされており、外部のミラーからダウンロードする前に使用することができます。例: アップデートをしようとして ''pacman -Syu'' を実行したらアップデートできるパッケージが20個、合計で200メガバイトだと表示された場合。pacman でダウンロードする場合、パッケージは1つずつ落ちてきます。powerpill でダウンロードすると、同時にダウンロードされるため数倍は高速です (実際の速度はユーザーの接続速度やサーバーの負担や速度などにより変わります)。 |
||
+ | |||
+ | pacman と powerpill でダウンロード速度を比較すると、上記の例なら4倍近く差が出ることもあります。つまり pacman が 300 kB/秒でダウンロードするところを powerpill は平均 1.2 MB/秒でダウンロードできるわけです。 |
||
+ | |||
+ | == インストール == |
||
+ | |||
+ | [[AUR]] の {{AUR|powerpill}} か [https://xyne.archlinux.ca/repos/ Xyne のリポジトリ] から直接インストールできます。 |
||
+ | |||
+ | == 設定 == |
||
+ | |||
+ | Powerpill の設定ファイルは {{ic|/etc/powerpill/powerpill.json}} 一つだけで自由に編集できます。詳しくは ''powerpill.json'' man ページを参照してください。 |
||
+ | |||
+ | == Reflector を使う == |
||
+ | |||
+ | デフォルトで、Powerpill は [[Reflector]] を使って Arch Linux のウェブ API からミラーの最新リストを取得して並行ダウンロードするように設定されています。リストに十分なサーバーがあることを確認することで劇的にダウンロード速度を改善します。 |
||
+ | |||
+ | == rsync を使う == |
||
+ | |||
+ | ミラーによっては Rsync のサポートが利用可能です。有効にすると、単一の接続が使われるようになるため、データベースの同期 ({{ic|pacman -Sy}}) などの操作が圧倒的に高速になります。''rsync'' プロトコル自体もアップデートのチェックやファイルの転送の高速化に一役買っています。 |
||
+ | |||
+ | ''rsync'' サポートが利用できるミラーを探すときは、''reflector'' を使います: |
||
+ | |||
+ | $ reflector -p rsync |
||
+ | |||
+ | また、''reflector'' を使って最速のサーバーを ''n'' 個 (オプション {{ic|-f}})、最新のサーバーを ''m'' 個 (オプション {{ic|-l}})、抽出することもできます: |
||
+ | |||
+ | $ reflector -p rsync -f ''n'' -l ''m'' |
||
+ | |||
+ | 使用したいミラーを選択してください。{{ic|-c}} オプションを使うことで国別に選ぶことができます (完全なリストは {{ic|reflector --list-countries}} を見て下さい、名前はクォートで囲みます、大文字と小文字を区別するので注意してください)。完了したら、{{ic|/etc/powerpill/powerpill.json}} を編集して、''rsync'' セクションを見つけて、サーバーフィールドに使いたいサーバーを追加してください。 |
||
+ | |||
+ | 上記の設定後、可能であれば ''rsync'' サーバーから公式データベースやパッケージが全てダウンロードされるようになります。 |
||
+ | |||
+ | == 基本的な使い方 == |
||
+ | |||
+ | ''powerpill'' は ''pacman'' のラッパースクリプトなので、ほとんどの操作は pacman と同じように動作します。 |
||
+ | |||
+ | === システムのアップデート === |
||
+ | |||
+ | powerpill を使ってシステムをアップデート (インストールされているパッケージの同期と更新) するには、''pacman'' と同じように {{ic|-Syu}} オプションを使います: |
||
+ | |||
+ | # powerpill -Syu |
||
+ | |||
+ | === パッケージのインストール === |
||
+ | |||
+ | パッケージとその依存パッケージをインストールするには、''pacman'' と同じように powerpill に {{ic|-S}} オプションを付けます: |
||
+ | |||
+ | # powerpill -S ''package'' |
||
+ | |||
+ | ''pacman'' と同じように複数のパッケージをインストールすることもできます: |
||
+ | |||
+ | # powerpill -S ''package1'' ''package2'' ''package3'' |
||
+ | |||
+ | == トラブルシューティング == |
||
+ | |||
+ | <repo>.db.sig ファイルについて以下の [err] が表示される場合: |
||
+ | |||
+ | b5d7d7|ERR | 0B/s|/var/lib/pacman/sync/extra.db.sig |
||
+ | 899e91|ERR | 0B/s|/var/lib/pacman/sync/multilib.db.sig |
||
+ | 8fcc32|ERR | 0B/s|/var/lib/pacman/sync/core.db.sig |
||
+ | 85eb3d|ERR | 0B/s|/var/lib/pacman/sync/community.db.sig |
||
+ | |||
+ | リポジトリの署名ファイルが存在しない、以下のように {{ic|/etc/pacman.conf}} に設定されていないのが原因です: |
||
+ | |||
+ | SigLevel = PackageRequired |
||
+ | |||
+ | 詳しくは [https://bbs.archlinux.org/viewtopic.php?pid=1254940#p1254940 Arch フォーラムの投稿] を参照。 |
||
+ | |||
+ | == 参照 == |
||
+ | |||
+ | * [https://xyne.archlinux.ca/projects/powerpill/ Powerpill] - 公式プロジェクトページ |
||
+ | * [https://bbs.archlinux.org/viewtopic.php?id=153818 powerpill reborn] - powerpill is back :) |
2018年2月6日 (火) 23:43時点における最新版
Powerpill は並列・分割ダウンロードをすることで Pacman のダウンロードを高速化する Pacman ラッパーです。内部的には Aria2 と Reflector を使ってダウンロードの高速化をしています。Rsync をサポートしている公式ミラーなら Powerpill で Rsync を使うこともできます。単一のミラーからダウンロードするときに最大帯域を使いきっているユーザーなら効果的です。設定ファイルによって Pacserve もサポートされており、外部のミラーからダウンロードする前に使用することができます。例: アップデートをしようとして pacman -Syu を実行したらアップデートできるパッケージが20個、合計で200メガバイトだと表示された場合。pacman でダウンロードする場合、パッケージは1つずつ落ちてきます。powerpill でダウンロードすると、同時にダウンロードされるため数倍は高速です (実際の速度はユーザーの接続速度やサーバーの負担や速度などにより変わります)。
pacman と powerpill でダウンロード速度を比較すると、上記の例なら4倍近く差が出ることもあります。つまり pacman が 300 kB/秒でダウンロードするところを powerpill は平均 1.2 MB/秒でダウンロードできるわけです。
目次
インストール
AUR の powerpillAUR か Xyne のリポジトリ から直接インストールできます。
設定
Powerpill の設定ファイルは /etc/powerpill/powerpill.json
一つだけで自由に編集できます。詳しくは powerpill.json man ページを参照してください。
Reflector を使う
デフォルトで、Powerpill は Reflector を使って Arch Linux のウェブ API からミラーの最新リストを取得して並行ダウンロードするように設定されています。リストに十分なサーバーがあることを確認することで劇的にダウンロード速度を改善します。
rsync を使う
ミラーによっては Rsync のサポートが利用可能です。有効にすると、単一の接続が使われるようになるため、データベースの同期 (pacman -Sy
) などの操作が圧倒的に高速になります。rsync プロトコル自体もアップデートのチェックやファイルの転送の高速化に一役買っています。
rsync サポートが利用できるミラーを探すときは、reflector を使います:
$ reflector -p rsync
また、reflector を使って最速のサーバーを n 個 (オプション -f
)、最新のサーバーを m 個 (オプション -l
)、抽出することもできます:
$ reflector -p rsync -f n -l m
使用したいミラーを選択してください。-c
オプションを使うことで国別に選ぶことができます (完全なリストは reflector --list-countries
を見て下さい、名前はクォートで囲みます、大文字と小文字を区別するので注意してください)。完了したら、/etc/powerpill/powerpill.json
を編集して、rsync セクションを見つけて、サーバーフィールドに使いたいサーバーを追加してください。
上記の設定後、可能であれば rsync サーバーから公式データベースやパッケージが全てダウンロードされるようになります。
基本的な使い方
powerpill は pacman のラッパースクリプトなので、ほとんどの操作は pacman と同じように動作します。
システムのアップデート
powerpill を使ってシステムをアップデート (インストールされているパッケージの同期と更新) するには、pacman と同じように -Syu
オプションを使います:
# powerpill -Syu
パッケージのインストール
パッケージとその依存パッケージをインストールするには、pacman と同じように powerpill に -S
オプションを付けます:
# powerpill -S package
pacman と同じように複数のパッケージをインストールすることもできます:
# powerpill -S package1 package2 package3
トラブルシューティング
<repo>.db.sig ファイルについて以下の [err] が表示される場合:
b5d7d7|ERR | 0B/s|/var/lib/pacman/sync/extra.db.sig 899e91|ERR | 0B/s|/var/lib/pacman/sync/multilib.db.sig 8fcc32|ERR | 0B/s|/var/lib/pacman/sync/core.db.sig 85eb3d|ERR | 0B/s|/var/lib/pacman/sync/community.db.sig
リポジトリの署名ファイルが存在しない、以下のように /etc/pacman.conf
に設定されていないのが原因です:
SigLevel = PackageRequired
詳しくは Arch フォーラムの投稿 を参照。
参照
- Powerpill - 公式プロジェクトページ
- powerpill reborn - powerpill is back :)