写一个deb文件安装脚本,如果缺少未安装的依赖从当前目录查找并自动安装,如果依赖缺少未安装依赖则继续查找并自动安装
时间: 2024-05-29 13:11:56 浏览: 12
#!/bin/bash
# 获取当前deb文件所在目录
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
# 检查依赖是否已安装
dpkg -s $1 &> /dev/null
# 如果未安装,则查找并安装依赖
if [ $? -ne 0 ]; then
echo "缺少依赖 $1,正在查找并安装..."
# 从当前目录查找依赖deb文件
DEB_FILE="$(find $DIR -name $1*.deb)"
# 如果找到,则安装依赖
if [ -n "$DEB_FILE" ]; then
echo "找到依赖 $DEB_FILE,正在安装..."
dpkg -i $DEB_FILE
# 继续检查是否缺少其他依赖
shift
if [ $# -gt 0 ]; then
$0 $@
fi
else
echo "无法找到依赖 $1,请手动安装!"
fi
fi
exit 0
相关问题
写一个deb文件安装脚本,缺少未安装的依赖从当前目录查找
#!/bin/bash
# 获取deb文件名
PACKAGE_NAME=$(ls *.deb)
echo "正在安装 $PACKAGE_NAME ..."
# 检查依赖
DEPS=$(dpkg-deb -I $PACKAGE_NAME | grep Depends | sed 's/.*ends:\ //' | sed 's/,//g')
for DEP in $DEPS
do
if ! dpkg -s $DEP > /dev/null 2>&1; then
# 依赖未安装,尝试从当前目录查找
echo "依赖 $DEP 未安装,正在查找..."
DEP_PACKAGE=$(ls $DEP*.deb)
if [ -z $DEP_PACKAGE ]; then
echo "找不到 $DEP 的安装包,请手动安装"
exit 1
else
echo "找到 $DEP 的安装包 $DEP_PACKAGE,正在安装..."
dpkg -i $DEP_PACKAGE
if [ $? -ne 0 ]; then
echo "安装 $DEP_PACKAGE 失败,请手动安装"
exit 1
fi
fi
fi
done
# 安装deb文件
dpkg -i $PACKAGE_NAME
if [ $? -ne 0 ]; then
echo "安装 $PACKAGE_NAME 失败,请检查依赖并手动安装"
exit 1
fi
echo "安装完成"
fedora安装deb自动安装依赖
在Fedora上,无法使用deb自动安装依赖,因为deb是Debian系列的包管理工具,不兼容Fedora。Fedora使用RPM包管理工具,可以使用yum来自动安装依赖。yum是Fedora中的在线安装工具,它可以根据RPM包的依赖关系自动安装所需的依赖项。如果你想在Fedora上安装一个deb包,你可以尝试使用alien工具将deb包转换为rpm格式,然后使用yum进行安装。但是,请注意转换的过程可能不是完全无缝的,可能会有一些依赖关系无法满足的情况发生。因此,建议在Fedora上使用适用于该Linux发行版的RPM包来安装软件。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [Linux软件安装管理的三种方式——源码安装/deb/rpm/yum/apt](https://blog.csdn.net/u011417820/article/details/114033631)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)