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.
本文出自 “风之韵” 博客,请务必保留此出处http://chinalx1.blog.51cto.com/2334265/1695171
原文地址:http://chinalx1.blog.51cto.com/2334265/1695171