Linux 系统关于应该把程序安装在目录 /usr 还是目录 /usr/local 下的思考
对于一个以 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 目录下,但它们只是文档并且有足够的理由这样做。
个人建议
你自己安装的应用类程序,经常使用的,安装在 /usr/local/lib 目录下
你自己安装的系统类程序,建议安装在 /usr/lib 目录下
你自己安装的应用类程序,不经常使用,或者临时安装的,不久就要卸载掉,建议安装在 /opt/lib 目录下
程序源码放在 /usr/local/src 目录下
Linux 系统关于应该把程序安装在目录 /usr 还是目录 /usr/local 下的思考相关推荐
- Linux系统中常用软件的安装(os7)
# Linux系统中常用软件的安装(os7) 文章目录 1 `JDK`安装 2 `tomcat`安装 (1) 解压缩tomcat.tar.gz (2) 运行tomcat/bin/startup.sh ...
- linux系统在硬盘上安装程序,怎么样用硬盘上的镜象文件来安装Linux系统?我都进入安装界面了,但是那个安装程序好像找不到那几个镜象文件,请指点...
怎么样用硬盘上的镜象文件来安装Linux系统?我都进入安装界面了,但是那个安装程序好像找不到那几个镜象文件,请指点 光盘镜象文件名字为: 5.1-RELEASE-i386-disc1.iso 5.1- ...
- Linux 系统如何设置开机程序自启动
这里写目录标题 1. Linux 系统如何设置开机程序自启动 1.1. /etc/rc.local 1.2. crontab(类似于 Windows 的任务计划服务) 1.3. 注册系统服务 1. L ...
- Php 安装 zend_loader,在Linux系统中为PHP5.x安装Zend Guard Loader
从PHP5.3开始如果要支持ZendGuard加密的PHP代码,必须安装Zend Guard Loader,老的zend optimizer将不被支持,如使用了ZendGuard加密的PHP代码的网站 ...
- linux系统安装hba驱动,Linux系统上iSCSI HBA的安装和配置
Linux系统上iSCSI HBA的安装和配置 关键字: Linux;iSCSI;HBA; 内容摘要: 如何在Linux系统上安装和配置iSCSI HBA. 正文 存储(target)端可以用硬件和软 ...
- 记录ECS Linux系统出现xmrig挖矿程序
记录ECS Linux系统出现xmrig挖矿程序 最近收到阿里云检测服务器出现了紧急安全事件:挖矿程序,炸一看,额...... ,吓了一跳,这是哪里冒出来的,结果看到如下图所示,开始进行了排查. 原因 ...
- 怎么安装linux系统 硬盘,如何实现硬盘安装linux系统
CentOS镜像文件DVD. 1.在Windows XP下删除最后一个分区. 2.把下载的CentOS镜像文件放在FAT格式的任何一个盘. 3.解压aDVD镜像中isolinux文件夹到C:\(就是C ...
- win10中linux系统下载软件,win10 上安装 Debian Linux子系统
Win10 最近有了一个行的称号: 最强Linux发行版,为什么会有这么一个称号呢,因为win10的子Linux系统已经让win10集成了linux系统,应用商店里也已经上架了多种linux的发行版. ...
- 安装Linux系统后无法启动win,安装Win10 CentOS7双系统后无法启动Win10系统怎么办
近来,有位用户反馈自己由于工作需要,不得不在已经安装了Win10系统的电脑上下载安装CentOS7系统组成双系统.可是,该用户在安装好CentOS7系统后,发现Win10系统突然无法启动.无法加载了. ...
最新文章
- 2020-08-23 W7电脑锁屏后,能让电脑处于运行状态吗?
- 联通短信网关返回90状态的解决
- 地理空间数据库(Geodatabase)结构(翻译)
- CLR 中 线程的 ThreadState 解释
- htpdate代替ntpdate同步时间
- 在有序旋转数组中找到最小值
- List类集接口-ArrayList
- [react-router] react的路由和普通路由有什么区别?
- 计算机大一笔试题,大学计算机基础(大一) 笔试题库
- 桌面虚拟化之盗梦空间
- 开源微信商城java源码_微信小程序商城 带java后台源码
- acs cisco 查看log_Cisco ASA 5510 防火墙 配置笔记
- SEGGER_RTT_printf()函数实现打印浮点、负数-示例
- win7 pptp服务器未响应,win7下vpn无法使用的解决办法
- 密码学之前后向安全性
- 硬核!教你三种方法,实现微信自定义修改地区!
- 为什么RSA 公钥指数(e=65537)
- Qt常用的模板函数说明
- 大家如何看待网络安全的重要性?
- 修改Linux中发送邮件中附件大小的限制
热门文章
- webcrypto库下载_使用WebCrypto API的电子签名
- java 单元测试技巧_其他一些单元测试技巧
- hibernate jpa_JPA /Hibernate刷新策略初学者指南
- 如何在Java中将String转换为int
- jsf tree组件_JSF:在传统组件和时尚性能杀手之间进行选择
- 使用OAuth2令牌的安全REST服务
- Speedment 3.0的新功能
- junit白盒测试 案例_JUnit通过失败测试案例
- 将JAR依赖项添加到Eclipse插件Maven Tycho构建
- JavaOne 2015 –第二十版十大收获