嵌入式开发交流网论坛

标题: Linux如何升级软件版本 [打印本页]

作者: 午夜De凶手    时间: 2021-2-14 03:49
标题: Linux如何升级软件版本
简介
在使用Linux的时候,安装软件一般有几种:系统包管理器安装、源码编译、二进制包,还有现在桌面系统用比较多的Snap、AppImage、Flatpak等。
升级 由于软件会存在一些漏洞,需要定期进行更新,这时候使用,不同方式的安装的软件升级就不一样了。
例如在CentOS上可以直接使用yum update nginx进行升级,这时候所有的依赖关系也会跟着升级。

优点:

源码编译安装的时候,一般都可以指定一个安装路径,例如:./configure --prefix=/opt/nginx-1.18,先编译到新的路径去,然后再进行服务切换
优点:
缺点:
二进制包直接加好执行位就可以直接执行了,系统包管理器的安装包也都是二进制,只是安装系统的规范,将文件放到对应的目录。
二进制包安装的,例如jdk就可以直接使用编译过的tar包进行部署,只要解压完就可以直接运行。
优点:


AppImage将整个软件打包成AppImage文件包,一个包包含了所有的功能. 并且几乎可以在所有的linux发行版本中使用。
优点:
缺点:
Snap 和Flatpak都是为了统一Linux上包的格式,让一个软件可以运行在各种 Linux发行版和操作系统上。

优点:
缺点:
总结一般我是比较建议生产环境自己编译,或者下载官方的二进制包进行部署,这样子升级或者回退的时候不会相互影响。
尽量不要使用系统的组件,部署服务!
刚碰到的坑!开发使用系统自带的Python,手动安装第三方包,然后去跑服务;结果系统升级,把python相关依赖包升级了,导致服务异常了。




欢迎光临 嵌入式开发交流网论坛 (http://www.dianzixuexi.com/bbs/) Powered by Discuz! X3.2