您当前的位置: 首页 >  linux

liaowenxiong

暂无认证

  • 2浏览

    0关注

    1171博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Linux 系统关于应该把程序安装在目录 /usr 还是目录 /usr/local 下的思考

liaowenxiong 发布时间:2020-08-09 14:06:39 ,浏览量:2

对于一个以 LFS(Linux From Scratch 大意:自己做出来的 Linux) 为基础的系统来说,这是一个没有明确答案的问题。什么是 LFS?

在传统的 Unix 系统中,/usr 通常只包含系统发行时自带的程序,而 /usr/local 则是本地系统管理员用来自由添加程序的目录。这里有一条严厉而牢固的规则:除非在里面创建目录,否则 Unix 发行版不得使用 /usr/local。

对于 Linux 发行版,如 RedHat, Debian 等等,一个可能的规定是:/usr 目录只能由发行版的软件包管理工具负责管理,而对 /usr/local 却没有这样做。正是因为采用这种方式,软件包管理工具的数据库才能知道在 /usr 目录内的每一个文件。

LFS 的用户是自己建立系统的,所以能自己决定系统文件和用户文件的放置方式。因此,应该按照有利于系统管理员使用的方式作出选择。这里有几个把文件安装到 /usr 或者是 /usr/local 的理由:

如果网络上的计算机都运行 LFS 或者是混合使用 LFS 和其它 Linux 发行版,所有连网计算机共用的软件应该安装在 /usr/local 内。这样可以通过 NFS 文件系统共享该目录或者从一个服务器上镜象过来。此时 /usr/local 表示本地服务器提供的软件的目录。

如果网络上的计算机都运行同样的LFS系统,/usr/local 应该安装各台计算机之间不相同的软件。这时 /usr/local 表示本地计算机提供的软件的目录。

如果你在一台计算机上同时安装了几个 Linux 发行版,并希望在某个目录存放它们共享的软件,这时 /usr/local 目录就能发挥作用了。

或者你想要经常重建 LFS 系统,但又希望把不想每次重复编译的软件存放在某处,你也可以把软件安装在 /usr/local 目录。这样你就可以在不丢失数据的情况下删去 LFS 系统并从一个干净的分区重新开始。

一些人会问为什么不使用你自己的目录树,也就是使用 /usr/site 而不是 /usr/local?

没有什么能阻止你,确实可以在很多地方创建自己的目录树,但这会使得安装新软件更加麻烦。自动化的安装程序通常要到 /usr 或 /usr/local 目录下寻找所依赖的文件,如果要找的文件不在 /usr 目录里面,安装可能会失败,除非你指定目录让安装程序查找所依赖的文件。

那么在 BLFS 中软件的安装位置在那里?

除非特别声明,所有 BLFS 中的软件都安装在 /usr 目录下。也有一些文件被放在 /usr/local 目录下,但它们只是文档并且有足够的理由这样做。

个人建议
  1. 你自己安装的应用类程序,经常使用的,安装在 /usr/local/lib 目录下

  2. 你自己安装的系统类程序,建议安装在 /usr/lib 目录下

  3. 你自己安装的应用类程序,不经常使用,或者临时安装的,不久就要卸载掉,建议安装在 /opt/lib 目录下

  4. 程序源码放在 /usr/local/src 目录下

关注
打赏
1661566967
查看更多评论
立即登录/注册

微信扫码登录

0.2059s