天天看点

linux下软件包的安装(rpm,yum)

使用rpm安装软件

为了方便linux 用户添加和删除软件,Red Hat 公司提出了软件包管理器RPM,由于它的出现使得在linux 中安装、卸载应用程序变得相对简单,默认情况下(即不出现文件依赖问题)用户只需双击rpm 软件包,系统会自动进行安装。

一个rpm包文件是能够让应用软件运行的全部文件的一个集合,它记录了二进制软件的内容、安装的位置、软件包的描述信息、软件包之间的依赖关系等信息。RPM 工具对系统中全部rpm 软件包进行全面管理,因此它能够记住用户添加了什么以及这些软件每个文件的具体安装路径,以便用户完全地、彻底地删除。一般来说,rpm 软件包发布的软件比需要手工编译的软件容易安装和维护,但是有些rpm软件包需要大量的依赖包,这时如果没有联网也是比较头痛的一件事情。

软件安装流程:

linux下软件包的安装(rpm,yum)

RPM包管理的用途;

1、可以安装、删除、升级和管理软件;当然也支持在线安装和升级软件;

2、通过RPM包管理能知道软件包包含哪些文件,也能知道系统中的某个文件属于哪个软件包;

3、可以在查询系统中的软件包是否安装以及其版本;

4、作为开发者可以把自己的程序打包为RPM 包发布;

5、软件包签名GPG和MD5的导入、验证和签名发布

6、依赖性的检查,查看是否有软件包由于不兼容而扰乱了系统;

RPM 的使用权限;

RPM软件的安装、删除、更新只有root权限才能使用;对于查询功能任何用户都可以操作;如果普通用户拥有安装目录的权限,也可以进行安装;

在对包安装前我们可以使用rpm -qa 包名称  来查询包是否安装

rpm 的一点简单用法;

在终端中我们可以使用rpm -i [选项] [rpm 包文件名]来进行安装

使用rpm -ivh 包名称  对包进行安装

linux下软件包的安装(rpm,yum)

rpm常用选项如下:

rpm -ql   包名称  对安装的包的信息进行查询

rpm -qa   包名称  查询包是否安装

rpm -e    包名称  对安装的包卸载

rpm -Uvh  包名称  对包进行升级和安装

rpm -Fvh  包名称  只对包进行升级

rpm -V    包名称  对包的信息进行检校

rpm --replacepkge 无论软件包是否已被安装,都强行安装软件包

rpm --test         安装测试,并不实际安装

rpm --nodeps       忽略软件包的依赖关系强行安装(一般不能正常运行,因为缺少依赖文件)

rpm --force        忽略软件包及文件的冲突

rpm --qpi          查看一个软件包的用途、版本等信息

rpm --oldpackage   由新版本降级为旧版本

rpm --import       导入签名文件 

rpm包安装时对于包之间的依赖关系不会自动解决,只会在屏幕上提示

更为详细的具体的,请参考#man rpm

使用yum来安装软件

yum安装可以分为网络yum和本地yum

yum  list  all  查看所有的按准国宝

yum info   包名称   查看包的安装信息

yum安装最大的有事就是可以帮助我们解决包的依赖关系,而rpm就不行

网络安装

在使用网络安装的要确保所有的网络中有一台被使用做yum的服务的服务端(这个yum服务器的登陆方法可是是ftp,http,nfs的),此次实验使用的ftp服务

首先我们现在网络上找一台机器作为ftp服务器(安装yum服务器)

ftp的ip地址是192.168.2.100

linux下软件包的安装(rpm,yum)

接着把光盘/dev/cdrom/Server上的内容拷贝到/var/ftp下,这样我们可以直接访问

linux下软件包的安装(rpm,yum)

因为光盘上的文件比较大,拷贝下来大概需要十几分钟,拷贝完成后启动vsftpd服务

我们在打开另外一台机器。作为部署yum服务的客户端

修改/etc/yum.repos.d/rhel-debuginfo.repo文件,指明yum服务器的网络位置

linux下软件包的安装(rpm,yum)

配置好后,我们就可以开始安装软件包了,我们一安装devecot为例

linux下软件包的安装(rpm,yum)

我们看到他有好几个的包依赖关系,但是不用担心,因为yum会自动帮我们解决

linux下软件包的安装(rpm,yum)

直接输入 y 键(对于这种情况,我们可以在安装的时候在结尾处添加一个  -y 的参数),到安装完成。

在对于安装的包想要卸载时,使用yum removed 软件包名 就ok!

刚才的是安装一个包。当我们想要安装一个组的时候,

我们就使用yum groupinstall 包组名称

linux下软件包的安装(rpm,yum)

对于包的名称中有空格的情况我们要把包组的名称使用双引号引起来

组的卸载命令和包的相似,命令是:yum gropuremove 包组名称

本地yum安装 

例如我们安装apache服务器

因为是本地安装,所以需要修改/etc/yum.repos.d/rhel-debuginfo.repo文件,指明yum本地位置,把baseuarl修改为 

baseurl=file:///mnt/cdrom/Server

enable=1

gpgkey=file:///mnt/cdrom/RPM-KRY-redhat-release

首先进入光盘执行

linux下软件包的安装(rpm,yum)

按下 y 键继续(可以

linux下软件包的安装(rpm,yum)

来避免询问),然后就安装成功了!

继续阅读