前言
这段时间又在研究DDS架构,看看别人开源的东西,要复制一些文件进系统目录。这时候我就想起之前一些没搞清楚的地方:Linux 安装库文件,放到 /usr,/usr/local/ 还是 /opt 目录?有啥区别?于是乎去搜集了一下资料,这里总结一下。
区别
/usr:系统级的目录,可以理解为C:/Windows/,
/usr/lib理解为C:/Windows/System32。这文件下放置的是动态库,通常运行软件的时候提示.dll缺失,就去百度下一个放到这里
/usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下。
/opt:用户级的程序目录,可以理解为D:/Software,opt有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接rm -rf掉即可。在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用。
所以/lib文件应该放哪里呢?
/usr/lib:系统级的动态库(.so)目录。
/usr/local/lib:用户级的动态库(.so)目录。
简评
这样类比的话就挺好理解的。所以,通常情况下,自己手动安装的话,还是应该放到/usr/local/下面。
/usr/local/bin
/usr/local/include
/usr/local/lib
/usr/local/src
/usr/local/share
这些都是比较常用的路径。