公司局域网内的配置一台能够链接外网的YUM源服务器,这样能够避免每机器都须要经过外网下载安装包。html
1、yum源服务器的搭建
yum源服务器端配置
a) 在admnode上经过yum或rpm包安装vsftpd
# yum install vsftpd
启动vsftpd服务
# systemctl enable vsftpd
# systemctl start vsftpd
# systemctl status vsftpdnode
关闭防火墙
# systemctl disable firewalld
# systemctl stop firewalld
# systemctl status firewalld
关闭selinux
# setenforce 0
#vim /etc/selinux/config
将其中的"SELINUX=enforcing"修改成"SELINUX=permissive"
确保/etc/yum.conf中没有设置代理,注释掉代理设置的下面三行
####proxy=http://<proxyserver's IP>:port/
####proxy_username=<G08's username>
####proxy_password=<G08's passwork>
使用浏览器验证ftp服务是否正常。 mysql
在服务端机器和客户端机器的浏览器地址栏上输入ftp://ip/pub/ ,浏览器会显示相应文件夹目录。
b) 将全部的须要的rpm包拷贝到 /var/ftp/pub/<self-content>目录下。
c) 建立YUM源.
安装createrepo工具
# yum install createrepo
生成yum源的repodata依赖文件
# createrepo /var/ftp/pub
d) 配置本地YUM源.
在/etc/yum.repos.d/目录下新建*.repo文件(例:local_yum.repo),添加如下内容:
[local_yum] #库名称
name=local_yum #名称描述
baseurl=ftp://10.167.221.108/pub/ #yum源目录,填写Server端FTP服务器的IP。
enabled=1 #是否启用该yum源,0为禁用,1为使用
gpgcheck=0 #检查GPG-KEY,0为不检查,1为检查
修改默认源(注:通常只须要修改CentOS-Base.repo源便可,但若是有其余源生效,就在后缀加上.bak)
# cd /etc/yum.repos.d/
# mv CentOS-Base.repo CentOS-Base.repo.bak
更新服务器端yum源,已便客户端识别改动的rpm包。
# yum clean all
# createrepo --update /var/ftp/pub/
# createrepo /var/ftp/pub/
e) 查看所拥有的源,以及经过本地yum源安装软件
#yum repolist all
# yum install <local-yum-Software-package-name>
yum客户端的配置
a) 准备工做。
关闭防火墙
# systemctl disable firewalld
# systemctl stop firewalld
# systemctl status firewalld
关闭selinux
# setenforce 0
#vim /etc/selinux/config
将其中的"SELINUX=enforcing"修改成"SELINUX=permissive"
确保/etc/yum.conf中没有设置代理,注释掉代理设置的下面三行
####proxy=http://<proxyserver's IP>:port/
####proxy_username=<G08's username>
####proxy_password=<G08's passwork>
使用浏览器验证ftp服务是否正常。在浏览器地址栏上输入ftp://ip/pub/ ,浏览器会显示相应文件夹目录。
linux
b) 配置集群服务器YUM源.
在/etc/yum.repos.d/目录下新建*.repo文件(例:local_yum.repo),添加如下内容:
[local_yum] #库名称
name=local_yum #名称描述
baseurl=ftp://10.167.221.108/pub/ #yum源目录,填写Server端FTP服务器的IP。
enabled=1 #是否启用该yum源,0为禁用,1为使用
gpgcheck=0 #检查GPG-KEY,0为不检查,1为检查 sql
修改默认源(注:通常只须要修改CentOS-Base.repo源便可,但若是有其余源生效,就在后缀加上.bak)
# cd /etc/yum.repos.d/
# mv CentOS-Base.repo CentOS-Base.repo.bak vim
c) 查看所拥有的源,以及经过本地yum源安装软件
#yum repolist all
#yum install <local-yum-Software-package-name> 浏览器
注意:搭建基于FTP和搭建基于HTTP的yum服务器的方式是相似的,只不过HTTP的方式启用的是httpd服务,已经将相关文件放置到HTTP服务的默认文件目录(/var/www/html/下,该默认目录能够变动)缓存
2、yum软件rpm安装包的下载
rpm下载方法服务器
1) 安装rpm包时缓存ide
yum 默认状况下,升级或者安装后,会删除下载的rpm包。
不过,咱们也能够以下设置升级后不删除下载的rpm包
# vim /etc/yum.conf
[main]
cachedir=/var/cache/yum
keepcache=0
将 keepcache=0 修改成 keepcache=1, 安装或者升级后,在目录 /var/cache/yum 下就会有下载的 rpm 包了。
2) 只下载rpm包,不安装
使用下载rpm包须要使用–downloadonly选项,这样能够经过yum下载rpm包到本地默认的 /var/cache/yum/x86_64/7 目录下。
该目录下的每一个文件夹,表示使用的yum的.repo库。
使用–downloadonly选项,需先安装yum-plugin-downloadonly包。
下载命令以下:
yum install --downloadonly <待安装软件名>
根据下载XXX.repo源的名称,下载后的软件就存放在/var/cache/yum/x86_64/7 目录下相应的XXX目录中
下载rpm包到本地某个具体目录,而不是默认目录方法:
yum install --downloadonly --downloaddir=<自定义目录> <待安装软件名>
yum源的划分方法
TBD
yum经常使用的命令
安装软件包:
yum install package 更新指定程序包package
yum install –downloadonly 下载指定的包,而且下载相关依赖包
yum localinstall package 从本机目录安装软件包
yum groupinstall group 安装某个组件的所有软件包
更新软件包:
yum update package
yum -C update 从本地系统缓存更新
yum check-update 列出全部可更新的软件包
yum list updates mysql* 查找mysql的更新
yum update 更新全部可更新的软件包
yum update mysql* 更新全部mysql的软件包
yum groupupdate group 更新某个组件的全部软件包
yum list 列出全部已安装和仓库中可用的软件包
yum list available 列出仓库中全部可用的软件包
yum list updates 列出仓库中比当前系统更新的软件包
yum list installed 列出已安装的软件包
yum list recent 列出新加入仓库的软件包
yum info 查询软件包信息
删除软件包:
yum remove package
yum groupremove group 删除某个组件的所有软件包
清除软件包
yum clean packages 清除遗留在缓存里的包文件
yum clean metadata 清除遗留在缓存里的元数据
yum clean headers 清除遗留在缓存里的头文件
yum clean all 清除包文件,元数据,头文件
搜索软件包:
yum search package
yum info package 查找一个软件包的信息
yum list package 列出包含指定信息的软件包
yum list installed 列出已安装的软件包
yum list extras 列出不是经过软件仓库安装的软件包
yum list *ttp* 列出标题包含ttp的软件包
yum list updates 列出能够更新的软件包
查找特定文件是由什么软件包提供的:yum whatprovides filename例子:yum whatprovides httpd.conf