Linux之软件安装管理
1.软件包分类:
- 源码包
- 二进制包 (rpm 等)
源码包的优点:
- 开源,如果有足够的能力,是可以修改源代码的
- 可以自由选择所需要安装的功能。
- 软件是编译安装,所以更加适合自己的系统,更加稳定且效率更高。
- 卸载方便。(删除安装目录就干干净净了,Windows下还有会残余)。
源码包的缺点:
- 安装过程步骤较多,尤其是安装较大的软件合集时,容易出现拼写错误
- 编译时间过长,安装比二进制安装时间长
- 因为是编译安装,安装过程中一旦报错新手很难解决
二进制包的优点
- 包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载
- 安装速度比源码包快的多
二进制包的缺点
- 经过编译,不再可以看到源代码
- 功能选择不如源码包灵活
- 依赖性
脚本安装包
就是把软件包安装过程写成了程序脚本,初学者可以执行程序脚本实现一键安装。但实际安装的还是源码包和二进制包。例如LAMP一键安装包。
查看RPM包步骤
mkdir /mnt/cdrom #给光盘创建一个挂载点
mount /dev/sr0 /mnt/cdrom/ #挂载文件
cd /mnt/cdrom/Packages #进入RPM包(RPM包所在路径),RPM包在系统光盘中
RPM包命名原则
yum-3.2.29-40.el6.centos.noarch.rpm
yum #软件包名
3.2.29 #软件版本
40 #软件发布的次数
el6.centos #适合的Linux平台
noarch #适合的硬件平台,noarch是指以在各个不同的cpu上都可以使用
rpm #包扩展名
RPM包依赖性
树形依赖:a->b->c
环形依赖:a->b->c->a
模块依赖:库依赖 .so.2 常见,查询网站:www.rpmfind.net
2.rpm命令管理
包全名与包名
包全名:操作的包是没有安装的软件包时,使用包全名,而且要注意路径。主要是安装、升级。
包名:操作的是已经安装的软件包是,使用包名,是搜索/var/lib/rpm中的数据库。例如卸载、查询。
RPM安装
格式:rpm -ivh 包全名
选项:-i #install安装;
-v #verbose显示详细信息;
-h #hash显示进度;
--nodeps #强制安装,不检测依赖性,在实际服务器中不允许使用,不解决依赖性无法正常使用
yum在线安装比较方便,但没有查询校验命令。yum装的也是RPM包
rpm命令涉及到安装、升级、卸载、rpm包查询和校验等,此处不再赘述
3.yum在线安装
yum源文件:
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# vim CentOS-Base.repo
①[base]:容器名称,一定要放在[]中;
②name:容器说明,可以自己随意填写;
③mirrorlist:镜像站点,这个可以注释掉;
④baseurl:yum源服务器的地址。默认是CentOS官方的yum源服务器,是可以使用的,如果你觉得慢可以改成你喜欢的yum源地址;
⑤enabled:此容器是否生效,如果不写或写成enabled=1都是生效,写成enabled=0就是不生效;
⑥gpgcheck:如果是1是指RPM的数字证书生效,如果是0则不生效;(真实环境中,最好启用)
⑦gpgkey:数字证书的公钥文件保存位置。不用修改
若想在没有网络的情况下使用yum源,就要使用光盘进行本地yum源搭载
1、挂载光盘
mkdir /mnt/cdrom
#建立挂载点
mount /dev/sr0 /mnt/cdrom
#挂载光盘
2、使网络yum源失效
cd /etc/yum.repos.d/
进入yum源目录
mv CentOS-Base.repo CentOS-Base.repo.bak
修改yum源文件后缀名,使其失效(或者在其中加上enable=0)
3、使光盘yum源生效
vim CentOS-Media.repo
baseurl=file:///mnt/cdrom/
#此处改为真正的光盘挂载点
# file:///media/cdrom/
#将这两处地址注释掉
# file:///media/cdrecorder/
#将这两处地址注释掉
enabled=1
4、检验是否起作用
yum list #该命令可验证目前使用的yum源有哪些可用的rpm包
yum命令
1.查询
yum list
#查询所有可用软件包列表
2.关键字查询
yum search 关键字
#搜索服务器所有和关键字相关的包
3.安装
yum -y install 包名
选项:
-y 自动回答yes
#出现complete即为安装完成
4.更新
yum -y update 包名 #慎用,尽量不用
选项:update #升级
-y #自动回答yes
5.卸载
yum -y remove 包名
#remove 卸载
#初学者yum卸载容易系统崩溃
服务器使用最小化安装,用什么软件安装什么,卸载尽量不使用
yum软件组管理命令
yum grouplist
#列出所有可用的软件列表;
yum groupinstall 软件组名
#安装指定软件组,组名可以由grouplist查询出来;
yum gourpremove 软件组名
#卸载指定软件组;
LANG=en_US #切换至英文;(临时生效)
LANG=zh_CN.utf8 #切换至中文;(临时生效)