徹底解除安裝rpm軟體包的指令碼
徹底解除安裝rpm軟體包的指令碼
有時解除安裝一個軟體包時,發現有很多其它軟體包依賴它,強制解除安裝會造成這些軟體包都無法使用。下面這個指令碼可以解除安裝一個軟體包及依賴於它的所有軟體包。
rpm_erase_deps.sh
#!/bin/bash
#######################################################
PACKAGE=$1
RPM_OPS="-e"
#######################################################
if [ "$1" = "" ]
then
echo "usage : $0 package --rpmops=[/'opts/']"
echo "example: $0 ant --rpmops='--test -e'"
exit 1
fi
#######################################################
while [ ! "$1" = "" ]
do
shift
arg=$1
if [ "${arg:0:8}" = "--rpmops" ]
then
RPM_OPS="${arg:9:100}"
fi
done
function show_depends()
{
local _PACKAGE="$1"
local _INDENT="$2"
DEPS=`rpm --test -e $_PACKAGE 2>&1|grep needed|awk '{print $NF}'`
for depends in $DEPS
do
echo "$_INDENT $depends"
show_depends "$depends" "$_INDENT""--"
done
}
function rpm_do_erase()
{
local _PACKAGE="$1"
local _INDENT="$2"
DEPS=`rpm $RPM_OPS $_PACKAGE 2>&1|grep needed|awk '{print $NF}'`
for depends in $DEPS
do
echo "erase $_INDENT $depends"
rpm_do_erase "$depends" "$_INDENT""--"
if [ ! "$?" = 0 ]
then
echo "erase $_INDENT $depends failed."
fi
done
}
echo "show depends graph:"
echo "$PACKAGE"
show_depends $PACKAGE "--"
echo "do you want to uninstall $_PACKAGE (y/n)?"
read yn
if [ "$yn" = "y" ]
then
rpm_do_erase $PACKAGE "--"
else
echo "cancel uninstall $PACKAGE"
fi
相關文章
- Ubuntu 系統下 apt-get 徹底解除安裝軟體包的方法Ubuntuapt-get
- Mac軟體解除安裝——安全徹底地在Mac上解除安裝Microsoft OutlookMacROS
- 徹底解除安裝PythonPython
- yum如何解除安裝已安裝的rpm並安裝本地rpm包
- rpm包安裝升級與解除安裝
- win10如何解除安裝程式 win10徹底解除安裝軟體程式的步驟Win10
- 流氓軟體如何徹底刪除 流氓軟體如何解除安裝乾淨
- window下徹底解除安裝mysqlMySql
- macOS解除安裝應用不徹底Mac
- One Driver徹底解除安裝方法
- 【idea】如何徹底解除安裝ideaIdea
- debian軟體解除安裝|deb包解除安裝|dpkg命令
- 使用AppCleaner解除安裝軟體或徹底清理殘留詳細教程APP
- 如何徹底解除安裝Anaconda3
- Linux RPM包安裝、解除安裝、升級命令講解Linux
- VMware Workstation安裝+徹底解除安裝教程(Windows版)Windows
- Linux rpm -e --nodeps rpm解除安裝Linux
- yum安裝軟體之後如何儲存rpm安裝包
- idea、pycharm、datagrip全家桶徹底解除安裝IdeaPyCharm
- Centos中徹底刪除Mysql(rpm、yum安裝的情況)CentOSMySql
- 今天教大家如何徹底解除安裝Mac OfficeMac
- Mac技巧1:使用AppCleaner解除安裝軟體或徹底清理殘留詳細教程MacAPP
- Microsoft OneDrive可以解除安裝嗎 onedrvie徹底關閉解除安裝方法介紹ROS
- win10怎麼徹底解除安裝軟體 刪除軟體殘留登錄檔資訊的方法Win10
- 在Windows上如何安裝和徹底解除安裝Adobe Flash PlayeWindows
- 【轉載】Linux下徹底解除安裝mysql詳解LinuxMySql
- Linux系統徹底解除安裝MySQL資料庫LinuxMySql資料庫
- nvidia解除安裝了會怎麼樣 nvidiageforced徹底解除安裝有什麼影響
- 不需要的Mac屏保怎麼才能徹底解除安裝Mac
- 『學了就忘』Linux軟體包管理 — 47、Linux原始碼包的安裝和解除安裝Linux原始碼
- win10如何徹底解除安裝軟體 win10刪除軟體殘留登錄檔資訊的方法Win10
- 解除安裝 UniAccessAgent 軟體
- windows10解除安裝軟體的方法_win10在哪解除安裝軟體WindowsWin10
- 如何安全徹底地在Mac上解除安裝Microsoft OutlookMacROS
- win10怎麼徹底解除安裝office win10徹底刪除office方法Win10
- Greenplum_原始碼編譯安裝和RPM包安裝原始碼編譯
- win10解除安裝ie11的方法_win10如何徹底解除安裝ie11Win10IE11
- wegame怎麼解除安裝遊戲2022 wegame裡的遊戲怎麼徹底解除安裝乾淨GAM遊戲