yum小叙

yum全称为yellow dog updatemodifier ,基于rpm包管理,完美的解决了安装程序时各程序之间的依赖关系,也就是类似于windows中的一键安装,它可以从指定的本地路径或服务器自动下载rpm包并且安装,于此来说yum作为升级版rpm着实给我们带来了更便捷的操作体验。

但是yum这个命令需要有一些支持,因为我们安装的程序包是需要有来源的,就好似在windows下安装程序需要先从网上下载下来程序包,或者说本地有此程序包,才能使用yum命令来安装此包,所以说,使用yum命令的前提是有程序包,并且这些程序包要有个统一的存放位置,这就引出了yum仓库(yum repo)的概念,yum仓库就是统一存放这些安装包的“库房”,yum仓库分为本地和在线两种仓库,一种是在本地创造yum仓库,这里又分从安装盘读取的和从网上下载后制作的yum仓库,另一种是在服务器端的yum仓库。

服务器端的yum仓库中有元数据和数据(安装包),yum仓库可以有很多个,本地的yum仓库也可有多个,但客户端的yum缓存只有一个,yum缓存是什么呢,客户端中的yum缓存去服务器端下载yum仓库的元数据和数据(安装包),安装包安装完毕后,数据(安装包)清除,但元数据会长期保存,直至本地安装需求与yum仓库中的文件有差异时本地yum缓存与服务器端yum仓库做校验后更新本地缓存中的元数据。本地yum命令执行时可以随意选择从哪个yum仓库中下载安装程序包,这样就减少了每次安装必须遍历所有yum repo的繁琐,可以直接从yum缓存中调用元数据之后下载安装。

yum的配置文件:

指仓库的位置,以及相关的各种配置信息,每个yum命令行可以同时指向多个仓库,仓库之间可以配置优先级等操作,它的配置文件主要有两部分组成

(1)      主配置文件:/etc/yum.conf为各仓库指向提供公共配置信息,也就类似于公共缓存

[main]

cachedir=/var/cache/yum/$basearch/$releasever

keepcache=0

debuglevel=2

logfile=/var/log/yum.log

exactarch=1

obsoletes=1

gpgcheck=1

plugins=1

installonly_limit=5

bugtracker_url=http://bugs.centos.org/set_project.php?project_id=19&ref=http://bugs.centos.org/bug_report_page.php?category=yum

distroverpkg=centos-release

