马哥Linux学习之YUM配置

学习到第11天了,系统相关的软件配置使用rpm包或源码配置都会遇到各种依赖问题,YUM就是Red Hat出的软件包管理工具,能有效的自动解决软件包的依赖问题。

YUM(Yellowdog Update Modifier):把各种程序依赖关系都集成收集,并在安装软件时自动解决的工具。这个工具是使用C/S架构的,从而分为了服务器端(yum仓库)和客户端。

 YUM仓库相关。

yum仓库,主要由数据和元数据组成。数据就是各种各样的软件包,而元数据就是包名、版本信息、各包所包含的文件列表、依赖关系、包分组信息等。

yum仓库分可为几种类型:

base库:基本为系统发行版提供的软件库

update库:更新软件库

extra库:额外软件包库

epel库:Extra Packages for Enterprise,社区全力打造的免费开源发行软件包版本库,                   系统包含大概有1万多个软件包。

yum仓库提供软件包的位置信息,而在Linux系统中,这样的也就表现为常见的http服务器、ftp服务器及本地文件系统目录挂载光盘三种常见的方法。

下面就实验一下创建http类型和本地的Yum仓库吧。

先说http类型的,分为以下步骤:

1、先安装上createrepo哈,要不没法制作yum仓库。

2、我们再在提供仓库的机器上安装上apache并开启,使用默认的配置以/var/www/html为访问目录吧。然后我在这个目录下新建了一个rpms的目录,并在rpms下面放了164个包(好少,但是只是为了学习哈)。

3、在/var/www/html目录下,使用createrepo命令,等待一会,yum仓库的元数据就生成好了。嗯,这个元数据,在CentOS 5下是使用xml来组织的,而在CentOS 6的版本下使用splite这种微型数据库了哈。

4、接下来,我们就配置客户端的yum配置文件了哈,如下图:

嗯,第一个图是先把CentOS默认安装的yum源去掉哈。

第二图是这个http类型的Yum源的配置文件。下面说一下相应的字段的作用和配置:

    • repositoryid (中括号那行): 用于指定一个仓库
    • name: 用于指定易读的仓库名称
    • baseurl : 用于指定本仓库的URL,可以是如下的几种类型:
      • http — 用于指定远程 HTTP 协议的源
      • ftp — 用于指定远程 FTP 协议的源
      • file — 用于本地镜像或 NFS 挂装文件系统
      • mirrorlist : 用于指定仓库的镜像站点
    • enabled : 用于指定是否使用本仓库,默认值为1,即可用
    • gpgcheck : 用于指定是否检查软件包的 GPG 签名
    • gpgkey : 用于指定GPG签名文件的URL,记住同样是URL哈。

配置完了,使用yum repolist这条命令可以查看可以使用的yum源哈。如图:

    看样子是成功了哈,下面接着再接再励配置一下本地的yum源,因为本地yum源一般都是挂载光盘或ISO镜像(等同于光盘)的哈,所以也就直接以这个为目标了。

一般来说,光盘或ISO镜像上,都是生成好了相应的元数据的,也就少了createrepo这一步了哈。直接配置Yum的本地源。

    大家看到了,和http类型不同的地方是baseurl那儿了吧。直接以repodate目录上一个目录为准哦。我的ISO是挂载到/mnt目录下的,不太标准哈,大家不要学。接着再看看yum repolist:

    哈哈,多了标识为CentOS6-Localtest的源了,有6367个包。

YUM工具的常见使用命令。

1、列出所有可用的repo

yum repolist {enabled|disabled|all}

2、列出所有可安装的软件包:

yum list {all | installed | available}

yum list KEYWORD*

3、包的描述信息

yum info package_name

4、列出所有的包组信息

yum grouplist

5、显示包组的信息:

yum groupinfo "GROUP NAME"

下面四个是常用的包组哈:

CentOS6 跟开发相关的包组:

Development Tools

Server Platform Development

Desktop Platform Development

6、清理缓存

yum clean {all|packages|metadata|expire-cache|rpmdb|plugins}

7、安装程序包

yum install package_name

重新安装:yum reinstall package_name

8、升级程序包

yum check-update命令可检查是否有可用的升级包

yum update package_name

9、卸载

yum remove|erase package_name

10、查询某文件是由哪个包安装生成的

yum whatprovides|provides /path/to/somefile

11、安装包组

yum groupinstall "GROUP NAME"

12、卸载包组

yum groupremove "GROUP NAME"

