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

关于正确打包 deb 包求教

  •  
  •   fever · 308 天前 · 1334 次点击
    这是一个创建于 308 天前的主题,其中的信息可能已经有所发展或是发生改变。

    关于打包 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  
       308 天前
    Depends 没问题啊
    装不上那你也得发一下到底遇到啥错误信息了啊
    fever
        2
    fever  
    OP
       308 天前
    @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  
       308 天前   ❤️ 1
    sudo apt install -f
    Vegetable
        4
    Vegetable  
       308 天前   ❤️ 1
    dpkg 不装依赖的,用 apt 装就好了
    fever
        5
    fever  
    OP
       308 天前
    @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  
       308 天前
    如果想要简单的打包 deb ,这里有个简单的脚本: https://www.makedeb.org/

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

    申明依赖,在 makedeb 中只需要 depends=("xxx1" "xxx2")。
    EvineDeng
        7
    EvineDeng  
       308 天前
    仓库可以借助 gitea 来简单地建立,这样直接 apt install 就非常方便了。
    fever
        8
    fever  
    OP
       308 天前
    @EvineDeng #6 https://shlink.makedeb.org/install 请问这个脚本好像是不存在了吗? 拉取的时候无响应
    EvineDeng
        9
    EvineDeng  
       308 天前   ❤️ 1
    ericFork
        10
    ericFork  
       308 天前   ❤️ 1
    @fever #5 这个提示是现在有别的 dpkg 在运行(很可能是另一个在等待你的输入)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5228 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 01:21 · PVG 09:21 · LAX 17:21 · JFK 20:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.