【前端&运维那点事儿】十三:Linux中软件安装的几种姿势

925 阅读7分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第14天,点击查看活动详情

Hi~,我是一碗周,如果写的文章有幸可以得到你的青睐,万分有幸~

🍇 写在前面

先来介绍一下新开的这个专栏:《前端&运维那点事儿》将会从前端的角度,依次学习Linux→Nginx→Docker→持续集成→k8s,从而打造一个属于站在前端角度的运维专栏。

在这篇文章中我们继续学习Linux,这篇文章我们来介绍Linux中的软件安装,这里我以CentOS为例来介绍Linux中的软件安装的几种方式:

  • rpm命令安装软件

  • yum命令(apt-getapt)安装软件

  • 源代码安装

  • 发布包安装

  • 脚本安装

这里仅仅介绍5种常见的安装方式。

🍈 前置内容

在开始之前我们先来了解一下Linux有关软件的相关内容。

🥝 软件包的分类

在Linux中软件安装包无非就分为两种:

  • 源码包:源码包实际上就是源代码,我们都知道操作系统是无法直接运行源代码的,所以安装源码包中间存在一个编译的过程这个过程比较复杂且问题较多,一旦报错难以排查;不过使用源码包安装的优点是开源免费、灵活度高、卸载方便等等

  • 二进制包:这里的二进制包是个泛指,它包括真正的二进制文件、PRM包、DEB包以及系统默认的安装包;使用这种方式的优点是安装软件和卸载软件比较简单,安装速度快缺点是无法看到源代码、不灵活、处理依赖比较麻烦

值得一提的是PRM包和DEB包的区别

  • 前者是RedHat系列,代表操作系统是CentOs,安装命令rpm,包管理工具yum

  • 后者是Debian系列,代表系统Ubuntu ,安装工具dpkg,包管理工具apt-get

这里以PRM包作为示例。

🍓 查询当前系统的相关信息

可以使用uname命令查看当前系统的相关信息,示例如下:

uname -a  # 查看操作系统的全部信息

只有知道自己操作系统的信息才能找到对应的软件版本;

🍐 rpm命令安装

这里仅仅介绍一下rpm命令,因为rpm命令安装软件过于麻烦,需要解决RPM包的依赖问题,这里就简单一过。

首先一个RPM包的名称格式如下:

httpd-2.2.15-15.el6.centos.1.i686.rpm
  • httpd软件包名

  • 2.2.15软件版本

  • 15软件发布的次数

  • el6.centos适合的Linux系统

  • i686适合的硬件平台

  • rpmrpm包的扩展名

rpm安装的命令如下:

rpm -ivh httpd-2.2.15-15.el6.centos.1.i686.rpm 
# i 表示 install 安装
# v 表示 verbose 显示详细安装过程
# h 表示进度

rpm更新的命令如下:

rpm -Uvh 包全名

rpm卸载命令如下:

rpm -e 包名

rpm命令还执行查询,具体如下表所示:

命令参数含义
rpm -q 包名-q(query) 查询查询包是否安装
rpm -qa 包名-a(all) 查询查询所有已经安装的RPM包
rpm -qi 包名-i(information)查询软件信息
rpm -qip 包名-p(package)查询未安装包的信息
rpm -ql 包名-l(list) -p(package)查询安装包都安装了哪些文件
rpm -qf 文件名-f(file)查询某个文件属于哪个包
rpm -qR 包名-R(requires) -p(package)查询软件名的依赖性

🍒 yum命令安装软件

yum命令是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器,它可以使系统管理人员交互和自动化地更新与管理RPM软件包,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

语法结构如下所示:

yum(选项)(参数)

yum的命令常用选项如下:

-h:显示帮助信息;
-y:对所有的提问都回答“yes”;
-c:指定配置文件;
-q:安静模式;
-v:详细模式;
-d:设置调试等级(0-10);
-e:设置错误等级(0-10);
-R:设置yum处理一个命令的最大等待时间;
-C:完全从缓存中运行,而不去下载或者更新任何头文件。

yum的命令常用如下:

