Pacserve

提供: ArchWiki
2023年9月6日 (水) 18:43時点におけるKusanaginoturugi (トーク | 投稿記録)による版 (カテゴリを変更)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

Pacserve を使うことでコンピュータ同士で pacman のパッケージを簡単に共有することができます。インターネット接続の速度が遅い環境で、複数のマシンで Arch Linux を使っている場合に重宝します。

インストール

AUR から pacserveAURインストール します。

ヒント: このパッケージは xyne-x86_64 の非公式リポジトリにもあります

最後に pacserve.service起動・有効化 します。

iptables を使っている場合は、pacserve-ports.service も起動した方が良いでしょう。その他の ファイアウォール では、TCP ポート 15678 と UDP ポート 15679 を開放してください。UDP ポートはマルチキャストトラフィックのみに制限することができます。

設定方法

pacserve.service は、 /etc/pacserve/pacserve.service.confPACSERVE_ARGS を編集することにより設定することができます。利用可能なオプションを見るには pacserve --help を実行してください。

Avahi

mDNS を使って Pacserve をアナウンスしたり発見したりするには、 --avahi オプションを /etc/pacserve/pacserve.service.confPACSERVE_ARGS に追加して下さい。

スタンドアロンの使用方法

pacman の代わりに、pacsrv ラッパーを使ってパッケージのアップデートやインストールなどを行います。pacserve によってパッケージがホストされていれば、LAN から自動的にパッケージをダウンロードします。存在しない場合はインターネット上のミラーから通常通りにダウンロードします。例:

# pacsrv -Syu
# pacsrv -S openssh

Pacserve を使うように Pacman を設定

pacserve デーモンを常時実行するようにしてラッパーを使わずに pacman を直接使いたい場合、以下の行を /etc/pacman.conf の各リポジトリの下に追加してください:

 Include = /etc/pacman.d/pacserve

以下は Xyne リポジトリの例:

/etc/pacman.conf
...
[xyne-x86_64]
SigLevel = Required
Include  = /etc/pacman.d/pacserve
Server   = https://xyne.archlinux.ca/repos/xyne
...

もしくは (公式ミラーの場合のみ)、Include... 行を Pacman のミラーリストファイルの一番上に挿入したり、pacman.conf-insert_pacservepacman.conf ファイルを生成したりすることもできます。

トラブルシューティング

pacman.conf で外部のダウンローダを使っている場合に問題が発生する

wget など外部のダウンローダを使用する場合、ダウンロード時に pacsrv はエラーを返すことがあります。エラーを出さないようにするには、URL (%u) や出力フォーマット文字列 (%o) をシングルクォートで囲うようにしてください:

XferCommand = /usr/bin/wget --timeout=6 --passive-ftp -c -O '%o' '%u'

マシンがお互いに見えない

ピアの検出は python3-threaded_serversAUR のバージョンに依存します。 異なるバージョンのサービスから来る TCP マルチキャストフレームは破棄されます。 この場合、root で journalctl -u pacserve を実行すると、そのような認識できないフレームについて警告を出します。 このパッケージをアップグレードしてから pacserve.service を再開してください。

参照