语言不好,我会改进的,晚安╰(*′︶`*)╯

时间: 2024-08-24 10:30:35

马哥Linux学习之YUM配置的相关文章

马哥Linux学习笔记之四——DNS

1.BIND:Berkeley Internet Name Domain DNS:Domian Name Service 域名解析 2. Http 3.PAM 插入式认证模块 4.SMTP/POP3/IMAP4:Mail Server 5.域名 www.baidu.com这是一个主机名(FQDN,Full Qualified Domain Name,完全限定域名),com是一个域名,baidu.com也是一个域名,域名是好多主机的集合. 域名解析起后面有一个数据库,解析就是一个查询的过程.域名解

马哥Linux学习笔记之五——邮件服务

1.SMTP只负责将邮件发送到服务器,其他的,像身份认证检测邮件,都不能完成.(25/tcp) ESMTP:Extended SMTP POP3:Post Office Protocol IMAP4:Internet Mail Access Protocol 2.Open Relay:开放式中继 就是人家的邮件从这个邮件服务器过,你都帮忙转发,这样就会成为产生垃圾邮件的根源.所以都要关闭Open Relay 3.SASL,Simple Authintication Secure Layer,简单

马哥Linux学习笔记之三——加密

1.明文传输 ftp,http,smtp,telnet 2.机密性:plaintext-->转换规则-->ciphertext ciphertext-->转换规则-->plaintext 完整性:单项加密算法,提取数据特征码.输入一样,输出必然一样:雪崩效应,输入的微小改变,将会引起结果的巨大改变:无论原始数据是多少,结果大小都是相同的:不可逆,无法根据特征码还原原来的数据. 3.密钥 4.对称加密:有加密算法,有密钥 5.密钥交换算法 IKE(Internet Key Excha

马哥Linux学习笔记之二——网络

1.MAC(Media Access Control,介质访问控制) 是解决底层数据通信冲突的解决方案.因此,给每一个接入这样网络的主机一个id标示符,这个id标示符就叫做MAC地址. 2.CSMA/CD(Carrier Sense Multipath Access Collision Detection,载波侦听多路访问冲突检测),线型网络 以太网Ethernet最核心的标志. 3.Token-Ring(IBM)技术 环形网络解决冲突的方案.但是由于IBM的专利限制没能推广开来. 4.星形网络

马哥Linux学习笔记之一

1.在执行脚本的时候可以用./或者. ./(点空格点斜杠)来执行脚本 ./ 表示启动了另一个Shell去执行脚本(另一个进程),所以点斜杠执行脚本时,设置的环境变量会随着进程的退出而结束,其中的环境变量设置对当前Shell不起作用. . ./相当于source ./执行脚本,source是执行脚本当中的命令,也就是说在当前进程中执行命令,所以其中的环境变量的设置会对当前Shell其作用. 2. 读取硬盘上的文件 读取硬盘上的文件先要将文件读取到内存上,再将其在内存上地址交给进程,这样进程就可以读

马哥linux学习笔记(bash变量配置)

bash:解释器,编译器 配置文件,生效范围划分,存在两类: 全局配置: /etc/profile,/etc/profile.d/*.sh /etc/bashrc 个人配置: ~/.bash_profile ~/.bashrc 按功能划分,存在两类: profile类:为交互式登录的shell提供配置 /etc/profile,/etc/profile.d/*.sh ~/.bash_profile 功用: (1) 定义环境变量,例如PATH.PS1 (2) 运行命令或脚本 bashrc类:为非交

马哥Linux学习之Linux背景和主要发行版篇

Linux是一种 类Unix计算机操作系统的统称,简单的说来就是Linux内核+GNU工程的各种工具和数据库.Linux包括各种Linux的发行版,其实也就是为达到不同的目的而制作(目的包括对不同计算机结构的支持,对一个具体区域或语言的本地化,实时应用或嵌入式)的不同版本.   Linux的由来.在1991年4月,芬兰大学生linus因不满其教授对其教学用系统Minix(此教学系统又是Andrew Tannebaum教授为了不受AT&T许可协议的约束,为教学科研而开发的)不能作任何改动的态度,自

马哥——linux学习——Linux系统

Linux(RHEL)5.4/5.5/5.8/6.0/6.3 ISO镜像文件-下载地址 http://blog.csdn.net/sz_bdqn/article/details/43133733 源代码: C --> 编译成二进制 (可交叉编译) ABI:Application Binary Interface(不同CPU的二进制接口不一致) 开源:开放源代码 自由: 自由获取,自由修改,自由学习 内核功能: 进程管理 内存管理 文件系统 网络功能 硬件驱动 安全机制 一.linux的诞生 GN

马哥linux学习(linux上的包管理)

我们知道linux有许多服务,但这些服务都需要安装.升级或卸载.查询及效验,那就需要用到包管理工具,包管理器主要用于打包.包管理(安装.升级.卸载.查询及效验). 打包:就是按照既定规范存放于一个单一的归档文件中. 安装:把一个包展开,对应的安放于某些位置. 卸载:安装后的每一个文件都给找到,收集删除. 升级:把新版本的应用程序替换旧版本. 查询:可以查询安装的程序一些相关的信息. 效验:效验程序是否被篡改过. 下面我们说下linux里面最常用的两种包管理工具,RPM和YUM工具. 1.  RP