软件 管理
软件管理
一、软件包分类
1、源码包
(脚本安装包)
2、二进制包
(RPM包、系统默认包)
二、源码包
源码包的有点是:
1、开源,如果有足够的能力,可以修改源代码
2、可以自由选择所需的功能
3、软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高
4、卸载方便
源码包的缺点:
1、安装过程步骤较多,尤其安装较大的软件集合时(如LAMP环境搭建),很容易出现拼写错误
2、编译过程时间较长,安装比二进制安装时间长
3、因为是编译安装,安装过程中一旦报错新手很难解决
三、RPM包
二进制包的优点:
1、包管理系统简答,只通过几个命令就可以实现包的安装、升级、查询和卸载
2、安装速度比源码包安装快的多
二进制包缺点:
1、经过编译,不再可以看到源代码
2、功能选择步入源码包灵活
3、依赖性
三、RPM包管理-rpm命令管理
1、RPM包命名规则
例;httpd-2.2.15-15.el.centos.1.i686.rpm
httpd | 软件包名 |
2.2.15 | 软件版本 |
15 | 软件发布的次数 |
el6.centos | 适合的linux平台 |
i686 | 适合的硬件平台 |
rpm | rpm包扩展i名 |
noarch 兼容(不区分位数)
安全性和稳定性主要看发布次数
功能的增强看软件的版本
linux中64位和32位的表示方式:
64位:x86_64 32位:i386 i486 i586 i686
2、RPM包依赖性
1、树形依赖:a→b→c
2、环形依赖:a→b→c→d
(建议同时安装,不推荐强制安装)
3、模块依赖:模块依赖查询网站:www.rpmfind.net
3、包全名与包名
1、包全名:操作的包是没有安装的软件包时,使用宝全名。而且要注意路径
2、包名:操作已经安装额软件包时,使用包名。
RPM包的获取:
1、插入光盘
2、连接光驱设备
3、在系统中执行挂载命令
#mount /dev/cdrom /mnt/
4、进入RPM包目录
#cd /mnt/Packages/
4、RPM安装
语法:rpm -ivh 包全名
-i (install) 安装
-v (verbose) 显示详细信息
-h (hash ) 显示进度
--nodeps 不检查依赖性
5、RPM包升级
语法:rpm -Uvh 包全名
-U (upgrade) 升级
注:可用-Uvh达到-ivh的效果(在没有安装的情况下,先安装再升级)
6、卸载
语法:rpm -e 包名
-e (erase) 卸载
--nodeps 不检查依赖性
7、查询是否安装
语法:rpm -q 包名
#查询包是否被安装
-q 查询(query)
rpm -qa
#查询所有已经安装的RPM包
-a 所有(all)
一般用:rpm -qa | grep 包名
8、查询软件包详细信息
语法:rpm -qi 包名
-i 查询软件信息(information)
-p 查询未安装包信息(package)
语法:rpm -qip 包全名 查看未安装的软件包
9、查询包中文件安装位置
语法:rpm -ql 包名
-l 列表(list)
-p 查看未安装包的信息
10、查询系统文件属于哪个RPM包
语法:rpm -qf 系统文件名
-f 查询系统文件属于哪个软件包(file)
11、查询软件包的依赖性
语法:rpm -qR 包名
-R 查询软件包的依赖性(requires)
12、RPM包校验
语法:rpm -V 已安装的包名
-V 校验指定RPM包中的文件
S |
文件大小是否改变 |
M | 文件的类型或文件的权限(rwx)是否被改变 |
5 | 文件MD5校验是否改变(可以看做是文件内容是否改变) |
D | 设备的主从代码是否改变 |
L |
文件路径是否改变 |
U | 文件的属主(所有者)是否改变 |
G | 文件的属组是否改变 |
T | 文件的修改时间是否改变 |
三、RPM包管理-yum在线管理
1、网络yum源
cd /etc/yum.repos.d yum配置文件目录
vi /etc/yum.repos.d/CentOS-Base.repo repo:源的配置文件
[base] 容器名称,一定要放在[ ]中
name 容器说明,可以自己随便写
mirrorlist 镜像站点,这个可以注释掉
baseurl 我们的yum源服务器地址。默认是CentOS官方的yum源服务器。
enabled 此容器是否生效,如果不写或写成enabled=1都是生效,写成enabled=0就是不生效
gpgchecl 如果是1则指RPM的数据证书生效,如果是0则不生效
gpgkey 数字证书的公钥文件保存位置。不用修改
2、常用yum命令
yum clean all 清空yum缓存 (改写配置文件后需要运行这个命令)
1)查询
yum list
#查询所有可用软件包列表
yum search 关键字 (yum search all )
#搜索服务器上所有和关键字相关的包
2)安装
yum install 包名 安装过程中出现[y/d/n] y代表下载并安装 b代表仅下载 n啥也不做
install 安装
-y 自动回答yes
3)升级
yum -y update 包名
4)卸载
yum -y remove 包名