徹底解除安裝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
- 徹底解除安裝MySqlMySql
- 徹底解除安裝PythonPython
- 流氓軟體如何徹底刪除 流氓軟體如何解除安裝乾淨
- win10如何解除安裝程式 win10徹底解除安裝軟體程式的步驟Win10
- mysql安裝------RPM包安裝及解除安裝MySql
- window下徹底解除安裝mysqlMySql
- macOS解除安裝應用不徹底Mac
- One Driver徹底解除安裝方法
- Windows下徹底解除安裝ORACLEWindowsOracle
- rpm包安裝升級與解除安裝
- yum如何解除安裝已安裝的rpm並安裝本地rpm包
- 談談如何徹底解除安裝Oracle?Oracle
- debian軟體解除安裝|deb包解除安裝|dpkg命令
- VMware Workstation安裝+徹底解除安裝教程(Windows版)Windows
- 使用AppCleaner解除安裝軟體或徹底清理殘留詳細教程APP
- Linux 及Windows 上如何解除安裝,徹底刪除Oracle軟體LinuxWindowsOracle
- 【Linux】Linux軟體安裝管理1 rpm軟體包安裝Linux
- rpm -e --nodeps 無法解除安裝的包怎樣解除安裝 ?
- 如何徹底解除安裝Anaconda3
- 【idea】如何徹底解除安裝ideaIdea
- 如何徹底刪除解除安裝JDK(java)?JDKJava
- oracle 10G 徹底解除安裝crsOracle 10g
- RPM 解除安裝
- Linux-軟體包管理-RPM安裝位置\原始碼包安裝位置Linux原始碼
- 如何徹底的解除安裝sql server資料庫SQLServer資料庫
- win10怎麼徹底解除安裝軟體 刪除軟體殘留登錄檔資訊的方法Win10
- (轉)CentOS 下 rpm包與 yum 安裝與解除安裝CentOS
- 今天教大家如何徹底解除安裝Mac OfficeMac
- windows上徹底解除安裝oracle11gWindowsOracle
- idea、pycharm、datagrip全家桶徹底解除安裝IdeaPyCharm
- yum安裝軟體之後如何儲存rpm安裝包
- Microsoft OneDrive可以解除安裝嗎 onedrvie徹底關閉解除安裝方法介紹ROS
- Mac 安裝python ,anaconda。徹底解除安裝anaconda的方法MacPython
- 百度防毒徹底解除安裝刪除的技巧防毒
- Linux RPM包安裝、解除安裝、升級命令講解Linux
- Mac技巧1:使用AppCleaner解除安裝軟體或徹底清理殘留詳細教程MacAPP