Linux ---yum源详解

                                      YUM

   

    yum是一个工具,可以用来查询、安装、升级、卸载软件
YUM(Yellow dog Updater,Modified)yum是一个RPM的前端程序,其主要目的是为了自动解决RPM的自动依赖关系。他不像RPM一样, YUM不是一种新的软件封装形式,它是专门用来管理RPM的;在Linux上安装软件可以用RPM方式安装简单依赖关系少的软件,但对于安装某些时,总是需要自己动手去解决软件件的依赖关系,即就是安装一个软件之前要安装好一个或多个其他软件。手工解决非常困难,可以用yum方式去很快的解决。

     

    yum的特点:

   

-自动解决依赖关系

-可以对RPM进行分组,并基于组进行安装操作

-引进了仓库的概念,支持多个仓库(后边会说)

-配置简单

           安装一个软件时候如果依赖另一个软件,YUM会自动寻找这个软件,但是怎么去找呢? 于是就需要yum 的“仓库”了。

          yum的仓库:

仓库用来存放所有现有的rpm软件包, 当yum安装一个rpm软件包的时候,如果存在依赖关系,它会在仓库中查找软件并自动去安装, 如果yum仓库中没有要找的rpm软件包那么yum也就不能把软件完全安装好!

yum仓库可以是本地的(自己配置的), 也可以通过HTTP,FTP或者NFS等形式集中的、统一的网络仓库(网上会提供很多YUM仓库的服务器)。

yum使用仓库保存管理rpm软件包,将配置文件存放在 /etc/yum.repos.d/ 下格式如下:

  [local]                            #(yum块区域)
name=aaa                    #  (名字可以随便起)
baseurl=file:///var/yum/Server    #(搜索路径,必须指向你本机的yum源路径)
gpgcheck=0     #(gpgcheck是gpg验证是否开启的选项,1是开启,0是不开启,一般情况可以关掉)
enabled=1      #(是否启用,0为不启用,1为启用,过没这一项,就是启用)

   该配置文件的文件名字是随便起的,但是最后必须得以.repo 后缀名结尾

   并且在/etc/yum.repos.d/ 目录下可以有多个配置文件

   一个配置文间内可以存放多个仓库信息(也就是上边的5行)。



YUM源的本地搭建(手工搭建):

       

1.将所有的rpm文件拷到一个文件加下

2.yum不可能每次安装都扫描整个文件夹,太慢了, 必须创建一个索引文件, 通过rpm -ivh安装createrepo

3.通过createrepo  -v   yum仓库的目录    创建索引文件, 这时候会在当前目录下出现repodata的一个文件夹

4.这时候就按如上所说的,在 /etc/yum.repos.d/ 目录下新建一个文件(或者使用原来的/etc/yum.repos.d/目录下以。repo结尾的文件进行修改),假设其名为 modify.repo 其中的内容可以如下

[local_yum]
name=local
baseurl=file:///lifeng-yum
enabled=1
gpgcheck=0   #不检查gpg签名


如果使用镜像光盘作为YUM源,搭建本地yum源的步骤:

           

1.确定iso镜像文件的位置[root@teacher ~]# find / -name rhel*.iso -exec du -sh {} \;
2.9G	/var/ftp/software/iso/rhel6.3.x86.iso
[root@teacher ~]# 
确认镜像文件的大小和位置,防止是个损坏的镜像文件
	2.新建一个仓库目录mkdir  /lifeng-yum
	3.挂载镜像文件到/media目录(不一定非要到/media),主要是获得软件
	[root@teacher ~]# mount -o loop /var/ftp/software/iso/rhel6.3.x86.iso  /media/
	如果你有光驱也有光盘,可以使用
	mount /dev/cdrom   /media4.查看挂载[root@teacher ~]# df -Th
Filesystem    Type    Size  Used Avail Use% Mounted on
/dev/sda3     ext4    321G  142G  163G  47% /
tmpfs        tmpfs    1.9G  336K  1.9G   1% /dev/shm
/dev/sda1     ext4     92G  233M   87G   1% /boot
/var/ftp/software/iso/rhel6.3.x86.iso
           iso9660    2.9G  2.9G     0 100% /media
