一、yum 的 基础运用
1、命令形式:yum [option]【command】【package…】
选项【option】-h 帮助 ; -y (直接安装的意思yes) ; -q (不显示安装的过程)
其他的可以通过**#yum -h** 查看
同样 command 也通过 #yum -h 查看
2、常用的命令
2.1 安装: #yum -y install 安装包 Package
#yum groupinstall 安装程序组 group1
2.2 删除 : #yum remove 包 ; 有依赖关系的包,用 #yum erase 包package
查看程序的依赖情况 #yum deplist package
2.3 更新和升级 : #yum update 全部更新 ; # yum update package1 升级package1
检查可更新的程序:# yum check-update package1
升级程序组: #yum groupupdate group1
2.4 查找和显示 : #yum info package1 显示安装包信息
#yum repolist
#yum list 显示所有已经安装及可以安装的包
#yum list package1 显示指定包的安装情况
#yum search 关键字string 根据关键字string查找安装包
2.5 清楚缓存 : #yum clean package1 清楚缓存目录下的软件包
#yum clean all
3、 yum 的配置文件:/etc/yum.conf 更多详细的选项和命令 :man yum
FILES : /etc/yum.conf 主配置文件
/etc/yum.repos.d/ yum仓库文件
/etc/cache/yum/ 缓存文件
logfile=/var/log/yum.log 日志文件
# cat /etc/yum.conf
cachedir=/var/cache/yum/
b
a
s
e
a
r
c
h
/
basearch/
basearch/releasever yum 缓存的目录
keepcache=0
debuglevel=2 除错级别,0-10 默认为2
logfile=/var/log/yum.log
exactarch=1 (代表是否只升级跟cpu体系一致的包,1代表是,0代表否)
obsoletes=1
gpgcheck=1 (是否进行gpg校验 1代表检查,0代表不检查)
plugins=1
installonly_limit=3
4、使用 yum-config-manager 指定仓库 (这个命令在yum-utils里,即 #yum -y install yum-utils)
- - save
- -enable
- -disable
- -add- repo =ADDREPO 添加仓库文件或者网路yum源url
二、yum 源配置
1.1 查看系统是否安装yum :#rpm -qa |grep yum
卸载yum: 直接删除/usr/share/目录下:yum-cli 、 yum-plugin
# rm -rf /usr/share/yum-cli
#rm -rf /usr/share/yum-plugin
或者rpm -qa |grep yum |xargs rpm -e --nodeps 该命令可以直接将yum源卸载
1.2 yum 的配置文件说明: 1)yum 的配置文件分为两部分:main和repository
2) main 部分定义全局配置选项,一个系统里只有一个main ,位于/etc/yum.conf ;
3) repository 部分定义了每个源/服务器的具体配置,可以一到多,位于/etc/yum.repo.d
1.3 从centos官网上下载和yum有关的rpm包
http://mirror.centos.org/centos/7/os/x86_64/Packages/
yum-3.4.3-132.el7.noarch
yum-metadata-parser-1.1.4-10.el7.x86_64
yum-rhn-plugin-2.0.1-5.el7.noarch
yum-utils-1.1.31-34.el7.noarch
yum-langpacks-0.4.2-4.el7.noarch
PackageKit-yum-1.0.7-5.el7.x86_64
#rpm -ivh yum-*
#rpm -qa |grep yum-*
#yum makecache
如果有需要导入证书的情况,从官网下载
#rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7
2 、配置本地的yum源
2.1 挂载安装光盘或者iso镜像
配置yum网络源:
阿里源 https://mirrors.aliyun.com
清华大学https://mirror.tuna.tsinghua.edu.cn
网易源http://mirrors.163.com
浙江大学http://mirrors.zju.edu.cn
下载yum网络源包:
#wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
替换配置文件内容:
#sed -i ‘s#$releasever#7#g’ /etc/yum.repos.d/CentOS-Base.repo
#yum makecache
CentOS7基于http方式搭建本地yum源:
参考文件:https://blog.csdn.net/networken/article/details/80729234
关闭selinux 和防火墙,宿主机192.168.4.254
1、创建yum软件保存目录
]# mkdir -p /www/share/yum
2、修改yum配置文件
先备份yum配置文件,修改yum配置文件中yum软件包保存目录并开启rmp包缓存功能
]# cp /etc/yum.conf /etc/yum.conf.bak
]# vim /etc/yum.conf
[main]
#cachedir=/var/cache/yum/
b
a
s
e
a
r
c
h
/
basearch/
basearch/releasever
cachedir=/www/share/yum/
b
a
s
e
a
r
c
h
/
basearch/
basearch/releasever
keepcache=1
3、安装createrepo和http
createrepo 命令用于创建yum源(软件仓库),即为存放于本地特定位置的众多rpm包建立索引,描述各包所需依赖信息,并形成元数据。
]# yum install createrepo httpd -y
4、 创建http共享目录
]# vim /etc/httpd/conf.d/share.conf
#http share
Alias /share /www/share
<Directory “/www/share”>
Options Indexes FollowSymLinks
IndexOptions NameWidth=* DescriptionWidth=* FoldersFirst
IndexOptions SuppressIcon HTMLTable Charset=UTF-8 SuppressHTMLPreamble
Order allow,deny
Allow from all
Require all granted
5、修改http配置文件
]# cp /etc/httpd/conf/httpd.conf{,.bak} 备份文件
]# echo "
ServerName localhost
#关闭版本号显示
ServerSignature Off
ServerTokens Prod
">>/etc/httpd/conf/httpd.conf
6、 启动http服务
]# systemctl enable httpd.service && systemctl restart httpd.service
]# netstat -antp|grep ‘httpd’
#firefox http://192.168.4.254/share/
7、创建YUM软件仓库
]# mkdir -p /www/share/centos7_rpm
]# createrepo -p /www/share/centos7_rpm/
]# ll /www/share/centos7_rpm/
8、创建源文件
]# echo "
[My_share]
name=My_Souce
baseurl=http://192.168.4.254/share/centos7_rpm/
gpgcheck=0
enabled=1
cost=88
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
">/www/share/Lan7.repo
9、下载软件包
1) 将yum缓存的rpm包拷贝到/www/share/centos7_rpm/
[root@localhost ~]# find /www/share/yum -name .rpm |sed -r 's#.#mv & /www/share/centos7_rpm/\n#’|bash
2.下载没有安装过的包
[root@localhost ~]# yum install --downloadonly --downloaddir=/www/share/centos7_rpm/ -y 包名称
3.重新下载已经安装过的包
[root@localhost ~]# yum reinstall --downloadonly --downloaddir=/www/share/centos7_rpm/ -y 包名称
4、更新源
[root@localhost ~]# createrepo --update -p /www/share/centos7_rpm/
5.创建rpm下载、yum更新shell
]# echo '#!/bin/sh
[ $# = 0 ] && {
echo “更新源”
/usr/bin/createrepo --update -p /www/share/centos7_rpm/
} || {
echo “yum下载”
yum install --downloadonly --downloaddir=/www/share/centos7_rpm/ -y $*
echo “更新源”
/usr/bin/createrepo --update -p /www/share/centos7_rpm/
}
'>yumd.sh
[root@localhost ~]# ln -s $(pwd)/yumd.sh /usr/bin/yumd
[root@localhost ~]# chmod +x yumd.sh
执行 yumd 更新源,执行 yumd 软件1 软件2 ,就会下载相关软件并更新源
客户端使用源
1.下载服务端源文件到本地
wget -O /etc/yum.repos.d/Lan7.repo http://192.168.4.254/share/Lan7.repo
2.客户端测试,查看源名称为myshare说明正常
yum install httpd
宿主机上下载OpenStack安装包:
]# yum install centos-release-openstack-queens -y #安装OpenStack官方源
[root@localhost ~]# yum install --downloadonly --downloaddir=/www/share/centos7_rpm/ -y
python-openstackclient openstack-selinux python-openstackclient python2-PyMySQL
openstack-utils
mariadb mariadb-server mariadb-galera-server python2-PyMySQL
erlang socat rabbitmq-server
openstack-keystone httpd mod_wsgi memcached python-memcached
apr apr-util
openstack-glance python-glance
openstack-nova-api openstack-nova-conductor
openstack-nova-console openstack-nova-novncproxy
openstack-nova-scheduler openstack-nova-placement-api
openstack-nova-compute python-openstackclient openstack-selinux
openstack-neutron openstack-neutron-ml2
openstack-neutron-linuxbridge python-neutronclient ebtables ipset
openstack-neutron-linuxbridge ebtables ipset
openstack-dashboard
openstack-cinder targetcli python-keystone lvm2
corosync pacemaker pcs fence-agents resource-agents
openstack-neutron-linuxbridge
注意问题一:系统最小化安装后,centos会出现无法使用Tab自动补全。
解决办法:配置好yum源之后,需要网络源,手动安装一个包 bash-completion 。
#yum -y install bash-completion
]# rpm -qc bash-completion
/etc/profile.d/bash_completion.sh
]# cd /etc/profile.d/
]# ls
]# source bash_completion.sh 执行脚本,即可