Pacserveがインストールされましたが、ファイルは共有されません。何が問題なの?

Pacserveがインストールされましたが、ファイルは共有されません。何が問題なの?

私は3台のラップトップを持っていますが、すべて同じ192.168.1.xローカルネットワークにあり、すべて最新バージョンのArchがインストールされており、すべて最新のパッケージがインストールされています。

3つすべてpacservパッケージがインストールされています。

ローカルネットワークからダウンロードしたパッケージを共有して帯域幅を節約するために、pacserveを使用して安定した成功を収めませんでした。時には、ラップトップの1つがローカルギガビットネットワークを介して素晴らしいパケット共有ダウンロード速度を取得します。しかし、ほとんどこれは起こりません。

各ラップトップで次のコマンドを実行しました。
sudo systemctl start pacserve

このコマンドを使用して1つのコマンドを更新し、完了したら、別のコマンドで同じコマンドを実行してダウンロードしたパッケージを利用します。
sudo pacsrv -Syu

私にとっては、私が何を間違っているのかは明らかではありません。 pacman.confファイルを変更したくありません。修正する必要がありますか?各ストレージ/ソースを各コンピュータに配置する
必要がありますか、それとも別のタスクを実行する必要がありますか?
Include = /etc/pacman.d/pacserve
pacman.conf

ベストアンサー1

ファクサーブについて

Pacserveは、各システムで単純なWebサーバーとして実行されます。
ローカルIPアドレスを使用して検索して、各コンピュータのすべてのパッケージを表示できます。https://192.168.1.116:15678

Pacserveは、httpを介してファイルを共有するためにポート15678(httpで一般的に使用されるポート80ではありません)を使用します。別のコンピュータのWebブラウザでこのポートを検索すると、そのポートがドナーコンピュータで開いていることを簡単に確認できます。

私が経験した問題

pacserveをインストールした後ですか?

  1. ブロードキャストネットワークポートが開いていません。
  2. すべてのラップトップですべてのブロードキャストネットワークポートが開かれると、アップグレードラップトップはすべての新しいパッケージを含むアップグレードされたシステムの開いているポートを表示または検出できません。

この問題は、下記の手順で解決されました。

インストールする

  • まずpacservインストールしてくださいyay -S pacserve
  • 次に、python3-threaded_serversがインストールされていることを確認してください。yay -S python3-threaded_servers
  • 第三に、以下のようにネットワーク/ポート検索サービスがあることを /etc/pacserve/pacserve.service.conf確認してください。--avahiPACSERVE_ARGS="--multicast --avahi"

pacserve サービスとポートを開閉する Bash エイリアス

次に、使いやすいbashエイリアスを設定すると、次のことができます。

  • pacserveサービスとポートサービスの有効化とオン/オフ
  • そしてアップデートとアップグレード

私のやり方について賛成または反対意見をpassword_z="my password here"提示することができます。.bash_aliases

.bash_aliasespacserveファイルを追加:

# turn pacserve on
alias        pson=echo $password_z | sudo -S systemctl start  pacserve.service; \
                  echo $password_z | sudo -S systemctl enable pacserve-ports.service; \
                  echo $password_z | sudo -S systemctl start pacserve-ports.service"

# turn pacserve off
alias      psoff="echo $password_z | sudo -S systemctl enable pacserve.service; \
                  echo $password_z | sudo -S systemctl stop   pacserve.service; \
                  echo $password_z | sudo -S systemctl enable pacserve-ports.service; \
                  echo $password_z | sudo -S systemctl stop   pacserve-ports.service"

# update and upgrade
alias   upgrade="echo $password_z | sudo -S systemctl enable pacserve.service; \
                 echo $password_z | sudo -S systemctl start  pacserve.service; \
                 echo $password_z | sudo -S systemctl enable pacserve-ports.service; \
                 echo $password_z | sudo -S systemctl start  pacserve-ports.service; \ 
                 yes | sudo -S pacsrv -Syu"


# check to see if pacserve is running and has opened the ports that allow it to share files
#   scroll to the bottom to see if the ports are open
alias    upgradej="echo $password_z | sudo -S journalctl -u pacserve"  

その後、すべてのラップトップをアップグレードする前に、すべてのコンピュータpacserveonでエイリアスを使用し、 sudo -S pacsrv -Syu

sudo -S pacsrv -Syu最初のシステムがアップグレードされた後、パッケージはすべてのシステムで共有され使用されるため、LAN内の他のラップトップは非常に迅速にアップグレードされます。

その後、すべてのノートブックをアップグレードした後、エイリアスを使用して開いているポートを閉じます。pacserveoff

journalctl -u pacserve
下にスクロールしてポートが開いていることを確認し、使用後にブロードキャストポートが有効になっていることを確認できますpacserveon

これとは対照的に、
sudo systemctl stop pacserve.service
ポートはすべて閉じているため、サービスの動作が確実に中断されることがわかります。

インターネットを介した最初のノートブックのパッケージのダウンロード速度は、一般的に約3Mbpsであった。 2 台目のラップトップは LAN 有線接続によるファクサーブを使用し、ダウンロード速度は 100 Mbps、3 つ目のラップトップは WiFi 経由のファクサーブを使用し、ダウンロード速度は 7 Mbps です。したがって、ボックスを更新して他のラップトップをすべてイーサネットケーブルに接続することは非常に有利です。

すべてのポートが開いている場合は、別のノートブックが各ノートブックのHTTPファイルサーバーに移動して開いていることを確認します。

15678はpacserveがファイルを共有するためのポートです。 pacserveは、共有用のパッケージファイルを持つ単純なWebサーバーです。

したがって、3 台のノートブックがある場合は、各ノートブックの pacserve ポートを開いた後、次のように各ノートブックのサーバーを参照して、pacserve http サーバーが稼働していることを確認できます。
https://192.168.1.116:15678
https://192.168.1.107:15678
https://192.168.1.109:15678

パッケージキャッシュを示すWebページが表示されます。

python3-threaded_serversがインストールされていることを確認してください。

これはインストール可能です。yay -S python3-threaded_servers

インストールが正しく機能せず、ポートが開いている場合は、参照を使用して再インストールしpython3-threaded_serversyay -S python3-threaded_servers
ください。https://wiki.archlinux.org/title/Pacserve

avahi mDNS / DNS-SD自動ローカルネットワーク検索を有効にする

コンピュータがまだLANネットワークを介して互いのパッケージキャッシュを表示できない場合は、avahi自動ローカルネットワークスキャンを有効にしてください。

あなたが私のようにしてnvimをテキストエディタとして使用している場合は、次のように入力してその行が変更されていることを確認
sudo nvim /etc/pacserve/pacserve.service.conf してください。
PACSERVE_ARGS="--multicast"
PACSERVE_ARGS="--multicast --avahi"

おすすめ記事