搭建局域网的yum仓库

866 阅读5分钟

1、yum仓库文件位置

1.1 yum主配置文件

主配置文件位置:/etc/yum.conf

 [root@localhost ~]#  rpm -qc yum         //查询yum的主配置文件
 /etc/logrotate.d/yum
 /etc/yum.conf
 /etc/yum/version-groups.conf
 [root@localhost ~]#  vim /etc/yum.conf   //打开主配置文件
 [main]
 cachedir=/var/cache/yum/$basearch/$releasever // yum下载的RPM包的缓存目录 $basearch代表硬件架构,比如cpu $releasever系统版本比如6、7
 keepcache=0                                   //是否保存缓存  0代表不保存,1代表保存
 debuglevel=2                                  //调试级别了解即可
 logfile=/var/log/yum.log                     // 日志文件位置
 exactarch=1                                  //是否允许不同版本的rpm安装
 obsoletes=1                                 //update 的一个参数是否可以允许旧版本的运行  
 gpgcheck=1                                  //验证秘钥
 plugins=1                                   //是否允许插件1代表可以
 installonly_limit=5                         //保存几个内核 5代表5个
 bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
 distroverpkg=centos-release
 ​
 yum的repo配置文件中可用的变量:
 $releasever: 当前OS的发行版的主版本号,如:8,7,6
 $arch: CPU架构,如:aarch64, i586, i686,x86_64等
 $basearch:系统基础平台;i386, x86_64
 $contentdir:表示目录,比如:centos-8,centos-7
 $YUM0-$YUM9:自定义变量

1.2 客户端配置文件

