Linux高级管理——yum仓库服务

一、部署yum软件仓库:

借助于YLM软件仓库,可以完成安装.卸载、自动升级rpm软件包等任务。YUM的前身是YUP (Yellow dog Updater, Yellow dog Linux的软件更新器),最初由TSS公司(TerraSoft Solutions,INC.)使用Python语言开发而成.后来由杜克大学(Duck Uhiversity)的Linux开发队伍进行改进,命名为YUM (Yellow dog Updater ,Modified).

要成功使用YLUM机制来更新系统和软件.需要有一个包含各种rpm安装包文件及其依赖软件的软件仓库(repository),提供软件仓库的服务器也称为“源”服务器。在客户机中只要正确指定软件仓库的地址等信息.就可以通过对应的“源”服务器来安装或更新软件了。

1.1 准备网络安装源:
准备软件仓库目录
在CentOS 7系统的安装光盘中,已针对软件目录Packages建立好repodata数据,因此只要简单地将整个光盘中的内容通过HTTP或FTP进行发布.就可以作为软件仓库了。例如,可以创建/var /ftp/centos7目录,并确保有足够的可用空间(本例中建议大于5GB),然后将CentOS 7光盘中的所有数据复制到该目录下。

[root@xiao ~]# mount /dev/cdrom /mnt   ##挂载
[root@xiao ~]# rpm -ivh /mnt/Packages/vsftpd-3.0.2-25.el7.x86_64.rpm   ##安装vsftp服务[root@xiao ~]# mkdir -p /var/ftp/centos7
[root@xiao ~]# cp -rf /mnt/ /var/ftp/centos7

对于用户搜集的非CentOS 7光盘自带的更多其他软件包(必须包括存在依赖关系的所有安装文件),除了准备相应的目录之外.还需要手动创建repodata数据文件,这就要用到 createrepo工具(需要从CentOS 7光盘中安装)。例如.若已将作为源发布的其他 rpm 安装包文件存放到/var /ftp/other目录下,则可执行以下操作为其创建repodata数据。

[root@localhost ~]# mkdir /var/ftp/other
[root@localhost ~]# cd /var/ftp/other/
[root@localhost other]# createrepo -g /mnt/repodata/reomd.xml ./
[root@localhost other]# ls
repodata

 启用vsftp服务:

