如何使用 Apache24(Win 环境)和 WSL 在 Windows 上设置本地网络存储库

如何使用 Apache24(Win 环境)和 WSL 在 Windows 上设置本地网络存储库

我正在使用 Apache24 托管本地网络存储库(APT Url: http://192.XXX.XXX.XXX:8080),并通过在 WSL(Ubuntu)上生成Packages.bz2使用dpkg-scanpackages。但是,生成的 Packages 文件将使用 WSL 文件路径(/mnt/c/somefolder/debs/debsfile.deb),这导致包管理器在尝试安装任何包时找不到该文件。

手动修改Packages文件,将每个Filename替换为C:\somefolder\debsreturn Method http has died unexpectedly!Sub-process http received signal 5error。

在这种环境组合中生成适当的方法是什么Packages.bz2?在这种环境组合中实现这一点的正确设置是什么?这是我用来创建它的 bash 脚本:

cd /mnt/c/Apache24/htdocs
rm -f Packages.bz2
dpkg-scanpackages -m /mnt/c/somefolder/debs > Packages
bzip2 Packages

答案1

我好像已经解决了这个问题。你必须将 debs 文件放在与 Apache 服务器相同的文件夹中,例如:

C:\Apache24\htdocs\debs

并修改Packages中相对于服务器的Filename,例如

Filename: ./debs/somedeb.deb

可以使用 bash 脚本一次性完成此操作:

cd /mnt/c/Apache24/htdocs
rm -f Packages.bz2
dpkg-scanpackages -m /mnt/c/Apache24/htdocs/debs > Packages
while read a; do
    echo ${a//debs/./debs}
done < Packages > Packages_
rm -f Packages
mv Packages_ Packages
bzip2 Packages

相关内容