(2)      各仓库的独立的定义:/etc/yum.repos.d/*.repo每个文件中可以配置1-多个仓库

下面简单说一下yum命令的使用方法:

格式:yum [options] [command] [package]

我们可以用yum repolist [all|enabled|disabled]列出已经配置的仓库,其中如不指定repolist后面的参数,默认是enabled。

local                                                     | 4.0 kB     00:00 ...

repo id                              repo name                              status

local                                localyum                               6,518

repolist: 6,518

以上这些就是我的电脑里有的yum repo

yum clean [package|metadata|expirecache|rpmdb|plugins|all]这些是yum clean 后面可以接的一些选项,主要是清理缓存的命令用法

yuminstall package是安装程序包命令,仅仅需要提供安装包的名称即可,如果一个包在不同仓库里有不同版本,默认安装最新版本,如需安装其他版本可以制定版本号安装

yum reinstallpackage重新安装

yum updatepackage升级

yum downgradepackage降级

yum check-updatepackage查看有哪些可升级版本

yum remove|erasepackage卸载,注:所有依赖于卸载的程序包会一并卸载

yum info package查询程序相关简要信息

yumprovides|whatprovides /PATH/TO/SOMEFILE查询指定文件由哪个安装包生成

这里要注意的是:yum命令一次只能运行一个,是全局事物独占的,不允许其他yum命令运行。

下面说一下yum包组管理

yum grouplist 列出所有包组(查看可能批量安装的列表)

yum groupinfogroup1 [group2]…查看包组的简要信息

yum groupinstallgroup1 [group2]…安装

yum groupremovegroup1 [group2]…卸载

yum groupupdategroup1 [group2]…升级

yum命令的可用选项:就是[options]

-y:自动回答为yes

-q:不显示安装过程

-h:帮助

-

--disablerepo:临时禁用在配置文件中配置并启用的某repository

--enablerepo: 临时启用制定的某repo

--nogpcheck:禁止做包校验

以上就是yum命令基本的一些用法,但是之前说过yum是要有仓库的,我们应该怎么搭建仓库也是个问题,下面了解下本地yum仓库和在线yum仓库制作方法:

本地yum仓库

(1)      使用光盘作为Yum repository

挂在光盘到指定挂载点,如/media/cdrom

用vim编辑一个本地yum配置文件/etc/yum.repo.d/localyum.repo

[local]

name=localyum

baseurl=file:///media/cdrom

enabled=1

gpgcheck=0

清除缓存,用yumrepolist重新加载配置文件即可

(2)      在ftp服务器上使用mget *.rpm 一次把所有安装包都下载到本地

使用createrepo /PATH/TO/SOMEFILE将下载的文件目录做成yum仓库后编辑配置文件,接下来的和上面相同

在线yum仓库

这个只需要指定一下服务器上的yum仓库位置即可。

结束,写的匆忙,有些不是很详细,看往上还有很多其他的可用的东西,以后慢慢添加。

时间: 2024-10-14 07:54:37

yum小叙的相关文章

yum小技巧

一.只下载软件包 方法1   使用yum的插件downloadonly,安装完就可以只下载不安装了 yum install yum-download yum install httpd --downloadonly --downloaddir=/tmp   # 只下载httpd及相关依赖包到/tmp目录下,如果不指--downloaddir,默认在/var/cache/yum目录下 方法2   使用yum-utils中的yumdownloader yum-utils中包含很多yum工具,如yum

《java入门第一季》之类(String类常见方法小叙)

String类下面的构造方法和一些常见的方法: /* * 字符串:就是由多个字符组成的一串数据.也可以看成是一个字符数组. * 通过查看API,可以知道 * A:字符串字面值"abc"也可以看成是一个字符串对象. * B:字符串是常量,一旦被赋值,就不能被改变. * * 构造方法: * public String():空构造 * public String(byte[] bytes):把字节数组转成字符串 * public String(byte[] bytes,int index,i

小叙Spring.NET(Ioc与DI)的使用步骤

那今天就介绍一下我理解的Spring.net吧.介绍Spring.NET之前,先谈点其他的.我们都知道,.NET有一个基本原则"高内聚,低耦合".关于这个概念,想必大家都知道.所谓高内聚,也就是模块内部内聚,各个模块之间"低耦合".也就是结耦,降低耦合度.所以我们选取了传统的三层,把,数据访问层,业务逻辑层,UI层分离,降低耦合度!       但是这还不够,我们为了让业务逻辑层与数据访问层彻底结耦.可以用面向接口编程的思想,采用抽象工厂模式.也就是建立工厂,采用映

时间正则表达式小叙

yyyy-MM-dd HH:mm:ss 正则表达式如下: ^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][0

cacti小叙

cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数 据,然后用rrdtool储存 和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户. 一.概述 1. cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用 rrdtool生成图表呈现给用户.因此,snmp和rrdtool是cacti的关键.Snmp关系着数据的收集,rrdtool关系着数据存储和图表 的生成. 2.

Linux运维工作经验小叙

个人认为一个运维人员最应该的一天工作时间安排: 40%,处理紧急重要的事情:60%,开展重要不紧急的工作.紧急重要很容易理解,其实就是救活类工作.重要不紧急的工作,才是最能体现运维价值的工作. 监控系统,这是一个大话题.除了被动地监控各类服务的正常工作与否,还有主动开发协助系统分析的系统,并对整个系统的未来有规划性的开发工具型系统.提高自己和团队内所有人的工作效率的一些工具,尤其是可以快速解决那些中断的工具. 学习,这个是最重要的.运维涉及到的知识面非常广,不断学习才能顺利快速解决工作中出现的种

BeforeFieldInit的小叙

BeforeFieldInit是什么 上片的文章中我们看到了有静态构造函数,和没有静态构造函数,代码的执行顺序有着显著的区别.然后,我们反编译了下代码,发现了在类中有一个BeforeFieldInit特性,通过查各处资料,发现这是一个关于字段初始化时间的特性[提前初始化字段],下面先来看一下这个特性在.net framework中的作用.摘取了别人的一份Demo: class Foo { public static String x = GetStr("初始化 Foo 静态成员字段")

MOSFET使用与H桥驱动问题

0.小叙闲言 最开始学习三极管的时候,很注重它的工作原理,后来到了实际应用,就直接把三极管或MOSFET直接当作一个开关器件使用.直到前这几天,接触到MOSFET组成的H桥驱动电路时,发现把它纯当作一个开关器件来看,会出现许多问题.在这里总一下问题和对出现问题的一些原因做一些分析.个人知识有限,很多地方思虑难免有所不足,希望能够与网上各位一起学习交流. 目前我们一般将H桥驱动当作电机或步进电机的驱动,如下图1所示,要做好驱动电路,必须得了解清楚MOSFET的一些原理,才不会出错.  图1 H桥全

利用卷积网络识别骰子点数

前言小叙 前一段时间通过bpnn反向传播神经网络实现了识别骰子点数的目标,而且效果不错,我们的识别率可以达到80%上下,其实已经可以应用于生产环境了.只不过读了卷积神经网络,第一次感受到原来还可以这样,感受到了新的世界观和人生观. 卷积这个词,第一次接触还是读图形处理的书的时候,中间会有卷积和滤波处理图片的内容,其实当时对于卷积也是懵懵懂懂,不明所以,无非就是一个个求积再求和,能有什么意义.不过这些天我算是有些明白了. 想通俗了解卷积的朋友可以访问这个链接.境外的朋友请看YouTube短视频,下