Linux centos6.6 yum详解

Yum的配置与管理

yum 是一个工具的名称yellowdogupdate modifier = yum,也是这个工具的命令。

yum命令与rpm命令一样,都是安装rpm包的。

yum命令比rpm命令强大,yum可以自己解决依赖关系。

我们可以这样来理解yum

管理员收集了Nrpm包放在一个文件里面,yum就在这个文件里面找到自己要安装的文件和所依赖文件,自己用rpm来依次安装所需要的所以rpm程序包。

yum依赖rpm。在程序的角度来说,yumrpm的二次开发。还记得 rpm�Cq �Crequires zsh这个命令吧。懂了原理,我们来实际操作了。

 

管理员收集了Nrpm包放在一个文件里面等待yum命令来找需要的,这个就叫:服务端。

使用yum命令去存放了很多rpm程序包的文件找需要的,这个就叫:客户端。

yumC/S架构的。

C (Client)----à客户端 :在这里简单的理解,就是寻找(请求)资源的一方。

S (Server)----à服务端 :在这里简单的理解,就是等待资源被找到(被请求)的一方。

 

客户端篇:

         配置客户端:

         /etc/yum.conf文件

         在这个文件里面,可以配置,但不建议。主文件放公用配置最佳,你非要问为什么。只能告诉你,这是程序员的情怀。其实原因是太多配置放在一个里面,不易管理和操作。

         cat/etc/yum.conf文件

         它就会告诉你,最好一个配置单独放在/etc/yum.repos.d/目录下面。文件以.repo结束就可以了。

         cd/etc 目录里面 man yum.conf 有详细的使用说明

         vim/etc/yum.repos.d/yum.one.repo

         vim直接打开yum.one.repo文件,保存就自动创建这个文件。

         简单几行就可以解决配置的问题了。

         [yum_name]  #给指向yum服务端的配置,取一个名字。例[yum-one]

         name=yumone aliyun  #这个名字取服务端的rpm来自哪里

         baseurl=http://*.*.*.*/……  # 这个URL就是不一样服务端的地址

         enabled=1  # 有二个值:{1}整个配置可用,{0}整个配置停用。忽略此项时,默认是可用。

         gpgcheck=1  # 有二个值:{1}开启rpm检验,{0}关闭rpm检验。忽略此项时,默认是开户。

         gpgkey=http://*.*.*.*/……  # 这个URL地址指向rpm的密匙地址。gpgcheck开启,就要有此项。

         cost=1000  # 值为数字。开启多个yum配置时,值越小,优先级越高。忽略此项时,默认为1000.

         忽略选项的默认值都是/etc/yum.conf里面配置的。修改这里的值,默认值就更改。

         URL地址说明:

                   URL指向的路径:必需是repodata目录所在的父目录。

                   服务端使用的那类文件传输协议,就使用那种,目前有:

http://*.*.*.*/……  例:http://192.168.1.1/centos6.6/

ftp:// *.*.*.*/……   例:ftp://192.168.1.1/centos6.6/

file://……          例:file:///media/cdrom/centos6.6/

特别说明:file://{/}/是文件根目录,不是file://协议的部份。

 

累了大半天,终于OK。我们一起来看看命令的操作

yum命令:

         yum [options] [command] [package ...]

 

       [command] is one of:

        * install package1 [package2] [...]

        * update [package1] [package2] [...]

        * update-to [package1] [package2] [...]

        * check-update

        *upgrade [package1] [package2] [...]

        * upgrade-to [package1] [package2][...]

        * distribution-synchronization[package1] [package2] [...]

        * remove | erase package1 [package2][...]

        * list [...]

        * info [...]

        * provides | whatprovides feature1[feature2] [...]

        * clean [ packages | metadata |expire-cache | rpmdb | plugins | all ]

        * makecache

        * groupinstall group1 [group2] [...]

        * groupupdate group1 [group2] [...]

        * grouplist [hidden] [groupwildcard][...]

        * groupremove group1 [group2] [...]

        * groupinfo group1 [...]

        * search string1 [string2] [...]

        * shell [filename]

        * resolvedep dep1 [dep2] [...]

        * localinstall rpmfile1 [rpmfile2][...]

           (maintained for legacy reasons only- use install)

        * localupdate rpmfile1 [rpmfile2] [...]

           (maintained for legacy reasons only- use update)

        * reinstall package1 [package2] [...]

        * downgrade package1 [package2] [...]

        * deplist package1 [package2] [...]

        * repolist [all|enabled|disabled]

        * version [ all | installed | available| group-* | nogroups* | grouplist | groupinfo ]

        * load-transaction [txfile]

        *check

        * help [command]

吓到了吧。这么多命令要记住。要用的很少的:

仓管管理:

         yum repolist all列出已经配置的所有可用仓库

         yum repolist enabled 列出开启的所有可用仓库

         yum repolist [all| enabled | disabled] 下面就写成这个样子了额。懂意思的嘛。

