RHCE(RHCSA复习:npm、dnf、源码安装实验)

devtools/2025/3/17 17:46:48/

七、软件管理

7.1 rpm 安装

7.1.1 挂载

[root@localhost ~]# ll /mnt
total 0
drwxr-xr-x. 2 root root 6 Oct 27 21:32 hgfs[root@localhost ~]# mount /dev/sr0 /mnt   #挂载
mount: /mnt: WARNING: source write-protected, mounted read-only.
[root@localhost ~]# [root@localhost ~]# ll /mnt    #挂载后再次查看,里面是 ISO 镜像的内容
total 44
drwxr-xr-x. 1 root root  2048 Oct 25  2023 AppStream
drwxr-xr-x. 1 root root  2048 Oct 25  2023 BaseOS
drwxrwxr-x. 1 root root  2048 Oct 25  2023 EFI
-r--r--r--. 1 root root  8154 Oct 25  2023 EULA
-r--r--r--. 1 root root  1455 Oct 25  2023 extra_files.json
-r--r--r--. 1 root root 18092 Oct 25  2023 GPL
drwxrwxr-x. 1 root root  2048 Oct 25  2023 images
drwxrwxr-x. 1 root root  2048 Oct 25  2023 isolinux
-r--r--r--. 1 root root   103 Oct 25  2023 media.repo
-r--r--r--. 1 root root  1669 Oct 25  2023 RPM-GPG-KEY-redhat-beta
-r--r--r--. 1 root root  3682 Oct 25  2023 RPM-GPG-KEY-redhat-release

AppStream、BaseOS:rpm包的所在目录,是 Red Hat 系列操作系统中的软件仓库分类

7.1.2创建/rpm目录,将/mnt下的仓库拷贝到/rpm下

#新建一个目录,将AppStream、BaseOS拷贝
[root@localhost ~]# mkdir /rpm   
[root@localhost ~]# cp /mnt/AppStream/ /rpm/ -r#拷贝需要时间,因此要新建一个xshell连接该虚拟机,将BaseOS也拷贝过来
[root@localhost ~]# cp /mnt/BaseOS/ /rpm/ -r

将AppStream、BaseOS作为仓库,供后面的DNF来使用

7.1.3 查看/rpm下的信息

[root@localhost ~]# ll /rpm       #列出位于 /rpm 目录下的文件和子目录的详细信息。
total 0
drwxr-xr-x. 4 root root 38 Mar 15 11:40 AppStream
drwxr-xr-x. 4 root root 38 Mar 15 11:41 BaseOS[root@localhost ~]# tree /rpm    #以树状图的形式列出指定目录( /rpm)下的所有文件和子目录,以及它们的嵌套层次。

7.1.4 切换路径到/rpm/BaseOS/Packages/,查看后发现有大量的软件包

[root@localhost ~]# cd /rpm/BaseOS/
[root@localhost BaseOS]# ll   #/rpm/BaseOS下有两个包Packages、repodata
total 92
drwxr-xr-x. 2 root root 61440 Mar 15 11:41 Packages
drwxr-xr-x. 2 root root  4096 Mar 15 11:41 repodata
[root@localhost BaseOS]# cd Packages/
[root@localhost Packages]# ll
total 1310536
-r--r--r--. 1 root root     84797 Mar 15 11:41 accel-config-3.5.3-2.el9.i686.rpm
-r--r--r--. 1 root root     81657 Mar 15 11:41 accel-config-3.5.3-2.el9.x86_64.rpm
-r--r--r--. 1 root root     54604 Mar 15 11:41 accel-config-libs-3.5.3-2.el9.i686.rpm
-r--r--r--. 1 root root     54176 Mar 15 11:41 accel-config-libs-3.5.3-2.el9.x86_64.rpm

7.1.5 如果我们要安装zsh-5.8-9.el9.x86_64.rpm包,则使用下面的命令

root@localhost Packages]# rpm -i zsh-5.8-9.el9.x86_64.rpm
#-i:这个选项表示你想要安装一个新的 RPM 包。它告诉 rpm 命令执行安装操作。[root@localhost Packages]# rpm -qa | grep zsh
#查询系统中所有已安装的 RPM 包,并过滤出名称中包含 "zsh" 的包。
#-qa 中的 -q 表示查询模式,而 -a 则表示所有包。

