- 本期主题:yum介绍和使用
- 博客主页:小峰同学
- 分享小编的在Linux中学习到的知识和遇到的问题
小编的能力有限,出现错误希望大家不吝赐
作为程序员,不会有人还没女朋友吧。
目录
- 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.
- 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安 装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装.
- 软件包和软件包管理器, 就好比 "App" 和 "应用商店" 这样的关系.
谁提供的软件包?
- 在手机上应用商店下载软件的时候,就是软件开发者提供的,是由企业或者个人提供的。一般放在自己的官网,或者提供给手机厂商上线在应用商店上(得加钱)。
- 在lunux下得软件谁提供呢?linux是开源的,所以里面的软件也是开源的,这就是linux的开源生态。所以就是开源者提供的软件。
谁把他放在服务器上?
- 存在linux社区是一个很大的组织,接收全球各个企业和个人的捐赠,社区租用服务器,然后将这些开源软件发布在租用的服务器上。
linux客户端如何得知?如何下载安装这些软件呢?
- 不同的社区(sentos是一个社区,radhat是一个社区---),各种软件都发布在各个社区租用的服务器上,并且都有自己的下载链接,在自己的linux中,用软件包管理器来管理这些下载链接。
- sentos中的软件包管理器就是 yum ,yum也是一个软件,这个软件是用来管理其他各个软件的下载链接的。
国内的生态:
- 刚刚这一套开源生态是在国外的,所以在国内就有一些高校或者企业,就将国外的那一套生态镜像(拷贝)到国内。就有了国内的linux软件服务器,也就顺带提供了国内的下载链接配置文件,这个配置文件称为yum源,例如:清华源,阿里源,百度源·····。
- 镜像就是 linux软件生态的本土化。
- 也可以修改自己的yum源。
- yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。
- 基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
- yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记
yum 语法
yum [options] [command] [package ...]
- options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为 "yes"),-q(不显示安装的过程)等等。
- command:要进行的操作。
- package:安装的包名
这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件。
安装完毕之后可以通过拖拽的方式将文件上传过去。
先 sudo yum install -y lrzsz 安装rzsz软件
rz上传文件,从本地上传文件到linux机器。
sz 下拉文件 ,从linux机器下拉文件到 本地。
也支持拖拽上传,在windown界面直接把win上的文件拖拽到linux机器上。
- 关于 yum 的所有操作必须保证主机(虚拟机)网络畅通!!!
- 可以通过 ping 指令验证
- 通过 yum list 命令可以罗列出当前一共有哪些软件包. 由于包的数目可能非常之多, 这里我们需要使用 grep 命令只 筛选出我们关注的包。
- 一般我们不知道我们要安装那些软件。一般是需要一些功能了,查找对应的软件。进行安装使用。
注意事项:
- 软件包名称: 主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构.
- "x86_64" 后缀表示64位系统的安装包, "i686" 后缀表示32位系统安装包. 选择包时要和系统匹配.
- "el7" 表示操作系统发行版的版本. "el7" 表示的是 centos7/redhat7. "el6" 表示 centos6/redhat6.
- 最后一列, base 表示的是 "软件源" 的名称, 类似于 "小米应用商店", "华为应用商店" 这样的概念. 如何安装软件
yum list的直接显示全部软件包
yum list | grep 【软件名】 筛选出我们关注的包
也可以使用 yum search 【软件名】 查看我们关注的包,但是一般还是用 yum list | grep 【软件包名】
就在从linux软件服务器下载(一定是联网状态),下载后一定要安装,安装的本质其实就是拷贝,拷贝到系统的特定目录下,目录是有权限的!所以一般需要sudo提权安装或者root安装,只要拷贝到特定的目录下所有用户都可以使用了。因为安装是拷贝到在系统中的特定目录和用户的家目录不一样。
按照命令就是 sudo yum install 【软件名称】 -y (写-y后就不会询问你是否安装了)
举例:
直接sudo yum install sl -y 安装即可看见complete 即安装成功。
直接执行sl ,就可以看到小火车软件了
系统已存在会 显示Nothing to do
注意:
- 安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成。
- yum安装软件只能一个装完了再装另一个. 正在yum安装一个软件的过程中, 如果再尝试用yum安装另外一个软件, yum会报错。
- 如果 yum 报错, 请自行百度。
yum remove 【软件名】
1. 列出所有可更新的软件清单命令:yum check-update
2. 更新所有软件命令:yum update
3. 仅安装指定的软件命令:yum install
4. 仅更新指定的软件命令:yum update
5. 列出所有可安裝的软件清单命令:yum list
6. 删除软件包命令:yum remove
7. 查找软件包命令:yum search
8. 清除缓存命令:
- yum clean packages: 清除缓存目录下的软件包
- yum clean headers: 清除缓存目录下的 headers
- yum clean oldheaders: 清除缓存目录下旧的 headers
- yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的 headers
有些命令很少用到就不一一解释了。
我们linux机器上的yum源配置文件就是存储了一堆,软件下载链接的一个文件,我们安装文件的时候,其实就是去这个配置文件里面去找对应的链接然后下载软件包然后安装。
我们机器上的yum源配置文件:
我们的yum配置文件在/etc/yum.repos.d/目录下:
打开基础yum源 我们就能看到里面有腾讯源的链接,因为我们的服务器是腾讯云,所有对应的yum源就是腾讯源。
可能这些链接不能让我们通过浏览器直接访问,可能做了身份识别,地址迁移等原因,只能内部访问,不能外部访问。
我们可以直接在浏览器搜一下腾讯源。就可以看到各种各样系统的(sentos,radhat····)的yum源。
我们系统中的yum配置文件就是通过一些链接加路径,就可以找到这里腾讯源中的软件包下载后安装 。
我们也可以去看一下这些安装包
- 我们可以通过修改自己机器上的yum源配置文件来把我们的腾讯源,修改为阿里源等等。我就不操作了,感兴趣的可以去网上找一下文章自己照着修改一下。(最好挑一些好文章)。
- 其实思路就是去官网把对应的yum源配置文件下载下来,替换我们的 CentOS-Base.repo就可以了。yum只认识CentOS-Base.repo。去找一些文章看看就懂了。
- 建议第一次把原始的yum源配置文件做备份,防止配置错误后我们还能改回来。
- 一般虚拟机上需要我们重新配置,但是我们的服务器是别人配置好的国内的镜像源不需要我们自己配置。
- 有些软件并没有在我们的官方的软件集合中。
- 我们还有一个非官方的软件集合,直接使用yum就可以安装
- 安装指令是:yum install -y epel-release
向我们刚刚使用的sl 小火车就是非官方的软件集合,非官方软件其实就相当于官方软件集合的一个储备池,所有人都可以发布,能不能进入官方软件集合就看软件的稳定性和重要性了。