[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.

连接ftp:

[root@localhost ~]# ftp 192.168.10.66

 

1.2 配置软件仓库:

在客户机上需要指定至少一个可用的软件仓库,然后才能使用下一节将要介绍的 yum 工具来下载.安装软件包。yum工具使用的软件仓库信息存放在/etc/yum.repos ,d目录下扩展名为“.repo”的文件中.典型的仓库配置如下所示。

[root@xiao ~]# vi /etc/yum.repos.d/centos.repo[base]
[base]
name=centos 7.3
baseurl=ftp://192.168.10.66/centos7
enabled=1
gpgcheck=0[other]
name=Other RPM packages
baseurl=ftp:// 192.168.10.66/other
enabled=1
pgcheck=0

 作为临时解决办法之一,实际上也可以使用本地文件夹作为软件仓库。例如.将CentOS 7光盘挂载到/media/cdrom目录下以后,可以参考以下操作来进行配置,当然,这种方式仅限于在本机使用。

##服务器本地软件仓库配置[root@localhost ~]# vi /etc/yum.repos.d/local.repo  [local]
name=Centos 7.3
baseurl=file:///mnt
enabled=1
gpgcheck=0

2.使用yum工具管理软件包: 

 2.1查询软件包:yum工具的常见查询操作包括查询软件包列表.查询软件包的描述信息.查询指定的软件包.分别可结合子命令list、info、search来实现。

yum list——查询软件包列表
直接执行“yum list”命令可以获得系统中的软件安装情况.也可以查询软件仓库中可用的软件包列表.其中子命令list表示列表查看。

 yum info——查询软件包的描述信息
当需要查看某个软件包的描述信息时,可以执行“yum info软件包名”,其中子命令info表示获取信息。例如,执行以下操作可以查看软件包httpd的信息。

 yum search——查询指定的软件包
当需要根据某个关键词来查找相关的软件包时,可以执行“yum search关键词”.默认仅根据软件包名称和描述信息进行搜索﹔若执行“yum search all关键词”,可以扩大搜索范围。例如,执行以下操作将搜索软件仓库并列出与“httpd”相关的软件包.

通过执行查询操作“yum grouplist”“yum groupinfo分组名称”可以获得YUM仓库中的软件分组信息。例如,执行“yum groupinfognome-desktop”命令后将列出软件分组gnome-desktop所包括的软件包等信息。

2.2 安装、升级、卸载软件包:

使用yum 工具安装.升级软件包.分别通过子命令install , update来完成.操作对象为指定的软件包名(可以有多个)。执行操作时会自动检查并解决软件包之间的依赖关系.期间会提示用户按丫键确认安装或升级操作.若希望自动确认,可以在yum命令后添加“一y”选项。

例如,执行以下操作将从软件仓库下载并安装net-snmp 软件包,并自动解决其依赖关系。

[root@localhost ~]# yum -y install net-snmp

 

使用yum工具卸载软件包时,通过子命令remove来完成.卸载操作通过软件仓库也可以完成。

[root@localhost ~]# yum -y remove autofs

使用yum 工具管理软件包时,结合子命令groupinstall、groupupdate、groupremove可以针对软件分组进行安装、升级、卸载操作。例如,若执行“yum-y groupremove gnomc-desktop”命令,则会删除整个Desktop分组所包含的软件包。
 

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

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

相关文章

数据结构--查找

目录 1. 查找的基本概念 2. 线性表的查找 3. 树表的查找 3.1 二叉排序树 3.1.1 定义: 3.1.2 存储结构: 3.1.3 二叉排序树的查找 3.1.4 二叉排序树的插入 3.1.5 二叉排序树删除 3.2 平衡二叉树(AVL 3.2.1 为什么要有平衡二叉树 3.2.2 定义 3.3 B-树 3.3.1…

Linux命令-ps命令

ps用于显示进程 process:进程 执行:ps -ef -e:等价于 ‘-A’ ,表示列出全部的进程 -f:显示全部的列(显示全字段)配合grep命令去搜索程序: ps -ef | grep sshd

http——https实现指南

第一部分:HTTPS安全证书简介 什么是HTTPS安全证书? 在网络通信中,HTTPS安全证书是一种由可信任的证书颁发机构(CA)签发的数字证书,用于保障网站与用户之间的数据传输安全。通过加密和身份验证&#xff0c…

mapboxgl 中热力图的实现以及给热力图点增加鼠标移上 popup 效果

文章目录 概要效果预览技术思路技术细节小结 概要 本篇文章还是关于最近做到的 mapboxgl 地图展开的。 借鉴官方示例:https://iclient.supermap.io/examples/mapboxgl/editor.html#heatMapLayer 效果预览 技术思路 将接口数据渲染到地图中形成热力图。还需要将热…

Postman使用

Postman使用 Pre-request Script 参考: Scripting in Postman 可以请求、集合或文件夹中添加Pre-request Script,在请求运行之前执行JavaScript 如设置变量值、参数、Header和正文数据,也可以使用Pre-request Script来调试代码&#xff0…

RabbitMQ核心概念记录

本文来记录下RabbitMQ核心概念 文章目录 什么叫消息队列为何用消息队列RabbitMQ简介RabbitMQ基本概念RabbitMQ 特点具体特点包括 Rabbitmq的工作过程RabbitMQ集群RabbitMQ 的集群节点包括Rabbit 模式大概分为以下三种单一模式普通模式镜像模式 本文小结 什么叫消息队列 消息&am…

数据的价值:隐藏在数字背后的巨大财富

在当今数字化的时代,数据已经成为了一种宝贵的资源,它的价值被越来越多的人所认识。数据不仅可以帮助企业更好地了解市场和消费者,提高决策的准确性,还可以为社会带来更多的便利和创新。企业、组织和个人可以利用数据来更好地了解…

告别封号风险,海外社媒多账号如何运营?

相信作海外社媒运营的小伙伴都知道,想要管理好一个甚至多个社交媒体帐户,需要精力漫长的养号期,投入大量的金钱精力区保证每个账号的安全。但是,还是会有概率导致封号,从而白费力气。接下来让我们深入探讨营销人员面临…

<JavaEE> TCP 的通信机制(四) -- 流量控制 和 拥塞控制

目录 TCP的通信机制的核心特性 五、流量控制 1)什么是“流量控制”? 2)如何做到“流量控制”? 3)“流量控制”的作用 六、拥塞控制 1)什么是“拥塞控制”? 2)如何做到“拥塞…

