乐于分享
好东西不私藏

Linux 软件安装:/opt/、/usr/local/ 和 /home/ 到底选哪个?

Linux 软件安装:/opt/、/usr/local/ 和 /home/ 到底选哪个?

用 Linux 的小伙伴,大概率都纠结过一个问题:装软件的时候,到底该放 /opt//usr/local/,还是干脆扔进 /home/ 里?包管理器 yum 和 apt 又该怎么用?其实完全不用被复杂操作吓住,记住核心逻辑,新手也能轻松上手。

今天用最简洁的方式,帮你一次性讲清 3 种安装方法 + 3 个目录的区别


零、先搞懂三个目录的“身份”

在动手安装之前,先理解这三个目录的定位,后面的选择就一目了然了。

  • /usr/local/:系统级的“手动安装专区”。由系统管理员手动编译安装的软件放在这里,文件会分散到 bin/lib/ 等子目录,装完后全系统用户都能用。
  • /opt/:第三方的“独立别墅区”。专门给大型商业软件、预编译包准备的,所有文件关在一个文件夹里,卸载直接删文件夹,干净利落。
  • /home/:普通用户的“私人空间”。这是你个人的家目录,放文档、下载、个人配置文件的地方。只装你自己用的软件可以扔这里,但系统级服务或多人共享的软件千万别放,否则权限和 PATH 都是坑。

一、Linux 3 种软件安装方式

1. 包管理器安装:yum / apt(最省心,优先选)

适用于各类 Linux 发行版,自动解决依赖关系,一键完成。适合安装 Nginx、Git 等常用软件。

对于 CentOS / RHEL 系统(使用 yum

# 更新 yum 源(推荐,以阿里云 CentOS 7 源为例)mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bakwget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repoyum clean all && yum makecache# 安装与卸载yum install 软件名 -y      # 安装yum remove 软件名 -y       # 卸载

对于 Ubuntu / Debian 系统(使用 apt

# 更新 apt 源(推荐,以阿里云 Ubuntu 源为例)sudo cp /etc/apt/sources.list /etc/apt/sources.list.baksudo sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.listsudo apt update# 安装与卸载sudo apt install 软件名 -y  # 安装sudo apt remove 软件名 -y   # 卸载

特点

  • 无需手动配置,装完直接敲命令就能用。
  • 软件默认安装至系统规范目录,无需干预。
  • 仓库中的版本可能不是最新版,但对于绝大多数场景已足够稳定。

2. 源码编译安装(对应 /usr/local/

适用于 Nginx、Redis 等开源软件。需要手动编译,可以自定义功能模块,适合追求最新版本的场景。

① 下载源码包(以 Nginx 为例)

wget http://nginx.org/download/nginx-1.24.0.tar.gz

② 解压并编译安装

# 安装编译依赖(CentOS 示例,Ubuntu 用 apt install build-essential)yum install gcc make -ytar -zxvf nginx-1.24.0.tar.gzcd nginx-1.24.0./configuremakemake install

③ 特点

  • 编译后的文件会自动分散到 /usr/local/ 的子目录中(如 bin/lib/etc/)。
  • 安装完成后,相关命令可直接调用(因为 /usr/local/bin 通常在 PATH 环境变量中)。
  • 卸载相对复杂,需要进入源码目录执行 make uninstall,或手动删除相关文件。

3. 预编译包安装(对应 /opt/

适用于 IntelliJ IDEA、JDK 等商业软件或大型工具包。免编译,解压即用,隔离性极好。

① 下载预编译包(以 IDEA 为例)

wget https://download.jetbrains.com/idea/ideaIU-2024.1.tar.gz

② 解压到 /opt/ 目录

tar -zxvf ideaIU-2024.1.tar.gz -C /opt/chmod +x /opt/idea-IU-*/bin/idea.sh

③ 特点

  • 所有文件集中在一个目录下,卸载时直接删除该目录即可,干净利落。
  • 注意:解压到 /opt/ 后,命令不能直接调用,需手动创建软链接(详见第三节)。

补充:什么时候放 /home/ ?

如果你只是自己临时用一下某个软件(比如下载了一个 AppImage 单文件、自己写的脚本、或者某个绿色版工具),完全可以放在 /home/你的用户名/ 下的某个文件夹里。

但要记住

  • 放在 /home/ 下的软件,只有你当前用户能方便地使用,其他用户用不了。
  • 需要手动把软件所在目录加到 PATH 环境变量,或者用绝对路径启动。

一句话原则:系统级服务、多人共用的软件 → 放 /usr/local/ 或 /opt/;只有自己用的玩具、工具 → 放 /home/ 随便折腾。


二、核心对比:3 种方式 + 3 个目录(一眼看懂)

对比维度
yum
 / apt 安装
/usr/local/
(源码)
/opt/
(预编译)
/home/
(个人目录)
核心优势
一键便捷,自动解决依赖
可自定义,版本最新
隔离性好,卸载简单
用户私密,无需 root
命令调用
直接用,无需配置
直接用,无需配置
需手动加软链接
需加 PATH 或绝对路径
卸载难度
最简单(一键卸载)
较复杂
简单(删目录)
最简单(直接删文件)
适用场景
常用软件,追求便捷
开源软件,需要新版本
商业软件、大型工具
个人临时软件、脚本

三、实操重点:/opt/ 软链接(直接抄作业)

由于 /opt/ 下的软件不在系统默认的 PATH 路径中,所以无法在终端直接敲命令启动。解决方案很简单:创建一个软链接到 /usr/local/bin/ 即可

示例 1:为 JDK 创建软链接

ln -s /opt/jdk-17/bin/java /usr/local/bin/java

示例 2:为 IDEA 创建软链接

ln -s /opt/idea-IU-*/bin/idea.sh /usr/local/bin/idea

创建完成后,在任意终端输入 java 或 idea 就能直接启动了。


四、总结

  1. 想省心 → 用 yum(CentOS)或 apt(Ubuntu),适合装常用软件。
  2. 要最新版本、想自定义 → 用源码编译,文件自然落在 /usr/local/
  3. 装商业软件、想干净卸载 → 用预编译包,解压到 /opt/,别忘了加软链接。
  4. 只有自己用的玩具或脚本 → 随便扔 /home/ 里,开心就好。

收藏起来,下次装软件再也不用纠结放哪里了!觉得有用的话,欢迎点赞转发给身边学 Linux 的小伙伴~