Pacserve
Pacserve 允许在计算机之间轻松共享 pacman 软件包。如果您网速较慢并且有多台计算机运行 Arch Linux,这将非常有用。
安装
最后 启动/启用 pacserve.service
。
如果您使用 iptables,您可能还需要启动 pacserve-ports.service
。对于其他防火墙,请打开 TCP 端口 15678
和 UDP 端口 15679
。UDP 端口可以仅限于组播流量。
配置
可以通过编辑 /etc/pacserve/pacserve.service.conf
中的 PACSERVE_ARGS
来配置 pacserve.service
。运行 pacserve --help
以查看可用选项。
Avahi
要使用 mDNS 公告和发现 Pacserve,请将 --avahi
选项添加到 /etc/pacserve/pacserve.service.conf
中的 PACSERVE_ARGS
。
独立使用
不要使用 pacman,而是使用 pacsrv 包装器来执行更新、安装软件包等操作。如果有人在局域网中使用 pacserve 托管它们,它将自动从局域网下载所有软件包。否则,它将像往常一样从互联网镜像下载它们。例如
# pacsrv -Syu # pacsrv -S openssh
配置 Pacman 使用 Pacserve
如果您始终运行 pacserve 守护程序并希望 pacman 在没有包装器的情况下使用它,请在 /etc/pacman.conf
中每个仓库的(任何其他 Include
行之前)插入以下行。
Include = /etc/pacman.d/pacserve
这是 Xyne 仓库的示例
/etc/pacman.conf
... [xyne-x86_64] SigLevel = Required Include = /etc/pacman.d/pacserve Server = https://xyne.dev/repos/xyne ...
或者(仅对于官方镜像),您可以将 Include
行插入到 Pacman 镜像列表文件的顶部,或者让 pacman.conf-insert_pacserve 为您生成一个 pacman.conf
文件。
故障排除
如果在 pacman.conf 中使用外部下载器的问题
如果您正在使用外部下载器(例如 wget),则 pacsrv 在下载时可能会返回错误。要解决这些错误,只需使用单引号引用 url 和输出格式字符串(%u
resp. %o
)
XferCommand = /usr/bin/wget --timeout=6 --passive-ftp -c -O '%o' '%u'
设备互相看不到
对等点检测依赖于 python3-threaded_serversAUR 的版本。来自不同版本服务的 TCP 组播帧将被丢弃。在这种情况下,以 root 身份运行 journalctl -u pacserve
将警告此类无法识别的帧。首先升级此软件包,然后重启 pacserve.service
。