Linux软件安装包存放位置详解,从源码包到二进制包的存储路径

admin
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目录下的文件)。

本文重点解答的是安装包文件的存放位置,而非安装后的文件分布。

Linux软件安装包存放位置详解,从源码包到二进制包的存储路径

不同类型安装包的存放位置

源码包(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

为什么源码包不放在系统固定目录?

源码包需用户手动执行./configuremakemake install编译安装,安装后的文件默认会分散到/usr/local(如/usr/local/bin/usr/local/lib),但原始源码包本身无需放在系统目录,避免影响系统稳定性。

二进制包(Binary Package):包管理器缓存 vs 用户下载目录

二进制包是已编译好的软件包(如Debian系的.deb、RedHat系的.rpm、Arch系的.pkg.tar.xz),可通过系统包管理器(aptyumdnfpacman等)安装,也可手动安装,其存放位置分两种情况:

(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 alldnf 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格式的安装脚本,这类包没有固定的“系统存放目录”,需用户手动执行,通常放在:

  • 用户家目录的Downloadssoftware文件夹;
文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码