目录
- 软件包分类
-
- 源码包
-
- 源码包是什么
- 源码包特点
- 二进制包
-
- 二进制包分类
- 二进制包特点
- RPM安装
-
- rpm包命名规则
- rpm包默认安装路径
- rpm包安装
-
- rpm包安装
- rpm包升级
- rpm包卸载
- rpm包查询
- rpm验证
-
- 命令
- 举例
- 数字证书
-
- 数字证书验证
- 数字证书位置
- 数字证书导入
- YUM安装(rpm包在线安装)
-
- yum是什么
- yum源配置文件
- 搭建本地光盘yum源
- yum源配置文件优化
- yum命令
-
- 安装命令
- 升级命令
- 卸载命令
- 查询命令
- yum缓存
- yum组管理命令
- 源码包安装
-
- 注意事项
- 安装过程
- 卸载
软件包分类
源码包
源码包是什么
源码包一般指C语言开发的源代码文件的一个压缩包(.tar.gz或.tar.bz2)。源码包的编译使用Linux系统里的编译器gcc,利用该编译器可以把源码包变成可执行的二进制文件。
-
创建一个源码包
-
安装gcc编译器
-
编译执行源码包
源码包特点
源码包的优点:
- 开源,有能力可以自己修改源代码;
- 可以自由选择所需功能;
- 软件是编译安装,更加稳定,效率更高;
- 卸载方便,直接删除目录即可。
源码包的缺点:
- 安装过程步骤过多,尤其在安装较大软件集合时(如LAMP环境搭建),容易出现拼写错误;
- 编译过程时间较长,安装比二进制安装时间长;
- 由于是编译安装,安装过程中一旦 错新手解决较为麻烦。
二进制包
二进制包分类
- RPM包:由Red Hat公司开发的包管理系统,软件的安装、升级、卸载都非常简单和方便。目前很多Linux发行版都在使用这种包管理机制,包括CentOS、Redhat、Fedora等。软件包文件后缀是”.rpm”。
- DPKG包:由Debian Linux开发出来的包管理机制,主要应用在Debian和Unbuntu系统中。软件包文件后缀是”.deb”。
不论是RPM包管理器还是DPKG包管理器,都存在软件包依赖问题,比如软件包A依赖软件包B,软件包B又依赖软件包C,即依赖关系是 “A -> B -> C”,那么就必须先安装C,在安装B,最后A才能安装成功。
为了解决这种依赖问题,Linux开发商都提供了在线安装机制,通过这种机制可以自动解决依赖关系,安装A时会自动安装B和C。
- 基于RPM包管理机制开发出了YUM在线安装机制;
- 基于DPKG包管理机制开发出了APT在线安装机制。
二进制包特点
RPM包的优点:
- 包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载;
- 安装速度比源码包安装快很多。
RPM包的缺点:
- 经过编译,不再可以看到源码;
- 功能选择不如源码包灵活;
- 依赖性。
RPM安装
rpm包命名规则
rpm包安装
rpm包安装
安装命令:rpm -ivh 包全名
- 选项:
-i:安装(install)
-v:显示更详细的信息(verbose)
-h:打印#显示安装进度(hash)
–nodeps:不检测依赖性安装。软件安装时会检查依赖性,如果所依赖的软件还未安装则会 错。加上该选项不检测依赖强制安装,但是这样的软件安装后一般不能使用,建议不要这么做。
–replacefiles:替换文件安装。若安装软件包时包中部分文件已经存在,正常安装时会 错某文件已经存在导致软件无法安装,使用该选项可以忽视 错覆盖安装。
–replacepkgs:替换软件包安装。若软件包已经安装,此选项将软件包重复安装一遍。
–force:强制安装(–replacefiles和–replacepkgs的组合)
–test:测试安装(检查依赖性,不会实际安装)
–prefix:指定安装路径,不使用默认安装路径(指定安装路径会使得系统找不到这些安装的软件,需要手工配置被系统识别)
rpm包升级
升级命令:rpm -Uvh 包全名
- 选项:
-U:升级安装(如果没有安装过,系统直接安装;如果安装的版本较老,则升级到新版本)
升级命令:rpm -Fvh 包全名
- 选项:
-F:升级安装(如果没有安装过,则不会安装;必须有旧版本的软件安装,才能升级)
rpm包卸载
卸载命令:rpm -e 包名
- 选项:
-e:卸载软件包
–nodeps:卸载时不检查依赖性(如果卸载的软件被其它软件依赖导致卸载失败,加上此选项可以强制卸载,但是可能会导致其它软件无法使用,谨慎)
rpm包查询
-
查询软件包是否安装
rpm -q 包名
-
查询系统中所有的安装的软件包
rpm -qa
可以使用管道符查看所需内容 如rpm -qa | grep gcc,使用 “rpm -q 包名” 只能查看这个包是否安装,而 “rpm -qa | grep 包名” 可以将包含包名称的所有包都列出来。
-
查询软件包的详细信息
rpm -qi 包名 :查询已安装的软件包详细信息
选项:
-i:查询软件信息(information)rpm -qip 包全名 :查询未安装的软件包详细信息
选项:
-p:查询没有安装的软件包(package) -
查询软件包中的文件列表
rpm -ql 包名:查询已经安装的软件包的文件列表和安装的完整目录
选项:
-l:列出软件包中的所有文件了列表和软件所安装的目录(list)rpm -qlp 包全名:查询未安装的软件包中的文件列表和打算安装的位置
选项:
-p:查询没有安装的软件包(package) -
查询系统文件属于哪个软件包
rpm -qf 系统文件名
选项:
-f:查询系统文件属于哪个软件包(file) -
查询软件包所依赖的软件包
rpm -qR 包名:查询系统中和已经安装的软件包有依赖关系的软件包
选项:
-R:查询软件包的依赖性(requires)rpm -qRp 包全名:查询未安装的软件包的依赖性
rpm验证
命令
- rpm -Va:校验本机已经安装的所有软件包
- rpm -V 已安装的包名:校验指定的已安装的软件包
- rpm -Vf 系统文件名:校验某个系统文件是否被修改
选项:
-V:校验指定RPM包中的文件(verify)
如果执行命令后无任何提示,表明没有做任何修改;如果执行命令后有内容输出,则软件包的文件被修改过。
举例
验证内容共有8个信息内容:
- S:文件大小是否改变
- M:文件类型或文件权限(rwx)是否改变
- 5:文件MD5校验是否改变(文件内容是否改变)
- D:设备主从代码是否改变
- L:文件路径是否改变
- U:文件所有者是否改变
- G:文件所有组是否改变
- T:文件修改时间是否改变
文件类型:
- c:配置文件(config file)
- d:普通文件(documentation)
- g:鬼文件(ghost file)
- l:授权文件(license file)
- r:描述文件(read me)
数字证书
数字证书验证
rpm -V的校验方式只能对已经安装的RPM包中的文件进行校验。要在安装之前就对RPM进行校验需要使用数据证书验证:
- 首先找到原厂的公钥文件,然后进行安装;
- 安装RPM包时,去提取RPM包中的证书信息,然后和本机安装的原厂证书进行验证;
- 如果验证通过,则允许安装;如果验证不通过,则不允许安装并警告。
数字证书位置
数字证书可以在光盘中找到:
默认也放在系统中:
数字证书导入
YUM安装(rpm包在线安装)
yum是什么
yum软件仓库是为了进一步简化RPM管理软件的难度以及自动分析所需软件包及其依赖关系的技术。yum的关键之处是要有可靠的respository,它能够从指定服务器自动下载rpm包并安装。yum能够自动解决软件依赖性问题,一次性安装所有依赖的软件包。
yum源配置文件
yum源配置文件保存在/etc/yum.repos.d/目录中,文件的扩展名一定是”.repo”,及yum源配置文件只要扩展名是”.repo”就会生效。
/etc/yum.repos.d/目录下的文件如上所示,默认情况下CentOS-Base.repo文件生效。
- [base]:容器名称,一定要放在[]中
- name:容器说明,随便写
- mirrorlist:镜像站点,可以注释掉
- baseurl:yum源服务器的地址(默认是CentOS官方的yum源服务器,可以更改)
- enabled:此容器是否生效(enabled=1生效,enabled=0不生效)
- gpgcheck:rpm数字证书是否生效(gpgcheck=1生效,gpgcheck=0不生效)
- gpgkey:数字证书的公钥文件保存位置
搭建本地光盘yum源
- 将CentOS光盘挂载到指定位置
- 为了使centos7.repo文件真正生效,需要使得其他yum源文件失效。可以将/etc/yum.repos.d/目录下的yum源配置文件转移到别处
- 创建本地yum源配置文件
- 测试
yum源配置文件优化
通过 易yum源进行优化:http://mirrors.163.com/.help/centos.html
点击CentOS 7直接下载repo文件,之后移动到Linux系统中。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!