install:安装rpm软件包;
update:更新rpm软件包;
check-update:检查是否有可用的更新rpm软件包;
remove:删除指定的rpm软件包;
list:显示软件包的信息;
search:检查软件包的信息;
info:显示指定的rpm软件包的描述信息和概要信息;
clean:清理yum过期的缓存;
shell:进入yum的shell提示符;
resolvedep:显示rpm软件包的依赖关系;
localinstall:安装本地的rpm软件包;
localupdate:显示本地rpm软件包进行更新;
deplist:显示rpm软件包的所有依赖关系。

部分常用的命令包括:

  • 自动搜索最快镜像插件:yum install yum-fastestmirror

  • 安装yum图形窗口插件:yum install yumex

  • 查看可能批量安装的列表:yum grouplist

安装软件

yum install              #全部安装
yum install package1     #安装指定的安装包package1
yum groupinsall group1   #安装程序组group1

更新和升级

yum update               #全部更新
yum update package1      #更新指定程序包package1
yum check-update         #检查可更新的程序
yum upgrade package1     #升级指定程序包package1
yum groupupdate group1   #升级程序组group1

查找和显示

# 检查 MySQL 是否已安装
yum list installed | grep mysql
yum list installed mysql*

yum info package1      #显示安装包信息package1
yum list               #显示所有已经安装和可以安装的程序包
yum list package1      #显示指定程序包安装情况package1
yum groupinfo group1   #显示程序组group1信息yum search string 根据关键字string查找安装包

删除程序

yum remove | erase package1   #删除程序包package1
yum groupremove group1             #删除程序组group1
yum deplist package1               #查看程序package1依赖情况

清除缓存

yum clean packages       #清除缓存目录下的软件包
yum clean headers        #清除缓存目录下的 headers
yum clean oldheaders     #清除缓存目录下旧的 headers

🍏 通过源代码安装软件

  1. 确定源代码编译环境,需要gccmake

    rpm -qa gcc
    rpm -qa make
    

    如果没有查找到上述两个软件需要先进行安装

  2. 下载软件包,可以通过wget命令

  3. 使用tar命令进行解压

  4. 运行解压路径下的./configure脚本,用来设置安装目录、安装模块等选项

    ./configure --prefix=/usr/local/src # 设置软件安装目录
    
  5. 运行make命令进行编译,生产可执行二进制文件

  6. 运行make install命令进行安装,复制二进制文件到系统,配置应用环境

  7. 测试及应用、维护软件

🍎 发布包安装

这里我们来安装一下通过官方发布的安装包来安装一下软件,这里以Node为例;

  1. 进入官网,找到合适的版本,复制下载链接

image.png

  1. 通过wget命令下载安装包:

    cd /usr/local/src # 切换到想要安装的目录
    wget https://nodejs.org/dist/v16.18.0/node-v16.18.0-linux-x64.tar.xz # 下载
    
  2. 解压缩

    tar -xvJf node-v16.18.0-linux-x64.tar.xz
    
  3. 切换到指定目录,查看安装成果

    cd node-v16.18.0-linux-x64/bin/
    ./node --version
    
  4. 创建软连接,保证可以在全局使用命令

    ln -s /usr/local/src/node-v16.18.0-linux-x64/bin/node /usr/local/bin/node
    ln -s /usr/local/src/node-v16.18.0-linux-x64/bin/npm /usr/local/bin/npm
    ln -s /usr/local/src/node-v16.18.0-linux-x64/bin/npx /usr/local/bin/npx
    
    
  5. 随便一个目录查看是否链接成果

    node -v
    

🥭 脚本安装

脚本安装实际上就是将某个软件的安装编写成了Shell脚本,使得我们下载脚本后运行脚本就可以直接安装,省去了复杂的步骤。

例如下面这个命令就是安装n这个node版本管理软件:

curl -L https://bit.ly/n-install | bash

🍍 写在最后

这篇文章文章介绍了Linux中软件安装的5种方式。

如果对本篇文章对你有所帮助,可以点赞收藏评论支持一下我;如果有所疑问,欢迎私信~

如果对这个专栏感兴趣可以点一个关注呦~