在Centos中yum安裝和解除安裝軟體的使用方法[轉]
RPM解除安裝軟體包,並不是簡單地將原來安裝的檔案逐個刪除,那樣做的話,可能會出現這樣或那樣的問題。如,A軟體包依靠B軟體包做某些工作,若B軟體包解除安裝了,則A軟體包就不能正常運行了。RPM為使用者安全考慮,會做某些檢查,儘可能排除出錯的情況。
RPM在解除安裝軟體包時,分步驟進行如下操作:
1. 檢查依賴(Denpendency)
檢查依賴的目的,在於確保當前沒有任何軟體包依賴於當前要解除安裝的軟體包。
2. 執行解除安裝前觸發指令碼程式(Triggerun)
3. 執行解除安裝前指令碼程式(Preuninstall)
本程式為軟體包製作者設定,完成解除安裝前的一些工作,具體如,要解除安裝的軟體包中某個
程式當前正在執行時,指令碼程式必須殺掉它,否則無法正確解除安裝。
4. 檢查配置檔案(Configfiles)
RPM解除安裝軟體包前會檢查包中的配置檔案是否修改了,如果修改了,RPM要換個名字儲存
該檔案,檔名一般是“原檔名+.rpmsave”。(這是RPM軟體包管理的特色之一)
5. 真正解除安裝
即按照軟體包中的檔案列表,將檔案逐個刪除。要注意的是,如果其中有檔案屬於別的
軟體包(即兩個軟體包擁有一個名字相同的檔案),則RPM並不刪除。
6. 執行解除安裝後腳本程式(Postuninstall)
本程式主要是完成解除安裝的善後工作,如將系統配置檔案inetd.conf修改一下,去掉安裝
時新增的東西等等。
7. 更新RPM資料庫
解除安裝後,RPM刪除該軟體包在資料庫中的所有資訊。
8. 執行解除安裝後觸發指令碼程式(Triggerpostun)
命令格式
rpm -e [解除安裝選項1 解除安裝選項2...] [軟體包標識1 軟體包標識2...]
注: 也可使用--erase代替-e,效果相同。
軟體包標識
對於已安裝的軟體包,RPM使用如下格式來唯一標識它:
Name[-Subname]-Version-Release
其中: Name: 指軟體名;
Subname : 本項可選,指軟體包子包的名字;
Version : 指軟體版本號。注意:其中不能含減號(-)字元;
Release : 指軟體釋出號。
例如: 包裹檔案file-3.26-6.i386.rpm安裝後,其軟體包標識為file-3.26-6。可以用此標識解除安裝,查詢,校驗該軟體包。在命令列上輸 入軟體包標識時,可以寫全,也可以採用簡寫的方式。如file-3.26-6,可僅輸入file,或file-3.26,或輸全。又如: 帶有子包的軟體包標識XFree86-devel-3.3.6-6,可僅輸入XFree86-devel,或XFree86-devel-3.3.6,還 可完全輸入。
注意: 軟體包標識是大小寫敏感的,即大寫字母與小寫字母表示不同的涵義。如bash-2.03-10標識不能輸作Bash-2.03-10,也不能輸作bAsh-2.03-10等等。
下面對指定用選項做些解釋:
1. --test : 解除安裝測試
RPM的解除安裝測試做些什麼?主要是檢查依賴關係,確保系統中沒有軟體包依賴於要解除安裝的軟體包。如果還有軟體包依賴要解除安裝的軟體包,則RPM會提示依賴關係將中斷的錯誤,例如:
# rpm -e --test mktemp
error: removing these packages would break dependencies:
mktemp is needed by autoconf-2.13-5
mktemp is needed by dev-2.7.7-4BP
mktemp is needed by groff-1.11a-10BP
mktemp is needed by gzip-1.2.4-15BP
mktemp is needed by initscripts-4.16-3BP
mktemp is needed by metamail-2.7-21BP
mktemp is needed by rpm-3.0.3-4BP
mktemp is needed by autofs-3.1.3-2
/bin/mktemp is needed by apache-1.3.12-5BP
/bin/mktemp is needed by linuxconf-1.16r1.3-4BP
#
當然,我們通過瀏覽解除安裝測試時輸出的除錯資訊就知道得更清楚了。
# rpm -e --test -vv file | nl
1 D: opening database mode 0x0 in //var/lib/rpm/
2 D: getting list of mounted filesystems
3 + echo triggeruninstall
4 triggeruninstall
5 D: will remove files test = 1
6 D:file: /usr/share/magic action: remove
7 D:file: /usr/man/man4/magic.4 action: remove
8 D:file: /usr/man/man1/file.1 action: remove
9 D:file: /usr/bin/file action: remove
10 + echo triggerpostuninstall
11 triggerpostuninstall
12 D: removing database entry
注: 本例進行file包的解除安裝測試,輸出資訊送管道交nl列出行號,現逐行解釋。(行號後以D:開始的行輸出的為除錯資訊)
第1行: 開啟/var/lib/rpm目錄下的RPM資料庫;
第2行: 取已安裝檔案系統列表;
第3行: 執行解除安裝前觸發指令碼程式;
第4行: 這一行是解除安裝前觸發指令碼程式的執行結果;
第5行: RPM提示將要刪除檔案,其中test=1表明為解除安裝測試,並非真正刪除;
第6-9行: 顯示各檔案的執行操作--刪除;
第10行: 執行解除安裝後觸發指令碼程式;
第11行: 本行是解除安裝後觸發指令碼程式的執行結果;
相關推薦
在Centos中yum安裝和解除安裝軟體的使用方法
yum -y install 包名(支援*) :自動選擇y,全自動 yum install 包名(支援*) :手動選擇y or n yum remove 包名(不支援*) rpm -ivh 包名(支援*):安裝rpm包 rpm -e 包名(不支援*):解除安裝r
在Centos中yum安裝和解除安裝軟體的使用方法[轉]
rpm解除安裝引數--test : 解除安裝測試 --nodeps : 不檢查依賴 --noscripts : 不執行指令碼程式 --notriggers : 不執行觸發程式 --justdb : 僅修改資料庫 --force 強制 RPM解除安裝軟體包,並不是簡單地將原來安裝的檔案逐個刪除,那樣做的話,可
[Linux]在Centos中yum安裝和解除安裝軟體的使用方法
在Centos中yum安裝和解除安裝軟體的使用方法 安裝方法 安裝一個軟體時 yum -y install httpd 安裝多個相類似的軟體時 yum -y install httpd* 安裝多個非類似軟體時 yum -y install httpd php php-gd
linux中軟體包的安裝和解除安裝 rpm,yum
linux中的軟體安裝有3種方式rpm包安裝,使用rpm工具安裝軟體包yum工具安裝,使用yum命令自動安裝軟體包原始碼包安裝,下載原始碼包,編譯安裝軟體 rpm工具的用法1、查詢rpm是否安裝:rpm -qa|grep lvm(lvm為要查詢的rpm包名)[[emai
HGDB4.3.2在CentOS 6.x中安裝和解除安裝指導手冊
目錄 文件用途 詳細資訊 相關文件 文件用途 介紹HGDB4.3.2在CentOS 6.8系統上的安裝和解除安裝流程。 詳細資訊 1.安裝版本及注意事項 1.1 安裝版本 作業系統 CentOS 6.8 x86_64
Linux學習筆記之yum安裝和解除安裝軟體
# yum -y install 包名(支援*) :自動選擇y,全自動 # yum install 包名(支援*) :手動選擇y or n # yum remove 包名(不支援*) # rpm -ivh 包名(支援*):安裝rpm包 # rpm -e 包名(不支
Linux yum原始碼包安裝和解除安裝
Linux 下的絕大多數原始碼包都是用 C 語言編寫的,還有少部分是用 C++ 等其他程式語言編寫的。所以,要想安裝原始碼包,必須安裝 C 語言編譯器 gcc(如果是用 C++ 編寫的程式,則還需要安裝 gcc-c++)。我們可以先檢測一下 gcc 是否已經安裝,命令如下: [
HGDB4.3.2在RHEL7.5中安裝和解除安裝指導手冊
目錄 文件用途 詳細資訊 相關文件 文件用途 介紹HGDB4.3.2在RHEL7.5系統上的圖形化安裝和解除安裝流程。 詳細資訊 1.安裝版本及注意事項 1.1 安裝版本 作業系統 Redhat 7.5 x86_64
LINUX系統軟體安裝和解除安裝的常見方法
linux系統分很多種簡單介紹幾種常用的: 1、centos/redhat: 安裝: rpm安裝,如果有依賴,很鬧心,如果使用--nodeps不檢查依賴,會有問題。 #rpm -ivh <XXX.rpm> #不檢查依賴的話,新增 --nodeps yum安裝,自動解決依賴,推薦
Centos7中jdk的安裝和解除安裝
CentOS下用yum命令安裝jdk 2017年02月14日 13:00:40 evan_chen_1 閱讀數:30355 標籤: javaCentOSLinuxyumjdk 更多 個人分類: linux 一.使用yum命令安裝 1.檢視是否已安裝JDK,解除安裝
HGDB4.1.1在RHEL6.x中安裝和解除安裝指導手冊
[[email protected] ~]$ cd /upload/hgdb4.1.1_installer_redhat6.x_Standard_64 [[email protected] hgdb4.1.1_installer_redhat6.x_Standard_64]
1、centos下安裝和解除安裝docker
1、安裝前檢查 目前,CentOS 僅發行版本中的核心支援 Docker。 Docker 執行在 CentOS 7 上,要求系統為64位、系統核心版本為 3.10 以上。 Docker 執行在 CentOS-6.5 或更高的版本的 CentOS 上,要
Android中實現靜態的預設安裝和解除安裝應用
最近好長時間都沒有寫blog了,主要是因為最近工作上的事以及下載Android原始碼的事耽誤的(下載原始碼這件事會在後續的blog中寫道,這個真的很有意義呀~~),那麼今天來寫點什麼呢?主要的靈感來自於早上看新聞看到一篇文章說有一款應用在後臺中解除安裝使用者手機中的所有瀏覽器的
linux安裝和解除安裝軟體
apt-get upgrade:升級軟體 apt-get install software_name :安裝軟體 apt-get update:更新安裝列表 apt-get --purge remove software_name :解除安裝軟體及其配置 apt-get
Linux中Redis的安裝和解除安裝
安裝Redis1.下載Redis安裝包並上傳到Linux系統中2.將Redis解壓到跟目錄#tar -zxvf redis-unstable.tar.gz -C /root/3.進入root下redis目錄執行make#make4.安裝#make PREFIX=/usr/lo
CentOS 5.4 安裝和解除安裝桌面
安裝GNOME桌面環境 yum groupinstall "GNOME Desktop Environment" 安裝KDE桌面環境 yum groupinstall "KDE (K Desktop Environment)" 解除安裝GNOME桌面環境 yum groupremove "GNOME Desk
installshield 2010之 安裝包安裝和解除安裝過程中如何註冊和反註冊dll或者ocx
1, 選擇behavior and logic->InstallScript 2, 然後右側選中對應的feature, 然後在旁邊的下來框中選擇installed 和uninstalled 3. 分別再installed和uninstall
Ubuntu下安裝和解除安裝軟體
在ubuntu當中,安裝應用程式我所知道的有三種方法,分別是apt-get,dpkg安裝deb兩種方法1、通過deb包安裝的情況:安裝.deb包:程式碼:1sudo dpkg -i package_file.deb反安裝.deb包:程式碼:1sudo dpkg -r pack
linux軟體安裝和解除安裝
Linux軟體的安裝和解除安裝一直是困擾許多新使用者的難題。在Windows中,我們可以使用軟體自帶的安裝解除安裝程式或在控制面板中的“新增/刪除程式”來實現。與其相類似,在Linux下有一個功能強大的軟體安裝解除安裝工具,名為RPM。它可以用來建立、安裝、查詢、
樹莓派上的軟體安裝和解除安裝命令彙總
基礎命令 安裝軟體 apt-get install softname1 softname2 softname3…… 解除安裝軟體 apt-get remove softname1 softname2 softname3…… 解除安裝並清除配置 apt-ge