Linux_红帽8学习笔记分享_6

news2024/9/22 17:30:42

Linux_红帽8学习笔记分享_6

文章目录

  • Linux_红帽8学习笔记分享_6
  • 1. RPM软件包的使用技巧
    • 1.1如何查询指定软件包是否安装
    • 1.2如何删除指定软件包
    • 1.3如何安装指定软件包
    • 1.5依赖关系
  • 2. YUM软件仓库的配置及使用
    • 2.1修改YUM软件仓库的配置文件
  • 3.YUM常见命令使用技巧
    • 3.1查询指定软件包
    • 3.2查询指定软件的详细信息(可判断该软件包是否安装 )
    • 3.3如何安装指定的软件包
    • 3.4如何删除指定的软件包
    • 3.5以分组的形式显示包是否安装软件包
    • 3.6使用分组的方式安装软件包
    • 3.7使用分组的方式删除软件包
    • 3.8查询源头/追根溯源
    • 3.9查看历史
  • 4.通过指定的HTTP或FTP服务器设置YUM软件仓库源
  • 5.YUM软件仓库的命令配置方法
    • 5.1 使用yum - config-manager--add-repo
    • 5.2使用yum - config-manager--add-repo却不在第五行写gpgcheck=0
  • 6.通过真实的Centos8服务器作为YUM软件仓库源
  • 7.YUM软件仓库源错误的解决方法

1. RPM软件包的使用技巧

1.1如何查询指定软件包是否安装

我们在安装一个软件的时候,必须要有.rpm文件,我们来到BaseOS/Packages这个目录,如下图所示看到这个目录下全都是.rpm文件


在这里插入图片描述

如上图所示,大概有1600多个

在这里插入图片描述

同样的BaseOS/Packages这个目录也有接近5000个rpm文件。

我们使用rpm –q 目标软件包指令来查看目标是否被安装,如果目标软件包已经被安装了,它会返回这个软件包的安装版本。如果目标安装包没有被安装,它会显示not install。如下图所示。

在这里插入图片描述

1.2如何删除指定软件包

我们使用rpm –e 目标软件包指令来删除目标项,如下图所示。

在这里插入图片描述

我们在用-q参数查询这个软件包

在这里插入图片描述

1.3如何安装指定软件包

注意:保证在Packages目录下有需要安装的rpm包

我们以安装来cifs-utils做一个测试,首先我们发现当前Packages下没有这个文件,如下图所示。

在这里插入图片描述

我们去另一个Packages下查看是否有该软件包,如下图所示。

接下来我们使用-ivh参数对目标软件包进行安装,其中i是install代表安装,v代表显示安装过程信息和详细的步骤信息,h代表安装进度条,我们安装cifs-utils,如下图所示。

在这里插入图片描述

接下来使用-q参数查看是否安装上了,如下图所示。

在这里插入图片描述

1.5依赖关系

在这里插入图片描述

如上图所示,出现了名为Failed dependencies的错误,它就是因为依赖关系而导致的错误,如果想要解决这种错误的话,我们需要先将它所被依赖的两个包或者另外的多个包手动删除掉,再删除你本要删除的这个目标软件包。

2. YUM软件仓库的配置及使用

2.1修改YUM软件仓库的配置文件

yum的全称是yellow dog updater,modified,在RHEL8下yum等同于dnf命令,但dnf可以并行的安装软件,而yum不会。

有三点要注意:一定要将目录切换到YUM软件仓库的工作目录/etc/yum.repos.d/下才有效;工作目录下的配置文件必须以.repo结尾;工作目录下的repo文件,有且只有一个。

首先我们找到工作目录下,并把工作目录下所有的repo文件放到back up文件夹中,如下图所示。

在这里插入图片描述

