Linux基础-软件包的管理

实验环境说明:RHEL7(虚拟机)


rpm软件包管理

全称: Redhat package manager

#rpm
作用:管理rpm包
语法: rpm  【选项】  包名

介绍几个常用的选项,具体可以使用help帮助

-i, --install           安装软件包
-v, --verbose           提供更多的详细信息输出
-h, --hash              软件包安装的时候列出哈希标记
--nodeps                不验证软件包依赖
对于上面的-h选项,其实就是安装时出现的一排#(#####....)


下面我们来实战安装zsh 的安装和卸载

zsh简单说就是一个shell解释器,重点不在这,下面进行安装。

首先,先将我们的linux系统镜像挂载到 /mnt 的目录下。

Linux基础-软件包的管理_第1张图片


进入到我们的系统盘下面的Packages下,即/mnt/Packages下,ls可以发现里面很多文件,并且都是以 .rpm为后缀的,这些文件就是我们的rpm包

这里的rpm包的文件名字是有讲究滴,如下

zsh-5.0.2-14.el7.x86_64.rpm

zsh        -5         .0         .2       -7      x86           64
软件名   主版本号   次版本号   修订号   RHEL7  CPU架构平台  支持系统位数

既然zsh是解释器,那么我们来查看下一个文件

Linux基础-软件包的管理_第2张图片

好了,下面进行安装

Linux基础-软件包的管理_第3张图片

下面。我们重新来看一下shells文件,现在应该就会有zsh了。

Linux基础-软件包的管理_第4张图片


安装成功后,下面我们进行卸载的实战,卸载的话我们只需写上我们rpm包的软件名即可,不清楚软件名的可以看看上面的rpm包名字的讲究

Linux基础-软件包的管理_第5张图片


使用yum安装软件

全称:Yellow dog Updater, Modified

自动装软件包(软件包管理),解决依赖关系问题、自动下载软件包。基于C/S架构。

C=client  S=ftp , http,file,所以使用yum安装的好处也就体现出来了,使用rpm只能是本地文件,而yum还可以ftp,http。

#rpm  
语法: yum  【选项】  install 软件名  
常用选项

-y #在安装时经常会需要回答yes后继续安装,使用该选项后默认所有回答都是yes

配置yum源的配置文件

首先进入 /etc/yum.repo/ 目录下,可以发现里面的文件都是以repo结尾的,删除所有文件,新创建一个repo文件

Linux基础-软件包的管理_第6张图片

repo文件具体内容如下:

[rhel7-yum]			#yum源名称,唯一的,用来区分不同的yum源
name=rhel7-source		#对yum源描述信息
baseurl=file:///mnt		#yum源的路径(repodata目录所在的目录)
enabled=1			#为1,表示启用yum源
gpgcheck=0			#为0,表示不使用公钥检验rpm的正确性

ok,下面使用我们的yum安装zsh.

Linux基础-软件包的管理_第7张图片

在查看一下

Linux基础-软件包的管理_第8张图片

OK,No problem!


yum和rpm的区别

        rpm是由红帽公司开发的软件包管理方式,使用rpm我们可以方便的进行软件的安装、查询、卸载、升级等工作。但是rpm软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个rpm包组成时。

       rpm 是linux的一种软件包名称,以.rmp结尾,安装的时候语法为:rpm -ivh,rpm包的安装有一个很大的缺点就是文件的关联性太大,有时候装一个软件要安装很多其他的软件包,很麻烦,所以为此RedHat小红帽开发了yum安装方法,他可以彻底解决这个关联性的问题,很方便,只要配置两个文件即可安装,安装方法是:yum -y install ,yum并不是一中包,而是安装包的软件

       yum是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

       简单点说, rpm 只能安装已经下载到本地机器上的rpm 包. yum能在线下载并安装rpm包,能更新系统,且还能自动处理包与包之间的依赖问题,这个是rpm 工具所不具备的。


你可能感兴趣的:(Linux)