Linux软件安装包存放位置因包类型而异,源码包通常由用户手动下载编译,多存于用户目录(如~/src/)或临时目录(/tmp/),编译后生成的文件默认安装至/usr/local/,二进制包包括系统管理包(deb/rpm)及第三方包:系统包管理器(如apt/yum)下载的包暂存于/var/cache/apt/archives/(Debian/Ubuntu)或/var/cache/yum/(CentOS/RHEL);安装后文件分散于/usr/(可执行文件)、/etc/(配置文件)、/opt/(第三方应用)等系统目录,第三方二进制包(如AppImage)则常由用户自行存放于指定目录(如~/apps/)。
在Linux系统中,软件安装包的存放位置并非固定统一,而是根据安装包类型(源码包、二进制包、第三方包)和安装方式(手动安装、包管理器安装)有所不同,本文将详细梳理不同场景下安装包的存储逻辑,帮助你快速定位和管理软件安装包。
核心概念:安装包 vs 安装后的文件
在讨论存放位置前,需先区分两个概念:
- 安装包文件:指未安装的原始包(如
.tar.gz、.deb、.rpm等),是用户下载或获取的“安装介质”; - 安装后的文件:指安装包解压或安装后,分散到系统中的可执行文件、库文件、配置文件等(如
/usr/bin、/etc目录下的文件)。
本文重点解答的是安装包文件的存放位置,而非安装后的文件分布。

不同类型安装包的存放位置
源码包(Source Package):用户自定义目录为主
源码包是未经编译的源代码(如.tar.gz、.tar.bz2、.tar.xz等),需用户手动编译、安装,这类包没有“标准存放目录”,完全由用户根据习惯选择,常见位置包括:
(1)用户家目录的下载文件夹(最常见)
多数用户会将下载的源码包放在家目录(/home/username)下的Downloads(下载)文件夹中,方便管理和查找。
示例:/home/user1/Downloads/nginx-1.22.0.tar.gz
(2)自定义源码工作目录(推荐)
为了统一管理源码,部分用户会在系统目录下创建src(source)目录,专门存放源码包,
/usr/local/src/:Linux系统预留的“用户自定义软件源码目录”,适合存放需要长期维护或编译安装的源码;/opt/src/:若/usr/local空间不足,也可放在/opt下的src目录。
示例:/usr/local/src/python-3.11.0.tgz
为什么源码包不放在系统固定目录?
源码包需用户手动执行./configure、make、make install编译安装,安装后的文件默认会分散到/usr/local(如/usr/local/bin、/usr/local/lib),但原始源码包本身无需放在系统目录,避免影响系统稳定性。
二进制包(Binary Package):包管理器缓存 vs 用户下载目录
二进制包是已编译好的软件包(如Debian系的.deb、RedHat系的.rpm、Arch系的.pkg.tar.xz),可通过系统包管理器(apt、yum、dnf、pacman等)安装,也可手动安装,其存放位置分两种情况:
(1)通过包管理器安装:原始包存放在缓存目录
若使用apt(Debian/Ubuntu)、yum/dnf(CentOS/RHEL)、pacman(Arch)等包管理器安装,安装包会先下载到系统的缓存目录,安装后保留(方便离线重装或修复依赖)。
-
Debian/Ubuntu(apt):
缓存目录:/var/cache/apt/archives/
示例:/var/cache/apt/archives/nginx_1.22.0-1~ubuntu22.04_amd64.deb
可通过apt clean清理已安装的包缓存(释放空间)。 -
CentOS/RHEL(yum/dnf):
缓存目录:/var/cache/yum/(yum)或/var/cache/dnf/(dnf)
示例:/var/cache/dnf/nginx/1:1.22.0-1.el8.ngx.x86_64/packages/nginx-1.22.0-1.el8.ngx.x86_64.rpm
可通过yum clean all或dnf clean all清理缓存。 -
Arch Linux(pacman):
缓存目录:/var/cache/pacman/pkg/
示例:/var/cache/pacman/pkg/nginx-1.24.0-1-x86_64.pkg.tar.zst
可通过pacman -Scc清理所有缓存。
(2)手动下载二进制包:用户自定义目录
若从软件官网或其他渠道手动下载二进制包(如.deb、.rpm),则和源码包类似,通常存放在用户家目录的Downloads文件夹或自定义目录中,
/home/user1/Downloads/mysql-8.0.33-1.el7.x86_64.rpm/opt/packages/redis-7.0.9-linux-x86_64.tar.gz(部分二进制包以压缩包形式提供,解压后可直接运行)
第三方安装包(如.run、.bin、.sh):用户指定目录
部分软件(如NVIDIA驱动、Oracle JDK、PyCharm等)会提供.run、.bin或.sh格式的安装脚本,这类包没有固定的“系统存放目录”,需用户手动执行,通常放在:
- 用户家目录的
Downloads或software文件夹;

