一、Linux 软件包管理器 yum
1.Linux安装软件的方式
在linux中安装软件常用的有三种方式:
源代码安装(我们还需要进行编译运行后才可以,很麻烦)
rpm安装(Linux的安装包,需要下载一些rpm包,但是彼此之间的依赖关系很严重)
yum安装 (可以解决安装源,安装版本,安装依赖的问题)
在 Linux 下安装软件 , 一个通常的办法是下载到程序的源代码 , 并进行编译 , 得到可执行程序 .但是这样太麻烦了 , 于是有些人把一些常用的软件提前编译好 , 做成软件包 ( 可以理解成 windows 上的安 装程序) 放在一个服务器上 , 通过包管理器可以很方便的获取到这个编译好的软件包 , 直接进行安装 . 软件包和软件包管理器, 就好比 "App" 和 " 应用商店 " 这样的关系 .yum(Yellow dog Updater, Modified) 是 Linux 下非常常用的一种包管理器 . 主要应用在 Fedora, RedHat, Centos等发行版上 .
那么现在问题来了客户端怎么知道去哪里下载?公司,个人组织出于什么目的,或者动机给我们提供给软件服务?
其实这些给我们提供软件服务的都是一些职业程序员
这里就要谈到Linux的生态:开源
当我们对一个操作系统进行选型的时候,我们作为使用者要考虑的是生态好
站在OS的设计者和推动者,他们是提供者,要使生态更加完善
但是提供操作系统的人,他们不可能为爱发电,因为服务器都是要钱的。但是对于使用者而言,他们不希望这样的组织,社区倒闭,所以就会有一些大公司的捐助。有了捐助,操作系统才能更好的发展。
所以开源可以使得生态越来越好,这就像一种商业战略。开源,有时候也挺贵的意思就是我们使用了他们的生态,所以我们不希望他们出现问题。
2.yum
yum其实就是我们linux中的一个可执行程序,也就是一个软件,我们可以使用yum去进行各种软件的安装
关于 yum 的所有操作必须保证主机 ( 虚拟机 ) 网络畅通 !!!可以通过 ping 指令验证
yum list
由于包的数目可能非常之多, 这里我们需要使用 grep 命令只 筛选出我们关注的包.
例如:
yum list | grep lrzsz
软件包名称 : 主版本号 . 次版本号 . 源程序发行号 - 软件包的发行号 . 主机平台 .cpu 架构 ."x86_64" 后缀表示 64 位系统的安装包 , "i686" 后缀表示 32 位系统安装包 . 选择包时要和系统匹配 . "el7" 表示操作系统发行版的版本 . "el7" 表示的是 centos7/redhat7. "el6" 表示 centos6/redhat6. 最后一列, base 表示的是 " 软件源 " 的名称 , 类似于 " 小米应用商店 ", " 华为应用商店 " 这样的概念
yum install lrzsz.x86_64
注意:安装要在root用户下
关于 rzsz
yum remove lrzsz.x86_64
3.yum如何知道去哪里下载软件?
讲到这里,有同学就好奇了,yum如何知道去哪里下载软件呢?
我们知道yum一定是有自己的下载链接的。那么它的下载链接在哪呢?
其实答案就在下面的这个路径中
我们需要注意的就是这个东西,它叫做yum源,它里面已经将链接都写好了。
也叫做官方yum源,里面的东西都是经过官方认定的,没有任何问题的。
当然我们有时候也会自己下载一些来路不明的软件。这里就需要扩展yum源了
像我后面跟着的这些,都是拓展yum源
当我们想要安装一些奇怪的东西的时候,我们就需要先安装扩展源
比如下面这个
yum install -y epel-release
这个yum源其实就是把epel里面的一些链接拉去下来
现在我们可以安装一下这个软件
yum install -y sl
然后我们输入
sl
就能看见
又比如这款软件
yum install -y cowsay
这个软件的效果是这样的:
一般linux操作系统,默认配置的yum源是国外的,有可能我们的yum源访问会比较慢,可能需要更新yum源(即替换yum源文件)不过一般云服务器,一般厂商已经替换了yum源了
再次强调:
安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成.yum安装软件只能一个装完了再装另一个. 正在yum安装一个软件的过程中, 如果再尝试用yum安装另外一个软件, yum就会报错.