linuxOPS基础_yum详解

news2024/11/23 10:06:00

yum是如何安装软件的

在这里插入图片描述

  • yum仓库(也称yum源)用于存放各种rpm的软件包以及软件包之间的依赖关系(repodata目录)
  • 需要安装软件的计算机连接到指定yum仓库来安装软件包

yum源作用

软件包管理器,类似Windows下的软件管家

yum源优势

解决软件包之间的依赖关系,提高运维人员的工作效率。

yum源分类

本地yum源

所谓本地yum源是指yum仓库在本地,一般是本地系统光盘或镜像文件。

网络yum源

所谓网络yum源是指yum仓库在远程(不在本地),需要联网才能安装。

  • 国内较知名的网络源(aliyun源,163源,sohu源,知名大学开源镜像等)
  • 国外较知名的网络源(centos源、redhat源、红帽扩展epel源等)
  • 特定软件相关的网络源(Nginx、MySQL、Zabbix等)

yum源配置

以下操作系统以Centos 6.5为例,其他Linux系统类似。

本地yum源配置

挂载镜像到本地操作系统

#手动挂载光盘到指定目录
mount -o ro /dev/sr0 /mnt
# 开机自动挂载
echo "mount -o ro /dev/sr0 /mnt" >> /etc/rc.local
或者
echo "/dev/sr0 /mnt iso9660 defaults,ro 0 0" >> /etc/fstab

说明:

  1. /etc/rc.local文件是操作系统开机最后读取的一个文件,该文件需要有可执行权限,开机时系统会帮你自动挂载,建议使用该方式。

  2. /etc/fstab文件也可以,但是如果修改错误可能会导致系统起不来。

通过配置文件指定yum仓库

进入到指定目录里,清空操作系统默认的Centos源
[root@Heima ~]# cd /etc/yum.repos.d/
[root@Heima yum.repos.d]# rm -f ./*
在该目录下创建以.repo结尾的文件
[root@Heima yum.repos.d]# vim local.repo 
[local]					仓库的名字,不要有特殊符号(自定义)
name=local yum			仓库描述,可以不写
baseurl=file:///mnt		指定yum仓库的路径(重要),file://表示本地仓库
enabled=1					表示启用该仓库,1表示启用;0表示不启用
gpgcheck=0				不用校验仓库里软件包的签名,0表示不校验;1表示校验

网络yum配置

直接通过修改配置文件来指定yum仓库即可。
特定软件的网络源:

[root@Heima yum.repos.d]# cat nginx.repo 
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/$basearch/
gpgcheck=0
enabled=1

基本软件的网络源:
[root@Heima yum.repos.d]# cat 163.repo 
[163]
name=163 network yum
baseurl=http://mirrors.163.com/centos/6/os/x86_64/
enabled=1
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/6/os/x86_64/RPM-GPG-KEY-CentOS-6

[root@Heima yum.repos.d]# cat aliyun.repo 
[aliyun]
name=aliyun
baseurl=http://mirrors.aliyun.com/centos/6/os/x86_64/
enabled=1
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/6/os/x86_64/RPM-GPG-KEY-CentOS-6

通过安装软件包,自动创建.repo文件(自动配置)。

配置epel源为例:

1)下载epel源软件包

[root@Heima ~]# wget -P /tmp https://mirrors.aliyun.com/epel/6/x86_64/epel-release-6-8.noarch.rpm --no-check-certificate
--2019-02-20 09:42:41--  https://mirrors.aliyun.com/epel/6/x86_64/epel-release-6-8.noarch.rpm
Resolving mirrors.aliyun.com... 119.96.206.232, 116.211.153.230, 116.211.153.236, ...
Connecting to mirrors.aliyun.com|119.96.206.232|:443... connected.
WARNING: certificate common name “img.ucdl.pp.uc.cn” doesn’t match requested host name “mirrors.aliyun.com”.
HTTP request sent, awaiting response... 200 OK
Length: 14540 (14K) [application/x-redhat-package-manager]
Saving to: “/tmp/epel-release-6-8.noarch.rpm”

100%[================================================================================>] 14,540      --.-K/s   in 0.03s   

2019-02-20 09:42:41 (538 KB/s) -/tmp/epel-release-6-8.noarch.rpm” saved [14540/14540]

