关于正确打包 deb 包求教 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
fever
V2EX    Linux

关于正确打包 deb 包求教

  •  
  •   fever 2024-01-18 11:47:48 +08:00 1718 次点击
    这是一个创建于 706 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    10 条回复    2024-01-18 23:36:21 +08:00
    julyclyde
        1
    julyclyde  
       2024-01-18 12:21:52 +08:00
    Depends 没问题啊
    装不上那你也得发一下到底遇到啥错误信息了啊
    fever
        2
    fever  
    OP
       2024-01-18 13:18:42 +08:00
    @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
        3
    wildlife  
       2024-01-18 13:56:55 +08:00   1
    sudo apt install -f
    Vegetable
        4
    Vegetable  
       2024-01-18 14:01:41 +08:00   1
    dpkg 不装依赖的,用 apt 装就好了
    fever
        5
    fever  
    OP
       2024-01-18 14:04:41 +08:00
    @Vegetable #4
    @wildlife #3 apt 的 会提示 error processing package trim (--install):b/dpkg/lock-frontend. It is held by process 2019979 (dpkg)

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

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

    申明依赖,在 makedeb 中只需要 depends=("xxx1" "xxx2")。
    EvineDeng
        7
    EvineDeng  
       2024-01-18 14:10:44 +08:00
    仓库可以借助 gitea 来简单地建立,这样直接 apt install 就非常方便了。
    fever
        8
    fever  
    OP
       2024-01-18 14:25:06 +08:00
    @EvineDeng #6 https://shlink.makedeb.org/install 请问这个脚本好像是不存在了吗? 拉取的时候无响应
    EvineDeng
        9
    EvineDeng  
       2024-01-18 14:42:18 +08:00   1
    ericFork
        10
    ericFork  
       2024-01-18 23:36:21 +08:00   1
    @fever #5 这个提示是现在有别的 dpkg 在运行(很可能是另一个在等待你的输入)
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4621 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 01:07 PVG 09:07 LAX 17:07 JFK 20:07
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86