程式包管理器,
什麼是程式包管理器,将編譯好的程式打包成一個檔案或有限的幾個檔案,可用于實作便捷地安裝、解除安裝、更新、查詢、校驗等程式管理;
rpm包的命名:name-Major.Minor.Release-release.arch.rpm
bash-4.3.2-1.x86_64.rpm
-release: rpm包自己的發行号,與源代碼的發行号無關;僅用于辨別對rpm自身的修訂;有時候,此release可能還會包含适用的OS;例如,bash-4.3.2-1.centos6.x86_64.rpm
擷取包的途徑:
0,自己制作,
1,系統原發行CD光牒或者官方站點伺服器:
2,程式項目官方站點:
3,第三方組織,<"人品無法保證">
搜尋引擎:
Fedora-EPEL:epel
http://rpmfind.net
http://rpm.pbone.net
http://www.pkgs.org
建議:包安裝前要合法性驗證:
1,來源合法性,
2,包的完整性,
RHEL系統程式包管理rpm的應用:
安裝:
rpm -i [ install-options ] 程式包 ...
rpm -ivh --test gcc.rpm
v:詳細安裝過程,
h:安裝時輸出hash記号(''#'')
依賴關系:p1 --> p2
不解決依賴可能會導緻依賴包的不正常;
[ install-options ]:
--replacepkgs:重新安裝
--nodeps: 忽略依賴關系
--test: 測試安裝,而不執行真正的安裝過程;
更新:
rpm { -U | -F } [ install-options ] 程式包 ...
U如果有較舊版本程式包,則更新安裝;否則執行安裝操作,
F 如果有較舊版本程式包,則更新安裝;否則中止,
[install-options]
--oldpackage:降級安裝;
--force: 忽略沖突,強制執行過程;
注意:不要對核心包執行更新操作;linux支援多版本核心并存,是以,對新版本核心可直接安裝;
注意:如果原程式包的配置檔案安裝後曾被改動,更新時,新版本的檔案并不會直接覆寫老版本的檔案,
而是把新版本的檔案重命(加字尾.rpmnew)名後保留;
解除安裝:
rpm -e [ delete-options ] PACKAGE_NAME ...
[ delete-options ]
--test: 解除安裝測試
注意:如果包的配置檔案安裝後曾被改動過,解除安裝時,此檔案将不會删除,而是被重命名(原檔案加.rpmsave字尾)并保留;
查詢:
rpm -q [ options ] 檔案 | 程式包 | 程式名
-q查詢已安裝的包,-p查詢未安裝的包,
-q 查詢某包是否安裝,
-qa 查詢系統所有安裝包
-qf 查詢某檔案是哪個程式包的
-qpl 檢視還沒安裝的檔案、
-qR 查詢已安裝的包的依賴關系,
校驗:校驗安裝包的完整性,安全性,
rpm -V 包名
S 大小
M 權限
5 内容(校驗碼)
D 裝置檔案
L 路徑
U屬主
G屬組
T最近一次修改時間
yum包管理:
yum用戶端,倉庫,
列出所有可用倉庫
# yum repolist
列出所有程式包,通常和管道符合用查找包,
# yum list { all | install | available }
顯示所有包組:
yum grouplist
顯示某包組的相關資訊:
yum groupinfo "GROUP_NAME"
安裝包組:
yum groupinstall "GROUP_NAME"
解除安裝包組:
yum groupremove "GROUP_NAME"
更新包組:
yum groupupdate "GROUP_NAME"
緩存管理
# yum clean { all | packages }
# yum makecache
yum install 包名 -y
# 重裝
yum reinstall 包名 -y
yum update 包名
# 降級
yum downgrade 包名
# 檢查更新
yum check-update
yum remove 包名
依賴于指定程式包的其它包,會被一并解除安裝;
yum 倉庫的建構,
本地配置檔案,/etc/yum.repos.d/*.repo 這裡面的檔案隻要是對于yum源指向和配置,
[ name ]
name
baseurl
gpgcheck
編譯C源程式的步驟:
1、./configure:檢查編譯環境,并根據指定的選項确定編譯的特性、安裝路徑等;
2、make:調用所需要的編譯器根據makefile配置檔案定義執行編譯過程;
3、make install:安裝程式;
提供開發環境:開發工具和開發庫
包組:Development Tools、Server Platform Development、Desktop Platform Development、Debug Tools
展開源代碼,找INSTALL、README;不存在此類檔案時,找項目官方文檔;
根據安裝說明執行安裝操作;
環境變量的增加,