yum管理

一、yum发展与作用
     在linux系统维护中管理员经常遇到软件包的依赖问题,有时无法解决,比如你在安装库文件时常出现报错问题,说依赖其它软件包。由于这个问题一直困绕linux的广大爱好者,开源社区的软件爱好者开始开发一些工具来解决这个问题;比如Yellow Dog的YUM(Yellow dog Update,Modified),Debian的APT(Advanced Packaging tool)等,开发这些工具都是为了解决rpm包的依赖关系。而yum起初是由yellow dog发行版的开发者Terra soft 研发,用python写成,那时叫做yum(yellow dog updater),后经杜克大学的linux@Duke开团队时行改进便得此名;yum的宗旨是自动化升级,安装/移除rpm包,收集rpm包的相关信息,检查依赖性并自动提示用户解决,而其关键之处就是有可靠的repository(软件的仓库),可以是http、ftp、操作系统本机,但是必须包含rpm的(header),header包括了rpm包的信息,包括描述,功能,提供的文件,依赖等,正是收集了这些header并加以分析,才能自动化完成余下的任务。
    Yum具有如下功能:
    1、自动解决包的依赖性问题,并能够添加/删除/更新RPM包
    2、便于管理大量系统的更新问题
    3、可以同时配置多个资源库
    4、简洁的配置多个资源库(Repository)
    5、保持与RPM的数据的一致
    6、有一个比较详细的log,可以查看何时升级安装了什么软件
    二、yum仓库:
    仓库(repository)是一个预备好的目录,或是一个网站,包含了软件包和索引文件,yum可以在仓库中自动地定位并获取正确的RPM软件包,这样就不必要手动搜索和安装新应用程序和升级补丁了,只要用一个命令就可以更新系统 所有的软件,也可以根据指定搜索目标来查找安装新软件
    仓库的分类:

如下是本地仓库的配置:

[base]
name=cdrom
baseurl=file:///media/
enabled=0
gpgcheck=0

配置文件内容简介:    

[]内的是仓库的名称    

name 是仓库的位置    

baseurl 仓库的位置    

enabled 是否启用这个仓库,为1是起用,0为禁用    

gpgcheck 是否检查GPG签名(用来验证要安装的包是不是redhat官方的)    

GPGKEY是存放地址我们需要用下面的命令来导入到这个签名,才能使用此功能

yum或者Yellow dog Update或者Modified是杜克大学为了提高RPM软件包安装性而开发的一种软件包管理器。Yum可以从众多软件包仓库中搜索软件的依赖关系,因此可以减少由于依赖关系带来的问题。

1.安装软件包:

yum install package

yum localinstall package 从本机目录安装软件包

yum groupinstall group 安装某个组件的全部软件包

2.更新软件包:

yum update package

yum check-update 列出所有可更新的软件包

yum list updates mysql* 查找mysql的更新

yum update 更新所有可更新的软件包

yum update mysql* 更新所有mysql的软件包

yum groupupdate group 更新某个组件的所有软件包

3.删除软件包:

yum remove package

yum groupremove group 删除某个组件的全部软件包

4.清除软件包

yum clean packages 清除遗留在缓存里的包文件

yum clean metadata 清除遗留在缓存里的元数据

yum clean headers 清除遗留在缓存里的头文件

yum clean all 清除包文件,元数据,头文件

5.搜索软件包:

yum search package

yum info package 查找一个软件包的信息

yum list package 列出包含指定信息的软件包

yum list installed 列出已安装的软件包

yum list extras 列出不是通过软件仓库安装的软件包

yum list *ttp* 列出标题包含ttp的软件包

yum list updates 列出可以更新的软件包

yum whatprovides *tshark* 搜索软件包

实例操作:

挂载光盘

mount /dev/cdrom /media/

挂载ISO镜像

mount -o loop /media/CentOS-7-x86_64-DVD-1810.iso /mnt/

配置yum源

[base]
name=cdrom
baseurl=file:///media/
#enabled=0
gpgcheck=0  

清除及加载新的缓存

yum clean  #清除缓存目录下的软件包及旧的headers

生成缓存

yum makecache

 #############

搭建yum仓库服务器,然后客户端配置yum源代理访问

配置服务器端(192.168.10.10)yum仓库,将镜像挂载放到mirror目录:

[root@host-192.168.10.10 /]# ll /mirror/
总用量 0
drwxr-xr-x. 4 root root 38 10月 31 2019 base
drwxr-xr-x. 4 root root 38 10月 24 2019 epel
drwxr-xr-x. 4 root root 38 10月 31 2019 extras
drwxr-xr-x. 2 root root 34 6月  21 2019 script
drwxr-xr-x. 4 root root 38 10月 24 2019 updates

Nginx设置代理功能:

    server {
        listen       80;
        server_name  localhost;
        root         /mirror ;   #这里是yum源存放目录      
        location / {
            autoindex on;        #打开目录浏览功能
            autoindex_exact_size off;  # off:以可读的方式显示文件大小
            autoindex_localtime on; # on、off:是否以服务器的文件时间作为显示的时间
            charset utf-8,gbk; #展示中文文件名
            index index.html;
        }
    
yum clean all
yum makecache
yum makecache


客户端yum源配置:

[root@host-10-226-10-62 yum.repos.d]# cat cc.repo 
[base]
name=CentOS-$releasever - Base - mirror.com
baseurl=http://192.168.10.10/base/
path=/
enabled=1
gpgcheck=0

[updates]
name=CentOS-$releasever - Updates - mirror.com
baseurl=http://192.168.10.10/updates
path=/
enabled=1
gpgcheck=0

[extras]
name=CentOS-$releasever - Extras - mirror.com
baseurl=http://192.168.10.10/extras
path=/
enabled=1
gpgcheck=0

[epel]
name=CentOS-$releasever - epel - mirror.com
baseurl=http://192.168.10.10/epel/
failovermethod=priority
enabled=1
gpgcheck=0
[root@host-10-226-10-62 yum.repos.d]# 

# yum clean all
# yum makecache
搭建yum服务端

安装软件同时下载安装及依赖包,用于别的主机离线安装:

yum install --downloadonly --downloaddir=目录  httpd

 

posted @ 2015-12-23 22:39  梦徒  阅读(412)  评论(0编辑  收藏  举报