部署YUM软件仓库

        借助于YUM软件仓库.可以完成安装、卸载、自动升级rpm软件包等任务,能够自动查找并解 决rpm包之间的依赖关系,而无须管理员逐个.手工地去安装每个rpm包,使管理员在维护大量Linux 服务器时更加轻松自如。.特别是在拥有大量Linux主机的本地网络中,构建一台源服务器可以大大缓 解软件安装、升级等对Internet的依赖.

        YUM的前身是YUP(Yellow dog Updater,Yellow dog Linux的软件更新器).最初由TSS公司(Terra Soft Solutions,INC.)使用Python语言开发而成.后来由杜克大学(Duck University)的Linux开发队 伍进行改进,命名为YUM(Yellow dog Updater, Modified).

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

准备网络安装源(服务器端)

        YUM软件仓库通常借助于HTTP或FTP协议来进行发布,这样可以面向网络中的所有客户机提供 软件源服务。为了便于客户机查询软件包,获取依赖关系等信息,在软件仓库中需要提供仓库数据 (repodata),其中收集了目录下所有rpm包的头部信息。

1.准备软件仓库目录

        在CentOS 7系统的安装光盘中,已针对软件目录Packages建立好repodata数据,因此只要简单 地将整个光盘中的内容通过HTTP或FTP进行发布,就可以作为软件仓库了

例如,可以创建 /var/ftp/centos7目录,并确保有足够的可用空间(本例中建议大于5GB),然后将CentOS 7光盘中 的所有数据复制到该目录下。

[root@lgcllc ~]# mount /dev/cdrom /mnt/         //光盘挂载到/mnt/目录
mount: /dev/sr0 写保护,将以只读方式挂载

[root@lgcllc ~]# mkdir -p /var/ftp/centos7
[root@lgcllc ~]# cp -rf /mnt/* /var/ftp/centos7

        对于用户搜集的非CentOS7光盘自带的更多其他软件包(必须包括存在依赖关系的所有安装文 件),除了准备相应的目录之外,还需要手动创建repodata数据文件,这就要用到createrepo 工具(需 要从 CentOS 7光盘中安装)

例如,若已将作为源发布的其他rpm安装包文件存放到/var/ftp/other 目录下,则可执行以下操作为其创建repodata数据。

[root@lgcllc ~]# mkdir /var/ftp/other
[root@lgcllc ~]# cd /var/ftp/other/
[root@lgcllc other]# createrepo -g /mnt/repodata/repomd.xml ./ 

                                                                                //以现有的repodata目录为样板

2.安装并启用vsftpd服务

[root@lgcllc ~]# rpm -ivh /mnt/Packages/vsftpd-3.0.2-25.el7.x86_64.rpm 
root@lgcllc ~]# systemctl start vsftpd
[root@lgcllc ~]# systemctl enable vsftpd

 访问ftp://192.168.55.123,确保可以查看到已复制到软件仓库目录/var/ftp/centos7下的光盘数据

配置软件仓库位置(客户端)

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

