安装软件包的三种方法和rpm、yum工具使用

1、安装与卸载软件

 

在windows下安装一个软件很轻松,只要双击下载完成的.exe的文件,安装提示连续 “下一步” 即可。实际上,这个.exe文件是一个二进制的安装包。然而linux系统下安装一个软件似乎并不那么轻松了,因为我们不是在图形界面下,所以要学会如何在linux下安装一个软件。

 

Linux下的安装,有三种方法:

rpm工具,与Windows下的.exe文件类似

yum工具

源码包

 

2、rpm包介绍

 

b6dd4c2b5958885fa13b545d04725dcec37.jpg

 

RPM是 “Redhat Package Manager” 的缩写,根据名字也能猜到这是Redhat公司开发出来的。RPM 是以一种数据库记录的方式将所需要的套件安装到Linux 主机的一套管理程序。也就是说,linux 系统中存在着一个关于RPM的数据库,它记录了安装的包以及包与包之间依赖相关性。RPM包是预先在linux机器上编译好并打包好的文件,安装起来非常快捷。但是也有一些缺点,比如安装的环境必须与编译时的环境一致或者相当;包与包之间存在着相互依赖的情况;卸载包时需要先把依赖的包卸载掉,如果依赖的包是系统所必须的,那就不能卸载这个包,否则会造成系统崩溃。

 

首先,在下图所示位置,右击鼠标,选择“连接”,

34e35c38ff3bb69a7b79fb5b718f7126814.jpg

连接完成之后,如下图所示。这样光盘就和Linux系统连接起来了。

33fc4747bf00d97c2b40cc7b4f1d06747fe.jpg

接下来挂载光驱,见下图,

4cdf50a887ff23b733486e9e943bf7abd77.jpg

使用命令 df -h 查看,可以发现 /mnt/ 目录没有使用,可以将光盘挂载到 /mnt/ 目录下。挂载之后,会跳出提示”写保护,将以只读方式挂载“,这是因为光盘是只读的,不能编辑。

接下来进入 /mnt/ 目录,查看目录下内容,

3bf1256fd07d8a818840b73092ea845d4f7.jpg

这些文件和目录,就是光驱里面的内容,安装系统的时候,使用了这些文件。其中的 Packages ,输入命令 cd Packages ,回车,再输入命令 ls ,进入查看,见下图, 

9fdc5410dc9af646851bb45c4771856f166.jpg

出现非常多的红色 rpm 文件。

每一个rpm包的名称都由 - 和 . 分成了若干部分。就拿 “yp-tools-2.14-3.el7.x86_64.rpm” 这个包来解释一下, “yp-tools” 为包名, “2.14” 则为版本信息, “3.el7” 为发布版本号, “x86_64” 为运行平台。其中运行平台常见的有i386, i586, i686, x86_64 ,需要注意的是cpu目前是分32位和64位的,i386,i586和i686都为32位平台,x86_64则代表为64位的平台。另外有些rpm包并没有写具体的平台而是noarch,这代表这个rpm包没有硬件平台限制。例如 “yum-utils-1.1.31-40.el7.noarch.rpm”。CentOS 7没有区分32位和64位平台,默认全都是64位。64位平台可以安装32位的包,32位平台就不能安装64位的包。

 

3、rpm工具用法

 

安装rpm包,具体见下图,

61a2bb76f4d0a460045024989c5ebcbf2c0.jpg

升级安装包,后面跟的是新的rpm包名,不是图中所示的原rpm包名。卸载安装包后,不显示其他内容就说明卸载成功了。

 

输入命令 rpm -qa ,回车,见下图,

88f436e76a2ef7bd5934218c007d8fdb282.jpg

显示的都是已经安装过的包,这些包都是可以直接卸载的,举个例子,现在将这个包 ppp-2.4.5-33.el7.x86_64 卸载掉,见下图,

dce2fb1ed6ee3a80c3aca4f749a9810e139.jpg

可以看出,要想卸载 ppp 这个包,要先卸载 NetworkManager 这个包,要卸载 NetworkManager 这个包还要先卸载三个包 NetworkManager-tui 、NetworkManager-wifi 和 NetworkManager-team 。需要经过一系列的卸载,才能最终卸载 ppp 这个包,所以说 rpm 不太好用。

接下来查询安装包是否安装和安装包的详细信息,见下图,

5688afaebf08606621253101e3cb5ea49c6.jpg

接下来列出包安装的文件和查看文件是由哪个包安装的,见下图,

e1ffb6cdd6d5067d300389458c65930c984.jpg

分享一个比较特殊的命令,见下图,

42afe775987bd2238baa703770ed75e1ee2.jpg

要注意命令使用的是反引号,输入单引号会提示错误,反引号在键盘的”Esc“键下面。这种情况是命令在 /usr/bin/ 下,忘记安装包的绝对路径的时候,可以使用 which + 命令 来查看rpm包。后面的 ls 使用不成功,是因为 which ls 有两行内容,读取不正确。

 