7.1.6 删除该包

[root@localhost Packages]# rpm -e zsh
#-e:卸载

dnf__86">7.2 dnf 本地安装

dnf_87">7.2.1 切换路径到/etc/yum.repos.d/,清空仓库,为演示dnf安装做准备

[root@localhost Packages]# cd  /etc/yum.repos.d/                             #cd /etc/yum.repos.d/:这一步将当前工作目录更改到 /etc/yum.repos.d/,这是存放 YUM(Yellowdog Updater, Modified)仓库配置文件的目录。
[root@localhost yum.repos.d]# ll
total 8
-rw-r--r--. 1 root root 358 Nov  2 10:02 redhat.repo
-rw-r--r--. 1 root root 113 Nov  2 10:00 rpm.repo
[root@localhost yum.repos.d]# rm -rf *
[root@localhost yum.repos.d]# ll
total 0
[root@localhost yum.repos.d]# cd[root@localhost ~]# dnf install http -y
Updating Subscription Management repositories.
Unable to read consumer identityThis system is not registered with an entitlement server. You can use subscription-manager to register.Error: There are no enabled repositories in "/etc/yum.repos.d", "/etc/yum/repos.d", "/etc/distro.repos.d".
#该错误表明 DNF/YUM 在尝试查找软件包进行安装时,未能找到任何已启用的软件仓库。这通常是因为 /etc/yum.repos.d/ 目录中没有任何有效的 .repo 文件,正如之前命令中所做的那样清空了该目录。

在这里插入图片描述

注意:前面还有步骤:7.1.1、7.1.2

7.2.2 定义仓库bendi.repo,一般在/etc/yum.repos.d/目录下

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ll
total 4
-rw-r--r--. 1 root root 358 Mar 15 15:58 redhat.repo
[root@localhost yum.repos.d]# vim bendi.repo
[root@localhost yum.repos.d]# cat bendi.repo
[baseos]
name=baseos
baseurl=/rpm/BaseOS
gpgcheck=0
[appstream]
name=appstream
baseurl=/rpm/AppStream
gpgcheck=0

7.2.3 安装

[root@localhost ~]# dnf install httpd -y
Updating Subscription Management repositories.
Unable to read consumer identityThis system is not registered with an entitlement server. You can use subscription-manager to register.baseos                                                      133 MB/s | 2.0 MB     00:00    
appstream                                                   150 MB/s | 6.5 MB     00:00    
Dependencies resolved.
============================================================================================Package                    Architecture   Version                  Repository         Size
============================================================================================
Installing:httpd                      x86_64         2.4.57-5.el9             appstream          52 k
#软件包名                     架构信息        具体版本                  从 appstream 仓库安装                    

dnf_151">7.3 dnf网络仓库安装

7.3.1 删除bendi.repo,为网络安装做准备

[root@localhost yum.repos.d]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ll
total 8
-rw-r--r--. 1 root root 113 Mar 15 16:24 bendi.repo
-rw-r--r--. 1 root root 358 Mar 15 15:58 redhat.repo
[root@localhost yum.repos.d]# rm -rf bendi.repo

在这里插入图片描述

注意:前面还有步骤:7.1.1、7.1.2,然后将本地仓库换成下文中的网络仓库

7.3.2 编写网络仓库

[root@localhost yum.repos.d]# vim wangluo.repo
[root@localhost yum.repos.d]# cat wangluo.repo
[baseos]
name=baseos
baseurl=http://47.108.86.156/rhel9.0/x86_64/dvd/BaseOS/
gpgcheck=0
[appstream]
name=appstream
baseurl=http://47.108.86.156/rhel9.0/x86_64/dvd/AppStream
gpgcheck=0#http://47.108.86.156/rhel9.0/x86_64/dvd/BaseOS/和http://47.108.86.156/rhel9.0/x86_64/dvd/AppStream是网络连接,
#baseurl:这个参数指定了软件仓库的 URL 地址。在这个例子中,baseurl 设置为http://47.108.86.156/rhel9.0/x86_64/dvd/BaseOS/ 和 http://47.108.86.156/rhel9.0/x86_64/dvd/AppStream/,这意味着 DNF 将从这个远程服务器上下载所需的软件包。