接下来创建并且编写我们自己的repo文件,写入软件仓库的名字,软件仓库的全称,软件仓库的绝对路径,软件仓库的激活,不校验软件包(其中file://是本地文件传输协议,后面的第三个/是本地路径用到的/)(如果不是本地地址是网络地址,那就根据它的需求来写,是HTTP服务器还是FTP等等其他服务器)如下图所示。

在这里插入图片描述

写完配置文件我们可以使用清空缓存的操作,如下图所示。

在这里插入图片描述

让Linux根据你写的配置文件进行重新计算一下当前的软件仓库,如下图所示,他记录了这个软件仓库的名字,它的全称,其软件包个数。

在这里插入图片描述

这个操作它同时还把我们之间各个软件包的依赖关系也给一并计算了。在进行了yum repolist操作之后,它会自动生成一个repo文件,如下图所示,这个文件内的内容全都是用注释写的,相当于没有这个文件。

在这里插入图片描述

接下来我们将appstream内容添加进去,如下图所示。

我们再次进行缓存清理和重新计算,如下图所示,出现了两个软件仓库。

在这里插入图片描述

3.YUM常见命令使用技巧

3.1查询指定软件包

我们使用search参数来查看这个软件包是否存在,它使用时对所在目录是否为工作目录不做限制,如下图所示,但是它不能查看该软件包是否被安装,要看安装没安装需要使用-q参数。

在这里插入图片描述

3.2查询指定软件的详细信息(可判断该软件包是否安装 )

我们使用info参数,如下图所示。

在这里插入图片描述
如上图,如果看到了Installed Packages就是代表这个软件包已经被安装了。

如果看到的是Available Packages就是代码这个软件包未安装,如下图所示。

3.3如何安装指定的软件包

我们使用-y install这个参数,其中-y表示不进行交互直接选择确定,如下图所示。
在这里插入图片描述
我们在使用info来插手是否被安装,发现已经是Installed Packages了,如下图所示。
在这里插入图片描述

3.4如何删除指定的软件包

我们使用erase参数来进行删除,如下图所示。

在这里插入图片描述

在删除之后,在使用info进行查询,它又重新变成了Available Packages,如下图所示。
在这里插入图片描述

对于有依赖关系的httpd的软件包,我们使用rpm –e删除不了,如下图所示。

在这里插入图片描述

我们使用yum –y ereas删除,如下图所示,它将所有互相依赖的软件包全部删除掉了,总共删除掉了47个互相之间有依赖关系的软件包


在这里插入图片描述

在删除之后,在使用info进行查询,它又重新变成了Available Packages,如下图所示。

在这里插入图片描述

使用rpm –q参数进行查询,也是显示未安装该软件包,如下图所示。

在这里插入图片描述

3.5以分组的形式显示包是否安装软件包

我们使用yum grouplist来查看,如下图所示。

在这里插入图片描述

显示的有可以获取安装的环境组和普通组

3.6使用分组的方式安装软件包

我们以Development Tools来做测试,使用yum -y groupinstall ‘目标软件包’来安装,操作如下图所示。

在这里插入图片描述

在安装完成后,我们再次使用grouplist查看,我们会发现刚刚安装的Development Tools被放在了已安装的组内,如下图所示。

在这里插入图片描述

3.7使用分组的方式删除软件包

我们使用yum -y groupremove ‘目标软件包’来删除,如下图所示。

在这里插入图片描述

在这里插入图片描述

我们在使用yum grouprlist查看运一下,如下图所示,它又回到了未安装的组内。

在这里插入图片描述

3.8查询源头/追根溯源

yum whatprovides/etc/passwd等效于yum provides/etc/passwd

追根操作必须是在yum软件仓库配好的情况下才可以进行。

在这里插入图片描述

如上图所示,passwd是在setup这个包里,如果这个包被安装了的话,这个文件就有了

3.9查看历史

它会把我们刚刚输入的yum命令给列出来,如下图所示。

在这里插入图片描述

4.通过指定的HTTP或FTP服务器设置YUM软件仓库源

我们来到/etc/yum.repos.d/的目录下,它有两个.repo文件,其中redhat内容都是注释,相当于没有该文件

在这里插入图片描述

我们使用vim编辑器查看并且使用repolist查看rhel_dvd.repo的两个仓库,如下图所示。

在这里插入图片描述

它的软件仓库的位置是在http服务器上,如下图所示。

在这里插入图片描述

在http上的软件仓库我们也可以安装软件包,如下图所示httpd未安装。

在这里插入图片描述

我们来安装它,如下图所示。

在这里插入图片描述

在这里插入图片描述

接下来我们使用rpm –q参数来查看是否成功安装,如下图所示。

在这里插入图片描述

接下来我们把目录下的.repo文件移入一个文件夹中去,我们来写自己的.repo文件,如下图所示。

在这里插入图片描述

注意:现在这样的情况下,如果没有依赖关系删除包可以运行,但如果有依赖关系删除包会出错,现在这样的情况下安装包也会出错。

我们在编写自己的repo之前一定要保证自己的servera能ping通content.example.com,如下图所示。

在这里插入图片描述
我们编写的内容如下图所示。
在这里插入图片描述

之后我们清空缓存,重新计算一下软件仓库,如下图所示。

在这里插入图片描述

如上图,我们可以看到我们有两个软件仓库,一个是app一个是base。接下来,我们安装软件包,发现vsftpd没有被安装,我们安装它,如下图所示。

在这里插入图片描述

我们使用rpm –q来查看是否被成功安装,如下图所示。

在这里插入图片描述

它已经被成功安装,特别的点是我们的软件仓库的baseurl用的是HTTP服务器。

5.YUM软件仓库的命令配置方法

我们想要安装一个yum-config-manager包,我们使用provides来查找一下这个软件包在哪里,如下图所示。

在这里插入图片描述

接下来我们找一下这个地址的具体位置,如下图所示。

在这里插入图片描述

我们直接使用ivh安装一下,如下图所示。

在这里插入图片描述

之后我们在输入yum-config-manager的时候,按下Tab键就可以自动补齐了,说明已经软件包安装上了,manager工具可以使用了。

我们来到工作目录下,将目录下的.repo文件都移入新建的backup文件夹中。

在这里插入图片描述

5.1 使用yum - config-manager–add-repo

我们使用yum - config-manager–add-repo来配置我们的软件仓库,如下图所示。
在这里插入图片描述
我们使用vim编辑器进入content_rhel8.0_x86_64_dvd_BaseOS. repo这个.repo文件中,为它的最后一行加入gpgcheck=0,如下图所示。
在这里插入图片描述

我们使用clean来清除存缓,使用repolist来重新计算软件仓库,如下图所示,这个content_rhel8.0_x86_64_dvd_BaseOS. repo软件仓库已经被成功创建了。

在这里插入图片描述

接下来我们添加content rhel8.0 x86 64 dvd Appstream.repo,操作如同上次一样如下图所示。

在这里插入图片描述
我们使用vim编辑器进入content rhel8.0 x86 64 dvd Appstream.repo这个.repo文件中,为它的最后一行加入gpgcheck=0,如下图所示。
在这里插入图片描述
我们使用clean来清除存缓,使用repolist来重新计算软件仓库,如下图所示,foundation0就有两个数据仓库了。
在这里插入图片描述

注意:使用yum - config-manager–add-repo这个指令时,你需要对新加入的软件仓库,使用vm进行编辑,加上最后一句gpgcheck=0。使用这个捷径的方法,它根据你给的地址会独立的生成一个repo文件,而我们手写的repo文件,一般都是把几个软件仓库集成在一个文件里写。

接下来我们将地址换为网络地址,首先我们要在foundation0的机器上ping一下foundation0.ilt.example.com,看一下是否连通,如果连通才能继续下一步操作,如下图所示。

在这里插入图片描述

我们将这个文件夹内有的repo文件移到新创建的backup1文件夹中去,如下图所示。

在这里插入图片描述

接下来我们使用便捷方法来添加这个网络地址的软件仓库,并清理缓存重新计算软件仓库,如下图所示可见它被成功生成了。

在这里插入图片描述

我们用同样的方式生成foundatione.ilt.example. com_rhel8.0_x86_64_dvd_Baseos. repo,如下图所示。

在这里插入图片描述

5.2使用yum - config-manager–add-repo却不在第五行写gpgcheck=0

我们安装一下autofs,发现它提示我们没有key,如下图所示。

在这里插入图片描述

而这件事的原因就是APPStream和BaseOS没有写gpgcheck=0,如下图所示。

在这里插入图片描述

在这里插入图片描述

我们为他俩补上,并清除存缓重新计算,如下图所示。

在这里插入图片描述

我们再次查看autofs的状态,如下图所示,是可以被获取的。

在这里插入图片描述

我们安装它,如下图所示。

在这里插入图片描述

在这里插入图片描述

我们再使用rpm或者yum的查看指令,发现它成功被安装了,如下图所示。

在这里插入图片描述

6.通过真实的Centos8服务器作为YUM软件仓库源

我们首先要保证Linux是连接外网的情况下,打卡华为镜像网站,如下图所示。

在这里插入图片描述

找到Centos,点击它,在弹出的窗口上点击继续使用,会出现如下图所示内容。

在这里插入图片描述

我们复制执行命令后面的https://的内容,粘贴到上方网址搜索栏中,把内容下载下来,如下图所示。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aZBByvHc-1682243160401)(E:\考核与考试资料\md笔记\所有md文件的图片\image-20230420153302582.png)]

我们用记事本打开这个repo文件发现都是写好的软件仓库,如下图所示。

在这里插入图片描述

我们可以使用FileZilla把这个文件传输到我们的工作目录下,注意:在拷贝前,要先将原来的配置文件做一个备份。

之后我们就可以清除存缓,重新计算软件仓库,去使用这些软件仓库来安装软件包了

7.YUM软件仓库源错误的解决方法

如果在在装包和删包的时候提升错误,这个是因为yum.PID的错误,我们需要按照提示,找到那个目录下的文件使用rm –f 把这个PID文件删除掉即可


以上就是本文全部内容,如果它对您有帮助,请您帮我点个赞,这对我真的很重要

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

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

相关文章

Django框架之创建项目、应用并配置数据库

django3.0框架创建项目、应用并配置数据库 创建项目 进入命令行 新建一个全英文的目录 进入目录 输入命令 django-admin startproject project 项目目录层级 查看当前目录层级 tree /f 目录文件说明 创建数据库 做一个学生管理系统做演示,使用navicat创建数据…

【LPC55s69】使用FAL分区管理与easyflash变量管理

文章目录 1.FAL组件1.1什么是FAL1.2 使用ENV配置FAL1.3 FAL SFUD 移植1.4 FAL SFUD 测试用例1.5 测试结果 2.DFS文件系统2.1 什么是DFS2.2 DFS架构2.3 使用ENV配置DFS2.4 DFS挂载到FAL分区测试2.5 测试结果 3.Easyflash移植到FAL分区3.1 简述EasyFlash3.2EasyFlash软件包使用3.…

Docker的数据管理(dockerfile等)

文章目录 一、管理docker容器中数据1、 数据卷2、数据卷容器 二、容器互联(使用centos镜像)三、Docker 镜像创建1、基于现有镜像创建2、基于本地模板创建3、基于Dockerfile创建 四、Dockerfile操作常用的指令:五、Dockeerfile案例 一、管理docker容器中数…

HNU数据结构与算法分析-小班7

HNU数据结构与算法分析-小班7

【Python】可视化KITTI激光雷达点云绘制立体框

前言 最近在复现PointRCNN论文过程中发现没有可视化代码,于是查找资料找到了: pointRCNN 结果可视化——tiatiatiatia 按照参考链接下载代码【轮子库】并可视化成功了 mayavi库的学习 主要是利用了mlab模块: Mayavi2 旨在提供一个简单…

隐私计算商业化,原语科技的开源路线是否最优解?

2023年2月,《数字中国建设整体布局规划》出台,首次对我国数字中国建设提出了宏观规划。其中,尤为值得关注的是隐私计算领域。 隐私计算能够实现数据的所有权和使用权分离,可以在保护个人数据隐私安全的基础上,推动数字…

《Linux0.11源码解读》理解(一) 从开机到加载bootsec

计算机启动时, 内存(RAM)没有任何东西, 自然也无法跑操作系统. 但是可以执行固化在ROM里面的BIOS程序. 在按下电源键的一刻. CPU的cs和ip寄存器硬件被设置为0xf000和0xfff0, 于是cs:ip也就指向0xffff0这个地址, 而这个地址正是指向了ROM的BIOS范围(这里是0xfe000~0xfffff, 20根…

Zuul源码解析(二)

Zuul 的自动配置 ZuulProxyAutoConfiguration 如何触发 如上图,在 spring.factory 中配置 ZuulProxyAutoConfiguration 自动配置了,直接点进去 如上图所示,发现这有个条件注解,需要有 org.springframework.cloud.netflix.zuul.Zu…

Kubernetes 核心对象

Kubernetes 中的所有内容都被抽象为“资源”,如 Pod、Service、Node 等都是资源。“对象”就是“资源”的实例,是持久化的实体。Kubernetes 使用这些实体去表示整个集群的状态。它们主要描述了如下信息: 哪些容器化应用正在运行(…

ObjectARX中的坐标系以及坐标转换

1 AutoCAD中的坐标系种类 WCS World Coordinate System. The “reference” coordinate system. All other coordinate systems are defined relative to the WCS, which never changes. Values measured relative to the WCS are stable across changes to other coordinate s…

Nginx之正则表达式、location匹配简介以及rewrite重写

引言 在Nginx已经成为很多公司作为前端反向代理服务器的首选,在实际工作中往往会遇到很多跳转(重写URL)的需求。比如更换域名后需要保持旧的域名能跳转到新的域名上、某网页发生改变需要跳转到新的页面、网站防盗链等等需求。如果在后端使用的Apache服务器&#xff…

力扣---LeetCode203. 移除链表元素

文章目录 前言203. 移除链表元素链接方法一:直接删除1.1 注意:1.2 各种情况的流程图:方法二:遍历将非val的节点尾插2.1 流程图:2.2 注意: 总结 前言 你坚持的东西 总有一天会反过来拥抱你 本章的内容是力扣…

智安网络|数据安全问题频发,首推云墙·网站综合防御系统

近期,企业数据安全问题频发,数据安全依旧是企业目前面临的重大风险之一。作为网络安全公司,智安网络以专业的技术团队和丰富的行业经验,为企业和个人提供安全可靠的数据保护服务 案例一: 大学生学习软件超星学习通(下称…

JUC高级十二-ReentrantLock、ReentrantReadWriteLock、StampedLock

无锁→独占锁→读写锁→邮戳锁 1. 关于锁的大厂面试题 你知道Java里面有哪些锁?你说你用过读写锁,锁饥饿问题是什么?有没有比读写锁更快的锁?StampedLock知道吗?(邮戳锁/票据锁)ReentrantReadWriteLock有锁降级机制策略你知道吗&#xff1…

Spring的创建与Bean对象的存取

文章目录:一.Spring项目的创建1.先创建maven项目 2.添加国内源 3.添加spring依赖 4.创建spring配置文件 5.创建启动类 二.Bean对象的创建和读取1.Bean对象的创建与存储方式(1)类注解 (2)方法注解 (3&#x…

Java中的容器大杂烩-集合

Java中的容器大杂烩-集合 一、 集合引入二、集合框架体系三 、Collection 接口四 、List集合4.1 ArrayList类4.2 LinkedList类4.3 Vector类4.4 ArrayList 、 LinkedList 和 Vector区别 五 、Set集合5.1 HashSet类5.2 TreeSet5.3 LinkedHashSet类 六、List和Set区别七 、Map集合…

制造业巨头遭黑客勒索400万美元,企业如何防范勒索病毒攻击?

4月7日,台湾电脑制造商微星(简称MSI)发布公开声明,证实其部分网络信息系统遭受了勒索病毒攻击。一个名为“Money Message”的新网络黑客团伙称其从微星的网络系统中窃取了1.5TB的数据,其中包括微星数据库的屏幕截图、源…

YAML /Excel /CSV?自动化测试测试数据管理应用,测试老鸟总结...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 自动化测试无论是…

webhub123 前端技术社区和技术交流学习网站导航

整理了学习前端技术可以参考学习和技术交流的一些网站集合,全部收录到 webhub123 前端技术社区和技术交流学习网站导航http://​www.webhub123.com/#/home/detail?projectHashid30929575&ownerUserid22053727 整理后的效果如下,我们已经按照不同类…

React Props

state 和 props 主要的区别在于 props 是不可变的,而 state 可以根据与用户交互来改变。 所以,有些容器组件需要定义 state 来更新和修改数据。 而子组件只能通过 props 来传递数据。 props 使用 Demo.js : import React from reactfunct…