私は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をインストールした後ですか?
- ブロードキャストネットワークポートが開いていません。
- すべてのラップトップですべてのブロードキャストネットワークポートが開かれると、アップグレードラップトップはすべての新しいパッケージを含むアップグレードされたシステムの開いているポートを表示または検出できません。
この問題は、下記の手順で解決されました。
インストールする
- まず
pacserv
インストールしてくださいyay -S pacserve
- 次に、python3-threaded_serversがインストールされていることを確認してください。
yay -S python3-threaded_servers
- 第三に、以下のようにネットワーク/ポート検索サービスがあることを
/etc/pacserve/pacserve.service.conf
確認してください。--avahi
PACSERVE_ARGS="--multicast --avahi"
pacserve サービスとポートを開閉する Bash エイリアス
次に、使いやすいbashエイリアスを設定すると、次のことができます。
- pacserveサービスとポートサービスの有効化とオン/オフ
- そしてアップデートとアップグレード
私のやり方について賛成または反対意見をpassword_z="my password here"
提示することができます。.bash_aliases
.bash_aliases
pacserveファイルを追加:
# 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_servers
てyay -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"