在 Ubuntu 24.04、22.04 或其他版本上安装二进制文件,是许多 Linux 用户,尤其是初学者的常见需求。当你需要的软件不在默认的系统仓库中时,就常常需要手动处理各种格式的二进制文件。如果你刚接触 Linux,面对下载下来的 .bin、.run 甚至没有扩展名的文件,可能会感到困惑:我该如何正确安装它?应该把它放在哪里?需要移到 /usr/local/bin 目录吗?
为了解答这些问题,本文将以实际软件为例,一步步讲解在 Ubuntu 及其衍生版本上安装和运行不同类型二进制文件的方法。
什么是 Linux 中的二进制文件?
简单来说,一个二进制文件就是一个已经编译好的程序。用户无需从源代码开始手动编译(这对新手可能很复杂),可以直接运行。许多软件的官方网站会提供预编译的二进制文件,这样我们就不必完全依赖 Ubuntu 的 APT 包管理器和仓库来获取它们。
常见二进制文件示例
- Google Chrome (
google-chrome-stable) – 用于在基于 Debian 的 Linux 系统上安装 Chrome 的 .deb 二进制文件。
- Terraform (
terraform) – 用于云基础设施自动化的独立二进制文件。
- Minecraft 服务器 (
server.jar) – 基于 Java 的游戏服务器。
第 1 步:下载二进制文件
具体安装方法取决于二进制文件的类型。首先,你需要下载所需的文件,可以通过浏览器直接下载,或者使用 wget、curl 等命令行工具获取。下面我们用三个典型示例来演示。
示例 1:下载 Google Chrome 的 .deb 二进制文件
使用 wget 命令可以直接下载 Google Chrome 的 Debian 安装包,之后我们可以用 DPKG 或 APT 进行安装。
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
像 Terraform 这样的软件,开发者会提供独立的、预编译的二进制文件。我们下载其 ZIP 压缩包。
wget https://releases.hashicorp.com/terraform/1.10.5/terraform_1.10.5_linux_amd64.zip
下载完成后,解压 ZIP 文件:
unzip terraform_1.10.5_linux_amd64.zip
解压后,当前目录下就会出现一个名为 terraform 的二进制文件。
示例 3:下载 Minecraft 服务器二进制文件(.jar 文件)
对于 Minecraft 服务器这种 Jar 格式的文件,同样可以用 wget 下载。它与前两者不同,不需要“安装”,但需要 Java 环境才能运行。
wget https://piston-data.mojang.com/v1/objects/4707d00eb834b446575d89a61a11b5d548d8c001/server.jar
第 2 步:使二进制文件可执行
在安装或运行之前,通常需要赋予二进制文件执行权限。注意,这一步对于 .deb 包(如 Google Chrome)是不必要的,因为它通过包管理器安装,权限会自动设置。
对于刚才下载的 Terraform 和 Minecraft 服务器文件,执行以下命令:
chmod +x terraform
chmod +x server.jar
第 3 步:安装或运行二进制文件
不同类型的二进制文件,处理方式截然不同。
方法 1:安装 Google Chrome(.deb 文件)
.deb 是 Debian 系的安装包,应使用 dpkg 命令安装:
sudo dpkg -i google-chrome-stable_current_amd64.deb
如果安装过程中提示依赖错误,运行以下命令修复:
sudo apt-get install -f
安装完成后,直接在终端输入命令即可启动 Chrome:
google-chrome
关键点:你无需手动将其移动到 /usr/local/bin,dpkg 会负责将文件放置到系统正确的目录中。
Terraform 是一个单一可执行文件。虽然可以直接在其所在目录运行 ./terraform,但为了能在终端任意位置调用它,我们需要将其移动到系统 PATH 环境变量包含的目录中,例如 /usr/local/bin。
sudo mv terraform /usr/local/bin/
之后,你就可以在任意位置运行 Terraform 了:
terraform --version
关键点:对于独立的可执行二进制文件,必须移动到 PATH 目录中,因为没有包管理器来替你处理。
方法 3:运行 Minecraft 服务器(.jar 文件)
.jar 文件是 Java 二进制文件,必须使用 java 命令来执行:
java -jar server.jar
为了管理方便,通常我们会为 Minecraft 服务器创建一个专用目录:
mkdir -p ~/minecraft-server
mv server.jar ~/minecraft-server/
cd ~/minecraft-server
java -jar server.jar
关键点:.jar 文件无需移动到 /usr/local/bin,因为它不是标准的系统可执行文件,需要通过 java -jar 命令调用。
第 4 步:验证安装
通过运行以下命令,检查二进制文件是否已成功安装并可正常工作:
terraform --version
google-chrome --version
java -version
如果提示“命令未找到”,请确认二进制文件是否位于 $PATH 包含的目录中:
echo $PATH
如果需要手动将新目录(例如你自定义的目录)添加到 $PATH 中,可以使用以下命令(注意:此更改仅对当前终端会话有效):
export PATH=$PATH:/your/custom/directory
为什么有些二进制文件需要移动,而有些则不需要?
| 软件 |
类型 |
无需移动即可运行的原因 |
| Google Chrome |
.deb 包 |
使用包管理器安装,文件被自动部署到系统标准路径,无需手动移动。 |
| Terraform |
独立二进制文件 |
需要手动放置到 PATH 路径(如 /usr/local/bin)下,才能全局调用。 |
| Minecraft 服务器 |
.jar 文件 |
不是原生可执行文件;需要通过 java -jar 命令在文件所在目录运行。 |
通用规则总结:
- 如果是
.deb 包 → 使用 dpkg 或 apt 安装(无需手动移动)。
- 如果是独立二进制文件 → 将其移动到
/usr/local/bin 以在系统范围内使用。
- 如果是
.jar (Java 文件) → 使用 java -jar file.jar 从其所在目录运行。
常见问题及解决方法
- 遇到“权限被拒绝”错误?
运行以下命令赋予执行权限:
chmod +x filename
- 移动文件后仍出现“命令未找到”错误?
确保它确实位于 /usr/local/bin/ 中,或者你已经正确将其所在的目录添加到了 $PATH 环境变量中。
现在,你已经掌握了在 Ubuntu 24.04 上像熟练用户一样安装和运行二进制文件的技巧!本文重点介绍了三种核心类型,但实际上 Linux 世界中的二进制格式远不止这些。了解它们的区别能让你在面对各种软件包时更加得心应手。
Linux 上可用的二进制文件类型一览
除了上述类型,Linux 还支持多种其他二进制格式,各有其适用场景。
1️⃣ 可执行二进制文件(.bin, .run, 无扩展名)
这是独立可执行文件,包含编译后的程序代码,可直接运行。
2️⃣ Debian 软件包(.deb)
用于 Debian、Ubuntu 及其衍生版的包管理格式,包含二进制文件和元数据。
3️⃣ Red Hat 软件包(.rpm)
用于 Fedora, CentOS, RHEL 等基于 Red Hat 的发行版。
4️⃣ AppImage(.AppImage)
一种便携式应用程序格式,将所有依赖打包在一个文件里,无需安装。
5️⃣ Flatpak(.flatpakref, .flatpak)
通用打包格式,旨在适用于所有 Linux 发行版,在沙盒中运行以提高安全性。
6️⃣ Snap 软件包(.snap)
由 Canonical 开发的另一种通用打包系统,支持自动更新和沙盒。
7️⃣ Tarballs(.tar.gz, .tar.xz)
压缩存档文件,常用于手动安装便携式软件。
8️⃣ Java 存档文件(.jar)
编译后的 Java 程序,需要 Java 运行时环境 (JRE) 才能运行。
总结
Linux 生态丰富多彩,支持的二进制格式多样:
- 独立可执行文件 (.bin, .run) → 直接执行。
- 系统包 (.deb, .rpm) → 通过包管理器安装,集成度好。
- 通用便携格式 (.AppImage, Flatpak, Snap) → 免安装或沙盒化,跨发行版。
- 压缩存档 (.tar.gz, .tar.xz) → 手动解压,灵活便携。
- Java 程序 (.jar) → 需要 Java 运行时。
理解这些格式的特点和用法,能帮助你在 Ubuntu 24.04 或任何其他 Linux 发行版上更高效地获取和运行所需软件。如果你在实践过程中遇到其他问题,欢迎到专业的运维和技术社区如云栈社区与大家交流探讨。