Linux 如何创建在安装前安装另一个deb的deb?

Linux 如何创建在安装前安装另一个deb的deb?,linux,ubuntu,debian,deb,dpkg,Linux,Ubuntu,Debian,Deb,Dpkg,我想创建可以安装在现成Ubuntu上的.deb文件 我有预选控件、预选、预选文件。但是当我试图在一个新的Ubuntu上安装我的软件包时,它说“无法获得lock/var/lib/dpkg/lock”。我知道,当人们想同时安装不同的软件时,这是一个常见的问题。但是如何安装python3pip和nginx呢 当然,我可以创建两个文件:mysofr.deb和install.sh。但关键是只有一个文件,所以用户只需一个命令就可以安装我的软件 这是我的建议: dpkg -s "python3-pip" &g

我想创建可以安装在现成Ubuntu上的.deb文件

我有预选控件、预选、预选文件。但是当我试图在一个新的Ubuntu上安装我的软件包时,它说“无法获得lock/var/lib/dpkg/lock”。我知道,当人们想同时安装不同的软件时,这是一个常见的问题。但是如何安装python3pip和nginx呢

当然,我可以创建两个文件:mysofr.deb和install.sh。但关键是只有一个文件,所以用户只需一个命令就可以安装我的软件

这是我的建议:

dpkg -s "python3-pip" >/dev/null 2>&1 && {
    echo "python3-pip is installed."
    echo
  } || {
    echo "ERROR: python3-pip is not installed. Now it will be installed from default repo"
#    rm /var/lib/dpkg/lock
#    dpkg --configure -a
    sudo apt install python3-pip
  }
如你所见,我已尝试解锁dpkg。但在安装过程中这样做是个坏主意

这是我的帖子:

#!/bin/bash
cd *directory*
dpkg -i nginx_1.14.2-1_stretch_amd64.deb
rm nginx_1.14.2-1_stretch_amd64.deb
systemctl enable nginx
service nginx start

简而言之:我想创建一个deb,它可以检查是否有python3pip和nginx,以及是否没有这样的软件-安装它:nginx from.deb文件,python3pip from default repo。

如果你得到这样的评论,这意味着在你取消安装之前,对于这个问题,你可以使用下面的命令“$rm/var/lib/dpkg/lock”,

声明性而非强制性:不要自己安装依赖项-在包元数据中声明依赖项。