一. 什么是软件包
在 Linux 下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包 (可以理解成 windows 上的安装程序) 放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装.
软件包和软件包管理器, 就好比 "App" 和 "应用商店" 这样的关系.
yum
(Yellow dog Updater, Modified) 是 Linux 下非常常用的一种包管理器. 主要应用在 Fedora, RedHat, Centos 等发行版上.
二. 一个软件是如何下载的
我们日常生活中使用手机, 总会在应用商店下载各种各样的 App , 然而各种各样的软件包却并不在应用商店中, 而是在远端的服务器上. 所以假设你此时要下一个 QQ , 应通过网络向远端去请求下载, 在服务器中找到相应的软件包并安装在手机上.
而 yum
就是 Linux 下一种非常常用的软件包管理器.
三. yum 的使用
注意事项
关于 yum
的所有操作必须保证主机网络畅通.
可以通过 ping
指令验证.
在终端中执行 ping www.baidu.com
即可.
查看软件包
通过 yum list
命令可以罗列出当前一共有哪些软件包. 由于包的数目可能非常之多, 这里我们需要使用 grep
命令来筛选出我们关注的包.
例如 yum list | grep lrzsz
.
-
软件包名称: 主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构.
-
"x86_64" 后缀表示 64 位系统的安装包, "i686" 后缀表示 32 位系统安装包. 选择包时要和系统匹配.
-
"el7" 表示操作系统发行版的版本. "el7" 表示的是 centos7/redhat7. "el6" 表示 centos6/redhat6.
-
最后一列, os 表示的是 "软件源" 的名称, 类似于 "小米应用商店", "华为应用商店" 这样的概念.
软件的安装和卸载
语法: yum install/remove [选项] [软件名]
常用选项:
-y
不询问直接安装.
比如我们想要下载 man 手册.
但是当我们以普通用户的身份下载软件的时候, 发现请求被拒绝.
这是因为安装软件时由于需要向系统目录中写入内容, 一般需要 sudo
提权或者切到 root 账户下才能完成安装.
以 root
账户的身份安装 man 手册.
最后看到一个 Complete! 代表安装完成.
如果要以普通用户的身份安装 man 手册, 则需要 sudo
进行提权.
以普通用户的身份卸载 man 手册.
四. yum 源
初探 yum 源
我们现在已经知道如何使用 yum
下载与卸载软件了.
但是有一个问题, yum
怎么知道去哪里下载?
这就不得不提到 yum
的配置文件 yum 源.
通过 ll /etc/yum.repos.d/
这条指令就可以看到本机所配置的 yum 源.
先进入目录 /etc/yum.repos.d/
, 再用 vim
查看基础 yum 源文件 (vim CentOS-Base.repo
).
进去之后我们可以看到各种各样的链接, 也就是对应的 yum 镜像地址.
修改 yum 源
一般 Linux 操作系统, 默认配置的 yum 源是国外的, 访问速度会较慢, 需要更新 yum 源为国内的 yum 源, 也就是替换 yum 源文件.
可以参考如下这篇文章. (清华大学 yum 源)
失踪的软件
有时候我们在官方 yum 源中找不到自己想要下载的软件, 这时我们就需要下载扩展 yum 源.
只要执行下面这条指令, 系统就会根据你的基础 yum 源, 帮我们找到和它所匹配的扩展 yum 源.
yum install -y epel-release
有了这个 yum 源后你就可以安装一些官方 yum 源中没有的软件了.