用shell脚本显示rpm包的详细信息和安装后各文件的路径,并检测是否可以成功安装

本文介绍了一个用于测试RPM包的Bash脚本,该脚本能检查RPM包是否存在,展示其详细信息,列出安装后的文件路径,并测试是否可以成功安装。如果RPM包已安装或存在依赖问题,脚本将输出相应的测试结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/bin/bash
SUCCESS=0
E_NOARGS=65
E_NOFILE=66

# 给出脚本的使用方法是否正确
if [ -z "$1" ]
    then
        echo "USAGE: `basename $0` rpm-file"
        exit $E_NOARGS
fi

# 判断测试的rpm包是否存在
if [ ! -f "$1" ]
    then
        echo "$1 is not exist."
        exit $E_NOFILE
fi


{
#显示rpm包的详细信息
echo "Archive Description:"
rpm -qpi $1
echo "--------------------------------"

#显示rpm包安装后的所有文件的路径
echo "Archive Listing:"
rpm -qpl $1
echo "---------------------------------"
# 测试是否可以安装(存在依赖性和已经安装rpm的包不能安装)
echo -e "if can be install:\n "
rpm -i --test $1
if [ "$?" -eq $SUCCESS ]
    then
        echo "---------------------------------"
        echo "Test result:"
        echo "   $1 can be installed."
    else

        echo "---------------------------------"
        echo "Test result:"
        echo "    $1 can not be installed."
fi
} &> "$1.test"

# 测试结果重定向到$1.test文件中
echo "Results of rpm test in $1.test."

exit 0

测试:

1. 若没有位置参数则给出使用方法:

2. 若rpm文件不存在,则抛出文件不存在:

3. 若rpm包存在,并且脚本的使用方法正确,则会将rpm包的相信信息重定向到$1.test文件中:

4. 并且列出安装后所有文件的路径:

5. 并且测试rpm包是否可以成功安装,下图例子为在那安装存在却存在安装依赖的情况:

6. 下图为若rpm包已经安装过了的测试结果:

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值