作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
Linux进阶部分又分了很多小的部分,我们刚讲完了Linux日常运维。讲的那些东西都算是系统自带的,但是Linux作为一个服务器操作系统,肯定是要安装运行软件来满足我们的业务需要,本章基础软件部分,将从下面几个部分来讲解:
Linux基础软件-软件安装(本章节)
Linux基础软件-yum(一)
Linux基础软件-yum(二)
Linux基础软件-ntp
Linux基础软件-chrony
Linux基础软件-dns(一)
Linux基础软件-dns(二)
Linux基础软件-nfs
Linux基础软件-lvm
Linux基础软件-Selinux&库文件&swap
前面的操作都是基于默认自带的软件,而且我们讲过很多命令,默认最小安装的情况下,都是不自带的,都需要额外安装,那我们应该如何安装这些软件呢?
YUM安装
先说明一下,yum命令安装的软件仅仅局限于红帽系列,主要包括以下几类操作发行版:RHEL,Fedora,CentOS,Rocky等。
-
安装:打开终端,输入
yum install packagename
,其中packagename
是你想要安装的软件包的名称。比如,如果你想安装 wget,那么命令就是yum install wget
。不过很多时候会加上-y参数来替代确认的动作。yum -y install wget。
-
卸载:输入
yum remove packagename
,其中packagename
是你想要卸载的软件包的名称。比如,如果你想卸载 wget,那么命令就是yum remove wget
。一般卸载用的基本不用,因为它会卸载一些依赖软件,可能导致其他软件不能正常使用。 -
升级:输入
yum update packagename
,其中packagename
是你想要升级的软件包的名称。如果你想更新所有的软件包,只要输入yum update
即可。无论是安装,升级,都必须是基于服务器仓库里面有这个软件才可以的,如果没有则无法安装或升级的。
RPM安装软件
其实前面yum安装的软件格式都是rpm格式的,只是yum是从网上下载的包来安装,而部分包是在网上的仓库里面是没有的,或者没有网络环境就可以使用rpm包进行安装。
-
安装:输入
rpm -i packagefile.rpm
,其中packagefile.rpm
是你的 RPM 包的文件名。个人习惯是rpm -ivh xxx.rpm,用于显示过程。vh参数也适合卸载和升级。 -
卸载:输入
rpm -e packagefile.rpm
,其中packagefile.rpm
是你的 RPM 包的文件名。 -
升级:输入
rpm -U packagefile.rpm
,其中packagefile.rpm
是你的 RPM 包的文件名。
编译安装
编译安装适用于源码包,它不仅适合红帽系列,也适合其他Linux操作系统。以下是基本的编译安装步骤:
-
解压源码包,一般使用
tar -xvf packagefile.tar.gz
命令。 -
进入解压后的目录,一般使用
cd directoryname
命令。 -
配置,一般使用
./configure
命令。你可以添加参数来定制你的安装,比如指定安装目录--prefix=/usr/local/xxx
。 -
编译,使用
make
命令。 -
安装,使用
make install
命令。
以上步骤可能会因软件不同而有所改变,应根据具体的 README 或 INSTALL 文件进行操作。
编译安装最难的问题是依赖问题,比如我要编译安装软件A,但是它依赖B,C,D等,但是它一次只显示一个错误。而且B,C,D还有依赖,甚至出现循环依赖A依赖B,B依赖A的情况。
所以编译安装每完成一步,请通过echo $? 打印出来上一条命令的执行结果,必须是"0"才进行下一步。
总结
1.在实际运维过程中,一般用yum最多,rpm次之,编译安装目前已经使用很少了。这里实际上还衍生出来另外2个问题,我怎么知道我去哪里下载包(本地配置xxx.repo配置),服务器里面有些啥(yum源)。
2.在centos里面,yum update 会升级centos的版本,举个例子:如果我当前的版本是centos 7.5 ,但是最新的centos的版本是centos7.9,当我执行yum update以后就会把整个系统的版本升级到centos7.9。所以这个命令一般是在安装完成系统的时候进行系统初始化的时候就需要完成的,一般情况下,如果业务已经部署上去了,一般就不建议再执行该命令。
3.编译安装技能属于很有用,但是平时很少用到的技能,比如最近的OpenSSH严重的CVE-2024-6387漏洞,虽然OpenSSH早就发布了修复漏洞版本,但是他们发布的都是源码包,如果没有直接可用的安装包,就需要自己进行编译安装。
4.可以利用yum只下载不安装的特性,把下载的rpm包传递到需要安装的环境里面使用rpm包进行安装。
关注微信公众号《运维小路》获取更多内容。