位置:/etc/yum.repos.d/*.repo

yum仓库不同之处是:主要修改的为客户端配置,而不是服务端配置。

 [root@localhost ~]#  cd /etc/yum.repos.d
 [root@localhost yum.repos.d]#  ls
 CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
 CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo

1.3 日志文件

位置:/var/log/yum.log

2、yum命令详解

命令不加关键字加入关键词、软件包、软件包组
yum list显示所有可用包单个的可安装包
yum info(等于rpm -qi)显示所有可用包的信息单个具体的信息
yum search\模糊查找所有的相关信息
yum provides\精确查找
yum grouplist显示所有可用包组显示具体的包组
yum groupinfo显示所有的包组具体信息显示具体的包组的具体信息
yum install\安装具体软件包
yum groupinstall\安装具体软件包组
yum update所有软件升级具体软件升级
yum group update所有包组升级具体包组升级
yum remove\卸载具体软件
yum groupremove\卸载具体包组软件
yum history查看当前yum操作历史\
yum history undo加入序号卸载序号里安装的软件\
yum history redo加入序号重新执行序号里的操作\

2.1 “查询”相关命令

2.1.1 yum list

yum list 【软件名】

显示可用的安装包,如不加软件名是显示所有的可用包。

 [root@localhost ~]#  yum list httpd   #过程中需要联网
 [root@localhost ~]#  yum list |grep httpd    #过滤和httpd相关的包

2.1.2 yum info

yum info【软件名】

显示安装包详细信息,与rpm -qi的含义基本一致。

2.1.3 yum search

yum search <关键词>

模糊查询, 根据关键词查找软件安装包的名字,相当于你只知道这个包里的某个关键字会全部给你匹配出来

2.1.4 yum provides

yum provides <关键词>

关键词中对应的是命令, 你知道某个命令却不知道具体的包可以用此命令查找

小拓展:/etc/mime.types

跟邮件有关

2.2 “安装升级”相关命令

2.2.1 yum install

yum install 【软件名】

安装软件包

2.2.2 yum update

更新包组,更新需要有更新源。

2.3 “卸载”相关命令

2.3.1 yum remove

yum remove <软件名>

卸载软件,卸载已安装的软件必须加软件名。

2.3.2 yum history

image.png

 yum history undo 8  
     8:  指id
     undo:不做  //对应的操作,id为8中,对应的操作是安装,那undo就是卸载
 yum history redo 8
     redo:重做,undo 8把8卸载了,那么redo 8就是将8重新安装。

小拓展:

1、安装最小化图形界面

 #如无法使用请先升级
 yum -y upgrade
 #再安装
 yum -y groups install "GNOME Desktop"
 ​
  init 5   #在虚拟机中输入,  运行级别,5是图形界面

2、查看内核版本:

 uname -a
 uname -r

3、搭建局域网的yum仓库

搭建局域网yum仓库的两种方式:

方式协议软件
网页的方式httphttpd
ftp文件传输协议ftpvsftpd

存放客户访问的文件位置:/var/www/html

html默认的网页位置:/index.html,其中 /代表服务器,是软件的根,而不是系统的根,相当于是/var/www/html

3.1 实验一:http

用网页的方式搭建局域网的yum仓库。

服务器192.168.125.100:

 [root@localhost ~]#  systemctl stop firewalld
 [root@localhost ~]#  setenforce 0
 [root@localhost ~]#  yum install httpd -y
 [root@localhost ~]#  cd /var/www/html
 [root@localhost html]#  mkdir centos7
 [root@localhost html]#  mount /dev/sr0 /var/www/html/centos7
 [root@localhost html]#  systemctl start httpd

客户机:

 [root@localhost ~]#  systemctl stop firewalld
 [root@localhost ~]#  setenforce 0
 [root@localhost ~]#  cd /etc/yum.repos.d
 [root@localhost yum.repos.d]#  mkdir bak
 [root@localhost yum.repos.d]#  mv *.repo bak
 [root@localhost yum.repos.d]#  vim http.repo
     [http]
     name=httpd
     baseurl=http://192.168.125.100/centos7/    #服务器的ip地址,注意更改ip地址!!!
     gpgcheck=0
 [root@localhost yum.repos.d]#  yum clean all   #清除缓存
 [root@localhost yum.repos.d]#  yum makecache   #建立元数据

测试: yum install tree -y

image.png

小拓展:服务器挂载报错时,可以参考下面步骤进行修改。

image.png

image.png

3.2 实验二:ftp 文件共享

相比于http,主要调整的是服务器。

服务器工具vsftpd

服务器192.168.125.100:

 [root@localhost ~]#  systemctl stop firewalld
 [root@localhost ~]#  setenforce 0
 [root@localhost ~]#  yum install vsftpd -y
 [root@localhost ~]#  systemctl start vsftpd
 [root@localhost ~]#  mkdir /var/ftp/centos7
 [root@localhost ~]#  mount /dev/sr0 /var/ftp/centos7
 [root@localhost ~]#  systemctl start vsftpd

客户机:

ftp是客户端工具

 [root@localhost ~]#  systemctl stop firewalld
 [root@localhost ~]#  setenforce 0
 [root@localhost ~]#  yum install ftp -y
 [root@localhost ~]#  ftp 192.168.125.100    #测试ftp能否正常访问服务端
     用户名:ftp
     密码:无,回车即可
     #ctrl+d  退出ftp
 [root@localhost ~]#  cd /etc/yum.repos.d
 [root@localhost yum.repos.d]#  mkdir bak
 [root@localhost yum.repos.d]#  mv *.repo bak
 [root@localhost yum.repos.d]#  vim ftp.repo
     [ftp]
     name=ftp
     baseurl=ftp://192.168.125.100/centos7/    #服务器的ip地址
     gpgcheck=0
 [root@localhost yum.repos.d]#  yum clean all
 [root@localhost yum.repos.d]#  yum makecache

测试: yum install tree -y

image.png

3.3 搭建阿里云仓库

国外云仓库比较慢,可以使用阿里云仓库代替

1.切换到 yum.repo.d 目录 将自带的仓库移走

 [root@localhost ~]# cd /etc/yum.repos.d/
 [root@localhost yum.repos.d]# mkdir bak
 [root@localhost yum.repos.d]# mv *.repo bak/
 [root@localhost yum.repos.d]# ls
 bak
 CentOS系统的yum源
 #阿里云
 https://mirrors.aliyun.com/centos/$releasever/ 
 #腾讯云
 https://mirrors.cloud.tencent.com/centos/$releasever/ 
 #华为云
 https://repo.huaweicloud.com/centos/$releasever/ 
 #清华大学
 https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/
 ​
 ​
 EPEL的yum源
 #阿里云
 https://mirrors.aliyun.com/epel/$releasever/x86_64
 #腾讯云
 https://mirrors.cloud.tencent.com/epel/$releasever/x86_64
 #华为云
 https://mirrors.huaweicloud.com/epel/$releasever/x86_64
 #清华大学
 https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/x86_64
 ​
 #更新源
 http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/ http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/ http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
 ​
 ​
 baseurl=https://mirrors.aliyun.com/epel/$releasever/x86_64
         https://mirrors.cloud.tencent.com/epel/$releasever/x86_64
         https://mirrors.huaweicloud.com/epel/$releasever/x86_64
         https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/x86_64
         
[ali]
name=aliyun
#baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/                  //开启哪个都可以正常使用,这边主要解释变量的作用
baseurl=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/    //变量参见主配置文件2.1小节
gpgcheck=0

[epel]                     //epel源仓库
name=epel
baseurl=https://mirrors.aliyun.com/centos/7/extras/x86_64/
gpgcheck=0

[update]                   //更新包仓库
name=update
baseurl=https://mirrors.aliyun.com/centos/7/updates/x86_64/
gpgcheck=0