1 yum的基本原理

CentOS可在yum服务器上下载官方网站给出的rpm给出的表头列表数据,该数据除了记载每个rpm软件的相依性之外,也说明了rpm所放置的容器(repository)所在。通过分析这些数据,centos可以直接用yum去下载和安装这些软件了。

具体步骤:

(1)先由配置文件判断yum server的IP地址;

(2)链接yum server之后,先下载新的rpm文件的表头数据;

(3)分析比较数据所欲安装、升级的文件,并提供用户确认;

(4)下载用户选择的文件到系统中的/var/cache/yum,并进行安装。

2 yum 的常用命令

yum [option] [查询工作项目] [相关参数]

yum search python     # 搜索python相关的软件有哪些
yum info python # 列出python这个软件相关的信息
yum list # 列出yum服务器上提供的所有软件名称
yum list pam* # 列出以pam开头的软件有哪些,包括已安装的(Installed Pakages)和未安装(或可升级的Available)
yum list updates # 列出目前服务器上可提供本机进行升级的软件有哪些
yum provides passwd # 列出提供passwd文件的软件有哪些
yum repolist all # 所使用的容器有哪些 yum install [软件名] # 安装软件 -y 询问是否下载是回答yes
yum update [软件名] # 升级软件
yum update # 升级系统
yum remove [软件名] # 删除软件(卸载) yum clean [packages|headers|all]
packages: 删除已下载的软件文件
headers: 删除已下载的软件文件头
all: 已下载的软件数据都删除 yum的软件组功能
yum 组功能 软件组
yum grouplist # 查看本机已安装或可用的软件组有哪些
yum groupinfo [软件组] # 查看软件组信息
yum groupinstall [软件组] # 安装软件组

  

3 yum 的配置

(1)yum的容器配置:  /etc/yum.repos.d/xx.repo

[base]        容器的名字  中括号必须要有,名字可以随意取,但是两个容器的名字不能相同,否则yum不知道去那个容器去找。
name= 说明容器的意义 重要性不高
mirrorlist= 列出该容器可以使用的镜像站点,如果不想使用可以注释掉这行
baseurl= 这个最重要,后面接的是容器的实际网址。mirrorlist是yum自行去找镜像站点,baseurl是指定一个固定的容器网址。
enable= 启动该容器,不想启动设为0
gpgcheck= 是否需要查阅RPM文件内的数字证书,1是0否。
gpgkey= 数字证书的公钥文件所在的位置。使用默认值即可。

举个例子:

[@tc_62_179 yum.repos.d]# vim /etc/yum.repos.d/epel-.repo
[epel]
name=Extra Packages for Enterprise Linux - $basearch
baseurl=http://mirrors.sogou/epel/7/x86_64/
enabled=
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 [epel-source]
name=Extra Packages for Enterprise Linux - $basearch - Source
baseurl=http://mirrors.sogou/epel/7/SRPMS/
enabled=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=

yum命令速查的更多相关文章

  1. 简明 Git 命令速查表(中文版)

    原文引用地址:https://github.com/flyhigher139/Git-Cheat-Sheet/blob/master/Git%20Cheat%20Sheet-Zh.md在Github上 ...

  2. Linux命令速查手册,超详细Linux命令教程

    一.常用命令速查 ls cd pwd cat more less tail head cp scp mv mkdir rmdir touch rm ps kill top free clear tre ...

  3. 转收藏:Git常用命令速查表

    一. Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r ...

  4. Redis常用命令速查 02_转

    一.Key Key命令速查: 命令 说明 DEL 删除给定的一个或多个 key,不存在的 key 会被忽略,返回值:被删除 key 的数量 DUMP 序列化给定 key,返回被序列化的值,使用 RES ...

  5. Linux常用命令速查备忘

    Linux常用命令速查备忘   PS:备忘而已,详细的命令参数说明自己man 一. 启动,关机,登入,登出相关命令 [login] 登录 [logout] 登出 [exit] 登出 [shutdown ...

  6. Git 命令速查表

    Git 命令速查表 1.常用的Git命令 命令 简要说明 git add 添加至暂存区 git add-interactive 交互式添加 git apply 应用补丁 git am 应用邮件格式补丁 ...

  7. Git 常用命令速查表(图文+表格)

    一. Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r ...

  8. Linux常用命令速查-汇总篇

    Linux常用命令速查-用户管理 Linux常用命令速查-文件管理 Linux常用命令速查-系统监控 Linux常用命令速查-网络管理 Linux常用命令速查-定时任务 Linux常用命令速查-Vim

  9. GNU Emacs命令速查表

    GNU Emacs命令速查表 第一章  Emacs的基本概念 表1-1:Emacs编辑器的主模式 模式 功能 基本模式(fundamental mode) 默认模式,无特殊行为 文本模式(text m ...

随机推荐

  1. 日志记录的作用和方法 java

    程序中记录日志一般有两个目的:Troubleshooting和显示程序运行状态.好的日志记录方式可以提供我们足够多定位问题的依据.日志记录大家都会认为简单,但如何通过日志可以高效定位问题并不是简单的事 ...

  2. 主程序与DLL之间的全局变量问题

    http://www.cnblogs.com/railgunman/archive/2010/11/29/1891200.html 主程序与DLL之间的全局变量问题   有几个朋友经常向我问题在DLL ...

  3. .NET 4中的多线程编程之一:使用Task(转载)

    原文地址:http://www.cnblogs.com/yinzixin/archive/2011/11/04/2235233.html .NET 4为了简化多线程编程,提供了System.Threa ...

  4. 跨终端Web

    1.终端vs设备 H5页面运行在同一设备的不同终端下. (1)Web浏览器. (2)微信.QQ浏览器. (3)移动App的Webview. (4)TV机顶盒. 2.跨终端的实现方式 (1)响应式 存在 ...

  5. 设计模式之状态模式(State Pattern)

    一.什么是状态模式? 把所有动作都封装在状态对象中,状态持有者将行为委托给当前状态对象 也就是说,状态持有者(比如汽车,电视,ATM机都有多个状态)并不知道动作细节,状态持有者只关心自己当前所处的状态 ...

  6. dropdownlist的OnSelectedIndexChanged方法不触发

    解决方法: AutoPostBack="true" if (!IsPostBack){ 数据绑定 } 如果数据绑定后不触发,但是手动添加数据的情况下触发<%@ Page En ...

  7. 手把手教你从零搭建Python数据分析环境

    由于最近再做推荐系统的特征处理,需要借助一些工具来筛选特征.最初使用了R,R的安装很简单,而且API也很容易使用,直接就能出图.后来,发现很多人在python和R之间做选择,所以我也在两个工具间摇摆不 ...

  8. 找到SVN版本机上项目的地址

    在你的项目文件上右击:点击Copy URL to Clipboard(复制URL到剪切板)

  9. ES六

    来自:http://es6.ruanyifeng.com/#docs/style 1,=> // bad console.log([1,2,3,4].map(function(x){return ...

  10. [ActionScript 3.0] UDP通信

    package com.controls.socket { import flash.events.DatagramSocketDataEvent; import flash.events.Event ...