依赖比较多且不好安装的软件正确的安装方式是什么?

2021-12-03 09:47:29 +08:00
 css3
linux 上,要安装一个软件,它依赖多,且所需依赖的软件可能和环境上版本存在冲突,而这种软件又是经常不同服务器上也要安装,这种软件的正确安装方式是什么?
4001 次点击
所在节点    程序员
39 条回复
lazydao
2021-12-03 09:50:51 +08:00
自己写安装脚本
cstj0505
2021-12-03 09:52:30 +08:00
docker 做隔离吧
css3
2021-12-03 09:54:38 +08:00
@cstj0505 它就是在要服务器上用,用 docker 我好像想不出来怎么使用了?
cabbage
2021-12-03 10:02:03 +08:00
依赖复杂,需要部署多个服务器,这场景用 docker 简直不要太合适了哇。自己 build 出来镜像写一份 compose ,分分钟部署运行到 N 个服务器上。
css3
2021-12-03 10:19:08 +08:00
@cabbage 安装后是个可执行文件,类似 grep 命令,grep 装在 docker 内, 如何给主机用呢?
haozheliu
2021-12-03 10:30:14 +08:00
docker run 跑 cmd 吧,然后用 alias 把 docker run xxxx 等一长串的命令写一个命令。但是感觉 stdin out 不好搞
2i2Re2PLMaDnghL
2021-12-03 10:38:17 +08:00
1. 静态链接
2. ./configure --prefix
3. Flatpak / AppImage
4. docker run -it --volume
masterclock
2021-12-03 10:44:21 +08:00
docker
其他 flatpak ,AppImage 也行,但不分发,似乎不值得
css3
2021-12-03 11:22:53 +08:00
@css3 @lazydao @cstj0505 @cabbage @haozheliu @2i2Re2PLMaDnghL @masterclock
我第一时间也想的是 docker , 但这个场景,我感觉不太适用呢
debuggerx
2021-12-03 11:31:34 +08:00
可以描述得更清楚一些 什么类型的程序 用途 什么语言 依赖都是什么
css3
2021-12-03 12:35:33 +08:00
@debuggerx https://github.com/tstack/lnav


Prerequisites
The following software packages are required to build lnav:

gcc/clang - A C++14-compatible compiler.
libpcre - The Perl Compatible Regular Expression (PCRE) library.
sqlite - The SQLite database engine. Version 3.9.0 or higher is required.
ncurses - The ncurses text UI library.
readline - The readline line editing library.
zlib - The zlib compression library.
bz2 - The bzip2 compression library.
libcurl - The cURL library for downloading files from URLs. Version 7.23.0 or higher is required.
libarchive - The libarchive library for opening archive files, like zip/tgz.
debuggerx
2021-12-03 12:53:40 +08:00
@css3 额……这么常用的软件,直接用包管理安装就好了啊,为啥还要自己编译
css3
2021-12-03 13:04:23 +08:00
@debuggerx 我 centos 上只有 0.7 版本,太旧了,要装最新的呢
liuliancao
2021-12-03 13:07:08 +08:00
最好说下啥软件
Tink
2021-12-03 13:26:40 +08:00
docker
debuggerx
2021-12-03 13:30:55 +08:00
@css3 能用就将就,不然升级系统,强行给老旧系统装不合适的新版软件对人和系统来说都是折磨。。
css3
2021-12-03 13:55:28 +08:00
@debuggerx 主要是老版本有一部分功能没有,不然是真凑合了
nmap
2021-12-03 15:35:51 +08:00
golang
gam2046
2021-12-03 15:44:02 +08:00
要不静态编译一份,要不自制 docker 镜像(设置 entry-point ),然后 docker run --rm <name> <args>就和本地几乎差不多,就是冷启动慢一点
Kinnice
2021-12-03 17:45:22 +08:00
静态编译

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/819710

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX