Linux如何升级软件版本

系统 Linux
在使用Linux的时候,安装软件一般有几种:系统包管理器安装、源码编译、二进制包,还有现在桌面系统用比较多的Snap、AppImage、Flatpak等。

 简介

在使用Linux的时候,安装软件一般有几种:系统包管理器安装、源码编译、二进制包,还有现在桌面系统用比较多的Snap、AppImage、Flatpak等。

[[380961]]

升级

由于软件会存在一些漏洞,需要定期进行更新,这时候使用,不同方式的安装的软件升级就不一样了。

1.系统包管理器安装,直接使用包管理工具进行升级即可

例如在CentOS上可以直接使用yum update nginx进行升级,这时候所有的依赖关系也会跟着升级。


优点:

  • 操作简单,直接一条命令就可以升级
  • 稳定,系统自带的包一般都是经过验证才会进行发布的,相对比较稳定

缺点:

  • 版本不好控制,一般会自动升级到最新版本
  • 升级会导致依赖包跟着被升级,有可能出现异常。

2.源码安装的,编译新版本到新的路径

源码编译安装的时候,一般都可以指定一个安装路径,例如:./configure --prefix=/opt/nginx-1.18,先编译到新的路径去,然后再进行服务切换

优点:

  • 版本好控制,可以根据自己需要的版本进行编译安装
  • 快速回退,有问题,可以直接指回到旧的目录就可以完成回退

缺点:

  • 编译需要比较长的时间
  • 安装后的稳定性需要自己进行验证
  • 需要自己解决依赖关系包

3.二进制包安装的,解压到新的路径

二进制包直接加好执行位就可以直接执行了,系统包管理器的安装包也都是二进制,只是安装系统的规范,将文件放到对应的目录。

二进制包安装的,例如jdk就可以直接使用编译过的tar包进行部署,只要解压完就可以直接运行。

优点:

  • 快速部署,单独打包的二进制包一般比较少依赖系统包,解压后直接可以运行

缺点:

  • 需要官方有提供二进制包
  • 只能支持指定的发行版本

6.AppImage


AppImage将整个软件打包成AppImage文件包,一个包包含了所有的功能. 并且几乎可以在所有的linux发行版本中使用。

优点:

  • 快速部署,直接加上执行位就可以执行
  • 可以在多个发行版本中运行

缺点:

  • 需要官方有提供,或者自己有能力打包。
  • 打包出来的文件还是比较大的。(不过还可以结果,很适合桌面的Linux)

5.Snap 、Flatpak

Snap 和Flatpak都是为了统一Linux上包的格式,让一个软件可以运行在各种 Linux发行版和操作系统上。

[[380962]]

优点:

  • 快速部署,都有自己的应用市场,可以直接搜索安装
  • 可以在多个发行版本中运行

缺点:

  • 发展比较晚,还有很多需要完善

总结

一般我是比较建议生产环境自己编译,或者下载官方的二进制包进行部署,这样子升级或者回退的时候不会相互影响。

尽量不要使用系统的组件,部署服务!

刚碰到的坑!开发使用系统自带的Python,手动安装第三方包,然后去跑服务;结果系统升级,把python相关依赖包升级了,导致服务异常了。

[[380963]]

 

责任编辑:姜华 来源: 今日头条
相关推荐

2010-08-06 13:56:40

思科路由器IOS软件版本

2021-12-12 09:30:19

Bitdefender杀毒软件安全行业

2024-07-17 09:39:05

软件版本号管理

2009-10-22 17:48:32

linux gcc版本

2012-02-28 10:32:08

管理软件移动应用Oracle

2009-12-03 18:19:53

Linux

2019-08-19 09:19:02

LinuxVimUbuntu

2019-08-19 11:20:33

Linux软件包命令

2018-07-26 09:55:44

Linux命令升级软件

2010-12-27 17:04:07

应用程序版本升级

2009-08-27 10:13:52

2013-01-17 15:53:48

Windows 8

2020-07-15 18:31:06

Linux版本信息

2009-05-07 20:10:56

2011-01-06 13:22:00

2010-01-05 13:50:39

2018-11-16 16:39:53

2022-08-28 20:34:42

LinuxLinux Mint

2016-01-12 14:54:58

UbuntuLinuxKernel 4.4

2009-04-08 13:12:23

Vmware数据中心虚拟化
点赞
收藏

51CTO技术栈公众号