gpt4 book ai didi

linux - 如何在安装之前创建安装另一个 deb 的 deb?

转载 作者:行者123 更新时间:2023-12-04 18:54:25 31 4
gpt4 key购买 nike

我想创建可以安装在开箱即用的 Ubuntu 上的 .deb 文件。

我已经准备好控制、预安装、后安装文件。但是当我尝试在新的 Ubuntu 上安装我的软件包时,它会说“无法获取锁/var/lib/dpkg/lock”。我知道当人们想要同时安装不同的软件时,这是一个常见的问题。但是如何安装 python3-pip 和 nginx 呢?

当然,我可以创建 2 个文件: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

简而言之:我想创建可以检查是否有 python3-pip 和 nginx 以及是否没有这样的软件的 deb - 安装它:来自 .deb 文件的 nginx,来自默认 repo 的 python3-pip。

最佳答案

您应该在控制文件中将这些依赖项声明为 Depends。请参阅 man deb-control 中有关这些字段的文档.
完全不支持从维护者脚本中进行安装,并且试图通过删除锁定文件来强制这样做会损坏 dpkg 数据库或安装,请不要这样做。

关于linux - 如何在安装之前创建安装另一个 deb 的 deb?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58801302/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com