![Pacserve가 설치되었지만 파일이 공유되지 않습니다. 뭐가 문제 야?](https://linux55.com/image/215878/Pacserve%EA%B0%80%20%EC%84%A4%EC%B9%98%EB%90%98%EC%97%88%EC%A7%80%EB%A7%8C%20%ED%8C%8C%EC%9D%BC%EC%9D%B4%20%EA%B3%B5%EC%9C%A0%EB%90%98%EC%A7%80%20%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4.%20%EB%AD%90%EA%B0%80%20%EB%AC%B8%EC%A0%9C%20%EC%95%BC%3F.png)
저는 세 대의 노트북을 가지고 있는데 모두 동일한 192.168.1.x 로컬 네트워크에 있고 모두 최신 버전의 Arch가 설치되어 있고 모두 최신 패키지가 설치되어 있습니다.
세 가지 모두 pacserv
패키지가 설치되어 있습니다.
로컬 네트워크에서 다운로드한 패키지를 공유하여 대역폭을 절약하기 위해 pacserve를 사용하여 안정적인 성공을 거두지 못했습니다. 때로는 랩톱 중 하나가 로컬 기가비트 네트워크를 통해 놀라운 패킷 공유 다운로드 속도를 얻습니다. 하지만 대부분 이런 일은 일어나지 않는다
각 랩톱에서 다음 명령을 실행했습니다.
sudo systemctl start pacserve
이 명령을 사용하여 하나의 명령을 업데이트한 다음 완료되면 다른 명령에서 동일한 명령을 실행하여 다운로드한 패키지를 활용합니다.
sudo pacsrv -Syu
나에게는 내가 뭘 잘못했는지 분명하지 않습니다. pacman.conf 파일을 수정하고 싶지 않습니다. 수정해야 할 수도 있나요? 각 저장소/소스를 각 컴퓨터에 배치
해야 합니까 , 아니면 다른 작업을 수행해야 합니까?
Include = /etc/pacman.d/pacserve
pacman.conf
답변1
팩서브 소개
Pacserve는 각 시스템에서 간단한 웹 서버로 실행됩니다.
로컬 IP 주소를 사용하여 검색하여 각 컴퓨터의 모든 패키지를 볼 수 있습니다.https://192.168.1.116:15678.
Pacserve는 http를 통해 파일을 공유하기 위해 포트 15678(http에 일반적으로 사용되는 포트 80이 아님)을 사용합니다. 다른 컴퓨터의 웹 브라우저에서 이 포트를 검색하면 해당 포트가 기증자 컴퓨터에 열려 있는지 쉽게 확인할 수 있습니다.
내가 겪은 문제
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였습니다. 두 번째 노트북은 LAN 유선 연결을 통한 팩서브를 사용하며 다운로드 속도는 100Mbps이고, 세 번째 노트북은 WiFi를 통한 팩서브를 사용하며 다운로드 속도는 7Mbps입니다. 따라서 상자를 업데이트하고 다른 랩탑을 모두 이더넷 케이블에 연결하도록 하는 것이 매우 유리할 것입니다.
모든 포트가 열려 있으면 다른 노트북에서 각 노트북의 HTTP 파일 서버를 탐색하여 열려 있는지 확인합니다.
15678은 pacserve가 파일을 공유하기 위한 포트입니다. pacserve는 공유용 패키지 파일이 있는 단순한 웹 서버입니다.
따라서 세 대의 노트북이 있는 경우 각 노트북의 pacserve 포트를 연 후 아래와 같이 각 노트북의 서버를 탐색하여 pacserve http 서버가 실행되고 있는지 확인할 수 있습니다.
https://192.168.1.116:15678
https://192.168.1.107:15678
https://192.168.1.109:15678
패키지 캐시를 보여주는 웹 페이지가 표시됩니다.
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"