如何重命名可以上传到 reprepro 的 .deb 包?
例如,我有一个 deb 包example-latest.deb
,它是最新版本,我创建了一个自定义存储库,以便用户可以从那里下载它,但现有的 ubuntu 存储库中有多个同名的包。因此,基本上我想将其重命名example-latest.deb
为类似这样的名字myname.deb
,以便使用我的存储库的用户可以通过键入来安装包apt install myname
从 deb 包中,我运行了以下命令:
changestool myname.changes adddeb myname.deb
changestool myname.changes setdistribution ubuntu
gpg --clearsign myname.changes
在查看 myname.changes 后,我发现包的名称类似于example_2.5.1_all.deb
,这使我无法上传它。我可以重命名文件以符合此要求,但实际上我什么也没做。
有人知道重命名文件的最佳方法是什么吗?
答案1
首先,您需要将 .deb 解压到临时目录 (tmpdir)。
dpkg-deb -x example-latest.deb tmpdir
然后我们将拉取位于 tmpdir/DEBIAN/ 文件夹中的控制文件。您将在这里进行依赖项更改。
cd tmpdir
dpkg-deb --control example-latest.deb
编辑 tmpdir/DEBIAN/control 文件
vim tmpdir/DEBIAN/control
更改包名称:
packages: myname
编辑控制文件后,您需要使用此命令重新打包.deb。
dpkg -b tmpdir new-name-of-package.deb
安装软件包然后你可以运行
dpkg -i new-name-of-package.deb
apt install myname