rpm
定義:包管理器
rpm程序包的組成部分:
二進制程序:/bin, /sbin,/ /usr/bin, /usr/sbin,
庫文件:/lib64, /usr/lib64
配置文件:/etc
幫助文件:manual, info,
包文件名格式:
bash-4.2.4-1.el7.x86_64.rpm
包文件名-版本號(4爲主版本號,2爲次版本號,4爲包的版本號)-rpm包的版本號(1.el7)-系統架構(x86_64)
常用選項:
-q 查詢
-qa: 查詢本機已經安裝的所有程序包;
-qf /PATH/TO/SOMEFILE: 查詢此處的文件由哪個程序包安裝生成;
-qc: 查詢指定程序包安裝生成的配置文件
-qd: 查詢指定的程序包安裝生成的文檔
-qi: 查詢指定的程序包的相關信息;
-ql: 查詢程序包安裝生成的所有文件的列表;
-q --scripts:查詢程序包相關的腳本:
preinstall: 安裝前腳本
postinstall:安裝後腳本
preuninstall: 卸載前腳本
postuninstall: 卸載後腳本
-p: 查詢針對是未安裝的程序包文件;
{-i|--install} 安裝
{-U|--upgrade} 更新軟件
-v 安裝時顯示詳細信息 --vv 顯示更詳細的信息,一般還要顯示包的包含文件
-h 以#號顯示安裝進度
{-F|--freshen} 升級軟件包
--nodeps 安裝包的時候不用安裝依賴包,雖然可以解決rpm安裝包時的依賴問題,但是會給後期包的使用帶來影響,建議不要使用這項.
-V 校驗
-e 卸載
常用實例:
1.安裝zsh rpm包
rpm -ivh zsh-4.3.11-4.el6.centos.x86_64.rpm
2.查看已安裝的zsh包中包含哪些文件,如果未安裝不返回信息
[root@localhost yum.repos.d]# rpm -ql python /usr/bin/pydoc /usr/bin/python /usr/bin/python2 /usr/bin/python2.6 /usr/share/doc/python-2.6.6 /usr/share/doc/python-2.6.6/LICENSE /usr/share/doc/python-2.6.6/README /usr/share/man/man1/python.1.gz
總結:python包包含了二進制程序和幫助文件
3.查看已安裝的zsh包的相關信息,如果未安裝不會返回任何信息,如情況2
[root@localhost yum.repos.d]# rpm -qi zsh Name : zsh Relocations: (not relocatable) Version : 4.3.11 Vendor: CentOS Release : 4.el6.centos Build Date: 2015年07月24日 星期五 17時41分25秒 Install Date: 2015年08月02日 星期日 01時30分38秒 Build Host: c6b8.bsys.dev.centos.org Group : System Environment/Shells Source RPM: zsh-4.3.11-4.el6.centos.src.rpm Size : 5283457 License: BSD Signature : RSA/SHA1, 2015年07月25日 星期六 04時41分32秒, Key ID 0946fca2c105b9de Packager : CentOS BuildSystem <http://bugs.centos.org> URL : http://zsh.sunsite.dk/ Summary : A powerful interactive shell Description : The zsh shell is a command interpreter usable as an interactive login shell and as a shell script command processor. Zsh resembles the ksh shell (the Korn shell), but includes many enhancements. Zsh supports command line editing, built-in spelling correction, programmable command completion, shell functions (with autoloading), a history mechanism, and more.
情況1
[root@localhost yum.repos.d]# rpm -qi php package php is not installed
情況2
4.列出python包所依賴的能力
rpm -qR python
[root@localhost yum.repos.d]# rpm -qR python /usr/bin/python2.6 libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libdl.so.2()(64bit) libm.so.6()(64bit) libpthread.so.0()(64bit) libpython2.6.so.1.0()(64bit) libutil.so.1()(64bit) python-libs(x86-64) = 2.6.6-51.el6 rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(VersionedDependencies) <= 3.0.3-1 rtld(GNU_HASH) rpmlib(PayloadIsXz) <= 5.2-1
5.卸載zsh包 : rpm -e zsh
6.查看更新zsh包 : rpm -Uvh zsh
rpm來源:
1.發行版提供的程序包;
2.Fedora-EPEL
3.項目的官方站點
4.搜索引擎
運用光盤rpm包安裝軟件方法步驟
1.先將光盤加載DVD1安裝ios文件
2.掛載光盤 mount -r /dev/cdrom /mnt/cdrom
3.cd Packpages Packpages目錄下有很多rpm包都可以安裝
yum
定義:由於rpm解決包的相互依賴性很煩,就誕生yum,用yum安裝軟件,如果他安裝的包依賴包沒有安裝,它會自動去倉庫先安裝依賴的包
yum文件服務器格式:scheme(協議) + path(路徑)
ftp://hostname/PATH/TO/REPO
http://hostname/PATH/TO/REPO
file:///PATH/TO/REPO
yum配置文件
/etc/yum.conf 定義全局配置:對所有倉庫都適用的配置
/etc/yum.repos.d/*.repo 一個文件通常用於一個或一組功能相近或相關的倉庫
定義一個倉庫指向:
[REPO_ID] 該倉庫的id
name= 該倉庫的名稱
baseurl= yum源基本鏈接
# mirrorlist=SCHEME://HOSTNAME/PATH/TO/MIRROR_LIST_FILE yum基本鏈接文件集合,支持多個baseurl
enabled={1|0} 是否有效
gpgcheck={1|0} 是否校驗
gpgkey= 校驗的key
cost= 消耗(該值越小,yum源越優先)
定義倉庫指向可用變量:
$releasever: 引用當前系統的主版本號;(如當前系統版本爲CentOS release 6.5 (Final),則主版本號爲6,這點老以爲是6.5)
$basearch: 當前系統的基本架構;
i386(32位), x86_64(64位)
yum命令:
yum [options] [command] [package ...]
選項
install 顧名思義就是安裝
remove 刪除yum包
update 升級
info 查詢指定yum包的詳細信息 類似於rpm -qi,該項yum包未安裝也支持查看
list all|installed|availiable 列出yum源的所有或有效的yum包
provides /PATH/TO/SOMEFILE: 查詢指定文件由哪個包安裝生成
reinstall 重新安裝
downgrade 降級
clean [ packages | metadata | expire-cache | rpmdb | plugins | all ] 清理緩存
makecache 生成緩存
分組選項:
grouplist 列出可用的yum包組
groupinfo "GRP_NAME" 列出指定組的詳細信息
groupinstall "GRP_NAME" 安裝指定的組
groupremove "GRP_NAME" 卸載指定的組
倉庫:
repolist [all|enabled|disabled] 顯示系統定義的所有yum倉庫
repoinfo [all|enabled|disabled] 顯示指定倉庫的詳細信息
實例
將163的鏡像加入到系統的yum源中去
[root@localhost yum.repos.d]# cd /etc/yum.repos.d [root@localhost yum.repos.d]# vim CentOS-Base.repo [163] name=163_yum_repos baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/ gpgcheck=1 cost=8
2. 展示yum所有倉庫
[root@localhost yum.repos.d]# yum repolist Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * epel: mirrors.ustc.edu.cn repo id repo name status 163 163_yum_repos 6,575 epel Extra Packages for Enterprise Linux 6 - x86_64 11,767 repolist: 18,342
3.查看php yum包的詳細信息
[root@localhost yum.repos.d]# yum info php Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * epel: mirrors.ustc.edu.cn Available Packages Name : php Arch : x86_64 Version : 5.3.3 Release : 40.el6_6 Size : 1.1 M Repo : 163 Summary : PHP scripting language for creating dynamic web sites URL : http://www.php.net/ License : PHP Description : PHP is an HTML-embedded scripting language. PHP attempts to make it : easy for developers to write dynamically generated webpages. PHP also : offers built-in database integration for several commercial and : non-commercial database management systems, so writing a : database-enabled webpage with PHP is fairly simple. The most common : use of PHP coding is probably as a replacement for CGI scripts. : : The php package contains the module which adds support for the PHP : language to Apache HTTP Server.