一、只下载软件包
方法1 使用yum的插件downloadonly,安装完就可以只下载不安装了
yum install yum-download yum install httpd --downloadonly --downloaddir=/tmp # 只下载httpd及相关依赖包到/tmp目录下,如果不指--downloaddir,默认在/var/cache/yum目录下
方法2 使用yum-utils中的yumdownloader
yum-utils中包含很多yum工具,如yum-complete-transaction、yum-group-manager
yum install yum-utils yumdownloader httpd # 这种方式不会把httpd相关依赖包下载下来,就只下载httpd包,推荐还是方法1
方法3 使用yum的cache功能
vim /etc/yum.conf # 编辑yum.conf配置文件 keepcache=1 # 值为1表示启用cache
cache目录默认也在/var/cache/yum目录下
二、本地源
createrepo /data/Packages/ # 产生包之间的依赖关系 createrepo --update /data/Packages/ # 加入一些新包的时候,--update可以快速生成依赖关系 vim /etc/yum.repos.d/99cloud.repo # 本地源的repo [icehouse] name=icehouse baseurl=http://192.168.1.102/repo/Packages #baseurl=file:///Package/repo/Packages gpgcheck=0 priority=1 # 优先级最高 tips: 利用python自带的SimpleHTTPServer模块也可以做成http yum源,python -m SimpleHTTPServer 8080(切换到你要的目录下执行)
三、自定义Group
从centos 发行的iso中拷贝一个comps.xml文件,添加一个名字为base的group <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE comps PUBLIC "-//CentOS//DTD Comps info//EN" "comps.dtd"> <comps> <group> <id>base</id> <name>Base</name> <default>false</default> <uservisible>false</uservisible> <packagelist> <packagereq requires="ruby" type="conditional">rubygem-abrt</packagereq> <packagereq type="default">abrt-addon-ccpp</packagereq> <packagereq type="default">abrt-addon-python</packagereq> <packagereq type="default">abrt-cli</packagereq> <packagereq type="default">abrt-console-notification</packagereq> <packagereq type="default">bash-completion</packagereq> </packagelist> </group> </comps> 模仿原来的group写就好了
[root@pxe repo_juno]# createrepo -g comps.xml ./ # Packages在当前目录,会在当前目录生成repodata信息
四、指定特殊版本安装
# 格式 yum install <package name>-<version info> yum install openstack-dashboard-4.0rc1.2016.2.6-Liberty # 查看同个软件包的不同可用版本 yum list --showduplicates | grep -i dashboard
转载于:https://blog.51cto.com/iceyao/1562334