软件包管理
10.1 软件包简介
10.1.1 软件包分类
- 源码包(绝大多数C语言写的)
- 脚本安装包(不需要手动安装,安装界面)
- 二进制包 (RPM包,系统默认包,经过编译后的包)
10.1.2 源码包
优点:
-
开源
-
自由选择所需功能
-
软件是编译安装,所以更加适合自己的系统,稳定高效
-
写在方便(可以直接删除目录)
缺点: -
安装步骤多,容易出现拼写错误
-
编译过程时间长,安装比二进制安装时间长
-
因为是编译安装,安装过程中一旦报错新手很难解决
10.1.3 RPM包
优点:
- 包管理系统简单,只通过几个命令就可以
- 安装速度更快
缺点: - 看不到源代码
- 功能选择不如源码包灵活
- 依赖性
10.2 RPM包管理-rpm命令管理
10.2.1 rpm命令管理-rpm包命名规则
10.2.2 rpm包依赖性
树形依赖:a->b->c
环形依赖:a->b->c->a
模块依赖:模块依赖查询网站:www.rpmfind.net
10.2.3 包全名与包名
- 包全名:操作的包是没有安装的软件包时,使用包全名,而且要注意路径。
- 包名:操作已经安装的软件包时,使用包名。是搜索 /var/lib/rpm中的数据库。
10.2.4 rpm安装
rpm -ivh
选项:
-i(install) 安装
-v(verbose) 显示详细信息
-h(hash) 显示进度
--nodeps 不检测依赖性
rpm -ivh httpd-要安装的包全名
根据提示的依赖包一步步完成安装
10.2.5 rpm包升级与卸载
rpm -Uvh
选项:
-U(upgrade) 升级
rpm -e 包名
选项:
-e(erase) 卸载
--nodeps 不检测依赖性
10.2.6 rpm命令管理-查询
rpm -q 包名
选项:
-q(query) 查询
rpm -qa #查询所有已经安装的RPM包
选项:
-a(all) 所有
10.2.7 查询包中文件安装位置
rpm -ql 包名
选项:
-q(query) 查询
-l(list) 列表
-p(package) 查询未安装的包信息
10.3 rpm命令管理-检验和文件提取
10.3.1 RPM包检验
10.4 RPM包管理-yum在线管理
- 为解决依赖性提出的方法
- yum命令是为了管理RPM包
10.4.1 IP地址配置和网络yum源
[root@localhost ~]# setup 进入窗口模式
网络yum源
yum源存放位置
注:bak是为了使本地yum源生效,将其他的修改为了bak
现在解释上面的几个配置源
CentOs-Base.repo:网络yum配置源
centOs-Debuginfo.repo:debug使用的配置源
CentOs-Media.repo:本地的配置源
CenOs-Vault.repo:虚拟的配置源
注:默认是CentOs-Base.repo优先生效
10.5 yum命令
10.5.1 常用yum命令
注:yum中不再有包名和包全名概念
注意事项:
一定要谨慎使用update这个更新命令,千万不要使用yum -y update如果后面没有指定软件包,Linux默认认为你要将系统的所有软件包包括内核一起全部更新,但是在系统内核更新的时候,一般都需要配置本地配置文件,如果没有配置更新之后的配置,很有可能会讲系统弄奔溃
千万建议不要使用remove这个命令,因为它会不仅把这个软件包需要的依赖包全部卸载,还会把依赖包的依赖包也卸载了,有可能会造成,卸载一个软件包的时候,将整个系统的大部分软件包一起卸载,有可能会造成系统的奔溃
10.6 光盘yum源搭建
不需要再上网,安装速度大大增加
10.6.1 光盘yum源搭建步骤
改名是为了让源文件失效,方法是让后缀不再是 .repo