首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Reprepro添加相同的deb包

Reprepro添加相同的deb包
EN

Stack Overflow用户
提问于 2013-03-06 17:35:28
回答 3查看 15.1K关注 0票数 10

我在我的debian库中遇到了一个问题。我使用以下命令删除了错误的包:

代码语言:javascript
复制
reprepro -Vb . remove package

这是可以的,但当我尝试使用next命令再次添加相同的包时:

代码语言:javascript
复制
reprepro -Vb . includedeb squeeze package

我得到了下一个输出:

代码语言:javascript
复制
Already existing files can only be included again, if they are the same, but:
md5 expected: 1035762e5e21e6ad8689660c0032f42d, got: 77ea3b094fcbfca4110afb5a9af0d2cb
sha1 expected: e41527e49bee98a59b3a5e16fbe856bb15a836bd, got: 5c6b673e5f11f1a80201e76d0fa4ba1d5935f095
sha256 expected: ae795de3b2d62f513b634a00c4bec74c90d2a6f750e5ec0386ee2b7775af39ec, got: 1531b2dd1869214afe58bb526fa8bda70db1bd1ef73d133bde002d42f147a041
size expected: 327748, got: 253398
There have been errors!

有人知道我该怎么解决这个问题吗?我已经检查了复制员,但我没有找到解决这种情况的方法。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-03-08 01:31:16

您的第一个命令不应该起作用;remove需要您想要从中删除该包的发行版的代号。

假设这只是一次粘贴错误,并且您像对includedeb一样对remove命令使用了"squeeze“,那么您很可能在不同的发行版中仍然拥有相同的包。Reprepro试图强化debian的理念,即“具有相同名称和完全相同版本的包具有完全相同的内容”,无论它们最初是在哪个发行版中发布的。

您可以执行reprepro ls $package来查看它可能仍然位于何处。一旦你找到了它,正确的做法应该是从另一个地方将它重新压缩成reprepro copy

票数 13
EN

Stack Overflow用户

发布于 2013-05-31 00:58:09

如果你在你的档案中支持多个发行版,在你被允许在一个新文件中包含new之前,你需要从所有的发行版中删除文件引用。

reprepro ls之后,您可能希望对引用该文件的每个发行版使用一次reprepro remove {dist} {pkg}

当所有引用都消失后,您可以includedeb一个新的引用。

票数 5
EN

Stack Overflow用户

发布于 2016-08-10 17:19:58

仅更改包名中的版本是不够的,还需要在控制文件中进行更改(二进制归档中的DEBIAN/control和源deb中的debian/control )。

你修改了一个deb包,所以你必须给它一个不同的版本。通常,您应该更改行

代码语言:javascript
复制
Version: 1.2.3-something

至:

代码语言:javascript
复制
Version: 1.2.3-kioplays1 (...2, 3, etc)

或者类似的。

如果版本不同,您将能够多次将包包含在存储库中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15243613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档