在Linux系统中,安装软件与Windows或macOS差异较大,因其发行版众多(如Ubuntu、CentOS、Arch Linux等),且依赖管理机制不同,需根据场景选择合适方法,以下是常见安装方式的详细说明,涵盖基础操作、工具使用及注意事项。
使用系统包管理器安装(推荐日常使用)
系统包管理器是Linux发行版自带的核心工具,负责从官方软件源(Repository)下载、安装、更新及卸载软件,自动解决依赖关系,是最安全、便捷的方式,不同发行版的包管理器不同,需区分使用。
Debian/Ubuntu 及其衍生版(如Linux Mint)
使用 apt
(Advanced Packaging Tool)工具,操作前需更新软件源列表以确保获取最新版本。
- 更新软件源:
sudo apt update
(从服务器获取软件包信息) - 安装软件:
sudo apt install 软件名
(如sudo apt install vim
) - 卸载软件:
sudo apt remove 软件名
(保留配置文件)或sudo apt purge 软件名
(完全删除配置文件) - 搜索软件:
apt search 关键词
(如apt search text editor
)
CentOS/RHEL/Fedora 及其衍生版
- CentOS/RHEL 使用
yum
(Yellowdog Updater Modified):- 安装:
sudo yum install 软件名
(如sudo yum install httpd
) - 卸载:
sudo yum remove 软件名
- 安装:
- Fedora 22+ 及 RHEL 8+ 使用
dnf
(Dandified Yum),语法与yum
一致:sudo dnf install 软件名
Arch Linux 及其衍生版(如Manjaro)
使用 pacman
,设计简洁高效,支持依赖自动处理和系统级同步:
- 安装:
sudo pacman -S 软件名
(如sudo pacman -S neofetch
) - 卸载:
sudo pacman -R 软件名
(不依赖)或sudo pacman -Rs 软件名
(同时删除未被其他软件依赖的包) - 更新系统:
sudo pacman -Syu
不同发行版包管理器命令对比
发行版系列 | 包管理器 | 更新软件源 | 安装软件 | 卸载软件 |
---|---|---|---|---|
Debian/Ubuntu | apt | sudo apt update | sudo apt install | sudo apt remove |
CentOS/RHEL | yum | sudo yum check-update | sudo yum install | sudo yum remove |
Fedora | dnf | sudo dnf check-update | sudo dnf install | sudo dnf remove |
Arch Linux | pacman | sudo pacman -Sy | sudo pacman -S | sudo pacman -R |
源码编译安装(适合开发者或定制化需求)
当官方软件源未收录最新版本,或需自定义编译参数(如开启/关闭功能)时,可通过下载源码手动编译安装,步骤较复杂,需依赖编译工具(如 gcc
、make
)。
操作步骤:
- 下载源码:从官网或GitHub获取源码包(通常为
.tar.gz
或.tar.bz2
格式),使用wget
或curl
下载:wget https://example.com/software.tar.gz
- 解压源码:
tar -xzf software.tar.gz # 解压.gz文件 cd software/ # 进入源码目录
- 配置编译选项:运行
./configure
检查环境并生成Makefile,可添加参数定制功能(如./configure --prefix=/usr/local
指定安装目录):./configure --prefix=/usr/local --enable-debug
- 编译:
make
(根据Makefile编译源码,耗时较长,多核CPU可加-j
参数加速,如make -j4
) - 安装:
sudo make install
(将编译好的文件复制到系统目录)
注意事项:
- 需安装编译依赖:
sudo apt install build-essential
(Ubuntu)或sudo yum groupinstall "Development Tools"
(CentOS)。 - 卸载需手动删除安装的文件(或保留
Makefile
后用sudo make uninstall
,若源码支持)。
第三方包管理工具(跨发行版、解决依赖冲突)
Snap:Canonical(Ubuntu母公司)开发,跨发行版支持,自带依赖隔离
- 安装Snap:Ubuntu默认已安装,其他发行版需先安装(如Fedora:
sudo dnf install snapd
)。 - 安装软件:
sudo snap install 软件名
(如sudo snap install spotify
) - 回滚版本:
sudo snap revert 软件名
(若新版出现故障) - 优点:依赖独立,避免系统污染;支持“快照”回滚。
- 缺点:占用空间较大(每个Snap包含独立运行时)。
Flatpak:社区项目,强调沙箱安全,支持主流发行版
- 安装Flatpak:
sudo apt install flatpak # Ubuntu/Debian sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo # 添加Flathub源(最大软件库)
- 安装软件:
flatpak install flathub 软件名
(如flatpak install flathub gimp
) - 运行软件:
flatpak run 软件名
(首次运行需创建用户目录) - 优点:沙箱隔离,安全性高;支持跨发行版。
- 缺点:需单独配置权限(如文件访问、网络)。
Snap与Flatpak对比
特性 | Snap | Flatpak |
---|---|---|
开发者 | Canonical | 社区项目(Freedesktop基金会) |
依赖管理 | 自带运行时,独立依赖 | 共享系统基础库,依赖较少 |
隔离性 | 完全沙箱,限制文件/网络访问 | 可配置权限,默认沙箱 |
更新机制 | 自动后台更新,可回滚 | 需手动更新,支持回滚 |
软件库 | Snapcraft(官方) | Flathub(最大第三方库) |
AppImage:便携式应用,解压即用
AppImage是一种无需安装的便携软件格式,下载后赋予执行权限即可运行,不修改系统文件,适合临时使用或不想污染系统的场景。
操作步骤:
- 下载AppImage:从官网或发布页获取(如
Krita.AppImage
)。 - 赋予执行权限:
chmod +x Krita.AppImage
- 运行软件:
./Krita.AppImage
- 卸载:直接删除文件即可(
rm Krita.AppImage
)。
优点:
- 跨发行版兼容(无需考虑系统版本);
- 不依赖系统包管理器,避免版本冲突;
- 可挂载到系统(如
./Krita.AppImage --appimage-mount
)提取文件。
如何选择安装方式?
- 日常使用:优先用系统包管理器(
apt
/yum
/pacman
),稳定且自动解决依赖。 - 定制化/开发:源码编译,需控制编译参数或使用未收录版本。
- 跨发行版/安全需求:Snap或Flatpak,尤其适合需要沙箱隔离的场景。
- 临时使用/便携需求:AppImage,即用即删,无残留。
相关问答FAQs
Q1:为什么用 apt install
安装的软件没有桌面图标?
A:可能原因有两个:① 软件未提供桌面文件(.desktop
),需手动创建(路径为 /usr/share/applications/
或 ~/.local/share/applications/
);② 安装时未包含“推荐依赖”(如某些GUI软件需 sudo apt install --no-install-recommends 软件名
避免安装不必要的桌面组件),可尝试重新安装并添加推荐依赖:sudo apt install --install-recommends 软件名
。
Q2:Snap和Flatpak安装的软件与系统包管理器安装的有什么区别?
A:核心区别在于依赖管理和隔离性,系统包管理器(如apt
)直接使用系统共享库,依赖轻量,但可能因系统库版本不兼容导致冲突;Snap/Flatpak自带独立运行时或沙箱,依赖隔离,避免冲突,但占用空间较大,且需单独配置权限(如文件访问),日常使用推荐系统包管理器,需高安全性或跨发行版时选Snap/Flatpak。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/24219.html