CentOS7 yum 源的配置与使用
YUM:Yellowdog Updater Modified
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。(bing 词典)
yum可以检测软件间的依赖性,并提示用户解决,将发布的软件放到yum server,然后分析这些软件的依赖关系,然后将软件相关性记录成列表。当客户端有软件安装请求时,yum客户端在yum服务器上下载记录列表,然后通 过列表信息与本机rpm数据库已安装软件数据对比,明确软件的依赖关系,能够判断出那些软件需要安装。
列表信息保存在yum客户端的/var/cache/yum中,每次yum启动都会通过校验码与yum服务器同步更新列表信息。
使用yum需要有yum repositories,用来存放软件列表信息和软件包。yum repositories可以是http站点,ftp站点,本地站点。
路径格式:
ftp://hostname/PATH/TO/REPO REPO指repodata所在路径的父目录
http://hostname/PATH/TO/REPO
file:///PATH/TO/REPO
yum配置
/etc/yum.conf 全局配置,对所有仓库都适用的配置
[root@localhost ~]# cat /etc/yum.conf [main] #yum 缓存的目录,yum 在此存储下载的rpm 包和数据库,默认设置为/var/cache/yum cachedir=/var/cache/yum/$basearch/$releasever#安装完成后是否保留软件包,0为不保留(默认为0),1为保留 keepcache=0#Debug 信息输出等级,范围为0-10,缺省为2 debuglevel=2#yum 日志文件位置。用户可以到/var/log/yum.log 文件去查询过去所做的更新。 logfile=/var/log/yum.log#有1和0两个选项,设置为1,则yum 只会安装和系统架构匹配的软件包 exactarch=1#允许更新陈旧的RPM包 obsoletes=1#是否启用插件,默认1为允许,0表示不允许。 plugins=1#允许保留多少个内核包 installonly_limit=5#bug管理 bugtracker_url=#指定一个软件包,yum会根据这个包判断你的发行版本, #默认是redhat-release,也可以是安装的任何针对自己发行版的rpm包。 distroverpkg=centos-release
/etc/yum.repos.d/*.repo 一个文件通常用于一个或一组功能相近或相关的仓库
[root@localhost yum.repos.d]# cat CentOS-Base.repo [base] #[REPO_ID] 用于区别各个不同的repository,唯一性name=CentOS-$releasever - Base name, #name 是对repository的描述,支持像$releasever $basearch这样的变量;mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra #mirrorlist指定一个镜像服务器的地址列表,将$releasever和$basearch替换成自己对应的版本和架构, #例如10和i386,在浏览器中打开,我们就能看到一长串镜可用的镜像服务器地址列表。#baseurl=enabled = 1 #这个选项表示这个repo中定义的源是启用的,0为禁用 gpgcheck=1 #启用gpg的校验,确定rpm包的来源安全和完整性 0为禁止gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #定义用于校验的gpg密钥#cost= #cost开销,默认是1000,开销越大,优先使用级越低。 .....
注意:[REPO_ID]中不能有空格,否则报错
定义仓库指向可用变量:
$releasever: 引用当前系统的主版本号;从[main]部分的distroverpkg获取;
$basearch: 当前系统的基本架构;i386, i486, i586, i686: i386
例如:http://mirror.centos.org/centos/$releasever/os/$basearch/
示例:配置aliyun的yum源
[root@localhost yum.repos.d]# vim CentOS-aliyun.repo1 [aliyun]2 name=CentOS-$releasever-aliyun3 baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/4 enabled=15 gpgcheck=16 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#列出可用yum repository 发现阿里云已经在列表中[root@localhost yum.repos.d]# yum repolist enabled Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile* base: mirrors.skyshe.cn* extras: mirrors.cqu.edu.cn* updates: mirrors.pubyun.com repo id repo name status aliyun CentOS-7-aliyun 8,652 base/7/x86_64 CentOS-7 - Base 8,652 extras/7/x86_64 CentOS-7 - Extras 181 updates/7/x86_64 CentOS-7 - Updates 1,480
yum命令:
语法:yum [options] [command] [package ...]
选项:
安装: install package1 [package2] [...]
[root@localhost ~]# yum install php
卸载:remove | erase package1 [package2] [...] 卸载指定包
[root@localhost ~]# yum remove php
autoremove [package1] [...] 同时卸载相关依赖包
升级:update [package1] [package2] [...]
check-update 检测已安装包的更新信息
#检查已安装包的可用更新 [root@localhost ~]# yum check-update ...... NetworkManager.x86_64 1:1.0.0-16.git20150121.b4ea599c.el7_1 updates NetworkManager-adsl.x86_64 1:1.0.0-16.git20150121.b4ea599c.el7_1 updates NetworkManager-libnm.x86_64 1:1.0.0-16.git20150121.b4ea599c.el7_1 updates NetworkManager-tui.x86_64 1:1.0.0-16.git20150121.b4ea599c.el7_1 updates bind-libs-lite.x86_64 32:9.9.4-18.el7_1.5 updates ......#更新指定包 [root@localhost ~]# yum update sqlite #更新全部包 [root@localhost ~]# yum update
重新安装:reinstall package1 [package2] [...]
#重新安装相同版本的软件包 [root@localhost ~]# yum reinstall net-tools
降级安装:downgrade package1 [package2] [...]
[root@localhost packages]# yum downgrade package
查询:info [...]
#查询资源库中指定包的相关信息 [root@localhost ~]# yum info php ...... Available Packages Name : php Arch : x86_64 Version : 5.4.16 Release : 36.el7_1 Size : 1.4 M Repo : updates/7/x86_64 Summary : PHP scripting language for creating dynamic web sites ...... #查询资源库中所有可以安装或更新的rpm包的信息 [root@localhost ~]# yum info #查询资源库中所有可以更新的rpm包的信息 [root@localhost ~]# yum info updates #查询已经安装的所有的rpm包的信息 [root@localhost ~]# yum info installed #列出已经安装的但是不包含在资源库中的rpm包的信息 [root@localhost ~]# yum info extras
rpm包列表:list [...]
#列出资源库中所有可以安装或更新的rpm包 [root@localhost ~]# yum list #列出资源库中特定的可以安装或更新以及已经安装的rpm包 [root@localhost ~]# yum list zip [root@localhost ~]# yum list zip* #注:可以在rpm包名中使用匹配符,如列出所有以zip开头的rpm包 #列出资源库中所有可以更新的rpm包 [root@localhost ~]# yum list updates #列出已经安装的所有的rpm包 [root@localhost ~]# yum list installed #列出已经安装的但是不包含在资源库中的rpm包 [root@localhost ~]# yum list extras
搜索rpm包:search string1 [string2] [...]
#搜索匹配特定字符的rpm包 #search KEYWORD [root@localhost ~]# yum search php #注:在rpm包名,包描述等中搜索#搜索有包含特定文件名的rpm包 #provides /PATH/TO/SOMEFILE [root@localhost ~]# yum provides php
清理缓存:clean [ packages | headers | metadata | expire-cache | rpmdb | plugins | all ]
#清除暂存中rpm包文件 [root@localhost ~]# yum clean packages #清除暂存中rpm头文件 [root@localhost ~]# yum clean headers #清除暂存中包文件 [root@localhost ~]# yum clean metadata #清除暂存中过期数据 [root@localhost ~]# yum clean expire-cache
创建缓存:makecache [fast]
[root@localhost packages]# yum makecache
包组:groups [...]
#包组列表 [root@localhost packages]# yum grouplist ....... Available Groups:Compatibility LibrariesConsole Internet ToolsDevelopment ToolsGraphical Administration ToolsLegacy UNIX CompatibilityScientific SupportSecurity Tools#包组信息 [root@localhost packages]# yum group info "Security Tools"#安装包组 [root@localhost packages]# yum group install "Security Tools"#卸载包组 [root@localhost packages]# yum group remove "Security Tools"
仓库命令:
#repolist [all|enabled|disabled] 列出全部/可用/不可用仓库[root@localhost ~]# yum repolist enabled ...... repo id repo name status aliyun/7/x86_64 CentOS-7-aliyun 8,652 base/7/x86_64 CentOS-7 - Base 8,652 extras/7/x86_64 CentOS-7 - Extras 181 updates/7/x86_64 CentOS-7 - Updates 1,480 repolist: 18,965#repoinfo [all|enabled|disabled] 列出全部/可用/不可用仓库信息[root@localhost ~]# yum repoinfo enabled ...... Repo-id : aliyun/7/x86_64 Repo-name : CentOS-7-aliyun Repo-revision: 1427842153 Repo-updated : Wed Apr 1 06:50:46 2015 Repo-pkgs : 8,652 Repo-size : 6.3 G Repo-baseurl : http://mirrors.aliyun.com/centos/7/os/x86_64/ Repo-expire : 21,600 second(s) (last: Thu Sep 17 09:22:44 2015) Repo-filename: /etc/yum.repos.d/CentOS-aliyun.repo ......
使用光盘作为本地库:
1 挂载光盘至某目录
2 定义仓库,使用file:///指明访问路径
示例:
#挂载光盘 [root@localhost cdrom]# mount -r /dev/cdrom /mnt/cdrom/#定义仓库 [root@localhost yum.repos.d]# vim centos-local-ISO.repo [centos7-ISO] name=centos-local-iso baseurl=file:///mnt/cdrom enabled=1 gpgcheck=0 cost=100#查看可用repository root@localhost yum.repos.d]# yum repolist enabled ...... repo id repo name status centos7-ISO centos-local-iso 325 aliyun/7/x86_64 CentOS-7-aliyun 8,652 ......
创建本地仓库:
1 安装createrepo工具
[root@localhost ~]# yum install createrepo
2 建立repository资源,建立header文件
#createrepo /PATH/TO/RPMFILES/ [root@localhost ~]# createrepo packages/ Spawning worker 0 with 2 pkgs Workers Finished Saving Primary metadata Saving file lists metadata Saving other metadata Generating sqlite DBs Sqlite DBs complete#生成repodata文件 [root@localhost ~]# ls packages/ 2048-cli-0.9-4.git20141214.723738c.el7.x86_64.rpm repodata openstack-ceilometer-alarm-2014.2.2-1.fc22.noarch.rpm
3 可以在/etc/yum.repos.d目录下定义本地repository
[root@localhost yum.repos.d]# cat local.repo [localrepo] name=local-repo baseurl=file:///root/packages gpgcheck=0 enabled=1
DNF包管理器前端管理工具:
后续更新。
如有错误,敬请指正!
谢谢!
转载于:https://blog.51cto.com/rogerwang/1695667
相关文章:

跨平台PHP调试器设计及使用方法——协议解析
在《跨平台PHP调试器设计及使用方法——探索和设计》一文中,我介绍了将使用pydbgp作为和Xdebug的通信库,并让pydbgp以(孙)子进程的方式存在。《跨平台PHP调试器设计及使用方法——通信》解决了和pydbgp通信的问题,本文…

测试客户端发图图
转载于:https://blog.51cto.com/ericsong/116942
搜狐、美团、小米都在用的Apache Doris有什么好? | BDTC 2019
【导读】12 月 5-7 日,由中国计算机学会主办,CCF 大数据专家委员会承办,CSDN、中科天玑协办的中国大数据技术大会(BDTC 2019)在北京长城饭店隆重举行。100 顶尖技术专家、1000 大数据从业者齐聚于此,以“大…

cacti邮件告警设置
功能说明对指定流量图形(指定接口)设置最高或最低流量阀值,当流量出现异常偏高或偏低触发阀值,系统自动将异常信息以邮件形式通知指定收件人。如果收件人邮箱是139邮箱,还可以增设短信通知功能。设置前准备设置该功能之…
跨平台PHP调试器设计及使用方法——高阶封装
在《跨平台PHP调试器设计及使用方法——协议解析》一文中介绍了如何将pydbgp返回的数据转换成我们需要的数据。我们使用该问中的接口已经可以构建一个简单的调试器。但是由于pydbgp存在的一些问题,以及调试器需要的一些高级功能,我们还需要对这些接口进行…

Oracle的口令文件(passwordfile)的讲解(摘录)
初学oracle,很多概念迷糊,今天看到这文章,让我有一个比较清晰的认识。转载[url]http://www.itpub.net/viewthread.php?tid906008&extra&page1[/url]1、os认证oracle安装之后默认情况下是启用了os认证的,这里提到的os认证…
如何优雅地使用pdpipe与Pandas构建管道?
作者 | Tirthajyoti Sarkar译者 | 清儿爸编辑 | 夕颜出品 | AI科技大本营(ID: rgznai100) 【导读】Pandas 是 Python 生态系统中的一个了不起的库,用于数据分析和机器学习。它在 Excel/CSV 文件和 SQL 表所在的数据世界与 Scikit-learn 或 Te…

第 十 天 : 添 加 硬 盘 和 分 区 挂 载 等
小Q:狼若回头,必有缘由,不是报恩,就是***; 事不三思必有败,人能百忍则无忧。今天的进度虽然慢了,但是学习状态还是一如往常,只不过今天遇到了不少新的知识点,需要好好想想…
从4个月到7天,Netflix开源Python框架Metaflow有何提升性能的魔法?
作者 | Rupert Thomas译者 | 凯隐编辑 | Jane出品 | AI科技大本营(ID:rgznai100)【导语】Metaflow 是由 Netflix 开发,用在数据科学领域的 Python框架,于 2019 年 12 月正式对外开源。据介绍,Metaflow 解决…
SOA标准发展混乱 国内业务缺少经验
近年来,SOA已经成为国际及我国信息技术领域的重大热点之一。从2005年至今,SOA逐渐成为影响中国IT系统构建的主导思想。从2006年开始,SOA的建设方法已在我国部分行业信息化项目中开始得以越来越广泛的应用。 但热潮背后, SOA概念在…
跨平台PHP调试器设计及使用方法——界面设计和实现
一个优秀的交互设计往往会影响一个产品的命运。在设计这款调试器时,我一直在构思这款调试器该长什么样子。简单、好用是我设计的原则,于是在《跨平台PHP调试器设计及使用方法——立项》一文中,我给出了一个Demo。之后实现的效果也与之变化并不…

AJAX安全-Session做Token
个人思路,请大神看到了指点 个人理解token是防止扫号机或者恶意注册、恶意发表灌水,有些JS写的token算法,也会被抓出来被利用,个人感觉还是用会过期的Session做token更好,服务器存储,加载到客户端页面&…
跨平台PHP调试器设计及使用方法——使用
经过之前六篇博文的分析和介绍,大家应该对这套调试器有个初步的认识。本文我将讲解它的使用方法。(转载请指明出于breaksoftware的csdn博客) 上图是该软件界面的布局,我们之后的讲解也将围绕着这些功能展开。 文件夹管理 在查看一…
管理7k+工作流,月运行超10000万次,Lyft开源的Flyte平台意味着什么?
作者 | Allyson Gale译者 | 刘畅编辑 | Jane出品 | AI科技大本营(ID:rgznai100)【导读】Flyte 平台可以更容易的创建并发,可伸缩和可维护的工作流,从而进行机器学习和数据处理。Flyte 已有三年多的训练模型和数据处理经…

Jmeter组件执行顺序与作用域
一、Jmeter重要组件: 1)配置元件---Config Element: 用于初始化默认值和变量,以便后续采样器使用。配置元件大其作用域的初始阶段处理,配置元件仅对其所在的测试树分支有效,如,在同一个作用域…
跨平台PHP调试器设计及使用方法——拾遗
之前七篇博文讲解了跨平台PHP调试器从立项到实现的整个过程,并讲解了其使用方法。但是它们并不能全部涵盖所有重要内容,所以新开一片博文,用来讲述其中一些杂项。(转载请指明出于breaksoftware的csdn博客) 触发调试的…
召唤超参调优开源新神器:集XGBoost、TensorFlow、PyTorch、MXNet等十大模块于一身...
整理 | 凯隐编辑 | Jane出品 | AI科技大本营(ID:rgznai100)【导读】Optuna是一款为机器学习任务设计的自动超参数优化软件框架,是一款按运行定义(define-by-run) 原则设计的优化软件,允许用户动态地调整搜索空间&#…

Linux下的Silverlight:Moonlight 1.0 Beta 1发布了
Moonlight是微软Silverlight的一个开源实现,其目标平台是Linux与Unix/X11系统。自从2007年9月开始,Moonlight就在Mono项目下进行了开发,它是由Novell发起并资助的。现在,Moonlight 1.0 Beta 1已经向公众发布了。 Novell和Mono宣布…
在visual studio 2010中调用ffmpeg
转自:http://blog.sina.com.cn/s/blog_4178f4bf01018wqh.html 最近几天一直在折腾ffmpeg,在网上也查了许多资料,费了不少劲,现在在这里和大家分享一下。 一、准备工作本来是想自己在windows下编译ffmpeg生成lib、dll等库文件的&am…
无线路由器与无线AP的区别
摆脱线缆的羁绊,手捧一杯香醇的咖啡在家中的任何角落都可以无拘无束和网友谈天说地──这就是无线的魅力!在无线网络迅猛发展的今天,无线局域网(Wireless Local-Area Network,简称WLAN)已经成为许多SOHO家庭…

Simple Dynamic Strings(SDS)源码解析和使用说明一
SDS是Redis源码中一个独立的字符串管理库。它是由Redis作者Antirez设计和维护的。一开始,SDS只是Antirez为日常开发而实现的一套字符串库,它被使用在Redis、Disque和Hiredis等作者维护的项目中。但是作者觉得这块功能还是比较独立的,应该让其…
“不会Linux,到底有多危险?”骨灰级成程序员:基本等于自废武功!
说起程序员的必备技能,我想大家都可以说很多,比如:算法、数据结构、数学、编程语言等等。对于程序员来讲,这些底层能力固然重要,但是,工具同样也是如此,比如常被大家所忽视的:Linux。…

“Uncaught TypeError: string is not a function”
http://www.cnblogs.com/haitao-fan/archive/2013/11/08/3414678.html 今天在js中写了一个方法叫做search(),然后点击按钮的时候提示: “Uncaught TypeError: string is not a function” 百思不得其解啊,我的js木有问题啊啊.... 后来才发现酱…

关于Nikon Ai AF 28mm F1.4D遮光罩的问题
-- 好不容易找到百变妖,确实比较妖!!遮光罩不好找,原厂推荐的HK-7基本属于古董中的古董。 爬文很久,终于找到一篇国外的介绍,说可以用HK-4代替,比HK-7效果更好,而且可以用85mm 1.4D-…

Simple Dynamic Strings(SDS)源码解析和使用说明二
在《Simple Dynamic Strings(SDS)源码解析和使用说明一》文中,我们分析了SDS库中数据的基本结构和创建、释放等方法。本文将介绍其一些其他方法及实现。(转载请指明出于breaksoftware的csdn博客) 字符串连接 SDS库提供下面两种方法进行字符串…
亚马逊机器学习服务:深入研究AWS SageMaker
作者 | Manish Manalath译者 | Shawn编辑 | Carol出品 | AI科技大本营(ID: rgznai100) 机器学习是一个从数据中发现模式的强大概念。但是,如果您尝试过从零开始构建机器模型,那么您一定知道设计一个可扩展的机器学习工作流是多大的…

Java Timer 定时器的使用
一、延时执行首先,我们定义一个类,给它取个名字叫TimeTask,我们的定时任务,就在这个类的main函数里执行。 代码如下:package test;import java.util.Timer;public class TimeTaskTest { public static void main(Str…
Redis源码解析——前言
今天开启Redis源码的阅读之旅。对于一些没有接触过开源代码分析的同学来说,可能这是一件很麻烦的事。但是我总觉得做一件事,不管有多大多难,我们首先要在战略上蔑视它,但是要在战术上重视它。除了一些高大上的技术,我们…

asp.net客户端脚本验证小技巧
通用的客户端脚本验证 Code//验证客户端function checkclient() { var list document.all; for(var i0 ;i<list.length; i) { var h list[i].hint; if(h ! null && h ! "") { if(list[i].isdrop"…
5个可以帮助你提高工作效率的新AI工具
作者 | Kyrylo Lyzanets译者 | 火火酱编辑 | Carol出品 | AI科技大本营(ID: rgznai100) 毫无意义的新闻、故事和活动会占用你每天多少的工作时间?假如你是一名需要高绩效的高管或专业人士,如果在工作中可以不分心,那你…