use*_*637 6 upgrade package-management apt 12.04
我在 ubuntu 12.04 服务器上有一个存储库,该服务器仅为 64 位架构提供 .deb 文件。
当我运行apt-get更新时,我得到以下信息
W: Failed to fetch https://test.com/repo/dists/precise/Release Unable to find expected entry 'main/binary-i386/Packages' in Release file (Wrong sources.list entry or malformed file)
Run Code Online (Sandbox Code Playgroud)
我正在使用reprepro将.deb文件添加到存储库
reprepro -Vb . includedeb precise package_amd64.deb
Run Code Online (Sandbox Code Playgroud)
在我的发行版文件中,/var/www/site/repo/conf/distributions我只指定了 amd64 位架构。
Origin: apt.site.com
Label: apt repository
Codename: precise
Architectures: amd64 source
Components: main
Description: debian package repo
SignWith: yes
Pull: precise
Run Code Online (Sandbox Code Playgroud)
我通过让我的sources.list文件包含一个条目来规避错误[arch=amd64]
deb [arch=amd64] https://apt.site.com/repo precise main
Run Code Online (Sandbox Code Playgroud)
但是我想避免在我的sources.list文件中指定它。有什么我可以在存储库上配置的东西来告诉尝试从存储库中提取文件的客户,他们应该只期望为 amd64 架构编译的 .deb 文件?
在 amd64 系统上,apt 会尝试获取 amd64 软件包和 i386 软件包。这是(至少部分)因为 i386 软件包可以安装在 amd64 上,并且某些应用程序和库仅适用于 i386(例如 Skype)。因此,apt 也必须获取 i386 软件包的列表。因此,您会收到该错误。
至于服务器端的某些内容,一种方法是编辑配置文件以允许 i386,然后运行reprepro -Vb . export. 这将创建一个空的 i386 Release 和 Packages 文件。
| 归档时间: |
|
| 查看次数: |
2023 次 |
| 最近记录: |