一、 软件包管理简介
1、软件包分类
a) 源码包
脚本安装包
源码包优点:
(1) 开源,如果有足够能力,可以修改源代码。
(2) 可以自由选择所需要的功能。
(3) 软件是编译安装,所以更适合自己的系统,更加稳定也效率高。
(4) 卸载方便。
源码包缺点:
(1) 安装过程较多,尤其安装较大文件时,容易出现拼写错误。
(2) 编译过程时间较长。
b) 二进制包(RPM包、系统默认包),即机器语言包(0110101)。经过编译,不可以看到源代码包,功能选择不如源码包,依赖性强。
RPM包优点:
(1) 包管理系统简单,通过几个命令就可以实现包的安装,升级、查询和卸载。
(2) 安装速度快。
二、 RPM包管理-rpm命令管理
1. RPM包命名原则
例如:httpd-2.2.15-15.el6.centos.1.i686.rpm
hpptd 软件包名
2.2.15 软件版本
15 软件发布次数
el6.centos 适合的linux平台
i686 适合的硬件平台
rpm rpm扩展名
2. RPM包依赖性
树形依赖:a->b->c
环形依赖:a->b->c->a
模块依赖:模块依赖查询网站:www.rpmfind.net
Rpm命令管理-安装升级与卸载
1. 包全名和包名
包全名:操作的包是没有安装的软件包时,使用包全名。而且注意路径。
包名:操作已经安装的软件包时,使用包名。是搜索/var/lib/rpm/中的数据库。
2. RPM安装
rpm –ivh 包全名
选项:
-i (install) 安装
-v (verbose) 显示详细信息
-h (hash) 显示进度
--nodeps 不检测依赖性
3. RPM升级
Rpm –Uvh 包全名
选项:
-U (upgrade) 升级
4. RPM卸载
RPM –e 包名
选项:
-e (erase) 卸载
--nodeps 不检查依赖性
5. RPM校验
Rpm –V 已安装的包名
-V 校验指定RPM包中的文件
验证内容中的8个信息具体内容如下:
S 文件大小是否改变
M 文件的类型或者权限是否改变
5 文件MD5校验和是否改变
D 设备中,从代码是否改变
L 文件路径是否改变
U 文件的属主是否改变
G 文件的属组是否改变
T 文件的修改时间是否改变
文件类型:
c 配置文件(config file)
d 普通文档(documentation)
g ‘鬼’文件(ghost file),这个文件不应该被RPM包含
l 授权文件(license file)
r 描述文件(read me)
6. RPM包中文件提取
Rpm2cpio 包全名|\ (\代表换行,命令没写完)
cpio –idv .文件的绝对路径
-i copy-in模式,还原
-d 还原时自动新建目录
-v 显示还原过程
rpm2cpio
#将rpm 转换为cpio格式的命令
cpio
#是一个标准工具,它用于创建 软件档案文件和从档案文件中提取文件。
7. rpm –q httpd
#查询软件包是否安装
8. rpm –ql httpd
#查询软件包安装文件路径
三、 RPM包管理-yum在线管理
IP地址配置和网络yum源
网络yum源 /etc/yum.repos.d/CentOS-Base.repo
【base】 容器名称,一定要放在【】中
Name 容器说明,可以自己随便写
Mirrorlist 镜像站点(这个可以注释掉)
Baseurl 我们的yum源服务器的地址。默认centos官方的yum源服务器。觉得慢,可以更改yum源地址。
Enabled 此容器是否生效,如果不写或写成enable=1都是生效,写成enable=0不生效。
Gpgcheck 如果是1是指rpm的数字证书生效,如果0则不能生效。
Gpgkey 数字证书的公钥文件保存位置。不用修改。
常用yum命令
1、查询
yum list
#查询所有可用软件包列表
yum search 关键字
#搜索服务器上所有和关键字相关的包
2、安装
yum –y install 包名
选项:
Install 安装
-y 自动回复yes
3、升级
yum –y update 包名(如果没有包名,则升级所有软件包。)
选项:
update 升级
-y 自动回复yes
4、卸载
yum –y remove 包名
选项:
remove卸载
-y 自动回复yes
Yum软件组管理命令
yumgrouplist
#列出所有可用的软件组列表
yumgroupinstall 软件组名
#安装指定软件组,组名可以由grouplist查询出来
yumgroupremove 软件组组名
#卸载指定软件组
光盘Yum源搭建
步骤:
1、挂载光盘
2、让网络yum源失效
采用mv命令,令其后缀改变不是repo。
mv CentOS-Base.repo CentOS-Base.repo.bak
3、修改光盘yum源文件
vim CentOS-Media.repo
改变光盘挂载点和使能置1。
四、 源码包管理
源码包和RPM包的区别
区别
1. 安装之前的区别:概念上的区别
2. 安装之后的区别:安装位置的区别
RPM包安装位置
RPM包默认安装路径 |
|
/etc/ |
配置文件安装目录 |
/usr/bin/ |
可执行的命令安装目录 |
/usr/lib/ |
程序所使用的函数库保存位置 |
/usr/share/doc/ |
基本的软件使用手册保存位置 |
/usr/share/man/ |
帮助文件保存位置 |
源码包安装位置
安装在指定位置当中,一般是/usr/local/软件名/
安装位置不同带来的影响
RPM包安装的服务可以使用系统服务管理命令(service)来管理,例如RPM包安装的apache的启动方式是:
1. /etc/rc.d/init.d/httpdstart
2.service httpd start
源码包安装过程
1. 安装准备
安装c语言编辑器
下载源码包
http://mirror.bit.edu.cn/apache/httpd
2. 安装注意事项
源码包保存位置:/usr/local/src/
软件安装位置:/usr/local/
如何确定安装过程出错:
安装过程停止
出现error、warning或no的提示
3. 源码包安装过程
下载源码包
解压缩下载的源码包
进入解压缩目录
./configure 软件配置与检查
定义需要的功能选项
检测系统环境是否符合安装要求
把定义好的功能选项和检测系统环境的信息写入Makefile文件,用于后续的编辑。
./configure--prefix=/usr/local/文件名
make编译 调用gcc 将源码包转换为机器语言
如有报错,则make clean清空临时文件
make install 编译安装
4. 源码包卸载
直接删除安装目录
五、 脚本安装包与软件安装包
1. 脚本安装包
脚本安装包并不是独立的软件包类型,常见安装的是源码包。
是人为把安装过程写成了自动安装的脚本,只要执行脚本,定义简单的参数,就可以完成安装。
非常类似与windows下软件的安装方式。
2. Webmin的作用
Webmin是一个基于Web的Linux系统管理界面。您就可以通过图形化的方式设置用户账号、apache、DNS、文件共享等服务。
3. Webmin安装过程
下载软件
http://sourceforge.net/projects/webadmin/files/webmin/
解压缩,并进入解压缩目录
执行安装脚本。