diff --git a/Linux/Tools/Linux软件安装位置.md b/Linux/Tools/Linux软件安装位置.md index f69b893..2933c2d 100755 --- a/Linux/Tools/Linux软件安装位置.md +++ b/Linux/Tools/Linux软件安装位置.md @@ -1,12 +1,101 @@ -/usr: 系统级的目录,可以理解为C:/Windows/;/usr/bin 存放应用程序;/usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件,可以理解为C:/Windows/System32 -*比如Java的安装目录,我会放在这里。 +# Linux 软件安装位置 -/usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。 -用户自己编译的软件默认会安装到这个目录下。 -*比如Hadoop,Tomcat的安装目录我一般会放在/usr/目录下 +> 常见软件安装目录对比:/usr vs /usr/local vs /opt -/opt:给主机额外安装软件所摆放的目录。用户级的程序目录,可以理解为D:/Software,opt有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接rm -rf掉即可。在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用。 -*比如临时上传到Linux里的软件;tar.gz rpm等文件,用作软件仓库。 -———————————————— -版权声明:本文为CSDN博主「佛系亚当」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 -原文链接:https://blog.csdn.net/adamlinsfz/article/details/84307097 \ No newline at end of file +--- + +## /usr - 系统级目录 + +类比 Windows 的 `C:/Windows/` + +| 路径 | 说明 | +|------|------| +| `/usr/bin` | 用户命令(ls、cp、mv 等) | +| `/usr/sbin` | 系统管理命令 | +| `/usr/lib` | 系统库文件 | +| `/usr/share` | 共享数据(文档、图标) | +| `/usr/include` | C 头文件 | +| `/usr/local` | 本地安装的软件 | + +> **个人习惯**:Java 等系统级工具可放在此处。 + +--- + +## /usr/local - 用户级程序目录 + +类比 Windows 的 `C:/Program Files/` + +- 用户自己编译的软件**默认安装位置** +- 不会因系统更新而被覆盖 + +> **个人习惯**:Hadoop、Tomcat 等放在 `/usr/local/` 下: +> ``` +> /usr/local/hadoop/ +> /usr/local/tomcat/ +> ``` + +--- + +## /opt - 可选/大型软件 + +类比 Windows 的 `D:/Software/` + +- 第三方大型软件(或游戏) +- 适合不需要的东西可以 `rm -rf` 完全删除的场景 +- 可单独挂载到其他磁盘(硬盘容量不足时) + +> **个人习惯**: +> - 临时上传的软件包(tar.gz、rpm) +> - 作为软件仓库 +> ``` +> /opt/nginx/ +> /opt/redis/ +> /opt/mysql/ +> ``` + +--- + +## 对比总结 + +| 目录 | 用途 | 特点 | +|------|------|------| +| `/usr` | 系统自带软件 | 系统更新可能被覆盖 | +| `/usr/local` | 用户编译软件 | 稳定,不被系统更新影响 | +| `/opt` | 第三方大型软件 | 可选,方便管理,可单独挂载 | + +--- + +## 实际安装示例 + +```bash +# /usr/local 安装 Tomcat +tar -xzf apache-tomcat-9.0.tar.gz +sudo mv apache-tomcat-9.0 /usr/local/tomcat + +# /opt 安装 Redis +tar -xzf redis-6.0.tar.gz +sudo mv redis-6.0 /opt/redis + +# /usr 安装 Java +sudo rpm -ivh jdk-11.rpm +# 或 +sudo tar -xzf jdk-11.tar.gz -C /usr/local/ +``` + +--- + +## 查看软件安装位置 + +```bash +# 查看命令所在路径 +which java +whereis java + +# 查看已安装软件 +dpkg -l # Debian/Ubuntu +rpm -qa # CentOS/RHEL +``` + +--- + +> 参考:[Linux 软件安装目录详解](https://blog.csdn.net/adamlinsfz/article/details/84307097)