之前对于这两个目录的作用一直有疑问,感觉前者没什么用,第三方软件都放在后者里完全够了
直到发现有位朋友开发软件在按绿色软件的逻辑写,程序里硬编码从当前目录读取其他文件
locale/
zh_cn.json
en.json
myapp
readme.txt
这个程序显然没法原样安装到/usr/bin,因此不适合安装到 /usr/local/bin,但安装在/opt/myapp就没影响。如果给这个程序打包,则把makefile的 PREFIX 从 /usr/bin 改为 /opt/myapp,不用动代码,就能完成打包
总结:判别标准是 /usr/local放那些能被原样打包放到/usr的软件,/opt放那些不能的