为了不降低入门难度,本节把握yum的用法就可以了,其他知识作为阅读扩充。

Linux下的软件包基本分为两种,源码包和二补码包。

源码包就是编撰好的源代码,若在系统上运行则须要编译成二补码文件后就能运行。

这也是最原始的Linux应用安装方法。

所以,有一些门槛,不过现今通常有二补码包的软件,就会有编译安装的说明,

按说明操作即可,并不难。

但编译的过程就比较历时了,具体时间和软件大小、硬件性能有关,不好预测。

这样的大问题其实是要解决的呀!

高手们在对Linux不断的建立和优化中趟出一条路。

就是用标准环境下编译的二补码包。

二补码包linux软件下载命令,就是将编译后的二补码文件打包

恐怕有朋友想了,不就是编译后的文件打包么,多大点事儿!

这么我们来看下这个问题。

编译安装有一个用处:

就是在你当前使用的系统环境下编译和使用,一定可用的,不用去考虑环境的兼容性。

但若果你将你的这个编译好的二补码文件拷贝到其他笔记本,并不是一定就可以运行的。

其他笔记本的系统版本和系统上面的一些库文件,不一定和你的笔记本一样。

在里面一运行都会形成大量错误,缺乏一大堆文件,还有一些版本不支持信息。

而好多文件还是系统运行依赖的文件,你就无法去修改,说不定改完,系统就没法启动了。

可能折腾大半天,最后还是得重新编译安装。

但若果所有人都通过编译安装来在Linux里面安装软件的话,

每位人所花费的时间姑且不说,还花费了大量的算力,花费算力也就意味着花费电力,

耗电也就意味着花费能源,能源在现今这个时代的重要性自然不用多说。

而我个人认为最大的浪费还是在时间上,每位人都在这个里面花费一点时间,

linux软件下载命令_linux软件升级命令_linux命令应用大全下载

那加上去将是十分特别特别多的时间。

这么如今,倘若是你,你会怎么解决这个问题呢?可以思索下。

事实上,也没有哪些巧妙的方式,还是要去编译二补码包。

在每位发布Linux标准的版本环境下边去编译,编译完成后打包放在系统镜像上面。

后面我们推荐系统版本的时侯,看见了一个系统版本发布的时侯会有好多镜像文件。

linux软件升级命令_linux软件下载命令_linux命令应用大全下载

centos7.8镜像文件

为何我们选这个DVD版本,而不选其他版本呢?

就是由于DVD是标准版本,上面包含大量的常用软件包。

注意!这儿只是包含并不是安装系统才会被安装。

而其他,不仅Everything版本里边包含更多的软件包以外,基本被标准版本涵盖在内了。

为此,系统镜像上面除了有系统,还有好多编译打包好的常用的软件的二补码安装包。

如此多的安装包kali linux,怎样管理自然就成了问题,高手们就开发了二补码包管理系统。

目前主要有2大主流的二补码包管理系统:

两种二补码包管理系统基本长治小异,这儿就不分别介绍了。

我们使用的是CentOS,所以,本章节就借此为出发点来介绍CentOS下的软件安装和管理。

RPM包管理系统中,二补码包文件主要以.rpm后缀结尾,

命名的通常格式如下:

RPM包的基础命令是:

你们须要的话,可以通过--help参数或搜索引擎去了解详尽用法。

这儿我们来讲一个基于RPM包,但比rpm命令更好用的命令,就是本篇开头要把握的命令:

yum命令才能从指定的服务器手动下载RPM包而且安装,可以手动处理依赖性关系,而且一次安装所有依赖的软件包,无须冗长地一次次下载、安装。

yum句型

yum常用命令

1.列举所有可更新的软件清单命令:yumcheck-update

2.更新所有软件命令:yumupdate

3.仅安装指定的软件命令:yuminstall

4.仅更新指定的软件命令:yumupdate

5.列举所有可安裝的软件清单命令:yumlist

6.删掉软件包命令:yumremove

7.查找软件包命令:yumsearch

8.消除缓存命令:yumclean,yumcleanall:消除缓存目录下的软件包及旧的headers

yum源

yum源是指我们使用yum命令安装软件时使用的软件包所在的地址。

设置文件为在/etc/yum.repos.d/目录下,包含CentOS-Base.repo和其他repo文件

默认文件内容如图:

