1
zzzsy 2022-09-16 21:50:03 +08:00 via Android
直接用 Nix OS (🐶
|
2
aloxaf 2022-09-16 21:51:15 +08:00
有点不理解,这玩意儿需要个人来实践吗?发行版是怎么干的就只能跟着吧?
|
3
0o0O0o0O0o OP @aloxaf #2
例如按照我的理解,像 v2ray-core 这样的编译好的可执行文件应该放到 `/opt`?但是 https://github.com/v2fly/fhs-install-v2ray 这个项目又是放在 `/usr/local` ,我也跟着做了,但我不理解。。。 又例如 https://www.jetbrains.com/toolbox-app/ ,它会在 `$HOME/.local/share/JetBrains/Toolbox/apps` 安装可执行文件,这种情况符合 FHS 吗? |
4
aloxaf 2022-09-16 23:42:48 +08:00 1
@0o0O0o0O0o #3
v2ray-core 这种单文件要么放 /usr/bin (自己打包) 要么放 /usr/local/bin (直接 make install ) 吧,opt 我认为是放那些有着自己的目录结构要求、没办法遵循 FHS 的软件,比如 non-free 软件 FHS 似乎没有规定用户软件该怎么装,这里或许应该适用 The XDG Base Directory Specification |
5
littlewing 2022-09-16 23:46:19 +08:00
用 arch 不用担心这个问题,所有东西仓库里都有
|
6
Jirajine 2022-09-17 00:29:41 +08:00
手动安装的放 usr/local/bin ,jb toolbox 安装的应该算是“绿色版”,放 xdg data 目录也是遵守标准的。
|
7
baobao1270 2022-09-17 05:32:23 +08:00 1
感觉 FHS 太理想化了,实际上很少有完全遵循 FHS 的发行版……我的做法是,个人的直接塞 home 目录,一般 root 权限运行的服务器文件放 /app ,非 root 权限运行的服务放 /home/app-name/server
|
8
ruidoBlanco 2022-09-17 07:41:15 +08:00
标准未必是合适的。我的原则是,如果自己装的系统软件,放 /usr/local/bin ,自己装的用户级软件,放 ~/.bin
|
9
julyclyde 2022-09-17 09:04:37 +08:00 1
@baobao1270 正经发行版“本身”肯定都遵守 FHS
@0o0O0o0O0o 外来软件遵守这一段 https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch03s13.html |
10
julyclyde 2022-09-17 09:05:06 +08:00
@ruidoBlanco 标准是为了保证互操作性,减少记忆负担
你自己个人的机器当然不打算给别人用啊,所以就以自己用着舒服为准 |
11
ruidoBlanco 2022-09-17 11:24:45 +08:00
@julyclyde 记忆标准也是记忆负担。就我看到业界使用的状况是,几乎没有人严格按照标准来,各玩各的套路,有的玩得挺好的,有的一团糟。很多时候并不能指望安装软件的人明白怎么做合适,人家也许只是个常年 Windows 下码字的。
|
12
julyclyde 2022-09-19 09:52:35 +08:00
@ruidoBlanco 因为只有不标准的才会引起注意
正常人谁会关注 ls 命令放在哪,chown 命令放在哪呢 |
13
yanqiyu 2022-09-19 10:08:23 +08:00
系统级程序自己打包安装,打包就按照发行版的 guidelines 完成,自然就保证了遵守 FHS
用户级程序 PREFIX=~/.local, 也就无所谓结构了 |