转载linux

 

分类: Linux操作系统

2016-03-30 09:47:54

 

   在Linux系统中如果安装rpm软件包,有时候总是需要解决相应的依赖关系,而使用YUM仓库就可以轻松完成安装、卸载、自动升级rpm软件包等任务,主要可以自动查找并解决rpm包之前的依赖关系。
YUM仓库有三种部署方式:FTP、HTTP和本地方式

一、本地yum源

1、挂载光驱并进行开机自动连接
[root@localhost ~]# echo "/dev/sr0 /mnt iso9660 defaults 0 0" >> /etc/fstab
[root@localhost ~]# mount -a
[root@localhost ~]# mout | grep "/dev/sr0"

2、配制本地yum仓库:

[root@localhost ~]# cd /etc/yum.repos.d/                             //yum源配置文件放置目录

[root@localhost yum.repos.d]# rm -rf *                               //删除系统默认yum配制文件

[root@localhost yum.repos.d]# vim CentOS-Media.repo                  //编辑本地yum源文件

[CentOS 6-media]

name=CentOS-$releasever - Media                                      //本地yum源名称(可随意修改)

baseurl=file:///mnt                                                  //本地yum源地址

gpgcheck=1                             

enabled=1                                                            //使用此yum源(等于0为不启用)

gpgkey=file:///mnt/sr0/RPM-GPG-KEY-CentOS-6                          //本地yum源密钥

3、清空并重建缓存

# yum clean metadata                                                 //清除以前的缓存

# yum makecache                                                      //重新建立缓存

# yum update


二、FTP方式yum源
1.首先挂载系统光盘,在YUM仓库服务器上安装ftp服务并启动
[root@localhost ~]# rpm -ivh /media/Packages/vsftpd-2.2.2-11.el6_4.1.x86_64.rpm
[root@localhost ~]# service vsftpd start && chkconfig vsftpd on
添加两条防火墙规则
[root@localhost ~]# iptables -I INPUT -p tcp --dport 21 -j ACCEPT 
[root@localhost ~]# modprobe ip_contrack_ftp

2.配置YUM仓库服务器(这里的IP地址:192.168.1.63)
首先在ftp目录下创建一个YUM仓库目录,并将需要做成YUM仓库的rpm软件包复制到该目录下
[root@localhost ~]# mkdir -p /var/ftp/CentOS
[root@localhost ~]# cp -rf /mnt/* /var/ftp/Centos/

然后在该目录下手动创建repodata数据文件,在创建repodata数据文件之前,需要先将创建repodata数据文件的工具安装上。使用的工具是createrepo,注意这个包有依赖关系
[root@localhost ~]# rpm -ivh /media/Packages/createrepo-0.9.9-18.el6.noarch.rpm 

安装好createrepo工具后,就可以在YUM仓库目录中创建repodata数据文件了
[root@localhost ~]# createropo --database /var/ftp/CentOS

3.配置YUM仓库客户端
第一次配置需要将/etc/yum.repos.d/目录下内容删除,并新建一个以“.repo”结尾的文件,文件内容如下:
[root@localhost ~]# rm -rf /etc/yum.repos.d/*
[root@localhost ~]# vim /etc/yum.repos.d/Centos.repo
[base]                                      //仓库名称
name=CentOS - Base                          //仓库描述信息
baseurl=ftp://192.168.1.63/Centos           //指定yum仓库访问路径
enabled=1                                   //是否开启此仓库
gpgcheck=0                                  //是否检查软件包的签名,0为不检查

4.安装rpm软件包测试
[root@localhost ~]# yum -y install httpd
这样以FTP方式访问的YUM仓库就建立好了
[root@localhost ~]# yum repolist          //查询当前可用的yum源,也就是YUM仓库

三、国内网络yum源网络yum源(前提是必须能连上互联网)
1、163的yum源

1)、将/etc/yum.repos.d/下的所有内容清空
# rm -rf /etc/yum.repos.d/* 
# cd /etc/yum.repos.d/

# wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

2)、把CentOS-Base-163.repo中$releasever改为6.7
按ctl+G在vim末行模式执行
:%s/$releasever/6.7/g 
:wq                      //保存退出
注意:需要把CentOS-Base-163.repo中的$releasever改为6.7,如果不改重建缓存时会出现以下错误:[Errno 14] PYCURL ERROR 22 "The requested URL returned error: 404" 
3)、清空并重建缓存

# yum clean metadata     //清除以前的缓存

# yum makecache          //重新建立缓存

# yum update   

2、中国科大yum源:
# wget http://centos.ustc.edu.cn/CentOS-Base.repo
# mv CentOS-Base.repo CentOS-Base-ustc.repo 
# cat CentOS-Base-ustc.repo 

