简介
在使用Linux的时候,安装软件一般有几种:系统包管理器安装、源码编译、二进制包,还有现在桌面系统用比较多的Snap、AppImage、Flatpak等。
升级
由于软件会存在一些漏洞,需要定期进行更新,这时候使用,不同方式的安装的软件升级就不一样了。
1.系统包管理器安装,直接使用包管理工具进行升级即可
例如在CentOS上可以直接使用yum update nginx进行升级,这时候所有的依赖关系也会跟着升级。
优点:
缺点:
2.源码安装的,编译新版本到新的路径
源码编译安装的时候,一般都可以指定一个安装路径,例如:./configure --prefix=/opt/nginx-1.18,先编译到新的路径去,然后再进行服务切换
优点:
缺点:
3.二进制包安装的,解压到新的路径
二进制包直接加好执行位就可以直接执行了,系统包管理器的安装包也都是二进制,只是安装系统的规范,将文件放到对应的目录。
二进制包安装的,例如jdk就可以直接使用编译过的tar包进行部署,只要解压完就可以直接运行。
优点:
缺点:
6.AppImage
AppImage将整个软件打包成AppImage文件包,一个包包含了所有的功能. 并且几乎可以在所有的linux发行版本中使用。
优点:
缺点:
5.Snap 、Flatpak
Snap 和Flatpak都是为了统一Linux上包的格式,让一个软件可以运行在各种 Linux发行版和操作系统上。
优点:
缺点:
总结
一般我是比较建议生产环境自己编译,或者下载官方的二进制包进行部署,这样子升级或者回退的时候不会相互影响。
尽量不要使用系统的组件,部署服务!
刚碰到的坑!开发使用系统自带的Python,手动安装第三方包,然后去跑服务;结果系统升级,把python相关依赖包升级了,导致服务异常了。
背景 因为工作岗位的原因,负责制定了关于后端组数据库的规约规范,作为所有产品...
问题描述: 在前端js里面写了一个ajax,前端alertx出来的是1或者1,2格式的数据,...
1、Minsky与Papert指出感知机因为是线性模型所以不能表达复杂的函数比如异或XOR...
受全球数据安全政策以及政治因素影响,跨国科技企业涉及大数据处理的业务越来越...
前言 之所以写这篇文章,主要是因为组长给提的一个新的需求使用浏览器调用电脑的...
1)文件 — 首选项 因为 VsCode 默认启用了根据文件类型自动设置tabsize的选项,...
1.理解迭代 2.理解可迭代对象 3.理解迭代器 前言 说到迭代器在学习C时一般只是使...
前言 Startup类相信大家都比较熟悉,在我们使用ASP.NET Core开发过程中经常用到的...
一、什么是Ajax Ajax:异步的JavaScript和Json(这里XML改为了Json); 作用:用于...
AJAX AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。 A...