102 lines
2.0 KiB
Markdown
Executable File
102 lines
2.0 KiB
Markdown
Executable File
# Linux 软件安装位置
|
||
|
||
> 常见软件安装目录对比:/usr vs /usr/local vs /opt
|
||
|
||
---
|
||
|
||
## /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)
|