如何优雅的安装 tar.gz 格式的程序

2016-09-11 09:38:43 +08:00
 tommark

很多 linux 程序的安装文件都是 tar.gz 格式的,一般都是手动解压,然后把里面的目录放到对应的 linux 文件节点上,有没有像 deb 文件这样,可以自动完成这一切,同时系统里能自动注册程序包,以后可以用标准的成 apt-get remove 卸载程序。

7384 次点击
所在节点    Linux
29 条回复
icris
2016-09-13 14:17:07 +08:00
@Owenjia 只是例子,不针对 nodejs ,别的包也可能有这问题(只要官方只提供 tar.gz ),针对 node 的话 有 nvm 和 n 俩工具呢。
Owenjia
2016-09-13 15:42:28 +08:00
@icris
我知道是例子,有些官方仓库中的版本确实会比较低
但这种情况一般都可以通过添加第三方仓库解决,个人认为没有足够好的理由来手动编译安装,
主要是存在依赖处理、版本更新等问题,这些更适合由包管理来做。
vastchen
2016-09-13 16:02:29 +08:00
打包成发行版格式就可以了主流的 rpm deb 都可以打包 arch aru gentoo ebuild
yumenami
2016-09-18 11:49:05 +08:00
说下我的方法:
二进制包,直接解压到一个公共目录,个人用 /opt ,然后用环境变量控制使用哪一个(多个 release 的话)
源码包类似, configure --prefix 到 /opt 下面,然后也用环境变量控制
还有上面说不用包管理工具的,要知道不是所有的版本的 release , source 里面都会有的,所以这种方法还是必要的。当然手动管理的成本也有点高就是= =
CuminLo
2016-09-21 16:11:04 +08:00
@sylecn 带有图标的怎么弄? fpm 打包之后安装图标不能显示,有办法解决么
sylecn
2016-09-21 17:10:01 +08:00
>> 带有图标的怎么弄? fpm 打包之后安装图标不能显示,有办法解决么

@CuminLo 什么程序的图标? rpm/deb 都是默认图标的,应该不能自定义。
安装好之后 app 自己的桌面图标一般是写 .desktop 文件。 app 自己的图标,这是 GUI 框架里面写好的。
CuminLo
2016-09-21 19:38:34 +08:00
@sylecn 比如 www.syntevo.com/smartgit/download?file=smartgit/smartgit-linux-8_0_1.tar.gz 这个用 fpm 打包成 deb 后安装,并没有写入 desktop ,而且在菜单中还搜索不到,需要输入完整的命令才行
sylecn
2016-09-22 11:40:57 +08:00
@CuminLo 如果原来的软件自己没有带 .desktop 文件,可以在打包前自己写一个,然后放到系统级别的能识别的目录,比如 $DEST/usr/share/applications/smartgit.desktop 。.desktop 文件是文本格式的,格式也简单,一看就会。
mritd
2016-10-06 10:03:39 +08:00
@sylecn fpmfpm 大法好😊

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

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

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

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

© 2021 V2EX