[ | ] 多个选择一个来使用。

缓存管理:

         yum clean [ packages | metadata | expire-cache| rpmdb | plugins | all ]

         清除选择对应的缓存,all肯定是全部。

创建缓存:

         yum makecache

         自动连接至每一个可用仓库,下载repodata目录数据,将其创建为缓存

         缓存所在位置/etc/yum.conf指定的 cachedir=【缓存路径】

程序包查看:

         yum list [...]  内容太多了,man yum 查看list用法详解

         yum list [all | glob_exp1] [glob_exp2][...]

         yum list [available | updates | installed| extras | obsoletes] [...]

         英文字面意思一样,英文不好,就不翻译了。程序和英文关系不大,有需要用有道。

组程序包查看:

         yum grouplist [hidden] [groupwildcard][...]

程序包安装:

         yum install package1 [package2] [...]

         配置指向多个服务端,版本不同时,默认安装最新的。

         yum install PACKAGE-VERSION ...

         指定安装那个版本

重新安装:

         yum reinstall package1 [package2] [...]

程序包升级:

         yum update [package1] [package2] [...]

程序包降级:

         yum downgrade package1 [package2] [...]

查看升级可用:

         yum check-update

卸载程序包:

         yum remove package1 [package2] [...]

         卸载时注意:正在卸载的程序包,有依赖于它的,全部都会被卸载。

查询:

         yum info PACKAGE ...

         查询程序的相关简要信息

         yum search KEYWORD ...

         在包名和简要信息中搜索指定的关键字

         yum provides /PATH/TO/SOMEFILE

         查询指定文件由哪个程序包安装生成

安装本地的rpm程序包文件:

         yum localinstall rpmfile1 [rpmfile2][...]

         安装本地文件时,有依赖时也会去服务部寻找相关程序包,自行解决依赖关系

升级本地的rpm程序包文件:

         yum localupdate rpmfile1 [rpmfile2][...]

包组管理:

         查看:

                   yum grouplist [hidden][groupwildcard] [...]

                   yum grouplist 直接查看所有包组

                   yum groupinfo group1 [...]

                   查看指定组的详细信息

         安装:

                   yum groupinstall group1[group2] [...]

                   安装整个包组

         升级:

                   yum groupupdate group1[group2] [...]

         卸载:

                   yum groupremove group1[group2] [...]

Centos7之后使用  installupdate remove来管理包组,在包组名前面加@Centos6 兼容

例:yum install @"Server Platform Development"

 

yum[options] [command] [package ...]

         [options]

                   -y : 自动回复”yes”

                   yum �Cy install php

                   --disablerepo=[yum_name]:临时禁用在配置文件中配置并启用的[yum_name]

                   --enablerepo=[yum_name]:临时启用指定的[yum_name]

                   --nogpgcheck: 禁止做包校验

 

 

服务器端:

         把光盘镜像里面的rpm程序包,拿来做yum服务器数据。

         mount /dev/cdrom /media/cdrom

         挂载光盘到/media/cdrom里面

         ls /media/cdrom

         看到里面有一个Packages 目录,里面就存放了很多rpm程序包,还有一个repodata目录。

         看到repodata目录,眼睛就发光了。直接把客户端配置到repodata的父目录(/media/cdrom)就可以了。

         客户端配置里面有讲解额 baseurl=file:///media/cdrom 保存,退出。

我们来试试吧!!!

yum install createrepo �Cy

OY 顺利安装。

man createrepo

看看我们这个程序,原来这个可以制作repodata 目录。

每一步都是为了下一步,懂了吗?亲爱的程序员们!!!

 

我们来安装个ftp试试

yum install vsftpd �Cy

OK 又顺利完成了.

service vsftpd start

开启vsftpdFTP)服务

service iptables stop

关闭 iptables (防火墙)服务

 

我们用浏览器来试试吧。

ftp://192.168.1.110

哇,我的进去了。看你的了……

ftp的访问目录在/var/ftp/pub目录下面

cp /media/cdrom/Packages/* /var/ftp/pub/

/media/cdrom/Packages/目录下的所以rpm程序包复制/var/ftp/pub目录下面

 

createrepo /var/ftp/pub/

制作repodata目录到/var/ftp/pub/目录下面

 

大解密:repodata目录里面放的内容,就是扫描了rpm程序包的目录(如书上的目录一样的东东)文件。

 

我们回客户端在改改配置吧。

baseurl=ftp://192.168.1.110/pub/

 

yum clean all

清除全部缓存

yum makecache

创建缓存

 

yum list php*

有木有rpm程序包。我的是有的额。

 

yum install php �Cy

oy 又安装成功了。

 

终于到最后了:

服务端rpm程序包有更新,再一次createrepo 这个服务端目录即可.

 大菜鸟祝:更上一层楼。欢迎加入大菜鸟3群:264723618


你可能感兴趣的:(linux,yum,管理详解)