安装软件包

[root@Heima ~]# rpm -ivh /tmp/epel-release-6-8.noarch.rpm 
warning: /tmp/epel-release-6-8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Preparing...                ########################################### [100%]
   1:epel-release           ########################################### [100%]

检查配置文件

[root@Heima ~]# ls /etc/yum.repos.d/epel*
/etc/yum.repos.d/epel.repo  /etc/yum.repos.d/epel-testing.repo

yum工具相关命令

yum install package -y

默认是安装来自仓库里的软件,指定的是软件名字。多个包空格隔开;-y (取消交互)

# yum install ./xxx.rpm
或者
# yum localinstall ./xxx.rpm

安装来自本地指定路径下的rpm包,而不是来自仓库

yum remove 或者 erase package

卸载软件包

 yum update

更新仓库里所有比本机已经安装过的软件要的软件

yum update package

指定升级的软件

yum search mysql

搜索出所有软件名字“mysql”关键字的软件

 yum provides  "libaudiofile.so.0"

找出模块由哪些软件包提供

yum clean all

清空之前的yum列表缓存

yum makecache

创建新的缓存

yum list

列出仓库里的所有软件包

 yum repolist

列出已配置的软件仓库

 yum list |grep 关键字

@代表已经安装成功

yum list installed

查看已安装的包

yum grouplist

查看包组

yum groupinstall  "包组"

安装包组

yum groupremove "包组"

总结

  1. yum是Linux下用于安装rpm软件包的一个工具,要使用它安装软件包,必须提前配置yum源。

  2. yum源分为本地yum源和网络yum源。本地yum源指软件仓库在本地;网络yum源指软件仓库在远程。

  3. 软件仓库里既有软件包也要有repodata目录,即存放软件之间的依赖关系

  4. yum工具安装rpm软件包的最大优势就是解决软件包的依赖关系,提高工作效率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/644949.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

屋大维和王莽,同时同路不同命的双雄

汉朝与罗马,虽然他们相隔万里分布在欧亚大陆东西两端,但他们几乎同时成为世界性文明,分别都是当时世界上东西方最强大的所在。公元元年前后,这两个庞然大物内部都发生了一次巨变,罗马由共和制变为了元首制。而汉朝也由…

ThreadLocal引发的内存泄漏分析

预备知识(引用) Object o new Object(); 这个o,我们可以称之为对象引用,而new Object()我们可以称之为在内存中产生了一个对象实例。 当写下 onull时,只是表示o不再指向堆中object的对象实例,不代表这个…

chatgpt赋能python:Python在SEO排名中的重要性

Python在SEO排名中的重要性 Python作为一种开源、高级程序设计语言,在Web开发、科学计算、人工智能等领域得到了广泛应用。它的发展速度快、可扩展性强、易于学习和使用等特点,使得Python越来越受到开发者的欢迎,成为重要的编程语言之一。在…

Question Log(★ > 使用VsCode构建Unity 开发环境 )

★ > 使用VsCode构建Unity 开发环境 配置Vscode Unity 环境 官方文档 Unity Development with VS Code 1.The .NET Core SDK cannot be located: A valid dotnet installation could not be found. .NET Core debugging will not be enabled. Make sure the .NET Core SDK …

CVE-2023-0215

mysql 安全漏洞 生产版本:5.5 漏洞编号: CVE编号 CVE-2023-0215 CNNVD编号 CNNVD-202302-521 另外还有以下其他漏洞: 解决办法: 1.下载补丁需要CSI,买了oracle服务才可能会有这个认证码; 2.没有这个认证码&#…

从reflect?metadata理解Nest实现原理

目录 正文入口Module 引入模块CatsService操作数据库Reflect Metadata那元数据存在哪呢?nest 的源码:总结 正文 Nest 是 Node.js 的服务端框架,它最出名的就是 IOC(inverse of control) 机制了,也就是不需…

Mocha Pro:Track 模块

Track(跟踪)模块中提供了几组选项,进行适当设置之后再实施跟踪,可以得到更好的跟踪结果。 ◆ ◆ ◆ 模块选项说明 Input 输入 Clip 剪辑 选择要跟踪的素材。 --Input 输入 --Layer Below 图层下方 Track Individual Fields 跟…