4、yum工具

 

0342b436b920f6f147a0afdb03b14198128.jpg

前面说到rpm包卸载的时候,会提示先卸载依赖包。同样的,安装的时候也会提示有依赖。举个例子,见下图,

a4bb078b1df33e025fe1efb46bec33b5d67.jpg

安装上图的rpm包,还需要先安装4个包,而这4个包里面说不定还要依赖其他的包。总之,使用rpm工具安装非常麻烦。

所以这边就出现了yum工具,可以自动解决依赖关系,安装包的时候,只需要跟包名即可,安装一下上面那个包 texlive-2012-38.20130427_r30134.el7.x86_64.rpm ,见下图,

a0813054932d94314b11a0a1a6e17c1f78d.jpg

整个过程的内容比较多,有223个依赖软件包,yum都可以自动安装好,无法想象用rpm安装是什么样子。安装到后面会跳出询问,输入 n ,回车,

6b73fa3c40252204c92b732f3e74face912.jpg

 

输入命令 yum list ,回车,列出所有可用的rpm安装包,内容非常多,截取一部分,见下图,

6a00db549beb9c83f92d816a29c14287e11.jpg

左侧一列为包的名字和一些包的相关信息,中间一列为版本号和平台版本号,右侧一列为仓库名字。至于仓库名字是怎么来的?可以看下yum的配置文件,见下图,

5653f394c66ca9656072329d1edf6a37d36.jpg

cat命令输入完毕后,回车,

53cc460bbac5c0e0662427e503e47db4b78.jpg

5ba194bbdd2bc5d61bcbc81230da6413d49.jpg

上面红色框框即为仓库,用来存放rpm包。

yum还可以搜索包 ,举例子搜索一下vim,见下图,

38863e73b95b406042505d585162cf306b0.jpg

再来搜索一下network,见下图,

3be23b82698ac16aa24dc832bf84aa345fa.jpg

31856331ec3ca47af532c920b43fe7766bd.jpg

内容太多,只截取一部分,可以看出搜索的结果是不区分大小写的。但是结果也不精准,在包的名字不含network,只是说明里面含有network的情况也出现在搜索结果里。

 

接下来,使用更精准的搜索,见下图,

5ab117ca7674c58f70d57cec351b2a0ae81.jpg

输入命令 yum list |grep 'vim' ,回车,搜索的结果里面,包的名字都是包含vim的,并且还显示出红色。这边注意 |grep 中的 | 是管道符,非数字或字母。

 

安装包的命令 yum install,后面加 -y 就是不再询问是否安装,这个命令前面使用过多次,这边就不再详细说明。这边的询问,在文章最开始有出现过,我们输入的是n,如果在安装命令上加 -y,到后面就不会再出现询问。

 

接着查看组安装包 grouplist,见下图,

6806d56804052a6caf28059c7ec49094915.jpg

出现中文是因为一开始安装系统的时候,选了中文,也可以改成英文,见下图,

a9e263a6683f76ec55b9ae9b107d371ea44.jpg

举个例子,安装组  Virtualization Host ,输入命令 yum groupinstall 'Virtualization Host' ,回车,见下图, 

220b9b00d447c69c7285e6f20f33c94fe3a.jpg

内容非常多,就不一一截屏了,也不安装,所以在跳出询问的时候,输入 n ,回车。这边跳出询问是因为输入命令的时候,没有加上 -y 。

 

可以安装就可以卸载,举个例子,见下图,

7cc13dd9f576c9829224a5b010f99784482.jpg

2757552a51f6c32e335e364f6f6f34e5e6c.jpg

使用rpm -e 卸载的时候,会一直跳出结果让我们先卸载依赖包,而使用 yum remove 命令就不会询问了,而是直接将依赖包一起卸载掉,如果命令里面不加 -y ,就会跳出是否卸载的询问,这边做实验,就不卸载,所有还是输入 n ,回车。

 

yum 也可以升级包,使用命令 yum update + 包名,即可升级指定包。如果后面不加包名的话,默认会把系统里的所有包,全部升级到最新版本,甚至包括系统、内核。这个操作,一般是在刚安装完系统的时候使用。如果系统已经运行了一些服务,安装一些环境,这时候就不要随意升级,否则可能会出问题。

 

在使用 yum 安装命令的时候,有时候我们会不知道命令在哪一个安装包里,可以通过 provides 搜索,下图中 /*/vim 是一个通配,* 表示路径,

580ce69707c641b24b5ac9b3d3886215203.jpg

e9b89fed2ee6b44ba6a20864268081772f2.jpg

1fbfdca7ed49e2b624a367479708e6535ac.jpg

 

转载于:https://my.oschina.net/u/3867265/blog/1836173

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值