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
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仓库的两种方式:
| 方式 | 协议 | 软件 |
|---|---|---|
| 网页的方式 | http | httpd |
| ftp文件传输协议 | ftp | vsftpd |
存放客户访问的文件位置:/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
小拓展:服务器挂载报错时,可以参考下面步骤进行修改。
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
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