设为首页 收藏本站
查看: 760|回复: 0

[经验分享] centos 7 配置yum本地源及yum命令使用

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-3-10 16:23:06 | 显示全部楼层 |阅读模式
我们在介绍yum本地源的时候 先给大家谈谈RPM安装。

RPM(Redhat Package Manager)解决源码包安装的众多依赖关系,,旨在校验安装卸载查询升级等管理软件操作。
安装:rpm -ivh filename.rpm
升级:rpm -Uvh filename.rpm
卸载:rpm -e filename.rpm
查询软件的描述信息:rpm -qpi filename
列出软件的文件信息:rpm -qpl filename.rpm
查询文件数据哪个RPM: rpm -qf filename

虽然RPM能帮助用户查询软件相关的依赖关系,但还是要靠我们自己解决,如依赖关系众多这对于我们而言也是不小的负担
YUM仓库则是为进一步简化RPM管理软件难度而设计的,能分析出所需软件包及相关依赖关系,自动从服务器下载软件包并安装。
YUM:Yellowdog Updater Modified  


    Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。(bing 词典)

    yum可以检测软件间的依赖性,并提示用户解决,将发布的软件放到yum server,然后分析这些软件的依赖关系,然后将软件相关性记录成列表。当客户端有软件安装请求时,yum客户端在yum服务器上下载记录列表,然后通 过列表信息与本机rpm数据库已安装软件数据对比,明确软件的依赖关系,能够判断出那些软件需要安装。
    列表信息保存在yum客户端的/var/cache/yum中,每次yum启动都会通过校验码与yum服务器同步更新列表信息。
    使用yum需要有yum repositories,用来存放软件列表信息和软件包。yum repositories可以是http站点,ftp站点,本地站点。
    路径格式:
       ftp://hostname/PATH/TO/REPO   REPO指repodata所在路径的父目录
         http://hostname/PATH/TO/REPO  
         file:///PATH/TO/REPO     



本文中的“本地YUM源”包括三种类型:一是直接使用CentOS光盘作为本地yum源,优点是简单便捷,缺点是光盘软件包可能不完整(centos 7 Everything 总共才6.57G);二是同步CentOS官方源到本地(相当于创建了一个公共镜像),优点是最靠谱,缺点是占空间费流量;三是创建完全自定义的本地源,优点是灵活性最大,缺点是只是作为其他源的补充。
一、使用CentOS光盘作为本地yum源
(1) 实体机上直接放入光盘
(2) VMware Workstation 虚拟机:虚拟机-->可移动设备-->CD/DVD-->连接


复制代码
代码如下:

mkdir /mnt/cdrom #创建目录
mount /dev/cdrom /mnt/cdrom #挂载
umount /mnt/cdrom #卸载
若不想每次都要放光盘,那就复制光盘文件到本地硬盘吧
[code]
cp -avf /mnt/cdrom /yum # -a:该选项保留链接、文件属性,并递归地复制目录


2、创建repo文件


复制代码
代码如下:

cat >>/etc/yum.repos.d/CentOS-Local.repo<<-EOF
[Local]
name=Local Yum
baseurl=file:///yum/
gpgcheck=1(是否检查)
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1(启用为1)


问:为什么连createrepo软件都不用安装?
createrepo 的作用是创建索引文件的(位于repodata文件夹),光盘中连GPG-KEY都有了。
二、如何为CentOS创建公共镜像
详细说明见官方中文文档:
http://wiki.centos.org/zh/HowTos/CreatePublicMirrors
提供一个SHELL脚本,然后cron自动运行~~
脚本稍作修改,换成中科大的镜像源。可用镜像列表见:http://www.centos.org/download/mirrors/

复制代码
代码如下:

localpath="/mirrors/CentOS"
mirror="mirrors.hustunique.com::centos"
rsync="rsync -avzH --delete"</p> <p>verlist="7"
baselist="centosplus extras fasttrack os updates"
archlist="x86_64"</p> <p>for ver in $verlist
do
for base in $baselist
do
for arch in $archlist
do
remote=$mirror/$ver/$base/$arch/
mkdir -pv $localpath/$ver/$base/$arch/
$rsync $remote $localpath/$ver/$base/$arch/
done
done
done</p> <p>

三、创建完全自定义的本地源
把平时收藏的一些RPM软件包放在一个目录里,就变成一个自定义源了,可以用YUM来管理,灵活性相当大。
官方教程:How to setup your own package repository
1、创建本地yum仓库


复制代码
代码如下:

mkdir -p /yum/local #可以有N级目录
cp ... #复制RPM包到上述目录


2、创建repo文件


复制代码
代码如下:

cat >>/etc/yum.repos.d/CentOS-Local.repo<<-EOF
[Local]
name=Local Yum
baseurl=file:///yum/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1


3、安装createrepo

复制代码
代码如下:

yum install createrepo #使用yum安装createrepo
rpm -ivh <a href="http://mirror.centos.org/centos/7/os/x86_64/Packages/createrepo-0.9.9-23.el7.noarch.rpm">http://mirror.centos.org/centos/ ... oarch.rpm</a>


4、创建索引

复制代码
代码如下:

createrepo /yum
yum makecache #更新缓存


YUM命令使用

yum info 软件包名称    查看软件包信息

yum install 软件包名称   安装软件包

yum reinstall 软件包名称   重新安装软件包

yum update 软件包  升级软件包

yum remove 软件包 移除软件包

yum clean alla  清楚所有仓库缓存

yum grouplist 查看系统中已经安装的软件包

yum check-update   查看可更新软件包

yum grouplist   查看系统中已经安装的软件包组

yum groupinstall软件包组   安装制定的软件包组

yum groupremove 软件包组   移除指定的软件包组

yum groupinfo 软件包组  查询制定的软件包组信息



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-350655-1-1.html 上篇帖子: Centos7下删除virbr0网卡信息 下篇帖子: linux 多路径配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表