零基础想转行做python爬虫及数据分析方向的程序员,有哪些书可以推荐?

学习Python语言是一个不错的选择,一方面Python的应用广泛,在大数据、人工智能、Web开发等领域有大量的使用,另一方面Python语言本身比较简单,非常适合初学者。 Python是完全可以自学的,如果英语基础还可以的话&#x…

有什么软件可以翻译文档?这几款文本翻译软件效果不错

随着世界的全球化,我们越来越需要通过语言进行跨文化交流。但是,不同国家和地区使用的语言却存在差异,这就需要我们掌握一些文本翻译技巧。那么,你是否想过如何实现文本翻译呢?在本文中,我们将给你介绍一些…

Linux:vi编辑器

Vi/vim是visual interface的缩写,是Linux中的文本编辑器,vim相当于是vi的加强版。 1、vi/vim编辑器的三种工作模式: 命令模式:连按两次y键,再按p键,表示复制粘贴当前行的内容;连按两次d键&#…

MySQL数据库---库基本操作 以及 表结构的操作(DDL)

目录 前言 一.数据库的操作 1.1显示当前数据库 1.2创建数据库 1.3使用数据库 1.4删除数据库 二.数据类型 2.1数值类型 2.2字符串类型 2.3日期类型 三.数据表的操作 3.1 创建表结构。 3.2查看数据库中拥有的数据表 3.3查看指定的表结构 3.4修改表结构 3.3删除表结构 …

2023-6-10-第五式原型模式

🍿*★,*:.☆( ̄▽ ̄)/$:*.★* 🍿 💥💥💥欢迎来到🤞汤姆🤞的csdn博文💥💥💥 💟💟喜欢的朋友可以关注一下&#xf…

vue3-实战-09-管理后台-SKU模块开发

目录 1-需求原型分析 2-功能模块开发 2.1-列表页面数据获取和展示 2.2-上架下架sku 2.3-更新sku信息 2.4-查看sku详情 2.5-删除sku 1-需求原型分析 列表页面就是el-card里面放置el-table结构,下面有个el-pagination组件显示分页器。点击查看详情的时候有个抽…

java SSM 学生住宿管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM 学生住宿管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采…

【指针数组】

指针数组 1. 指针运算1.1 指针-整数1.2 指针-指针1.3 指针的关系运算 2. 指针和数组3. 二级指针4. 指针数组 1. 指针运算 指针 整数 指针-指针 指针的关系运算 1.1 指针整数 #define N_VALUES 5 float values[N_VALUES]; float *vp; //指针-整数;指针的关系运算 …

基于Python的招聘信息可视化系统,附源码

文章目录 1 简介2 技术栈3 总体设计3.1 系统结构3.2 数据库设计3.2.1 数据库实体3.2.2 数据库表设计 4 运行设计4.1 招聘热门行业分析4.2热门岗位分析界面4.3招聘岗位学历分析界面4.4岗位分布分析界面 5 源码下载 1 简介 基于Python的招聘信息可视化系统,通过对招聘数据进行分…

界面开发框架Qt新手入门指南 - 使用Calendar组件创建日历(一)

Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写,所有平台无差别运行,更提供了几乎所有开发过程中需要用到的工具。如今,Qt已被运用于超过70个行业、数千家企业,支持数百万设备及应用。 本文中的CalendarWi…

docker ansible与剧本模式

ansible(跨主机编排) ansible 是一个基于python开发的配置管理和应用部署和管理工具,现在也在自动化管理领域大放异彩,他融合了众多老牌运维工具的优点,pubbet和saltstack能实现的功能,ansible基本上都可以…

antd-vue - - - - - table增加统计行?

table增加统计行 尝试一、footer & Summary使用summary尝试二、直接将统计行push进dataSource 第一次遇到这个需求,有点懵。 在【antd-v table】官网仔细看了一番,找到这么两个配置footer[表格尾部]和Summary[总结栏]  所以可以证明,你所…

TDEngine3.x数据查询及插入调优

一、数据库创建 vgroups 配置 如果不了解vgroup概念,建议到官网查看:TDEngine官网-数据模型和整体架构 从服务端配置的角度,要根据系统中磁盘的数量,磁盘的 I/O 能力,以及处理器能力在创建数据库时设置适当的 vgroups…