软件包的管理简介
(1)软件包分类
-
源码包
源代码开源,绝大多数是c,小部分c++,需要编译安装,可以修改源代码,自由选择所需功能,卸载方便(可直接从安装位置删除即可,比Windows方便);
安装步骤较多,编译时间较长,容易出现拼写错误 -
二进制包
RPM包(.rpm),系统默认包,高级语言经编译之后,可直接由机器识别,安装快,但看不见源代码,包管理系统简单,通过几个命令即可完成安装,升级,查询,卸载;
经过编译,不再看到源代码,功能选择不如源代码包灵活,具有包与包之间具有依赖性
RPM包管理-rpm命令管理
(1)RPM包命名规则
httpd-2.2.15-15.el6.centos.1.i686.rpm
httpd | 软件包名 |
---|---|
2.2.15 | 软件版本 |
15 | 软件发布次数 |
el6.centos | 适合的Linux平台 |
i686 | 适合的硬件平台 |
rpm | rpm包扩展名 |
(2)RPM包依赖性(安装及卸载均需要遵循依赖顺序)
树形依赖:a→b→c
环形依赖:a→b→c→a
模块依赖:可通过www.rpmfind.net查询
注:依赖性可通过以下的yum在线管理解决,centOS不收费而Redhat收费
(3)通过RPM查询(yum无此功能)
3.1)查询是否安装
-q 查询
rpm -q 包名 # 查询报是否安装
-a 所有
rpm -qa # 查询已经安装的所有RPM包
3.2)查询软件包详细信息
-i 查询软件信息
-p 查询未安装包信息
rpm -qi 包名
3.3)查询包中文件安装位置
-l 安装位置列表
-p 查询未安装包信息
rpm -ql 包名
3.4)查询系统文件属于哪个RPM包
-f 查询系统文件属于哪个软件包
rpm -qf 系统文件名
3.5)查询软件包的依赖性
-R 查询软件包的依赖性
-p 查询未安装包的信息
rpm -qR 包名
(4)校验和文件提取
4.1)校验
-V 校验指定RPM包中的文件
rpm -V 已安装的包名
不显示结果则没有被修改
4.2)提取
rpm2cpio 包全名 |\cpio-idv.文件绝对路径
RPM包管理-yum在线管理
(1)IP地址配置
红帽子下的setup命令(centos下的nmtui)进行更改或通过vi /etc/sysconfig/network-scripts/ifcfg-ens33更改(我这里的默认网卡名为ens33)
注:
(1)若要访问局域网,ip和掩码即可;若要访问互联网,需要正确的ip地址,掩码,网关,dns缺一不可
(2)通常只需更改网卡配置文件/etc/sysconfig/network-scripts/ifcfg-ens33文件中的ONBOOT改为ON即可,DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)可自动分配IP地址。
ping www.baidu.com # 丢包率为0%即表示可连接公网
(2)yum命令
1.查询
yum list # 查询所有可用软件包的列表
yum search 关键字 # 搜索服务器上所有和关键字相关的包
2.安装
yum -y install 包名
-y 自动回答yes
3.升级
yum -y update 包名
注:包名一定要写上,不写包名是升级所有软件包,有可能导致错误
4.卸载
yum -y remove 包名