「Pacserve」の版間の差分
(en:Pacserveへの転送ページ) |
Kusanaginoturugi (トーク | 投稿記録) (カテゴリを変更) |
||
(3人の利用者による、間の7版が非表示) | |||
1行目: | 1行目: | ||
+ | [[Category:インターネットアプリケーション]] |
||
− | #redirect[[en:Pacserve]] |
||
+ | [[Category:パッケージ管理]] |
||
+ | [[en:Pacserve]] |
||
+ | [[pt:Pacserve]] |
||
+ | [https://xyne.archlinux.ca/projects/pacserve/ Pacserve] を使うことでコンピュータ同士で pacman のパッケージを簡単に共有することができます。インターネット接続の速度が遅い環境で、複数のマシンで Arch Linux を使っている場合に重宝します。 |
||
+ | |||
+ | == インストール == |
||
+ | |||
+ | [[AUR]] から {{AUR|pacserve}} を [[インストール]] します。 |
||
+ | |||
+ | {{Tip|このパッケージは [[非公式ユーザーリポジトリ#xyne-x86_64|xyne-x86_64]] の非公式リポジトリにもあります}} |
||
+ | |||
+ | 最後に {{ic|pacserve.service}} を [[systemd#ユニットを使う|起動・有効化]] します。 |
||
+ | |||
+ | [[iptables]] を使っている場合は、{{ic|pacserve-ports.service}} も起動した方が良いでしょう。その他の [[ファイアウォール]] では、TCP ポート {{ic|15678}} と UDP ポート {{ic|15679}} を開放してください。UDP ポートはマルチキャストトラフィックのみに制限することができます。 |
||
+ | |||
+ | == 設定方法 == |
||
+ | |||
+ | {{ic|pacserve.service}} は、 {{ic|/etc/pacserve/pacserve.service.conf}} の {{ic|PACSERVE_ARGS}} を編集することにより設定することができます。利用可能なオプションを見るには {{ic|pacserve --help}} を実行してください。 |
||
+ | |||
+ | === Avahi === |
||
+ | |||
+ | [[mDNS]] を使って Pacserve をアナウンスしたり発見したりするには、 {{ic|--avahi}} オプションを {{ic|/etc/pacserve/pacserve.service.conf}} の {{ic|PACSERVE_ARGS}} に追加して下さい。 |
||
+ | |||
+ | == スタンドアロンの使用方法 == |
||
+ | |||
+ | pacman の代わりに、''pacsrv'' ラッパーを使ってパッケージのアップデートやインストールなどを行います。pacserve によってパッケージがホストされていれば、LAN から自動的にパッケージをダウンロードします。存在しない場合はインターネット上のミラーから通常通りにダウンロードします。例: |
||
+ | |||
+ | # pacsrv -Syu |
||
+ | # pacsrv -S openssh |
||
+ | |||
+ | ==Pacserve を使うように Pacman を設定== |
||
+ | pacserve デーモンを常時実行するようにしてラッパーを使わずに pacman を直接使いたい場合、以下の行を {{ic|/etc/pacman.conf}} の各リポジトリの下に追加してください: |
||
+ | Include = /etc/pacman.d/pacserve |
||
+ | |||
+ | 以下は Xyne リポジトリの例: |
||
+ | |||
+ | {{hc|/etc/pacman.conf|... |
||
+ | <nowiki>[xyne-x86_64] |
||
+ | SigLevel = Required</nowiki> |
||
+ | '''<nowiki>Include = /etc/pacman.d/pacserve</nowiki>''' |
||
+ | <nowiki>Server = https://xyne.archlinux.ca/repos/xyne |
||
+ | ...</nowiki>}} |
||
+ | |||
+ | もしくは (公式ミラーの場合のみ)、''Include...'' 行を Pacman のミラーリストファイルの一番上に挿入したり、''pacman.conf-insert_pacserve'' で ''pacman.conf'' ファイルを生成したりすることもできます。 |
||
+ | |||
+ | ==トラブルシューティング== |
||
+ | |||
+ | === pacman.conf で外部のダウンローダを使っている場合に問題が発生する === |
||
+ | |||
+ | [[wget]] など外部のダウンローダを使用する場合、ダウンロード時に ''pacsrv'' はエラーを返すことがあります。エラーを出さないようにするには、URL ({{ic|%u}}) や出力フォーマット文字列 ({{ic|%o}}) をシングルクォートで囲うようにしてください: |
||
+ | |||
+ | XferCommand = /usr/bin/wget --timeout=6 --passive-ftp -c -O '%o' '%u' |
||
+ | |||
+ | === マシンがお互いに見えない === |
||
+ | |||
+ | ピアの検出は {{AUR|python3-threaded_servers}} のバージョンに依存します。 |
||
+ | 異なるバージョンのサービスから来る TCP マルチキャストフレームは破棄されます。 |
||
+ | この場合、root で {{ic|journalctl -u pacserve}} を実行すると、そのような認識できないフレームについて警告を出します。 |
||
+ | このパッケージをアップグレードしてから {{ic|pacserve.service}} を再開してください。 |
||
+ | |||
+ | == 参照 == |
||
+ | |||
+ | * [https://bbs.archlinux.org/viewtopic.php?id=117094 ArchLinux フォーラムの pacserve スレッド] |
2023年9月6日 (水) 18:43時点における最新版
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
を再開してください。