[root@teacher ~]#5.将挂载点目录/media目录下的所有文件复制到/lifeng-yum目录下[root@teacher ~]# cp /media/* /lifeng-yum/ -r  
6.进入yum仓库配置文件存放目录[root@teacher ~]# cd  /etc/yum.repos.d/
[root@teacher yum.repos.d]#
[root@teacher yum.repos.d]# vim  local.repo
[local_yum]    #yum源的名字
name=local     #yum源的描述
baseurl=file:///lifeng-yum  
enabled=1    #启用yum源  为0说明yum源不可用
gpgcheck=0   #不进行gpg检测,0代表不检测,1代表检测  :目的是为了安全性考虑
gpgkey=file:////etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release  存放公钥文件
======
http://www.baidu.com
ftp://10.0.2.253/note/2ban-linux/system2/
======
url 统一资源定位符(URL,英语UniformResourceLocator的缩写)也被称为网页地址,是因特网上标准的资源的地址。
file://  协议
http://
ftp://
/lifeng-yum 目录的路径
======本地YUM源测试
为了避免其他repo文件干扰,保证/etc/yum.repos.d目录下只有一个repo文件
======
上述工作做完后,如果系统重启后那么YUM源就需要开机自动挂载镜像光盘才会生效:(具体操如下)[root@teacher localyum]# echo "mount -o loop /var/ftp/software/iso/rhel6.4-x86_64.iso /xiepeng-yum" >>/etc/rc.local 
[root@teacher localyum]# /etc/rc.local文件里的命令,开机后系统会自动执行。
======

YUM源互联网搭建:

   步骤和方法和上面本地搭建的相同只是“baseurl=file:///lifeng-yum”改为“baseurl=(ftp,http)://+下载软件的网址”

好吧!搭建好了yum源之后,就是使用yum安装软件的时候了,以下yum的命令比较常用:

YUM基本命令

yum  install  softwarename      安装指定软件

yum  remove  softwarename  卸载指定软件

yum update  softwarename   升级指定软件

YUM查询命令

yum search  hehe       查询关键字里变含有hehe的所有rpm软件包的描述

yum list(all/installed/recent/updates) 列出全部,安装过的,最近的,

yum info  softwarename     查询软件的信息和rpm  -qi  的功能是一样的

yum whatprovides  filename   查询那个rpm软件包含目标文件

1.使用YUM查找软件包
命令:yum search <keyword>

2.列出所有可安装的软件包
命令:yum list

3.列出所有可更新的软件包
命令:yum list updates

4.列出所有已安装的软件包
命令:yum list installed

5.列出所有已安装但不在 Yum Repository 內的软件包
命令:yum list extras

6.列出所指定的软件包
命令:yum list <package_name>

7.使用YUM获取软件包信息
命令:yum info <package_name>

8.列出所有软件包的信息
命令:yum info

9.列出所有可更新的软件包信息
命令:yum info updates

10.列出所有已安裝的软件包信息
命令:yum info installed

11.列出所有已安裝但不在 Yum Repository 內的软件包信息
命令:yum info extras

12.列出软件包提供哪些文件
命令:yum provides <package_name>

清除YUM缓存
    yum 会把下载的软件包和header存储在cache中,而不会自动删除。如果我们觉得它们占用了磁盘空间,可以使用yum clean指令进行清除,更精确 的用法是yum clean headers清除header,yum clean pack     ages清除下载的rpm包,yum clean all一 股脑儿端


1.清除缓存目录(/var/cache/yum)下的软件包
命令:yum clean packages

2.清除缓存目录(/var/cache/yum)下的 headers
命令:yum clean headers

3.清除缓存目录(/var/cache/yum)下旧的 headers
命令:yum clean oldheaders

4.清除缓存目录(/var/cache/yum)下的软件包及旧的headers
命令:yum clean, yum clean all (= yum clean packages; yum clean oldheaders)


=======================================================================================================================================================================================
注意:!!!不要在32位的系统里强制安装64位的软件,或者64位的系统不要强制安装32位的软件,不然会导致系统某些程序启动不起来。主要是破坏了系统里很多的库。

=======================================================================================================================================================================================

                                                 ----------------------------- 指导老师:(湖南双星科技发展有限公司副总经理)冯德勇

Linux ---yum源详解,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。