Linux安装软件首选发行版自带的包管理器,安全便捷且自动处理依赖,其他方法如源码编译或第三方包可作为备选,具体取决于软件特性、系统版本及用户需求。
使用包管理器 (推荐首选 – 安全、便捷、自动处理依赖)
这是最常用、最推荐的方法,Linux 发行版都有自己的软件仓库(包含大量预编译、测试过的软件包)和对应的包管理工具来操作这些仓库。
-
基于 Debian/Ubuntu 的系统 (如 Ubuntu, Linux Mint, Debian)
- 工具:
apt
(Advanced Package Tool) - 更新软件包列表 (必需): 在安装任何新软件前,先获取仓库的最新信息。
sudo apt update
- 搜索软件包: 如果不确定确切包名,先搜索。
apt search 关键词 # apt search firefox
- 安装软件:
sudo apt install 软件包名 # sudo apt install vlc
- 卸载软件:
sudo apt remove 软件包名 # 移除软件但保留配置文件 sudo apt purge 软件包名 # 移除软件并删除配置文件
- 升级所有已安装软件:
sudo apt update # 先更新列表 sudo apt upgrade # 升级所有可升级的包 sudo apt full-upgrade # 更彻底地升级(可能处理依赖变更)
- 查看软件信息:
apt show 软件包名
- 工具:
-
基于 Red Hat/RHEL/CentOS/Fedora 的系统
- 工具 (较新系统如 Fedora 22+, CentOS 8+, RHEL 8+):
dnf
(Dandified Yum) - 工具 (较旧系统如 CentOS 7, RHEL 7):
yum
(Yellowdog Updater, Modified) - 操作 (以
dnf
为例,yum
命令类似):- 搜索软件包:
dnf search 关键词
- 安装软件:
sudo dnf install 软件包名
- 卸载软件:
sudo dnf remove 软件包名
- 升级所有软件:
sudo dnf update
- 查看软件信息:
dnf info 软件包名
- 搜索软件包:
- 工具 (较新系统如 Fedora 22+, CentOS 8+, RHEL 8+):
-
基于 Arch Linux/Manjaro 的系统
- 工具:
pacman
(Package Manager) - 更新软件包列表并升级系统 (推荐一起做):
sudo pacman -Syu
- 搜索软件包:
pacman -Ss 关键词
- 安装软件:
sudo pacman -S 软件包名
- 卸载软件:
sudo pacman -R 软件包名 # 移除软件 sudo pacman -Rsc 软件包名 # 移除软件及其不再需要的依赖
- 查看软件信息:
pacman -Si 软件包名 # 仓库中信息 pacman -Qi 软件包名 # 已安装信息
- 工具:
-
基于 openSUSE 的系统
- 工具:
zypper
- 刷新仓库:
sudo zypper refresh
- 搜索软件包:
zypper search 关键词
- 安装软件:
sudo zypper install 软件包名
- 卸载软件:
sudo zypper remove 软件包名
- 升级系统:
sudo zypper update
- 工具:
包管理器优点: 自动解决依赖、一键安装/更新/卸载、来自官方或受信任仓库的软件安全可靠、易于管理。
包管理器缺点: 仓库中的软件版本可能不是最新(尤其稳定版发行版)。
使用通用包格式 (Snap, Flatpak, AppImage)
这些是旨在解决跨发行版兼容性和提供更新软件版本的项目。
-
Snap (由 Canonical/Ubuntu 推动)
- 需要先安装
snapd
服务(现代 Ubuntu 通常已预装):sudo apt update sudo apt install snapd # Debian/Ubuntu # 其他发行版请参考 https://snapcraft.io/docs/installing-snapd
- 搜索软件: 访问 Snap Store 或命令行:
snap find 关键词
- 安装软件:
sudo snap install 软件包名 # 通常需要sudo snap install 软件包名 --classic # 对于需要更多系统访问权限的经典模式包
- 运行软件: 通常会自动创建菜单项,也可命令行启动
软件包名
。 - 更新软件: Snap 自动在后台更新。
- 卸载软件:
sudo snap remove 软件包名
- 需要先安装
-
Flatpak (更社区化,许多发行版支持)
- 需要先安装
flatpak
:# Debian/Ubuntu sudo apt install flatpak # Fedora sudo dnf install flatpak # Arch/Manjaro sudo pacman -S flatpak
- 添加 Flathub 仓库(最大的 Flatpak 仓库):
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
- 搜索/安装软件: 访问 Flathub 或命令行:
flatpak search 关键词 flatpak install flathub 应用ID # flatpak install flathub org.videolan.VLC
- 运行软件: 通常会自动创建菜单项,也可命令行启动
flatpak run 应用ID
。 - 更新软件:
flatpak update
- 卸载软件:
flatpak uninstall 应用ID
- 需要先安装
-
AppImage (无需安装,即下即用)
- 下载扩展名为
.AppImage
的文件。 - 赋予可执行权限:
chmod u+x 文件名.AppImage
- 双击或在终端运行
./文件名.AppImage
即可启动。 - 优点: 完全便携,不污染系统。
- 缺点: 更新需手动下载新文件,集成性较差(如菜单项、文件关联需手动配置),文件通常较大。
- 下载扩展名为
通用包格式优点: 跨发行版、通常提供较新的软件版本、沙盒化(Snap/Flatpak)增强安全性/隔离性(AppImage 无沙盒)。
通用包格式缺点: 可能占用更多磁盘空间、启动可能稍慢、沙盒可能导致某些硬件/文件访问需要额外配置。
从源代码编译安装 (高级用户)
当软件不在仓库中,也没有打包好的二进制文件时,或者你需要最新的开发版本或自定义编译选项时使用。
- 获取源代码: 通常从项目官网下载
.tar.gz
或.tar.xz
压缩包,或使用git clone
克隆代码仓库。 - 安装编译依赖: 这是关键且容易出错的步骤。 你需要安装编译器(
gcc
/g++
)、make
工具以及该软件特定的开发库(通常包名包含-dev
或-devel
),仔细阅读软件附带的INSTALL
或README.md
文件,包管理器用于安装这些依赖:# Debian/Ubuntu sudo apt build-dep 软件名 # 如果仓库有同名包,这能安装大部分依赖 sudo apt install build-essential autoconf automake libtool ... # 安装具体依赖 # Fedora/CentOS/RHEL sudo dnf groupinstall "Development Tools" sudo dnf install 依赖包-devel ... # Arch/Manjaro sudo pacman -S base-devel sudo pacman -S 依赖包 ...
- 解压源代码:
tar -xvf 源码包.tar.gz # 或 tar -xvf 源码包.tar.xz cd 源码目录
- 配置 (Configure): 运行
configure
脚本检查环境并生成Makefile
,可以指定安装路径 (--prefix=/usr/local
是默认或常见选择) 和启用/禁用功能。./configure # 或带选项 ./configure --prefix=/your/path --enable-feature --disable-feature
- 编译 (Compile): 使用
make
命令根据Makefile
编译源代码,这可能需要一些时间。make
- 安装 (Install): 将编译好的文件复制到系统目录(需要 root 权限)。
sudo make install
- (可选) 清理: 编译完成后,可以删除编译过程中产生的中间文件。
make clean
源码编译优点: 最灵活,可获取最新代码,可深度定制。
源码编译缺点: 最复杂耗时,依赖管理繁琐易出错,卸载不便(通常需保留源码目录用 sudo make uninstall
,但并非所有软件都支持),可能影响系统稳定性。
使用预编译的二进制文件 (.bin, .tar.gz, .sh 等)
有些软件提供直接下载的 Linux 二进制文件。
- 从软件官网下载对应架构(通常是 x86_64/amd64)的二进制包。
- 解压或直接运行:
- 如果是
.tar.gz
/.tar.xz
,解压到合适位置(如~/opt/
或/opt/
):tar -xvf 文件名.tar.gz -C /目标目录
- 如果是
.bin
或.sh
文件,赋予可执行权限后运行:chmod u+x 文件名.bin ./文件名.bin # 通常是一个安装向导
- 如果是
- 通常需要手动创建菜单快捷方式或添加到
PATH
环境变量。
优点: 相对简单,有时能获得官方优化版本。
缺点: 依赖需自行解决,更新需手动操作,安全性需自行判断来源,管理不如包管理器方便。
使用图形化软件中心
几乎所有主流 Linux 发行版都提供图形化的软件中心(如 Ubuntu Software, GNOME Software, Discover (KDE), Pamac (Manjaro) 等),其本质是包管理器(APT, DNF, Pacman 等)的图形前端。
- 打开软件中心应用。
- 搜索软件名称或浏览分类。
- 点击“安装”按钮,输入密码确认。
- 安装完成后,可在应用菜单中找到。
优点: 对新手最友好,直观易用,通常也支持 Snap/Flatpak。
缺点: 功能可能不如命令行强大(如搜索过滤、查看详细依赖),速度可能稍慢。
重要安全提示
- 优先信任官方源: 包管理器配置的官方仓库是最安全的来源。
- 谨慎使用第三方源 (PPA/COPR/AUR): 虽然能提供更多软件或更新版本(尤其是 AUR),但添加第三方源意味着信任其维护者,仅从信誉良好的来源添加。
- 验证下载: 对于从网站下载的二进制文件或源码包,务必检查其提供的校验和(如 SHA256)或 GPG 签名是否匹配,以防篡改。
- 最小权限原则: 避免使用
root
用户进行日常操作或运行不明脚本,安装系统级软件时才需要sudo
。
总结建议
- 首选: 使用发行版的包管理器 (
apt
,dnf
,pacman
,zypper
) 或图形化软件中心,这是最安全、最便捷、最易于维护的方式。 - 次选 (需要更新版本/跨发行版): 考虑 Snap 或 Flatpak。
- 便携/免安装: 使用 AppImage。
- 官网下载 (无更好选择时): 使用预编译二进制包,注意安全和依赖。
- 高级定制/最新开发版: 从源码编译,做好处理依赖和后续维护的准备。
选择哪种方法取决于您的具体需求、技术熟练度以及对软件版本、安全性和维护便利性的权衡,对于大多数日常用户,包管理器和图形化软件中心是最佳起点。
引用说明:
- 基于 Linux 社区广泛使用的标准软件管理实践和工具文档。
- 主要参考了 Debian (
apt
), Red Hat (dnf
/yum
), Arch Linux (pacman
), openSUSE (zypper
), Snapcraft, Flatpak 和 AppImage 的官方文档和 Wiki 页面。 - 安全建议遵循 Linux 系统管理的基本安全原则。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8672.html