把/etc/yum.repos.d目录下的所有扩展名为".repo"的文件移动到/opt/
[root@lgcllc ~]# cd /etc/yum.repos.d/
[root@lgcllc yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo
[root@lgcllc yum.repos.d]# mv *.repo /opt/
[root@lgcllc yum.repos.d]# ls
[root@lgcllc yum.repos.d]#


[root@lgcllc yum.repos.d]# vim centos7.repo     //新建扩展名".repo"的文件,编辑下列语句

[base]                                                  //仓库类别
name=CentOS 7.3                                         //仓库说明
baseurl=ftp://192.168.55.123/centos7                    //URL访问路径
enabled=1                                               //启用此软件仓库(默认启用)
gpgcheck=1                                              //验证软件包的签名
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7     //GPG公钥文件的位置

[other]
name=Other RPM Packages
baseurl=ftp://192.168.55.123/other
enabled=1
gpgcheck=0                                               //不验证软件包的签名


本机上配置软件仓库位置

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

把/etc/yum.repos.d目录下的所有扩展名为".repo"的文件移动到/opt/
[root@lgcllc ~]# cd /etc/yum.repos.d/
[root@lgcllc yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo
[root@lgcllc yum.repos.d]# mv *.repo /opt/
[root@lgcllc yum.repos.d]# ls
[root@lgcllc yum.repos.d]#


[root@lgcllc yum.repos.d]# vim local.repo     //新建扩展名".repo"的文件,编辑下列语句

[local]
name=CentOS 7.3
baseurl=file:///mnt/
enabled=1
gpgcheck=0

使用yum工具管理软件包 

1. yum list——查询软件包列表

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

若执行“yum list installed”命令,则表示只列出系统中已安装的软件包;

若执行“yumlist available" 命令,则表示只列出软件仓库中可用(尚未安装)的软件包;

若执行‘yum list updates命令,则表示只列出可以升级版本的软件包。

2. yum info——查询软件包的描述信息

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

3.yum search——查询指定的软件包

         当需要根据某个关键词来查找相关的软件包时,可以执行‘yum search关键词”.默认仅根据软 件包名称和描述信息进行搜索;若执行‘yum search all关键词”,可以扩大搜索范围。

例如,执行 以下操作将搜索软件仓库并列出与“httpd”相关的软件包。

安装、升级、卸载软件包

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

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

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

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

例如,执行以下操作将卸载autofs软件包,并自动解决其依赖关系。

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录27期|Python|Day27|回溯算法|39.组合总和|40.组合总和II|131.分割回文串

39. 组合总和 在Day24组合问题的模版上加上了一个“可以重复选用当前值”的选项,递归中调用backtracking的idx由i 1改为i: self.backtracking(i, path, res, candidates, target) # 起始位置变成i,可以重复使用当前的值 class Solution(object):def…

最新国内使用GPT4教程,GPT语音对话使用,Midjourney绘画,ChatFile文档对话总结+DALL-E3文生图

一、前言 ChatGPT3.5、GPT4.0、GPT语音对话、Midjourney绘画,文档对话总结DALL-E3文生图,相信对大家应该不感到陌生吧?简单来说,GPT-4技术比之前的GPT-3.5相对来说更加智能,会根据用户的要求生成多种内容甚至也可以和…

ESP8266 ESP-01/01s 工作模式与固件下载烧录接线

注意点: ESP8266 ESP-01与 ESP8266 ESP-01s接线类似 。本文使用的是ESP8266 ESP-01 WIFI模块,详细信息见如下图片。本文固件下载的是ESP8266 的MQTT固件,下载其它固件流程一致。本文使用的是杜邦线连接面包板来进行使用,与使用开发…

Bert模型from_pretrained报网络错误解决办法

问题描述: 服务器或者本地运行以下代码时报网络连接错误: from transformers import AutoTokenizermodel_checkpoint "distilbert-base-uncased" tokenizer AutoTokenizer.from_pretrained(model_checkpoint, use_fastTrue, cache_dir./cac…

【大数据HA】HAProxy实现thrift协议HMS服务的高可用-附Chatgpt协助截图

背景 之前安装了HMS(Hive metastore service),独立于hive运行,安装部署过程见我下面列出的另一篇文章,需要为它建立HA高可用功能。防止在访问时出现单点故障问题。 【大数据】Docker部署HMS(Hive Metastore Service)并使用Trino访问Minio-C…

fragstats:景观指数趋势分析

作者:CSDN _养乐多_ 本文将介绍景观指数时间序列的趋势分析,包括趋势类型、斜率、截距等。以及景观指数突变分析所用的软件和 python 代码。 结果如下图所示, 图1 趋势分类图 图2 MK趋势分析 文章目录 一、景观指数计算二、景观指数时间序…

网络技术基础与计算思维实验教程_4.4_RIPv2配置实验

构建 放置三个型号为2811的路由器 给router0安装两个快速以太网接口 " 同样的方法给router2安装 为1安装有一个以太网接口的模块 这样router1就有三个快速以太网接口和两个无线路由器接口了 构建两个和router0相连的以太网 构建和router2相连的以太网 构建和r…

【JavaScript】闭包机制

✨ 专栏介绍 在现代Web开发中,JavaScript已经成为了不可或缺的一部分。它不仅可以为网页增加交互性和动态性,还可以在后端开发中使用Node.js构建高效的服务器端应用程序。作为一种灵活且易学的脚本语言,JavaScript具有广泛的应用场景&#x…

C#高级 01.Net多线程

一.基本概念 1.什么是线程? 线程是操作系统中能独立运行的最小单位,也是程序中能并发执行的一段指令序列线程是进程的一部分,一个进程可以包含多个线程,这些线程共享进程资源进程有线程入口,也可以创建更多的线程 2.…

不浪费时间,昂首资本1分钟如何快速学习MT4价差

不要浪费时间在手工计算上,昂首资本解释一下如何快速学习MT4价差,。 想要在MT4中输入交易时,需要在交易窗口中设置未来交易的参数。在同一个窗口中,可以看到卖价和买价。如果在上面的例子中比较这两个价格,就会发现两…

个人网站的搭建部署及自定义域名

个人网站的搭建部署及自定义域名 写在前面个人网站的搭建个人网站的部署自定义域名更多模板 写在前面 个人网站模板获取方式:个人网站模板视频教程:视频教程 个人网站的搭建 使用PyCharm打开提前准备好的个人网站模板: 双击打开index.htm…

FontsTest.java

package fonts;import java.awt.Font; import java.awt.GraphicsEnvironment;/*** Font测试* * 不同字体在不同操作系统是不一样的,更新* * linux: https://blog.csdn.net/spencer_tseng/article/details/135232675windows: https://blog.cs…

【2】Docker Compose编排

Docker Compose 使用 Docker 帮助我们解决服务的打包安装的问题,随着而来的问题就是服务过多的带来如下问题: 多次使用 Dockerfile、Build、Image 命令或者 DockerHub 拉取 Image;需要创建多个 Container,多次编写启动命令&…

探究Android DreamService的梦幻世界

探究Android DreamService的梦幻世界 引言 DreamService的概述 在Android开发中,DreamService是一种特殊类型的服务,它可以用于创建梦幻世界的屏保应用。梦幻世界是一种用户界面显示模式,当设备进入空闲状态时,系统会自动启动D…

qt项目-《图像标注软件》源码阅读笔记-类图

1. 开源项目链接 GitHub - jameslahm/labelme: A image annotation software for 2D or 3D images 2. 项目界面 3. 项目类图 全部类图: 3.1 Shape 形状的绘制及形状的存储 qt项目-《图像标注软件》源码阅读笔记-Shape类绘图及其子类-CSDN博客 负责形状的绘制及…

unknown variable ‘authentication_policy=mysql_native_password‘

unknown variable authentication_policymysql_native_password 背景解决尝试一尝试二(解决) 总结 背景 mac上安装多个版本数据库。我是通过dma安装的,先装的5.7,再装的5.8,然后5.8的能正常用,5.7的启动不起来。报错信息为如下 …

C++ Qt开发:QItemDelegate自定义代理组件

老规矩,首先推荐好书: Qt 是一个跨平台C图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍…

程序员如何高效学习技术?

我们相信努力学习一定会有收获,但是方法不当,既让人身心疲惫,也没有切实的回报。 不少朋友每天都阅读技术文章,但是第二天就忘干净了。工作中领导和同事都认可你的沟通和技术能力,但是跳槽面试却屡屡碰壁。面试官问技术…

龙芯loongarch64服务器编译安装scikit-learn

前言 根据我之前的文章介绍,龙芯loongarch64服务器中的很多python依赖包安装有问题,发现其中安装的"scikit-learn"就无法正常使用,会报如下错误No module named sklearn.__check_build._check_build: 解决办法 从第三方…