歡迎您光臨本站 註冊首頁

軟體包的安裝

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0
一、linux系統下的軟體包可分為三種:
1)源碼(Source code)
2)rpm(基於RPM--Redhat Package Manager,軟體包管理器的rpm軟體包,常用)
3)dbkg(基於Debian的軟體包管理器)
二、軟體包的組成:
二進位文件、配置文件、庫文件、文檔.
三、軟體包的安裝方式:
3.1 手動編譯安裝源代碼
一般就是「三步走」完成源碼的安裝.
1)./configure --分析安裝平台環境
在軟體包解壓完畢之後,我們進入源碼目錄,一般都會存在configure和README這麼兩個文件,README詳細的介紹了這個軟體所能完成的功能、授權許可、安裝需求、安裝注意事項、安裝方式等等,所以在安裝軟體前,一定要事先閱讀這個README文件,確保安裝的正確性.configure文件一般是個可執行文件,可以在當前目錄下直接輸入 「./configure」進行軟體安裝的環境測試.源碼安裝都需要GCC或者CC編譯器.測試成功會生成makefile文件,為下一步使用make編譯做準備. 2)make --編譯安裝軟體
make工具最主要的功能就是通過makefile文件來實現的,makefile文件是按照某種語法來進行編寫的,文件中定義了各個源文件之間的依賴關係,並說明了如何編譯源文件並生成可執行文件,它通過描述各個源程序之間的關係讓make工具自動完成編譯工作. 3)make install --安裝軟體 註:軟體安裝完成後,可能需要導出軟體的庫文件,改變環境變數,導入man文件路徑,以及頭文件. 1、軟體庫文件導出方法:
a.在/etc/ld.so.conf.d/新建一個以.conf結尾的文件,並將此程序的庫文件路徑添加至此文件中
如/usr/local/apache/lib
b.執行ldconfig,讓系統重新裝載庫文件;
#ldconfig -v
2、可執行程序路徑的導出方法:
#export PATH=$PATH:/usr/local/apache/bin


也可以寫入配置文件:
寫入/etc/profile:--對所有用戶生效
寫入~/.bash_profile--僅對當前用戶生效
3、man文件路徑導出方法
編輯/etc/man.config文件,新增加如下一行;
例如:MANPATH /usr/local/apache/man
4、頭文件導出方法
創建鏈接(例如:ln -sv /usr/local/apache/lnclude /usr/include/apache)
3.2 RPM包方式安裝 RPM包管理類似於windows下的「添加/刪除程序」但是功能卻比「添加/刪除程序」強大很多.在Linux的系統安裝光碟中,有很多以「.rpm」 結尾的軟體包,這些包文件就是我們所說的RPM文件.每個RPM文件中包含了已經編譯好的二進位可執行文件,其實就是將軟體源碼文件進行編譯安裝,然後進行封裝,就成了RPM文件,類似與windows安裝包中的「.exe」文件.
RPM包管理方式的優點是:安裝簡單方便,軟體已經編譯完成打包完畢,安裝只是個驗證環境和解壓的過程.此外通過RPM方式安裝的軟體,RPM工具都會記錄軟體的安裝信息,這樣方便了軟體日後的查詢,升級和卸載.
RPM工具的使用分為安裝、查詢、驗證、更新、刪除等操作.
安裝:
rpm -i /pathrpm_package
rpm -ivh --nodeps --force
v;顯示安裝信息;
h:以#顯示安裝進度(一個#:2%的進度)
--nodeps 忽略依賴關係
--force 強制安裝
卸載:
rpm -e NAME --nodeps
升級:
rpm -Uvh /pathrpm_package
rpm -Fvh /pathrpm_package
-Uvh 老版本的安裝了的就升級安裝,沒安裝就直接安裝新版本
-Fvh 老版本必須的安裝
--force 強行升級
查詢:
rpm -q NAME--查詢軟體包的版本信息
rpm -qa --查詢當前系統上安裝的軟體包 支持文件名通配
rpm -qi name --查詢軟體包的描述信息
rpm -ql name --查詢軟體包安裝后都生成了那些文件