CentOS-Base.repo

我们可以看见有两个变量的设置的带有链接的,分别是mirrorlist和baseurl,

但baseurl被#注释了。我们先看下mirrorlist这个链接:

$releasever&arch=$basearch&repo=os&infra=$infra

我们用rpm命令查询的系统版本:rpm-qicentos-release

linux命令应用大全下载_linux软件下载命令_linux软件升级命令

centos-release

release是系统的Version,$releasever值应当是7

arch是Architecture,$basearch的值应当是x86_64

infra似乎没见到相关信息,先不管了,如今链接弄成了:

$infra

把链接粘到浏览器里打开:

mirrolist

我们看见了一列地址,不仅网址不同,结尾基本都是/centos/7.9.2009/os/x86_64/

随意选中一行,右键,“转到、、、”打开链接

centosyum源

假如你打开过下载的CentOS系统iso镜像,你都会发觉这不就是镜像上面的内容么。

但这个版本为何这是7.9呢?

这是由于在7这个大版本上面linux软件下载命令,7.9是最新的系统版本。

系统默认软件源通常都是默认大版本中最新的版本,如同我们windows系统更新一样。

然而,Linux下的软件包十分多,但是好多包之间会有依赖关系。

就似乎你在windows下安装有些游戏时须要安装VC++运行环境和DirectX一样。

但是,一些软件依赖对版本也有一定的要求。

主要就是由于Linux系统版本仍然在不断的发展、完善和迭代,

这引起了各个软件包开发和在适配系统的过程中版本也须要不断的更新迭代。

所以,现现在几乎每位系统版本都对应了一个版本的软件包。

系统版本相差不多的时侯大部份情况下还是比较通用的,基本是兼容的。

但有一些关键的软件包,对版本要求是很严格的。

一旦遇上了这些问题,一般就会很麻烦。

如:好多软件都依赖的一些基础软件包,版本对不上你要安装的软件就安装不了,

会报依赖错误,而卸载更换版本又会引起早已安装的软件出现问题,

甚至一不留神把系统弄崩了,又搞不清楚问题在那里,就只能重装系统了。

所以,为了稳定性,生产环境通常都是不能随便更新升级软件包的。

但网路源都是最新的系统镜像源啊,那如何办呢?

虽然也是有旧版本的系统镜像源的,

例如我第一节找到阿里云的那种镜像地址就是我们当前使用系统版本的镜像源地址。

不仅网路源,我们还可以搭建本地源。

我们早已晓得了,yum源就是系统镜像中的文件。

这么我们就可以将iso镜像挂载到本地使用了呀!

那怎么配置呢?

首先是挂载系统镜像:

linux软件下载命令_linux软件升级命令_linux命令应用大全下载

挂载iso镜像

之后,如何被yum所使用呢?有两种形式:

这儿我们就先了解用文件路径的方法来设置,

我们再来看下/etc/yum.repos.d/文件下的内容:

yumrepo

这儿我们看下CentOS-Media.repo这个文件:

linux软件下载命令_linux软件升级命令_linux命令应用大全下载

linux软件升级命令_linux软件下载命令_linux命令应用大全下载

CentOS-Media

这个文件上面的内容就是用file://加文件路径,这么我们晓得怎样设置了。

为了防止其他repo文件有干扰,我们将其他文件转移到其他文件夹,只保留一个repo文件。

linux软件升级命令_linux软件下载命令_linux命令应用大全下载

yum本地源设置

去除下缓存:

yumcleanall

之后可以用命令:yumlist再看下软件列表,这儿只截取结尾部份:

linux命令应用大全下载_linux软件下载命令_linux软件升级命令

yumlist

见到结尾软件源是我们在CentOS-Media.repo文件中设置的名称,大功告成!

还有一个问题就是,我们挂载镜像,系统一重启就没了,须要重新挂载,如何解决呢?

我们可以将挂载命令讲到开机脚本中:

linux软件下载命令_linux软件升级命令_linux命令应用大全下载

添加开机启动挂载

按照文件中的提示设置运行权限:

reboot,重启,df-h,查看是否手动挂载成功。

OK,本期的内容就到这儿了,内容有点多什么是linux,但若果你看见了这儿,恭喜你!

你将在使用linux系统的过程中,可以少踩一些坑。

喜欢的话,求个三连!

我们上期见!

Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复