一、rpm工具簡介
rpm是"redhat package manager"的縮寫,根據名字也能猜到這是redhat公司開發出來的。rpm 是以一種資料庫記錄的方式來將你所需要的套件安裝到你的linux 主機的一套管理程式。也就是說,你的linux系統中存在著乙個關於rpm的資料庫,它記錄了安裝的包以及包與包之間依賴相關性。rpm包是預先在linux機器上編譯好並打包好的檔案,安裝起來非常快捷。但是也有一些缺點,比如安裝的環境必須與編譯時的環境一致或者相當;包與包之間存在著相互依賴的情況;解除安裝包時需要先把依賴的包解除安裝掉,如果依賴的包是系統所必須的,那就不能解除安裝這個包,否則會造成系統崩潰。
如果你的光碟機中還有系統安裝盤的話,你可以通過mount /dev/cdrom /mnt
命令把光碟機掛載到/mnt目錄下,那麼你在/mnt/centos目錄下看到很多.rpm的檔案,這就是rpm包了。
每乙個rpm包的名稱都由"-「和」."分成了若干部分。就拿 a2ps-4.13b-57.2.el5.i386.rpm 這個包來解釋一下,a2ps 為包名
;4.13b則為版本資訊
;57.2.el5為發布版本號
;i386為執行平台
。其中執行平台常見的有i386, i586, i686, x86_64 ,需要你注意的是cpu目前是分32位和64位的,i386,i586和i686都為32位平台,x86_64則代表為64位的平台。另外有些rpm包並沒有寫具體的平台而是noarch,這代表這個rpm包沒有硬體平台限制。例如 alacarte-0.10.0-1.fc6.noarch.rpm 。下面介紹一下rpm常用的命令。
二、rpm命令使用解析
1、安裝乙個rpm包
rpm -ivh rpm包名
2、公升級乙個rpm包
rpm -uvh filename -u
3、解除安裝乙個rpm包
4、查詢乙個包是否安裝
rpm -q rpm包名
(這裡的包名,是不帶有平台資訊以及字尾名的)
5、查詢當前系統中所安裝的所有rpm包
rpm -qa | head
(分頁查詢)
6、查詢乙個rpm包的相關資訊
rpm -qi 包名
(同樣不需要加平台資訊與字尾名)
7、列出乙個rpm包安裝的檔案
rpm -ql 包名
通過上面的命令可以看出vim是通過安裝vim-enhanced-7.0.109-6.el5這個rpm包得來的。那麼反過來如何通過乙個檔案去查詢是由安裝哪個rpm包得來的?
8、列出某乙個檔案屬於哪個rpm包
rpm -qf 檔案的絕對路徑
前面講過如何查詢乙個檔案(可執行命令)的絕對路徑
所以你也可以把這兩條命令連起來寫
三、安裝原始碼包
原始碼包的編譯用到了linux系統裡的編譯器,常見的原始碼包一般都是用c語言開發的,這也是因為c語言為linux上最標準的程式語言。linux上的c語言編譯器叫做gcc,利用它就可以把c語言變成可執行的二進位制檔案。所以如果你的機器上沒有安裝gcc就沒有辦法去編譯原始碼。你可以使用 yum install -y gcc 來完成安裝。
安裝乙個原始碼包,通常需要三個步驟:
1、./config
在這一步可以定製功能,加上相應的選項即可,具有有什麼選項可以通過」./config --help 」命令來檢視。在這一步會自動檢測你的linux系統與相關的套件是否有編譯該原始碼包時需要的庫,因為一旦缺少某個庫就不能完成編譯。只有檢測通過後才會生成乙個makefile檔案。
2、make
使用這個命令會根據makefile檔案中預設的引數進行編譯,這一步其實就是gcc在工作了。
3、make install
安裝步驟,生成相關的軟體存放目錄和配置檔案的過程。
例項:2、解壓原始碼包
3、配置相關的選項,並生成makefile
4、進行編譯
這一步操作,就是把源**編譯成二進位制的可執行檔案,這一步也是最漫長的一步,編譯時間的長短取決於源**的多少和機器配置。
5、安裝
在安裝前,先確認上一步操作是否成功完成。
make install 會建立相應的目錄以及檔案。當完成安裝後,會在/usr/local目錄下多了乙個apache2目錄,這就是apache所安裝的目錄了。
yum、rpm、原始碼安裝,三者區別
《IT運維之道》一導讀
it運維之道 這麼多年,從事it服務及其管理工作,覺得it服務就像一本奇書,初讀它時,覺得懂了,用起來卻差強人意 有時候突然從裡面發現了什麼似的,又轉瞬即逝 有些道理看似平淡,多年的感悟才體會到是千真萬確的真理。於是,興趣所致,常常在夜深人靜時把一點一滴的得與失進行思考總結,日積月累,便有了一些積澱...
運維之道 運維技巧百寶箱
1 暫停 並在後台執行命令 ctrl z 暫停應用程式 fg 重新將程式喚醒到前台 2 tldr 快速查詢命令使用方法 man進化版 tldr的意思是 too long,don t read 翻譯成中文就是 太長不讀 它比man,help這種獲取命令列幫助資訊的方式好太多。tldr安裝命令如下 su...
讀《Linux運維之道》有感
linux系統越來越流行,對於不喜歡玩遊戲的我,似乎也找不理由去拒絕它 曾經聽過某位朋友說過 linux的份額沒window的高,原因是window擁有一大批遊戲玩家和電腦文盲!現在回想,覺得這話並不全對,對於遊戲玩家,window平台很好的支援了幾乎所有的遊戲,但是介面操作,linux相比wind...