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.hqwc.cn/news/305837.html

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

相关文章

日常中msvcp120.dll丢失五种解决方法

在日常使用电脑的过程中,我们可能会遇到一些错误提示,其中之一就是“msvcp120.dll丢失”。那么,msvcp120.dll到底是什么?它的作用又是什么呢?为什么会出现丢失的情况呢?本文将为您详细介绍msvcp120.dll的相…

【网络技术】【Kali Linux】Wireshark嗅探(二)TCP协议

一、实验目的 本次实验使用wireshark流量分析工具进行网络嗅探,旨在了解TCP协议的原理以及连接建立过程。 二、网络环境设置 本次实验使用Kali Linux虚拟机完成,主机操作系统为Windows11,虚拟化平台选择Oracle VM VirtualBox,组…

JVM篇:JVM的简介

JVM简介 JVM全称为Java Virtual Machine,翻译过来就是java虚拟机,Java程序(Java二进制字节码)的运行环境 JVM的优点: Java最大的一个优点是,一次编写,到处运行。之所以能够实现这个功能就是依…

vue动态路由,三级及以上路由,地址跳转,但是页面不显示

vue动态路由的时候,一级,二级路由都正常展示,但是三级,四级,五级等就只看到地址跳转了,但是页面并没有跳转,原因是共用了一个<router-view></router-view> import Layout from /layout import Vue from vue import Router from vue-router import db from /utils/…

由浅入深走进Python异步编程【协程与yield】(含代码实例讲解 || 迭代器、生成器、协程、yield from)

写在前面 从底层到第三方库&#xff0c;全面讲解python的异步编程。这节讲述的是python异步编程的底层原理第一节&#xff0c;详细了解需要配合下一节观看哦。纯干货&#xff0c;无概念&#xff0c;代码实例讲解。 本系列有6章左右&#xff0c;点击头像或者专栏查看更多内容&…

(13)Linux 进程的优先级、进程的切换以及环境变量等

前言&#xff1a;我们先讲解进程的优先级。然后讲解进程的切换&#xff0c;最后我们讲解环境变量&#xff0c;并且做一个 "让自己的可执行程序不带路径也能执行"的实践&#xff0c;讲解环境变量的到如何删除&#xff0c;最后再讲几个常见的环境变量。 一、进程优先级…

c++ / day03

1. 定义一个Person类&#xff0c;包含私有成员&#xff0c;int *age&#xff0c;string &name&#xff0c;一个Stu类&#xff0c;包含私有成员double *score&#xff0c;Person p1&#xff0c;写出Person类和Stu类的特殊成员函数&#xff0c;并写一个Stu的show函数&#xf…

CAS-手写自旋锁

CAS与自旋锁&#xff0c;借鉴CAS思想 什么是自旋锁&#xff1f; CAS是实现自旋锁的基础&#xff0c;CAS利用CPU指令保证了操作的原子性&#xff0c;以达到锁的效果&#xff0c;至于自旋 锁---字面意思自己旋转。是指尝试获取锁的线程不会立即阻塞&#xff0c;而是采用循环的…

最新云渲染平台选择,云渲染避免踩坑指南

​随着云计算技术的飞速发展&#xff0c;云渲染逐步成为各类行业的优选工具&#xff0c;它凭借出色的效能和强大的并行计算能力&#xff0c;显著提高了工作效率&#xff0c;然而&#xff0c;要想充分利用云渲染技术&#xff0c;选择一款合适的云渲染平台是刻不容缓的课题&#…

【C++进阶03】二叉搜索树

一、二叉搜索树的概念和性质 中序遍历二叉搜索树会得到一个有序序列 所以二叉搜索树又称二叉排序树 它可以是一棵空树 也可以是具有以下性质的二叉树&#xff1a; 若它的左子树不为空 则左子树上所有节点的值都小于根节点的值若它的右子树不为空 则右子树上所有节点的值都大于…

PO设计模式详解:从入门到精通一文解读

PO模式&#xff1a; 全称&#xff1a;page objece&#xff0c;分层机制&#xff0c;让不同层去做不同类型的事情&#xff0c;让代码结构清晰&#xff0c;增加复⽤性。 PO模式的优势&#xff1a; 1&#xff09;效率⾼ &#xff1a;同理&#xff0c;PO模式的逻辑层⽅法有具体定…

算法时间空间复杂度计算—空间复杂度

算法时间空间复杂度计算—空间复杂度 空间复杂度定义影响空间复杂度的因素算法在运行过程中临时占用的存储空间讲解 计算方法例子1、空间算法的常数阶2、空间算法的线性阶&#xff08;递归算法&#xff09;3、二分查找分析方法一&#xff08;迭代法&#xff09;方法二&#xff…