问题表现:使用rpm ivh安装进度显示100% 但是提示:/var/tmp/rpm-tmp.jr0dIg: 第 4 行:[: 缺少 `]'
/var/tmp/rpm-tmp.jr0dIg: 第 8 行:[: 缺少 `]'
而此时通过rpm -qa可以查询到对应软件安装包已经安装,但是软件不能正常使用。
排查过程:
1、命令跳转到安装目录下,查看软件对应文件是否齐全,卸载软件
2、找到最开始打包时候生成的安装包/rpmbuild-XXX/RPMS/架构/ 下的安装包,重新使用rpm -ivh 命令安装 发现报错:/var/tmp/rpm-tmp.YFRPfF: 第 4 行:[: 缺少 `]'
/var/tmp/rpm-tmp.YFRPfF: 第 8 行:[: 缺少 `]'
3、查看 打包使用的文件 (/rpmbuild-XXX/SPECS/XXXX.spec)对比脚本执行的情况 以及第一步中查看到的文件缺少情况 发现 : 再判断 文件目录时候 if [ -d /usr/lib64/XXX/XXX]; then 这里 在] 前少了空格 导致 无法识别 因此提示 缺少]. 修改 if [ -d /usr/lib64/XXX/XXX ]; then 加上空格 保存
4、重新打包 rpmbuild -bb SPECS/XXXX.spec
5、重新安装 ,没有报错,软件可正常使用问题解决。