![在 Windows Web/Ftp 服务器上托管 Debian 存储库](https://linux22.com/image/534226/%E5%9C%A8%20Windows%20Web%2FFtp%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E6%89%98%E7%AE%A1%20Debian%20%E5%AD%98%E5%82%A8%E5%BA%93.png)
有可能引发物质与反物质悖论,从而毁灭我们所知的世界…… 是否可以在 Windows 服务器上托管 Debian 存储库?
我们有一些适用于 Windows、Mac OS X 和 Linux 的应用程序。我们的网站(可从该网站下载应用程序)是运行 IIS 7 的 Windows Server 2008 机器。这不会改变,而且我希望避免购买另一台服务器和/或域。
我想利用 Debian 打包系统,这样我就可以指导用户将我们的存储库添加到他们的软件源中,然后他们可以安装、获取更新、解决依赖关系(其中一些尚未出现在我的目标平台的稳定/主要发行版中)等。
我在互联网上找到的说明需要特定于 Linux 的工具来创建本地存储库,但不清楚是否可以按原样将其复制到 FTP 站点,或者是否需要运行一些本地守护程序等。
答案1
因为 debian(我怀疑所有 apt)存储库使用一些符号链接,而 windows 文件系统不使用,所以我不建议这样做,因为您的存储库可能会扩展很多 - 虽然我不明白为什么这是不可能的。这可能会导致您的存储库镜像的大小与上游镜像相比增加,因为符号链接用于减少镜像中的重复项。
我将在 Windows 上使用 rsync 来创建和维护镜像。更多信息请点击此处 http://www.debian.org/mirror/ftpmirror
如果您要要求用户将您的 repo 添加到他们的源中,您应该意识到对用户的安全隐患,并可能注意使用 apt pinning 来缓解这种情况。
答案2
文件名
IIS 服务器的另一个问题是它们对 Linux 文件名不太熟悉。以下是您必须解决的两个问题
- Linux 系统上使用的几个文件扩展名在 IIS 的默认 mime 集中是未知的。通常,我们谈论 .img、.rpm、.deb。如果 mime 类型未知,IIS 的默认行为是拒绝数据。
==> 您可以通过将 MIME 类型映射扩展“.”添加到 MIME 类型“text/plain”来修复此问题。完成此操作后,Windows 2012 上的 IIS 8.5 能够充当我的 ubuntu 16.04 服务器的镜像。解决方案感谢使用 IIS 在 Windows 上托管 APT 存储库?
- Linux 上的某些文件名组件与 IIS 冲突。通常,URL 中不允许使用加号,因为它可能帮助黑客进行 SQL 注入代码等。但是 Linux 中有一些软件包的名称中包含此类符号,例如 gcc-c++ 编译器。如果您未在 IIS 中明确允许此操作,则会出现故障。
结论:尽可能避免这样的配置。但如果真的需要,还是有办法的。我正在从 IIS 7.5(全自动安装)完成(旧版)Fedora 映像的安装。
答案3
服务器上不需要任何特殊的东西,只要您有一个机器来创建索引文件,并且有某种方式将文件从该机器同步到 HTTP/FTP 服务器即可。