7.3.3 查看网络仓库

[root@localhost yum.repos.d]# cd
[root@localhost ~]# dnf repolist    #列出所有已启用的仓库,意味着 DNF 可以从这些仓库下载和安装软件包。
Updating Subscription Management repositories.
Unable to read consumer identityThis system is not registered with an entitlement server. You can use subscription-manager to register.repo id                                       repo name
appstream                                     appstream
baseos                                        baseos
#repo id:仓库的唯一标识符,在你的配置文件中对应于方括号内的名称,例如 [baseos] 和 [appstream]。
#repo name:仓库的描述性名称,对应于 .repo 文件中的 name 字段。

7.3.4 下载

[root@localhost ~]# dnf install vsftpd -y

http://www.ppmy.cn/devtools/167886.html

相关文章

Hive SQL 精进系列:REGEXP_REPLACE 函数的用法

目录 一、引言二、REGEXP_REPLACE 函数基础2.1 基本语法参数详解2.2 简单示例 三、REGEXP_REPLACE 函数的应用场景3.1 去除特殊字符3.2 统一字符串格式 四、REGEXP_REPLACE 与 REPLACE 函数的对比4.1 功能差异4.2 适用场景 五、REGEXP_REPLACE 与 REGEXP 函数的对比5.1 功能差异…

Java-servlet(六)详细讲解Servlet-Web.xml标签知识

Java-servlet(六)详细讲解Servlet-Web.xml标签知识 前言一、servlet标签标签概念标签结构及示例子标签含义更多用法示例 二、servlet-mapping标签标签概念标签结构及示例子标签含义更多用法示例URL 模式匹配规则 三、init-param标签标签概念标签结构及示…

​​​​​​​大语言模型安全风险分析及相关解决方案

大语言模型的安全风险可以从多个维度进行分类。 从输入输出的角度来看,存在提示注入、不安全输出处理、恶意内容生成和幻觉错误等风险; 从数据层面来看,训练数据中毒、敏感信息泄露和模型反演攻击是主要威胁; 模型自身则面临拒绝服务和盗窃的风险; 供应链和插件的不安全引…

微信小程序接入deepseek

先上效果 话不多说&#xff0c;直接上代码&#xff08;本人用的hbuilder Xuniapp&#xff09; <template><view class"container"><!-- 聊天内容区域 --><scroll-view class"chat-list" scroll-y :scroll-top"scrollTop":…

LabVIEW VI Scripting随机数波形图自动生成

通过LabVIEW VI Scripting 技术&#xff0c;实现从零开始编程化创建并运行一个随机数波形监测VI。核心功能包括自动化生成VI框架、添加控件与函数、配置数据流逻辑及界面布局优化&#xff0c;适用于批量生成测试工具、教学模板开发或复杂系统的模块化构建。通过脚本化操作&…

文件解析漏洞靶场---解析详解

⽂件解析漏洞是由于中间件错误的将任意格式的⽂件解析成⽹⻚可执⾏⽂件&#xff0c;配合⽂件上传漏洞进⾏ GetShell的漏洞&#xff01; 一、IIS解析漏洞 3个 1. IIS6.X 2个 环境需求&#xff1a;windows2003iis6 安装windows2003&#xff1b; 安装iis&#xff1a;控…

k8s系统学习路径

学习 Kubernetes&#xff08;K8s&#xff09;需要循序渐进&#xff0c;结合理论知识和实践操作。以下是学习 Kubernetes 的推荐步骤&#xff1a; 1. 先决条件 • 掌握容器基础&#xff1a;先学习 Docker&#xff0c;理解容器化概念&#xff08;镜像、容器、仓库&#xff09;、…

【蓝桥杯每日一题】3.16

&#x1f3dd;️专栏&#xff1a; 【蓝桥杯备篇】 &#x1f305;主页&#xff1a; f狐o狸x 目录 3.9 高精度算法 一、高精度加法 题目链接&#xff1a; 题目描述&#xff1a; 解题思路&#xff1a; 解题代码&#xff1a; 二、高精度减法 题目链接&#xff1a; 题目描述&…