[base]

name=CentOS-$releasever - Base

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os

baseurl=http://centos.ustc.edu.cn/centos/$releasever/os/$basearch/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

 

#released updates 

[updates]

name=CentOS-$releasever - Updates

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates

baseurl=http://centos.ustc.edu.cn/centos/$releasever/updates/$basearch/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

 

#additional packages that may be useful

[extras]

name=CentOS-$releasever - Extras

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras

baseurl=http://centos.ustc.edu.cn/centos/$releasever/extras/$basearch/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

 

#additional packages that extend functionality of existing packages

[centosplus]

name=CentOS-$releasever - Plus

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus

baseurl=http://centos.ustc.edu.cn/centos/$releasever/centosplus/$basearch/

gpgcheck=1

enabled=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

 

#contrib - packages by Centos Users

[contrib]

name=CentOS-$releasever - Contrib

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib

baseurl=http://centos.ustc.edu.cn/centos/$releasever/contrib/$basearch/

gpgcheck=1

enabled=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

3、Sohu的yum源:
# wget http://mirrors.sohu.com/help/CentOS-Base-sohu.repo
[base]
name=Red Hat Enterprise Linux $releasever -Base
baseurl=http://mirrors.sohu.com/centos/$releasever/os/$basearch/
gpgcheck=1

[update]
name=Red Hat Enterprise Linux $releasever -Updates
baseurl=http://mirrors.sohu.com/centos/$releasever/updates/$basearch/
gpgcheck=1

[extras]
name=Red Hat Enterprise Linux $releasever -Extras
baseurl=http://mirrors.sohu.com/centos/$releasever/extras/$basearch/
gpgcheck=1

[addons]
name=Red Hat Enterprise Linux $releasever -Addons
baseurl=http://mirrors.sohu.com/centos/$releasever/addons/$basearch/
gpgcheck=1


4、阿里云yum源:
阿里云是最近新出的一个镜像源。得益与阿里云的高速发展,这么大的需求,肯定会推出自己的镜像源。
阿里云Linux安装镜像源地址:http://mirrors.aliyun.com
CentOS 5
wget -O /etc/yum.repos.d/CentOS-Base-aliyun.repo http://mirrors.aliyun.com/repo/Centos-5.repo
CentOS 6
wget -O /etc/yum.repos.d/CentOS-Base-aliyun.repo http://mirrors.aliyun.com/repo/Centos-6.repo

5、epel源
1)、安装yum优先级插件
# yum install yum-priorities
2)、epel简介: https://fedoraproject.org/wiki/EPEL/zh-cn
# rpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm 
以上URL按实际情况修改
3)、查看是否安装成功
# rpm -q epel-release
4)、导入key:
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
5)、修改/etc/yum.repos.d/epel.repo文件
在[epel]最后添加一条属性 priority=11
# vim /etc/yum.repos.d/epel.repo
意思是yum先去官方查源,官方没有再去epel的源找
6)、重建缓存
# yum makecache
理论上讲,以上这些yum源redhat系统以及fedora也是可以用的,但是没有经过测试,需要自己测试一下。

四、yum管理及参数
包安装与删除
yum install package_name       #安装yum源中的包
yum remove package_name        #卸载包
yum groupinstall group1        #安装程序组group1
yum groupremove group1         #卸载程序组group1
yum localinstall *.rpm         #安装本地的rpm包

包搜索
yum search package_name        #搜索特定包
yum provides name              #搜索包含特定文件名的包

包列表
yum list                       #列出所有安装或更新的包
yum list name                  #列出指定包
yum list updates               #列出可更新包
yum list installed             #列出已安装包
yum list extras                #列出已安装但不包含在资源库中的包
yum info package_name          #显示安装包信息

包的更新
yum check-update               #检查可更新包:
yum update                     #更新所有包
yum update package_name        #更新指定包
yum upgrade                    #版本升级

清除缓存
yum clean packages             #清除缓存目录下的软件包
yum clean headers              #清除缓存目录下的 headers
yum clean oldheaders           #清除缓存目录下旧的 headers
yum clean, yum clean all (等于yum clean packages; yum clean oldheaders) #清除缓存目录下的软件包及旧的headers

yum特殊参数
--installroot=root             #指定安装软件时的根目录
--enablerepo=repoidglob        #暂时启用某个下载源
--disablerepo=repoidglob       #暂时停用某个下载源
--exclude=package              #排除某个软件包
--noplugins                    #暂时停用所有插件
--disableplugin=plugin         #暂时停用指定的插件
 
 
posted @ 2018-06-13 11:26  超重语言  阅读(140)  评论(0编辑  收藏  举报