1. 为什么/usr/local是Linux系统的"自留地"
第一次在Linux系统里安装软件时,很多人会纠结到底该把程序放在哪里。系统自带的软件都在/usr/bin里,但直接往里面塞自己编译的程序就像在别人家客厅乱摆家具——升级系统时可能被"大扫除"清空。这时候/usr/local就像系统专门给你划分的"自留地",在这里种什么菜(装什么软件)都不会影响系统原有的花园布局。
这个目录的设计初衷源自Unix哲学中的"分离关注点"原则。我管理服务器集群时,经常遇到需要同时维护Python 2.7和Python 3.6的场景。把Python 3.6安装在/usr/local下,既不会覆盖系统自带的Python 2.7,又能通过PATH环境变量优先找到新版解释器。实测在CentOS 7上升级OpenSSH时,/usr/local下的自定义配置完全不受yum更新的影响。
2. 解剖/usr/local的目录结构
2.1 标准子目录的隐藏逻辑
打开/usr/local目录,你会看到像微型Linux根目录的镜像结构。这种设计不是偶然的——它严格遵循FHS标准(文件系统层次结构标准),每个子目录都有明确使命:
/usr/local/
├── bin # 你的专属命令行工具库
├── etc # 避开/etc的配置保险箱
├── games # 老派Unix的娱乐遗产
├── include # 头文件的私人图书馆
├── lib # 依赖库的独立仓库
├── man # 自制软件说明书专柜
├── sbin # 超级用户的秘密武器架
└── share # 多语言支持的资源池
最实用的当属**/usr/local/bin和/usr/local/sbin**的区别。去年我在部署监控系统时,把自定义的监控脚本放在前者,普通用户通过sudo就能调用;而需要root权限执行的日志清理工具则放在后者,避免权限过度开放。
2.2 被忽视的宝藏目录
很多人


2414

被折叠的 条评论
为什么被折叠?



