Linux软件包管理
Linux软件包管理主要有2类:是二进制包管理、源码包管理
-
二进制包管理
主要有RPM和YUM两种
- RPM包管理
-
安装
--ivh:-v ,-vv,-vvv显示的安装信息依次详细
--nodeps:忽略包依赖关系,直接安装
--replacepkgs:重新安装
--test:测试安装,而不执行真正的安装过程
--force:强制安装
-U:如果有较旧版本的程序包已经安装,则升级安装,否则,则执行安装操作
-F:如果有较旧版本的程序包已经安装,则升级安装,否则,不安装
--oldpackage:降级安装
注意:不要对内核包执行升级操作:linux支持多版本内核并存,因此可以对新版本内核直接安装
实例:
安装某个包的时候,此包可能需要依赖其他的包,必须解决依赖的包之后在安装,当然也可以使用—nodeps选项强制
安装,但不建议这样安装,因为安装后此包可能也无法使用。
-
查询
针对安装后的包查询其安装信息等,有以下的查找参数
1.查询已经安装的包 -qa
2.查询某包简要的说明信息 -qi
3.查询某包安装后生成的所有文件列表 -ql
4.查询某包安装后生成的所有配置文件的列表:-qc
5.查询某包安装后生成的所有帮助文件的列表:-qd
6.查询某包制作时随版本变化的changelog列表信息: rpm -q --changelog PACKAGE_NAME
7.查询某包提供的capabilities rpm -q --provides PACKAGE_NAME
8.查询某包依赖的capabilities rpm -q --requires PACKAGE_NAME
9.查询某文件是由哪个包安装生成的:rpm -qf /path/to/somefile
10.查询尚未安装包的相关信息 -p,可以于其他选项混合使用,如-qpl,-qpc...
例如:
-
卸载
Rpm –e [--nodeps] pack_name,例如
[root@steve data]# rpm -e rpc2
需要注意的是在卸载软件包的时候若和其它包有依赖关系,可以用--nodeps来强制卸载
-
yum安装
yum是rpm包管理工具的前端,可以自动解决包安装过程中的依赖关系,使用yum安装之前需要配置好yum源,个人的yum仓库配置如下[root@steve data]# vim /etc/yum.repos.d/CentOS-Base.repo
此配置文件下可以配置多个yum仓库地址,其中[epel]是此yum仓库的id,在此配置文件下,每个yum仓库的id是唯一的,
name=fedora-epel ;描述yum仓库的信息,可以是任意的
baseurl=baseurl=http://172.16.0.1/fedora-epel/6/x86_64 ;yum仓库的路径
enabled={1|0} ;是否启用此仓库,1,表示启动,也可以不配置,默认是启动的。
gpgcheck={1|0};是否检查合法性等,如果启动要用gpgkey指定密钥
gpgkey=DIR;如果gpgchck=1启动了检查合法性,此处则需要指定密钥的路径
配置好后就可以使用yum 安装、卸载、查询等信息了。
-
安装
Yum安装某个软件之前,可以先查询仓库中是否有某个包,使用list参数,例如:
查询到有某个包后,就可以直接安装了,使用install参数,例如:
安装时会提示是否确定要安装,按"y"即可,如果想直接安装而不询问,可以使用 –y选项,如果要安装包组,则可以使用groupinstall
Yum安装时的选项比较多,可以使用man来查找各选项的意义,此处不一一介绍,仅列出几个。
-
查询
安装后可以查看其安装信息,如info ,此处只举一个例子
-
卸载
Yum卸载使用remove选项 例如:
-
如何制作yum仓库
Yum仓库的制作很简单,将需要的rpm包放在一个目录下,使用createrepo命令,指定在那个路径下创建即可。
-
二进制源码包安装
如果没有rpm包或者rpm内的功能无法满足需要等,可以使用源码包来手动编译安装,首先需要在软件官方网站下载对应的源码包。此处以编译安装
Apr源码包为例。编译安装之前下载源码包,把编译环境安装好,一般安装"Development Tools"和"Server Platform Development "
[root@steve data]# yum grouplist "Development Tools" "Server Platform Development"
可以使用—help来查看其安装选项
上图,将apr安装在/usr/bin/apr目录下,可以任意指定目录,如果编译过程出错,则根据提示的错误,解决错误后在进行下一步。
4.以上就是简单介绍了centos系列软件包的管理。