公司局域网内的配置一台可以连接外网的YUM源服务器,这样可以避免每机器都需要通过外网下载安装包。
一、yum源服务器的搭建
yum源服务器端配置 a) 在admnode上通过yum或rpm包安装vsftpd # yum install vsftpd 启动vsftpd服务 # systemctl enable vsftpd # systemctl start vsftpd # systemctl status vsftpd关闭防火墙
# systemctl disable firewalld # systemctl stop firewalld # systemctl status firewalld 关闭selinux # setenforce 0 #vim /etc/selinux/config 将其中的"SELINUX=enforcing"修改为"SELINUX=permissive" 确保/etc/yum.conf中没有设置代理,注释掉代理设置的下面三行 ####proxy= IP>:port/ ####proxy_username=<G08's username> ####proxy_password=<G08's passwork> 使用浏览器验证ftp服务是否正常。在服务端机器和客户端机器的浏览器地址栏上输入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= #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= IP>:port/ ####proxy_username=<G08's username> ####proxy_password=<G08's passwork> 使用浏览器验证ftp服务是否正常。在浏览器地址栏上输入ftp://ip/pub/ ,浏览器会显示相应文件夹目录。b) 配置集群服务器YUM源.
在/etc/yum.repos.d/目录下新建*.repo文件(例:local_yum.repo),添加以下内容: [local_yum] #库名称 name=local_yum #名称描述 baseurl= #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
c) 查看所拥有的源,以及通过本地yum源安装软件
#yum repolist all #yum install <local-yum-Software-package-name>注意:搭建基于FTP和搭建基于HTTP的yum服务器的方式是类似的,只不过HTTP的方式启用的是httpd服务,已经将相关文件放置到HTTP服务的默认文件目录(/var/www/html/下,该默认目录可以变更)
二、yum软件rpm安装包的下载rpm下载方法
1) 安装rpm包时缓存
yum 默认情况下,升级或者安装后,会删除下载的rpm包。
不过,我们也可以如下设置升级后不删除下载的rpm包# vim /etc/yum.conf[main]cachedir=/var/cache/yumkeepcache=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 更新指定程序包packageyum install –downloadonly 下载指定的包,并且下载相关依赖包yum localinstall package 从本机目录安装软件包yum groupinstall group 安装某个组件的全部软件包更新软件包:
yum update packageyum -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 packageyum groupremove group 删除某个组件的全部软件包清除软件包
yum clean packages 清除遗留在缓存里的包文件yum clean metadata 清除遗留在缓存里的元数据yum clean headers 清除遗留在缓存里的头文件yum clean all 清除包文件,元数据,头文件搜索软件包:
yum search packageyum 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