对于一个以 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 目录下

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

  1. Linux系统中常用软件的安装(os7)

    # Linux系统中常用软件的安装(os7) 文章目录 1 `JDK`安装 2 `tomcat`安装 (1) 解压缩tomcat.tar.gz (2) 运行tomcat/bin/startup.sh ...

  2. linux系统在硬盘上安装程序,怎么样用硬盘上的镜象文件来安装Linux系统?我都进入安装界面了,但是那个安装程序好像找不到那几个镜象文件,请指点...

    怎么样用硬盘上的镜象文件来安装Linux系统?我都进入安装界面了,但是那个安装程序好像找不到那几个镜象文件,请指点 光盘镜象文件名字为: 5.1-RELEASE-i386-disc1.iso 5.1- ...

  3. Linux 系统如何设置开机程序自启动

    这里写目录标题 1. Linux 系统如何设置开机程序自启动 1.1. /etc/rc.local 1.2. crontab(类似于 Windows 的任务计划服务) 1.3. 注册系统服务 1. L ...

  4. Php 安装 zend_loader,在Linux系统中为PHP5.x安装Zend Guard Loader

    从PHP5.3开始如果要支持ZendGuard加密的PHP代码,必须安装Zend Guard Loader,老的zend optimizer将不被支持,如使用了ZendGuard加密的PHP代码的网站 ...

  5. linux系统安装hba驱动,Linux系统上iSCSI HBA的安装和配置

    Linux系统上iSCSI HBA的安装和配置 关键字: Linux;iSCSI;HBA; 内容摘要: 如何在Linux系统上安装和配置iSCSI HBA. 正文 存储(target)端可以用硬件和软 ...

  6. 记录ECS Linux系统出现xmrig挖矿程序

    记录ECS Linux系统出现xmrig挖矿程序 最近收到阿里云检测服务器出现了紧急安全事件:挖矿程序,炸一看,额...... ,吓了一跳,这是哪里冒出来的,结果看到如下图所示,开始进行了排查. 原因 ...

  7. 怎么安装linux系统 硬盘,如何实现硬盘安装linux系统

    CentOS镜像文件DVD. 1.在Windows XP下删除最后一个分区. 2.把下载的CentOS镜像文件放在FAT格式的任何一个盘. 3.解压aDVD镜像中isolinux文件夹到C:\(就是C ...

  8. win10中linux系统下载软件,win10 上安装 Debian Linux子系统

    Win10 最近有了一个行的称号: 最强Linux发行版,为什么会有这么一个称号呢,因为win10的子Linux系统已经让win10集成了linux系统,应用商店里也已经上架了多种linux的发行版. ...

  9. 安装Linux系统后无法启动win,安装Win10 CentOS7双系统后无法启动Win10系统怎么办

    近来,有位用户反馈自己由于工作需要,不得不在已经安装了Win10系统的电脑上下载安装CentOS7系统组成双系统.可是,该用户在安装好CentOS7系统后,发现Win10系统突然无法启动.无法加载了. ...

最新文章

  1. 2020-08-23 W7电脑锁屏后,能让电脑处于运行状态吗?
  2. 联通短信网关返回90状态的解决
  3. 地理空间数据库(Geodatabase)结构(翻译)
  4. CLR 中 线程的 ThreadState 解释
  5. htpdate代替ntpdate同步时间
  6. 在有序旋转数组中找到最小值
  7. List类集接口-ArrayList
  8. [react-router] react的路由和普通路由有什么区别?
  9. 计算机大一笔试题,大学计算机基础(大一) 笔试题库
  10. 桌面虚拟化之盗梦空间
  11. 开源微信商城java源码_微信小程序商城 带java后台源码
  12. acs cisco 查看log_Cisco ASA 5510 防火墙 配置笔记
  13. SEGGER_RTT_printf()函数实现打印浮点、负数-示例
  14. win7 pptp服务器未响应,win7下vpn无法使用的解决办法
  15. 密码学之前后向安全性
  16. 硬核!教你三种方法,实现微信自定义修改地区!
  17. 为什么RSA 公钥指数(e=65537)
  18. Qt常用的模板函数说明
  19. 大家如何看待网络安全的重要性?
  20. 修改Linux中发送邮件中附件大小的限制

热门文章

  1. webcrypto库下载_使用WebCrypto API的电子签名
  2. java 单元测试技巧_其他一些单元测试技巧
  3. hibernate jpa_JPA /Hibernate刷新策略初学者指南
  4. 如何在Java中将String转换为int
  5. jsf tree组件_JSF:在传统组件和时尚性能杀手之间进行选择
  6. 使用OAuth2令牌的安全REST服务
  7. Speedment 3.0的新功能
  8. junit白盒测试 案例_JUnit通过失败测试案例
  9. 将JAR依赖项添加到Eclipse插件Maven Tycho构建
  10. JavaOne 2015 –第二十版十大收获