fix: rollback software package

This commit is contained in:
2024-01-20 14:39:53 +08:00
parent f04d6364ed
commit bb48fc2c5d

View File

@@ -2,8 +2,15 @@
filename="$1" filename="$1"
neType="$2" neType="$2"
duration=180
expectBin=/usr/bin/expect
extension=$(basename "${1}" | awk -F . '{print $NF}') extension=$(basename "${1}" | awk -F . '{print $NF}')
if [ ! -f ${expectBin} ]; then
echo "Please install software expect first"
exit 99
fi
case "${extension}" in case "${extension}" in
deb) deb)
if [ ${neType} == "OMC" ]; then if [ ${neType} == "OMC" ]; then
@@ -11,7 +18,7 @@ case "${extension}" in
fi fi
expect <<EOF expect <<EOF
spawn dpkg -i --force-all "$filename" spawn dpkg -i --force-all "$filename"
set timeout 180 set timeout ${duration}
expect { expect {
"y/n" { send "n\n"; exp_continue } "y/n" { send "n\n"; exp_continue }
} }
@@ -23,7 +30,7 @@ EOF
fi fi
expect <<EOF expect <<EOF
spawn rpm -Uvh --oldpackage "$filename" spawn rpm -Uvh --oldpackage "$filename"
set timeout 180 set timeout ${duration}
expect { expect {
"y/n" { send "n\n"; exp_continue } "y/n" { send "n\n"; exp_continue }
} }
@@ -32,6 +39,7 @@ EOF
*) *)
echo "The file does not have a .deb or .rpm extension" echo "The file does not have a .deb or .rpm extension"
exit 1 exit 100
;; ;;
esac esac