Linux软件包管理
一、软件包管理简介
1、软件包分类
①源码包:
优点为:开源,若有足够的能力,可以修改源代码;
可以自由选择所需的功能;
软件包是编译安装,更加适合自己的系统,更加稳定和高效;
卸载方便。
缺点为:安装步骤较多,尤其安装较大的软件合集时,容易出现拼写错误;
编译时间较长;
安装过程报错时,新手不易解决。
②RPM包:
优点:包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载;
安装速度快。
缺点:经过编译,无法看到源代码;
功能选项不如源码包灵活;
依赖性不好解决。
二、源码包管理--rpm命令管理
1、rpm包命名
例:tree-2.2.1.2-12.el6.centos.i686.rpm
tree |
软件包名 |
2.2.1.2 |
软件版本 |
12 |
软件发布次数 |
El6.centos |
适用的平台 |
I686 |
适合的硬件平台 |
rpm |
rpm包扩展名 |
2、RPM包依赖性
树形依赖:a--b--c
环形依赖:a--b--c--a
模块依赖:模块依赖查询网站:www.rpmfind.net
3、包全名与包名
包全名:操作的包是没有安装的软件包时,使用包全名。要注意路径
包名:操作已安装的软件包时,使用包名。
三、软件包的管理
1、命令rpm 安装rpm软件包
语法:rpm 【选项】 软件包全名
子参数: -i:安装
-v:显示详细信息
-h:显示进度
-nodeps:不检查依赖性
-u:升级
-e:卸载
-q:查询包是否安装
-a:和-q合用,查询所有已经安装的rpm包
-i:查询软件信息(rpm -qi 包名)
-p:查询未安装包信息
-l:列表与-q合用查询包中文件安装位置(rpm -ql 包名)
-p:查询未安装包信息
-f:查询系统文件属于哪个软件包(rpm -qf 系统文件名)
-R:查询软件包依赖性(rpm -qR 包名)
-V:校验指定RPM包中的文件
验证内容的八个信息:
S |
文件大小是否改变 |
M |
文件类型或文件权限是否改变 |
5 |
文件内容是否改变 |
D |
设备的主从代码是否改变 |
L |
文件路径是否改变 |
U |
文件的属主是否改变 |
G |
文件属组是否改变 |
T |
文件的修改时间是否改变 |
文件类型
c |
配置文件 |
d |
普通文件 |
g |
鬼文件,不应该存在 |
l |
授权文件 |
r |
描述文件 |
2、命令yum 在线管理软件包
①网络yum源
例:vim /etc/yum.repos.d/CentOS-Base.repo
[base] |
源名称 |
Name= |
源说明 |
Mirrorrlist |
镜像地址(可注释掉) |
baseurl |
yum源服务器地址 |
enable |
是否生效1为是,0位否 |
gpgcheck |
是否使用秘钥1为是,0为否 |
gpgkey |
秘钥保存地址,不用修改 |
②yum包常用命令
yum list: 查询所有可用软件包列表
yum search 关键字:搜索服务器上所有和关键字相关的包
yum install 包名:安装软件包
-y:自动回答yes
yum update 包名:升级
yum remove 包名:卸载软件包
③yum软件组管理
yum grouplist :列出所有可用软件组列表
yum groupinstall 软件组名:安装指定的软件组
yum groupremove 软件组名:卸载指指定软件组
④yum回滚或重做
yum history list 软件包 :在yum历史中搜索某个软件
yum history info N (N为编号):显示历史详细信息
yum history redo N : 重做
yum history undo N : 回滚
3、本地源创建
①挂载光盘
Mount /dev/sr0 /mnt
②创建源文件
Vim /etc/yum.repos.d/名称.repo
【名称】
name=随便写
baseurl=file:///mnt
enable=1
gpgcheck=0
③清理缓存
yum clean all
④建立连接
yum makecache
四、源码包管理
1、与rpm包区别
安装前的区别:概念上的区别
安装后的区别:安装位置不同
2、rpm包安装位置
rpm包默认安装位置:
/etc |
配置文件安装位置 |
/usr/bin |
可执行命令安装目录 |
/usr/lib |
程序使用的函数库保存位置 |
/usr/share/doc |
基本的软件使用手册保存位置 |
/usr/share/man |
帮助文件保存位置 |
3、源码包安装位置
安装在指定位置,一般为/usr/local/软件名/
4、安装位置带来的影响
①RPM包安装的服务可以使用系统服务管理命令来管理;
②而源码包安装的服务则不能被服务管理命令管理,因为没安在默认位置。只能使用绝对路径进行服务的管理:/usr/local/apache2/bin/apachectl start
5、安装准备
安装C语言编译器(yum groupinstall "开发工具" -y)
下载源码包
6、安装注意事项
①源代码保存位置:/usr/local/src/
②软件安装位置:/usr/local/
③若出错则为:安装过程停止并出现error、warning或no的提示
7、源码包安装过程
①下载源码包
②解压下载的源码包
③进入解压目录
./configure 进行软件配置与检查
④定义需要的功能选项;
检测系统环境是否符合安装要求;
把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续编辑
⑤make 编译
⑥make install 编译安装
8、软件的卸载
不需要卸载命令,直接删除安装目录。
五、脚本安装包与软件包选择
1、脚本安装包
①脚本安装包并不是独立的软件包类型,常见安装的是源码包;
②是人把安装过程写成自动安装的脚本,执行脚本,定义简单的参数,就可以完成安装;
③类似于Windows下软件的安装
2、webmin的作用
是一个基于Web的Linux系统管理界面。可以通过图形化的方式设置用户账号、Apache、DNS、文件共享等服务。
3、Webmin安装过程
①下载软件:http://sourceforge.net/projects/webadmin/files/webmin/
②解压缩,并进入解压缩目录
③执行脚本安装