我在我的debian库中遇到了一个问题。我使用以下命令删除了错误的包:
reprepro -Vb . remove package这是可以的,但当我尝试使用next命令再次添加相同的包时:
reprepro -Vb . includedeb squeeze package我得到了下一个输出:
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!有人知道我该怎么解决这个问题吗?我已经检查了复制员,但我没有找到解决这种情况的方法。
发布于 2013-03-08 01:31:16
您的第一个命令不应该起作用;remove需要您想要从中删除该包的发行版的代号。
假设这只是一次粘贴错误,并且您像对includedeb一样对remove命令使用了"squeeze“,那么您很可能在不同的发行版中仍然拥有相同的包。Reprepro试图强化debian的理念,即“具有相同名称和完全相同版本的包具有完全相同的内容”,无论它们最初是在哪个发行版中发布的。
您可以执行reprepro ls $package来查看它可能仍然位于何处。一旦你找到了它,正确的做法应该是从另一个地方将它重新压缩成reprepro copy。
发布于 2013-05-31 00:58:09
如果你在你的档案中支持多个发行版,在你被允许在一个新文件中包含new之前,你需要从所有的发行版中删除文件引用。
在reprepro ls之后,您可能希望对引用该文件的每个发行版使用一次reprepro remove {dist} {pkg}。
当所有引用都消失后,您可以includedeb一个新的引用。
发布于 2016-08-10 17:19:58
仅更改包名中的版本是不够的,还需要在控制文件中进行更改(二进制归档中的DEBIAN/control和源deb中的debian/control )。
你修改了一个deb包,所以你必须给它一个不同的版本。通常,您应该更改行
Version: 1.2.3-something至:
Version: 1.2.3-kioplays1 (...2, 3, etc)或者类似的。
如果版本不同,您将能够多次将包包含在存储库中。
https://stackoverflow.com/questions/15243613
复制相似问题