找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1750

积分

0

好友

236

主题
发表于 17 小时前 | 查看: 1| 回复: 0

在 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 步:下载二进制文件

具体安装方法取决于二进制文件的类型。首先,你需要下载所需的文件,可以通过浏览器直接下载,或者使用 wgetcurl 等命令行工具获取。下面我们用三个典型示例来演示。

示例 1:下载 Google Chrome 的 .deb 二进制文件

使用 wget 命令可以直接下载 Google Chrome 的 Debian 安装包,之后我们可以用 DPKG 或 APT 进行安装。

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

示例 2:下载 Terraform 独立二进制文件

像 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/bindpkg 会负责将文件放置到系统正确的目录中。

方法 2:运行 Terraform 独立二进制文件

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 包 → 使用 dpkgapt 安装(无需手动移动)。
  • 如果是独立二进制文件 → 将其移动到 /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, 无扩展名)

这是独立可执行文件,包含编译后的程序代码,可直接运行。

  • 常见扩展名.bin(通用), .run(常为自解压安装程序), 无扩展名。
  • 如何使用
    chmod +x filename.bin
    ./filename.bin
  • 示例软件:NVIDIA 显卡驱动安装程序、VMware Workstation。

2️⃣ Debian 软件包(.deb)

用于 Debian、Ubuntu 及其衍生版的包管理格式,包含二进制文件和元数据。

  • 如何安装
    sudo dpkg -i package.deb
    sudo apt install -f # 修复可能的依赖问题
  • 示例软件:Google Chrome, Discord, Visual Studio Code。
  • 优点:自动系统集成、可通过 apt 管理(安装/卸载)、依赖自动解决。

3️⃣ Red Hat 软件包(.rpm)

用于 Fedora, CentOS, RHEL 等基于 Red Hat 的发行版。

  • 如何安装(以 Fedora/RHEL 8+ 为例):
    sudo dnf install package.rpm
  • 示例软件:Google Chrome (RPM版), Zoom, MySQL Server。

4️⃣ AppImage(.AppImage)

一种便携式应用程序格式,将所有依赖打包在一个文件里,无需安装。

  • 如何使用
    chmod +x software.AppImage
    ./software.AppImage
  • 示例软件:Kdenlive, Balena Etcher。
  • 优点:便携、不修改系统文件、跨发行版运行。

5️⃣ Flatpak(.flatpakref, .flatpak)

通用打包格式,旨在适用于所有 Linux 发行版,在沙盒中运行以提高安全性。

  • 如何安装(以 Ubuntu 为例):
    sudo apt install flatpak
    flatpak install flathub com.spotify.Client
    flatpak run com.spotify.Client
  • 示例软件:Spotify, Steam。
  • 优点:跨发行版、隔离环境、自动更新。

6️⃣ Snap 软件包(.snap)

由 Canonical 开发的另一种通用打包系统,支持自动更新和沙盒。

  • 如何安装(Ubuntu 通常已预装):
    sudo snap install vlc
    vlc
  • 示例软件:VLC, Postman。
  • 优点:通用、自动更新、沙盒运行。

7️⃣ Tarballs(.tar.gz, .tar.xz)

压缩存档文件,常用于手动安装便携式软件。

  • 如何安装
    tar -xvzf software.tar.gz # 解压 .tar.gz
    cd extracted-folder
    ./software
  • 示例软件:Firefox 官方 Linux 版、JetBrains IntelliJ IDEA。
  • 优点:便携、通常无需 root 权限。

8️⃣ Java 存档文件(.jar)

编译后的 Java 程序,需要 Java 运行时环境 (JRE) 才能运行。

  • 如何运行
    sudo apt install default-jre # 确保已安装 Java
    java -jar software.jar
  • 示例软件:Minecraft 服务器、Apache Maven。
  • 优点:跨平台 (Linux, Windows, macOS)。

总结

Linux 生态丰富多彩,支持的二进制格式多样:

  • 独立可执行文件 (.bin, .run) → 直接执行。
  • 系统包 (.deb, .rpm) → 通过包管理器安装,集成度好。
  • 通用便携格式 (.AppImage, Flatpak, Snap) → 免安装或沙盒化,跨发行版。
  • 压缩存档 (.tar.gz, .tar.xz) → 手动解压,灵活便携。
  • Java 程序 (.jar) → 需要 Java 运行时。

理解这些格式的特点和用法,能帮助你在 Ubuntu 24.04 或任何其他 Linux 发行版上更高效地获取和运行所需软件。如果你在实践过程中遇到其他问题,欢迎到专业的运维和技术社区如云栈社区与大家交流探讨。




上一篇:Node.js编码规范:如何用中间变量提升代码可读性与可维护性
下一篇:虚拟化技术详解:如何用虚拟机与容器解决开发环境难题
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-25 19:39 , Processed in 0.379980 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表