Linux软件包管理之yum在线管理

Stella981
• 阅读 440

目录


  上一篇博客我们介绍了rpm包管理之rpm命令管理,我们发现在使用rpm命令手动安装rpm包的时候,会发现安装遇到到的依赖让你痛不欲生,安装一个rpm时会要先先安装某个依赖的rpm,而安装这个依赖的rpm包是可能又必须先安装它所依赖的。在实际操作中,我们肯定是不会使用rpm命令手动安装软件包的,更简单的方法就是这篇博客我们将介绍RPM包管理——yum在线管理。

回到顶部

1、yum在线管理

  yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。 

  从上面的解释我们可以看到yum管理是从指定的服务器(网络yum源)下载,所以必须要有网络或者自己手动配置一个本地yum源(不需要网络,后面会讲解如何手动配置),而且最关键的是yum能帮我们解决依赖性关系。

回到顶部

2、网络 yum 源

  在安装好的Linux系统中,进入到 /etc/yum.repos.d/ 目录:

  Linux软件包管理之yum在线管理

  一般来讲,以 .repo 结尾的文件都是yum源。如果能联网,会使用CentOS-Base.repo作为默认的yum源,如果不能联网我们使用 CentOS-Media.repo 作为本地光盘yum源。

  通过vim 命令打开 CentOS-Base.repo:

  Linux软件包管理之yum在线管理

  查看红色框住的内容:

  Linux软件包管理之yum在线管理

  mirrorlist和baseurl的地址就是用来下载rpm包的地址,我们使用其中一个就好了。由于默认的地址都是国外的网站,如果嫌网速慢的话,可以更改为国内的yum源地址。

  比如阿里的:http://mirrors.aliyun.com/repo/Centos-7.repo

回到顶部

3、光盘 yum 源搭建步骤

①、挂载光盘

  Linux软件包管理之yum在线管理

②、让网络 yum 源失效

  原理就是让以 .repo 文件都不存在。这里我们将 /etc/yum.repos.d 目录下的 .repo 文件都重命名为.repo.bak

  Linux软件包管理之yum在线管理

③、修改光盘yum源文件

  也就是修改上面的 CentOS-Media.repo 文件。

  Linux软件包管理之yum在线管理

  Linux软件包管理之yum在线管理

④、输入yum list 可以查看光盘yum源里面的软件包

  Linux软件包管理之yum在线管理

回到顶部

4、常用的 yum 命令

①、查询所有可用软件包列表:yum list

  Linux软件包管理之yum在线管理

  注意:此命令是在配好的yum源服务器上去查询所有可用的软件包

②、查询服务器上和关键字相关的软件包:yum search 关键字

  Linux软件包管理之yum在线管理

③、yum 安装软件包:yum -y install 包名

  选项: -y   表示自动回答 yes(如果不加,每安装一个软件都会让你确认是否安装)

     install   表示安装

  范例:这里以安装编译器 gcc 为例(后面演示安装源码包必须要用到此编译器):yum -y install gcc

  没有报错,出现如下安装信息则说明安装成功:

  Linux软件包管理之yum在线管理

  或者在安装完成之后,输入 rpm -q gcc 弹出如下界面表示安装成功:

  Linux软件包管理之yum在线管理

④、yum 升级软件包:yum -y update 包名

  注意:如果不指定包名,那么将会升级系统中所有的软件包,包括Linux内核。而Linux内核升级之后是需要在本地进行一些配置才能开机,如果是远程连接服务器进行Linux内核升级,那么是不可能启动服务器的。

⑤、yum 卸载软件包:yum -y remove 包名

  注意:卸载和升级也一样,而且由于软件包很多都有依赖性,你卸载A,而B和C都依赖于A,那么B和C都会卸载。假如C和Linux某个系统软件有依赖,而C也卸载掉了,可能造成某个系统功能不能使用。所以我们在卸载软件的时候一定要注意。

回到顶部

5、yum软件组管理

  Linux软件包管理之yum在线管理

  安装某个软件组,会比我们一个一个安装某个软件包要方便的多。

  Linux软件包管理之yum在线管理

  这是在远程的桌面显示的是中文信息,如果直接进入服务器查询,显示的便是英文,我们需要什么直接安装即可。

回到顶部

6、总结

  本篇博客我们讲解了网络yum源和光盘yum源的搭建步骤,然后详细介绍了相关的yum命令,yum 最重要的解决了软件包依赖性问题。在安装软件时,我们使用yum命令将会简单方便很多,下篇博客我们将介绍源码包以及如何安装源码包。

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Easter79 Easter79
2年前
swap空间的增减方法
(1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
2年前
Java获得今日零时零分零秒的时间(Date型)
publicDatezeroTime()throwsParseException{    DatetimenewDate();    SimpleDateFormatsimpnewSimpleDateFormat("yyyyMMdd00:00:00");    SimpleDateFormatsimp2newS
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这