rpm -qc name --查詢軟體的配置文件所存放的位置
rpm -qd name --查詢軟體文檔所存放的位置
rpm -q --scripts name --查看軟體包安裝時執行的腳本
rpm -qf filename|path --查詢那個文件是由那個軟體包安裝生成的
rpm -q --changelog name --查看每一次的製作都改進了那些內容
rpm -qpi name --查看未安裝軟體包的描述信息
-p --查看未安裝軟體包的信息
校驗:
rpm -V
屬性:
S:文件大小改變
M:許可權,文件類型改變
5:MD5校驗值改變
D:設備的主/次號不匹配
L:路徑發生改變
U:屬主發生改變
G:屬組發生改變
T:最近一次的修改時間發生了變化

rpm重建資料庫;
#rpm --initdb --重新初始化資料庫,如存在則不覆蓋
#rpm --rebuilddb --如果存在則覆蓋之
/var/lib/rpm--rpm資料庫
rpm對軟體包的驗證:
導入公鑰:
rpm --import PATH
例如:rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release--導入redhat的公鑰.
驗證:
rpm -k[ --nodigest(不驗證md5) --nosignature(不驗證簽名)]NAME.rpm
另外,基於RPM安裝rpm包還可以利用yum. YUM --Yellow dog Updater, Modified 主要功能是更方便的添加/刪除/更新RPM包.它能自動解決包的倚賴性問題,它能便於管理大量系統的更新問題 .
yum特點 可以同時配置多個資源庫(Repository)
簡潔的配置文件(/etc/yum.conf)
自動解決增加或刪除rpm包時遇到的倚賴性問題
使用方便
保持與RPM資料庫的一致性
yum客戶端的配置文件:
1、/etc/yum.conf
2、/etc/yum.repos.d/*.repo
.repo文件便是定義yum源的文件. 定義yum源的格式 [id]
name=yum源的完整名稱;
baseurl=yum源的地址(eg:ftp://172.16.0.1/pub/Server)


gpgcheck=0|1(驗證簽名)
enabled=0|1(是否生效)
yum的使用方法 yum
list {all|installed|avaliable|updates} --顯示所有已安裝過的軟體的信息和所有可用軟體的信息.
install package_name package_name2 ...--安裝軟體
-y --不用再確認;
remove|erase package_name1 package_name2 ...--卸載軟體
update package_name1 --軟體升級
check-update --檢查更新
info --顯示軟體包的摘要信息
provides|whatprovides file|path --顯示文件是哪個軟體包安裝生成的
downgrade pacage_name1... --降級
reinstall package_name1 ... --重裝軟體包
repolist [all|enabled|disabled] --顯示yum源
clean {all}--清空yum緩存
grouplist --顯示軟體包組
groupinstall "groupname" --安裝一組軟體(!!組名中間有空格必須用引號引起來)
groupremove "groupname" --卸載一組軟體
groupinfo "groupname" --查看有關組的信息
localinstall /path-rpm_file --本地安裝軟體
--nogpgcheck (不檢測簽名)
localupdate --本地升級軟體
search keyword --根據關鍵字搜索軟體 創建yum源 yum源的元數據文件目錄:
primary.xml.gz --每一個rpm包的文件名,及軟體包之間的依賴關係
filelists.xml.gz 此yum源中每一個rpm包中文件的文件相關信息
other.xml.gz 額外信息,比如changelog等
repomd.xml:定義了以上三個文件的校驗碼和時間戳
comps-*.xml(comps-rhel5-server-core.xml):定義了軟體包的分組信息
#createrepo PATH
-g 創建關於軟體包的分組信息
-q 工作於靜默模式下
-v 顯示詳細信息 總結:源碼安裝,可以根據需求自定義安裝軟體,缺點是安裝的軟體難於維護,卸載,升級.利用RPM,yum安裝軟體,安裝簡單,便於維護.缺點是軟體的編譯不是根據本機的硬體所編譯的,所以不會很好的發揮機器本身的性能.



本文出自 「Linux」 博客,請務必保留此出處http://wld6linux.blog.51cto.com/4356376/788066


[火星人 ] 軟體包的安裝已經有501次圍觀

http://coctec.com/docs/linux/show-post-47356.html