开源项目推荐:Frooodle/Stirling-PDF

简介一个本地的处理 PDF 的工具,界面是 Web UI,可以支持 Docker 部署。各种主要的 PDF 操作都可以支持。比如拆分、合并、转换格式、重新排列、添加图片、旋转、压缩等等。这个本地托管的网络应用最初完全由 ChatGPT 制作,后来逐渐发展&#…

2023 年中国金融级分布式数据库市场报告:TiDB 位列领导者梯队,创新能力与增长指数表现突出

近日,沙利文联合头豹研究院发布了中国数据库系列报告之《2023 年中国金融级分布式数据库市场报告》。 报告认为,金融行业对于分布式数据库信任度与认可度正在逐步提高,中国金融级分布式数据库市场正处于成熟落地的高增长阶段,行业…

Flink项目实战篇 基于Flink的城市交通监控平台(上)

系列文章目录 Flink项目实战篇 基于Flink的城市交通监控平台(上) Flink项目实战篇 基于Flink的城市交通监控平台(下) 文章目录 系列文章目录1. 项目整体介绍1.1 项目架构1.2 项目数据流1.3 项目主要模块 2. 项目数据字典2.1 卡口…

Python+OpenCV 零基础学习笔记(1):anaconda+vscode+jupyter环境配置

文章目录 前言相关链接环境配置:AnacondaPython配置OpenCVOpencv-contrib:Opencv扩展 Notebook:python代码笔记vscode配置配置AnacondaJupyter文件导出 前言 作为一个C# 上位机,我认为上位机的终点就是机器视觉运动控制。最近学了会Halcon发现机器视觉还…

云计算:OpenStack 配置二层物理网卡为三层桥的接口

目录 一、理论 1.OpenStack 二、实验 1. Linux系统修改网卡 2.OpenStack 配置二层物理网卡为三层桥的接口 一、理论 1.OpenStack (1)概念 OpenStack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合。由NASA(美国国家航空…

IntelliJ IDEA Apache Dubbo,IDEA 官方插件正式发布!

作者:刘军 最受欢迎的 Java 集成开发环境 IntelliJ IDEA 与开源微服务框架 Apache Dubbo 社区强强合作,给广大微服务开发者带来了福音。与 IntelliJ IDEA 2023.2 版本一起,Jetbrains 官方发布了一款全新插件 - Apache Dubbo in Spring Frame…

Qt sender()函数

sender函数原型: QObject *sender() const; 如果在由信号激活的插槽中调用该函数,返回指向发送信号的对象的指针,否则返回0,该指针仅在从该对象的线程上下文调用此函数的槽执行期间有效。 主要代码如下: 其中运用了Q…

创建springboot项目

SpringBoot 就相当于不需要配置文件的SpringSpringMVC。 常用的框架和第三方库都已经配置好了。 maven安装配置 管理项目依赖库的 maven的安装教程网上有很多,这里简单记录一下。 官网下载maven后并解压。 在其目录下添加一个目录repository 然后在conf目录下…

uniapp原生插件 - android原生插件打包流程 ( 避坑指南一)

当时开发中安卓插件打包成功后,uniapp引用插件aar,用云打包 ,总是提示不包含插件。原因是因为module的androidManifest.xml文件没有注册activity。 这一步 很重要,一定要注册。 ------------------------------------------------…

Appium+python自动化(二)- 环境搭建—下(超详解)

简介 宏哥的人品还算说得过去,虽然很久没有搭建环境了,但是换了新电脑设备,一气呵成,将android的测试开发环境已经搭建准备完毕。上一篇android测试开发环境已经准备好, 那么接下来就是appium的环境安装和搭建了。 嘿…

kubelet源码学习(二):kubelet创建Pod流程

本文基于Kubernetes v1.22.4版本进行源码学习 4、kubelet创建Pod流程 syncLoop()的主要逻辑是在syncLoopIteration()方法中实现,Pod创建相关代码只需要看处理configCh部分的代码 // pkg/kubelet/kubelet.go // 该方法会监听多个channel,当发现任何一个channel有数…