PHP中YUM的理解

Posted renyong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP中YUM的理解相关的知识,希望对你有一定的参考价值。

1. YUM是什么?

  1)全称:Yellow dog Updater ,Modified。

  2)百度简述:是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

  3)完整介绍,参考:David Camp博主的文章:https://www.cnblogs.com/mchina/archive/2013/01/04/2842275.html

2. YUM解决什么?

  主要是解决linux下安装软件(包)的依赖问题。

  如果有安装过LAMP或LNMP环境的话,安装一个软件包,会需要你安装其他的相关软件,才能使用。这导致一个项目的部署,需要花费大量时间去解决涉及的软件依赖问题,而往往依赖的包不是一两个,而是数量相当的,这是让人头痛的活儿。新手刚开始安装的时候,如果不用yum,而是单独从各个软件的官网下载包,然后在逐个安装,那时就会深深体会到YUM的价值了。

  简单的聊区别。没有YUM,我们需要将数量可观的软件与其依赖(相关)软件从其各自的官网或途径逐个下载,然后逐个安装,逐个配置依赖关系(巨繁琐);有YUM,意味这有一个YUM源头(YUM软件仓库),所有需要下载的软件与相关软件,都包含在了这个仓库里,避免了繁琐的下载,更重要是,YUM会自动处理软件的依赖关系。

3. YUM怎么用?

  1)你需要了解yum命令,参考:张映,dust,,枫的颜色合著文章:http://linux.51yip.com/search/yum

  2)你需要了解/设置yum源,参考:GXWen的文章:https://www.cnblogs.com/wdjsbk/p/9629931.html

4. YUM的配置相关文件有什么?

  1)配置文件yum.conf

    >文件位置:/etc/yum.conf

    >内容说明:

$ cat /etc/yum.conf 
 
[main]
cachedir=/var/cache/yum         #yum下载的RPM包的缓存目录
keepcache=0                        #缓存是否保存,1保存,0不保存。
debuglevel=2                       #调试级别(0-10),默认为2(具体调试级别的应用,我也不了解)。
logfile=/var/log/yum.log         #yum的日志文件所在的位置
exactarch=1             #在更新的时候,是否允许更新不同版本的RPM包,比如是否在i386上更新i686的RPM包。
obsoletes=1             #这是一个update的参数,具体请参阅yum(8),简单的说就是相当于upgrade,允许更新陈旧的RPM包。
gpgcheck=1             #是否检查GPG(GNU Private Guard),一种密钥方式签名。
plugins=1             #是否允许使用插件,默认是0不允许,但是我们一般会用yum-fastestmirror这个插件。
installonly_limit=3         #允许保留多少个内核包。
exclude=selinux*         #屏蔽不想更新的RPM包,可用通配符,多个RPM包之间使用空格分离。
#       This is the default, if you make this bigger yum won‘t see if the metadata
# is newer on the remote and so you‘ll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
# It is esp. important, to have correct metadata, for distributions like
# Fedora which don‘t keep old packages around. If you don‘t like this checking
# interupting your command line usage, it‘s much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m
# PUT YOUR REPOS HERE or IN separate files named file.repo
# in /etc/yum.repos.d

  2) *.repo文件

  >文件位置:/etc/yum.repos.d/ *.repo

  repo文件是Fedora中yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用!

[fedora]       #方括号里面的是软件源的名称,将被yum取得并识别

name=Fedora $releasever - $basearch   #这里也定义了软件 仓库的名称,通常是为了方便阅读配置文件,一般没什么作用,$releasever变量定义了发行版本,通常是8,9,10等数字,$basearch变 量定义了系统的架构,可以是i386、x86_64、ppc等值,这两个变量根据当前系统的版本架构不同而有不同的取值,这可以方便yum升级的时候选择 适合当前系统的软件包,以下同……
failovermethod=priority   #failovermethod 有两个值可以选择,priority是默认值,表示从列出的baseurl中顺序选择镜像服务器地址,roundrobin表示在列出的服务器中随机选择
exclude=compiz* *compiz* fusion-icon* #exclude这个选项是后来我自己加上去的,用来禁止这个软件仓库中的某些软件包的安装和更新,可以使用通配符,并以空格分隔,可以视情况需要自行添加
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
#上面的一行baseurl第一个字符是‘#‘表示该行已经被注释,将不会被读取,这一行的意思是指定一个baseurl(源的镜像服务器地址)
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
#上面的这一行是指定一个镜像服务器的地址列表,通常是开启的,本例中加了注释符号禁用了,我们可以试试,将$releasever和$basearch替换成自己对应的版本和架构,例如10和i386,在浏览器中打开,我们就能看到一长串镜可用的镜像服务器地址列表。
选择自己访问速度较快的镜像服务器地址复制并粘贴到repo文件中,我们就能获得较快的更新速度了,格式如下baseurl所示:
baseurl=
ftp://ftp.sfc.wide.ad.jp/pub/Linux/Fedora/releases/10/Everything/i386/os
http://ftp.chg.ru/pub/Linux/fedora/linux/releases/10/Everything/i386/os
http://ftp.yz.yamagata-u.ac.jp/pub/linux/fedora/linux/releases/10/Everything/i386/os
http://mirror.nus.edu.sg/fedora/releases/10/Everything/i386/os
http://mirror.yandex.ru/fedora/linux/releases/10/Everything/i386/os
http://ftp.twaren.net/Linux/Fedora/linux/releases/10/Everything/i386/os
http://ftp.itu.edu.tr/Mirror/Fedora/linux/releases/10/Everything/i386/os

enabled=1 #这个选项表示这个repo中定义的源是启用的,0为禁用
gpgcheck=1 #这个选项表示这个repo中下载的rpm将进行gpg的校验,已确定rpm包的来源是有效和安全的
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch #定义用于校验的gpg密钥,就是数位签章的公钥档所在位置!

##以下的软件仓库基本上用不到,选项含义同上
[fedora-debuginfo]
name=Fedora $releasever - $basearch - Debug
failovermethod=priority
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/debug/
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-debug-$releasever&arch=$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch

[fedora-source]
name=Fedora $releasever - Source
failovermethod=priority
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/source/SRPMS/
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-source-$releasever&arch=$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch

  以上1)和2)配置内容,摘录自博主 hao_xiaoyu文章,文章地址:https://www.cnblogs.com/haoxiaoyu/p/3971363.html

  3) CentOS-Base.repo文件

    >位置:/etc/yum.repos.d/CentOS-Base.repo

    >属性:CentOS的默认YUM源(可变更设置为阿里或网易的YUM源)

  4)CentOS-Media.repo

    >自建的YUM源(仓库)

[update] 2019-06-26 23:08:43

以上是关于PHP中YUM的理解的主要内容,如果未能解决你的问题,请参考以下文章

yum理解,vim使用,gcc/g++使用练习题

yum理解,vim使用,gcc/g++使用练习题

yum理解,vim使用,gcc/g++使用练习题

php中fopen()如何理解?

第四周学习心得 rpm yum 和 LVM管理 的相关概念及理解

理解 php 中& 引用