Linux 软件安装位置

2022-11-13 15:53:07 +08:00
 overthemoon

像 tomcat nginx 这些软件一般放在 /opt 还是 /usr/local 目录下呢

2220 次点击
所在节点    问与答
14 条回复
qiguai2017
2022-11-13 17:05:17 +08:00
不同发行版,放置的位置可能不同.有放 `/opt` 下的,也有放 `/usr/local` 下的,还有可能安装完后,文件分散到 `/user/share`, `/user/lib`, `/user/bin` 等目录下.

如果是从 nginx 官方下载,自己手动安装的话, 一般是安装到 `/opt` 下,也可以自己指定安装位置.
2NUT
2022-11-13 20:49:50 +08:00
usr 系统级共享资源目录

local 用户级程序目录

opt 可选程序目录
mmm159357456
2022-11-13 20:51:50 +08:00
我觉得是看习惯的,像我都是放 home 里的
shiyu6226
2022-11-13 22:58:05 +08:00
大部分应用如果默认安装的话 都在 /usr/local 下,但是一般服务器 /目录(系统分区)不会给的很大,所以应用都是单独放其他分区,我这边是 公司部署应用都是 /opt 下,个人部署 /home 下
adoal
2022-11-14 01:51:12 +08:00
在生产环境的服务器上,后台服务类软件强烈不建议装在自己家目录或者 owner 是自己的其它目录里,并且所有文件 owner 也是自己,然后还是用自己登录的账号身份启动到后台。

交互操作的工具一般来说无所谓。

开发环境也不用讲究,但要知道你开发出来的东西将来可能生产环境要求部署。

另外,强烈建议通读多遍 Linux File System Hierarchy Standard 并理解其设计动机和思路。
eason1874
2022-11-14 02:09:53 +08:00
生产服务器,我直接用包管理工具安装,先把官方源加进去,然后安装,在哪个目录就在哪个目录

自己的,大部分在 /opt
JKeita
2022-11-14 09:03:04 +08:00
习惯 /usr/local
oneisall8955
2022-11-14 09:22:12 +08:00
自己编译安装,习惯放在 opt ,有些系统级别,ln 到 /usr/local
julyclyde
2022-11-14 11:10:59 +08:00
@oneisall8955 编译的默认 prefix 是 /usr/local 吧
外来的预先编译软件才选 opt
weidaizi
2022-11-14 12:19:04 +08:00
包管理的一般在: /usr
用户级别: /usr/local
完整安装: /opt

另外提个 /usr 和 /opt 的很大的区别, 比如有一个 foo, 依赖于动态库 libfoo.so

----------------------------
/usr 下面(/usr/local 下类似)
/usr/lib/libfoo.so
/usr/bin/foo

----------------------------
/opt 里, 要设置 rpath
/opt/foo/bin/foo
/opt/foo/lib/libfoo.so
AirCrusher
2022-11-14 13:19:46 +08:00
赞同#10 。包管理器可以不用操心,但如果单独下 release 建议放到 /opt 里面。之前踩过一个坑,把应用直接解压到 /usr/local ,但是里面有个 so 覆盖掉了子目录下的同名库,产生了一些兼容性的问题。
julyclyde
2022-11-14 17:27:05 +08:00
@AirCrusher 那你这个库,本身有问题啊。相互兼容的版本才能叫同一个 SONAME 呢
zhucegeqiu
2022-11-15 07:51:10 +08:00
docker 一把梭路过
ByteCat
2022-11-15 08:38:27 +08:00
编译的放 /usr/local ,其他 /opt ,一般放 /opt 就好

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

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

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

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

© 2021 V2EX