1 软件包管理简介
1.1 软件包分类
1.1.1 源码包(C语言源代码包)
脚本安装包(基于源码包开发的安装界面)
1.1.2 二进制包(CentOS中用RPM包、系统默认包)
1.2 源码包
1.2.1 源码包优点
开源,如果有足够能力可以修改源代码
可以自由选择所需的功能
软件是编译安装,所以更加适合自已的系统,更加稳定也效率更高
卸载方便
1.2.2 源码包缺点
安装过程步骤较多,尤其安装较大的软件集合时,容易出现拼写错误
编译过程时间较长,安装比二进制安装时间长
因为是编译安装,安装过程中一旦报错新手很难解决
1.3 RPM包
1.3.1 二进制包优点
包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载
安装速度比源码包安装快得多
1.3.2 二过制包缺点
经过编译,不再可看到源代码
功能选择不如源码包灵活
依赖性
2 RPM包命令管理
2.1 包命名与依赖性
2.1.1 RPM包命名原则
httpd-2.2.15-15.el6.centos.1.i686.rpm 软件包全名
httpd 软件包名
2.2.15 软件版本
15 软件发布的次数
el6.centos 适合的硬件平台
rpm rpm包扩展名
2.1.2 RPM包依赖性
树形依赖 a -> b -> c
环形依赖 a->b-> c -> a
模块依赖 www.rpmfind.net
2.2 安装升级与卸载
2.2.1 包全名与包名
包全名:操作的包是没有安装的软件包时用包全名,注意路径
包名:操作已经安装的软件包时,使用包名,是搜索/var/lib/rpm中的数据库
2.2.2 RPM安装
rpm –ivh 包全名
选项:-i (install) 安装
-v (verbose) 显示详细信息
-h (hash) 显示进度
--nodeps 不检测依赖性
按提示先解决依赖性,若有模块依赖则在rpmfind中查询解决
2.2.3 RPM包升级
rpm –Uvh 包全名
选项:-U (upgrade) 升级
2.2.4 RPM包卸载
rpm –e 包名
选项:-e (erase) 卸载
2.3 RPM查询
2.3.1 查询是否安装
rpm -q 包名
选项:-q (query) 查询
-a (all) 所有
查询所有已经安装的RPM包
rpm -qa
2.3.2 查询软件包详细信息
rpm –qi 包名
选项:-i (information) 查询软件信息
-p (package) 查询未安装包信息
查询未安装包软件信息要加包全名
2.3.3 查询包中文件安装位置
rpm –ql 包名
选项:-l (list) 列表
-p (package) 查询未安装包信息
2.3.4 查询系统文件属于哪个RPM包
rpm –qf 系统文件名
选项:-f (file) 查询系统文件属于哪个软件包
2.3.5 查询软件包的依赖性
rpm –qR 包名
选项:-R (requires) 查询软件包的依赖性
-p (package) 查询未安装包信息
2.4 RPM包校验和文件提取
2.4.1 RPM包校验
rpm –V 已安装的包名
验证内容中9个信息具体内容
S 文件大小是否改变
M 文件类型或文件权限是否被改变
5 文件MD5校验是否改变(可看成文件内容是否改变)
D 设备的代码是否改变
L 文件路径是否改变
U 文件所有者是否改变
G 文件的所有组是否改变
T 文件的修改时间是否改变
文件类型
c 配置文件(config file)
d 普通文档(documentation)
g “鬼”文件(ghost file),很少见,就是文件不应该被这个RPM包包含
l 授权文件(license file)
r 描述文件(read me)
2.4.2 RPM包中文件提取
rpm2cpio 包全名 | \ cpio –idv .文件绝对路径
cpio是 一个标准工具,用于创建软件档案文件和从档案文件中提取文件
\ 换行符,一般情况下软件包全名较长,一行写不下
. 把指定的文件提取到当前目录
cpio选项 < [文件|设备]
选项:-i copy-in模式,还原
-d 还原时自动新建目录
-v 显示还原过程
3 yum在线管理
3.1 IP地址配置和网络yum源
3.1.1 IP地址配置 setup
3.1.2 vi/etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=”yes”
3.1.3 重启网络服务
service network restart
3.1.4 ifconfig 查看即可
3.2 网络yum源
3.2.1 vi/etc/yum.repos.d/CentOS-Base.repo
[base] 容器名称,一定要放在[ ]中
name 容器说明,可以自行注释
mirrorlist 镜像站点,这个可以注释掉
baseurl yum源服务器地址,默认是CentOS官方yum源服务器,可改
enabled 此容器是否生效,如果不写或写成enable=1都是生效,=0不生效
gpgcheck 如果是1指RPM数字证书生效,0则不生效
gpgkey 数字证书的公钥文件保存位置,不用修改
3.3 yum命令
yum list 查询所有可用软件包列表
yum search 关键字 搜索服务器上所有和关键字相关的包
yum –y install 包名 安装
-y 自动回答yes
install 安装
yum –y update 包名 升级
update 升级
yum –y remove 包名 卸载
remove 卸载
yum grouplist 列出所有可用的软件包组列表
yum groupinstall 软件组名 安装指定软件组
若组名有空格则组名用””括起来
yum groupremove 软件组名 卸载指定软件组
3.4 光盘yum源
3.4.1 先挂载光盘 mount /dev/cdrom /mnt/cdrom
3.4.2 cd /etc/yum.repos.d
3.4.3 让其他.repo文件不生效,保留CentOS-Meia.repo
3.4.4 修改光盘yum源文件
4 源码包与RPM包的区别
4.1 区别
安装之前的区别:概念上的区别
安装之后的区别:安装位置不同
4.2 RPM包默认安装位置
/etc/ 配置文件安装目录
/usr/bin/ 可执行命令安装目录
/usr/lib/ 程序所使用的函数库保存位置
/usr/share/doc/ 基本的软件使用手册保存位置
/usr/share/man/ 帮助文件保存位置
4.3 源码包安装位置
安装在指定位置当中,一般是/usr/local/软件名/
4.4 安装位置不同带来的影响
RPM包安装的服务可以使用系统服务管理命令(service)来管理
例如RPM包安装的apache的启动方法是:/etc/rc.d/init.d/httpd start
servicehttpd start
5 源码包安装过程
5.1 安装准备
5.1.1 安装C语言编译器
5.1.2 下载源码包http://mirror.bit.edu.cn/apache/httpd/
5.2 安装注意事项
5.2.1 源代码保存位置:/usr/local/src/
5.2.2 软件安装位置:/usr/local
5.2.3 如何确定安装过程报错:安装停止且出现error、warning、no等提示
5.3 解压缩下载的源码包
5.3.1 tar –zxvf 包全名
5.4 进入解压缩目录
5.4.1 cd 解压目录
5.4.2 ./configure 软件配置与检查
5.4.2.1 定义需要的功能选项
./configure - -prefix=/usr/local/apache2
5.4.2.2 检测系统环境是否符合安装要求
5.4.2.3 把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续编辑
5.4.3 make 编译
5.4.3.1 若有错误则可清空编译产生的临时文件 make clean
5.4.4 make install 安装
6 脚本安装包
6.1 介绍
脚本安装包并不是独立的软件包类型,常见安装的是源码包
是人为把安装过程写成了自动安装的脚本,只要执行,定义简单参数,就可以完成安装
非常类似于windows下软件的安装方式
6.2 安装
前面步骤与安装源码包一致
找到.sh脚本进行安装即可