Pacserve
Pacserve を使うことでコンピュータ同士で pacman のパッケージを簡単に共有することができます。インターネット接続の速度が遅い環境で、複数のマシンで Arch Linux を使っている場合に重宝します。
目次
インストール
AUR から pacserveAUR を インストール します。
最後に pacserve.service
を 起動・有効化 します。
iptables を使っている場合は、pacserve-ports.service
も起動した方が良いでしょう。その他の ファイアウォール では、TCP ポート 15678
と UDP ポート 15679
を開放してください。UDP ポートはマルチキャストトラフィックのみに制限することができます。
設定方法
pacserve.service
は、 /etc/pacserve/pacserve.service.conf
の PACSERVE_ARGS
を編集することにより設定することができます。利用可能なオプションを見るには pacserve --help
を実行してください。
Avahi
mDNS を使って Pacserve をアナウンスしたり発見したりするには、 --avahi
オプションを /etc/pacserve/pacserve.service.conf
の PACSERVE_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_pacserve で pacman.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
を再開してください。