关于正确打包 deb 包求教

342 天前
 fever

关于打包 deb 包,求教各位大佬们. 想做到用户点更新,我们发送一个 deb 包更新完所有的程序目录. 打包的时候遇到问题.有时打包的时侯除了基础的目录程序,有时候还需要某个依赖的程序(apt 或者 dpkg 都行). 具体应该怎么操作呢? 试着 在 DEBIAN/control 里写 Depends:xxx 或者在 DEBIAN/postinst 里直接写 apt install x 或者 dpkg -i x.deb 打包好后,目标机器安装这个 deb 包,执行到安装额外的依赖程序,都是失败

是这些方法都不对嘛,正确的方法应该是怎么样的.需求就是打包好一个 deb 包(包里面除了复制过去的基本的目录和程序,还需要安装额外的包)

1367 次点击
所在节点    Linux
10 条回复
julyclyde
342 天前
Depends 没问题啊
装不上那你也得发一下到底遇到啥错误信息了啊
fever
342 天前
@julyclyde #1
dpkg: dependency problems prevent configuration of trim:
trim depends on screenfetch (= 3.9.1+20210523-2); however:
Package screenfetch is not installed.

dpkg: error processing package test1 (--install):
dependency problems - leaving unconfigured
Errors were encountered while processing:
test1

test1 就是这个 deb 包, 执行到安装需要的依赖是就出错 这里的例子,screenfetch 是我要安装的包


DEBIAN/control 里写 Depends: screenfetch
wildlife
342 天前
sudo apt install -f
Vegetable
342 天前
dpkg 不装依赖的,用 apt 装就好了
fever
342 天前
@Vegetable #4
@wildlife #3 apt 的 会提示 error processing package trim (--install):b/dpkg/lock-frontend. It is held by process 2019979 (dpkg)

这个错误提示应该就是安装这个 deb 包的时候它自己占用了,然后里面执行 apt 就会提示锁住 一直等待也没用
EvineDeng
342 天前
如果想要简单的打包 deb ,这里有个简单的脚本: https://www.makedeb.org/

虽然有点小 bug ,但基本上都没有问题了。

申明依赖,在 makedeb 中只需要 depends=("xxx1" "xxx2")。
EvineDeng
342 天前
仓库可以借助 gitea 来简单地建立,这样直接 apt install 就非常方便了。
fever
342 天前
@EvineDeng #6 https://shlink.makedeb.org/install 请问这个脚本好像是不存在了吗? 拉取的时候无响应
EvineDeng
342 天前
ericFork
342 天前
@fever #5 这个提示是现在有别的 dpkg 在运行(很可能是另一个在等待你的输入)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1009630

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX