CentOS7系统yum使用讲解
前言
之前一直都有断断续续的使用Linux操作系统,相比较使用过的Linux操作系统还是觉得CentOS比较好用,个人也比较喜欢CentOS,但是每一次使用过一段时间后就由于别的事情给耽搁了,等到又接着使用CentOS的时候,总是会遗忘之前的一些操作流程,尤其是刚刚在虚拟机中安装好CentOS后,一些环境配置的指令还有一些常用包,总是模棱两可,所以在这里,将对本人遇到的问题进行梳理,并查阅一些博客寻找常用的解决问题的流程,以备不时之需。
使用yum安装软件失败
刚刚在虚拟机上安装完成CentOS7,迫不及待的想使用yum安装wget,准备下载JDK8来撸会代码,很娴熟的敲入指令yum -y install wget
。然而出现意想不到的结果:
随后到网上找了一下原因,发现是未连接网络造成的问题,需要连接网络,那么下面先对如何检查网络是否连接以及如何连接网络做一下总结。
CentOS7网络连接
由于本人CentOS7的安装是最小化安装,没有ifconfig命令,所有无法通过ifconfig命令来检查网络状态。不过CentOS有ip
命令可以使用,以此来查看网络状态。在命令行输入ip addr
,返回结果如下图:
可以看到查询结果被分为两个部分,一个是lo,另一个是enp0s3,CentOS系统的ip地址是网卡的inet值,第一个lo有inet值,很明显这是本地服务地址,lo(loopback)是环回接口,也称为回环网卡。第二个网卡enp0s3,没有inet值,这表示CentOS没有连接至网络,所以没有ip地址。那么如何将CentOS连接至网络?常用的方法有两种:
- 方法一:修改网卡配置文件,将网络连接打开
- 打开配置文件(根据上面指令显示的网卡名称,修改最后的文件名)
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
- 修改文件内容并保存。(ONBOOT表示是否开机启动)
将文本中ONBOOT=no修改为ONBOOT=yes
- 重启网络
service network restart
- 方法二:
- 打开resolv.conf文件
vi /etc/resolv.conf
- 向文件中添加以下内容并保存
nameserver 8.8.8.8
- 重启网络
service network restart
完成以上操作后,在命令行中重新输入ip addr
查看网络状态,如下图:
现在网卡enp0s3就有inet值,表示网络连接成功。
更改yum官方源
yum(Yellow dog Updater, Modified)是一款软件包管理器。Redhat以及Fedora的软件安装命令是rpm(Redhat package Manager),不过rpm安装软件比较麻烦需要手动寻找安装该软件所需要的一系列依赖关系,为了更好地对软件包依赖的管理所以Fedora推出了yum,能够很好的对软件包以及相关依赖进行安装和管理。
yum会从指定的服务器对软件包及其依赖进行下载,不过yum默认的安装源的服务器是国外的,国内下载的话速度会非常的慢,所以通常会将yum安装源改为国内的例如阿里或者163。下面将CentOS7中的yum源改为阿里的yum源步骤如下。
- 安装wget
yum –y install wget
- 备份本地yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_back
- 下载阿里yum源
wget –O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
- 清理yum缓存
yum clean all
- 重建缓存
yum makecache
- 可使用阿里yum源对系统所有软件进行更新(可选)
yum –y update
使用EPEL扩展仓库
在yum中包含的只是一些基本的软件包,那么如果想要下载yum源中没有的软件包该怎么办?此时,可以使用EPEL扩展仓库。EPEL(Extra Packages for Enterprise Linux)是为企业级 Linux 提供的一组高质量的额外软件包。安装EPEL步骤如下:
- 安装epel-release
yum –y install epel-release
- 安装完成后可以将原来的EPEL源修改为阿里EPEL源
- 备份原来的epel源
mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo_back
- 下载阿里epel源
wget –O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
- 安装yum源管理工具
yum install –y yum-priorities
- 对yum源以及epel源添加优先级,数字越小,优先级越高
- 打开epel.repo文件
vi /etc/yum.repo.d/epel.repo
- 向文件中添加以下内容并保存
priority=88
- 打开CentOS-Base.repo文件
vi /etc/yum.repo.d/CentOS-Base.repo
- 向文件中添加以下内容并保存
priority=8
- 开启yum源优先级功能
vi /etc/yum/pluginconf.d/priorities.conf
文件中应有
[main]
enabled = 1
yum常用指令总结
- yum语法
yum [-options] [command] [packageName...]
- -options为可选项,常用的有:
-options | 操作 |
---|---|
-h | 显示帮助信息 |
-y | 安装过程提示选择全部为"yes" |
-c | 指定配置文件 |
-q | 安静模式(不显示安装的过程) |
-v | 详细模式 |
-R | 设定yum处理一个命令的最大等待时间 |
-C | 从缓存中运行,不去下载或更新任何头文件 |
- command为要进行的操作,常用的有:
command | 操作 |
---|---|
install | 安装rpm软件包 |
update | 更新rpm软件包 |
remove | 删除指定的rpm软件包 |
list | 显示软件包的信息 |
search | 检查软件包的信息 |
info | 显示指定的rpm软件包的描述信息和概要信息 |
clean | 清理yum缓存 |
- 常用命令
- 列出所有可更新的软件清单命令:
yum check-update
- 更新所有软件命令并同意所有提示:
yum –y update
- 仅安装指定的软件命令并同意所有提示:
yum –y install [packageName]
- 仅更新指定的软件命令并同意所有提示:
yum –y update [packageName]
- 列出所有可安裝的软件清单命令:
yum list
- 删除软件包命令:
yum remove [packageName]
- 查找软件包命令:
yum search [keyword]
- 清除缓存命令:
- 清除缓存目录下的软件包
yum clean packages
- 清除缓存目录下的 headers
yum clean headers
- 清除缓存目录下旧的 headers
yum clean oldheaders
- 清除缓存目录下的软件包及旧的headers
yum clean all
wget常用指令总结
- wget语法
wget [-options] [URL地址]
- -options为可选项,常用的有
-options | 操作 |
---|---|
-O | 下载保存至指定路径以及文件名 |
-c | 断点续传 |
-b | 后台下载 |
-P | 下载保存至指定目录 |
-d | 调试模式,打开调试输出 |
-limit-rate | 限速下载 |
–ftp-user --ftp-password | 使用FTP用户认证下载 |
–user-agent | 伪装代理名称下载 |
-spider | 测试下载链接 |
- 常用命令
- 使用wget下载单个文件,文件保存至当前路径中
wget [URL地址]
- 下载并修改保存路径以及文件名
wget –O [保存路径及文件名] [URL地址]
- 断点续传
wget –c [URL地址]
- 后台下载,可使用
tail –f wget-log
查看文件下载进度wget –b [URL地址]
- 限速下载,下面指令表示最大速度为1KB/s
wget –limit-rate=1k [URL地址]
- 保存至指定目录
wget [URL地址] –P [目录地址]
- 测试下载链接
wget --spider [URL地址]