02 · 操作系统 · Linux
Linux 软件安装与包管理
本篇你将学到
- 不敲命令:用 App Center(应用中心)装、卸软件
- 软件包和软件源是什么
- Ubuntu 上用
apt装、更新、卸载软件 - 其他发行版的
dnf、pacman长什么样 - Snap、Flatpak 和 deb 有什么不同
- 下载慢时怎么换国内镜像
不敲命令:App Center
Ubuntu 自带一个应用商店,叫 App Center(应用中心)。装软件就像在手机应用商店里点“安装”[3]:
- 点程序坞里的 App Center 图标,或在“活动”里搜索 Software。
- 搜索,或按分类找到想要的应用。
- 点“安装”(Install),输入你的登录密码。
卸载也在这里[10]:
- 打开 App Center,点侧边栏的“管理”(Manage)。
- 在已安装列表里找到它,点“卸载”(Uninstall),输入密码确认。
如果别的应用要靠它才能运行,两个会被一起卸掉;卸之前 App Center 会先问你[10]。
同一个应用可能有 snap 和 deb 两种格式,App Center 会把 snap 排在前面[3](区别见下文)。
官网下载的 .deb 文件:也可以用 App Center 打开安装。但它可能顺带添加开发者自己的软件源,并且能访问你电脑上的全部资源,所以一定要确认开发者可信;Ubuntu 官方并不鼓励用第三方的 deb[1]。
软件包和软件源:Linux 的“应用商店仓库”
一个程序要正常运行,往往需要成百上千个文件,各自放到正确的位置。Ubuntu 把一个程序需要的东西打成一个软件包(package),里面还带着安装脚本,负责把文件放好、配置好[1]。
很多程序会共用一些零件,这些零件单独做成包。一个包需要另一个包才能运行,这就叫依赖[1]。
软件源(repository,仓库)就是存放这些软件包的服务器。包管理器会去软件源查目录、下载,自动把依赖一起装上。跟 Mac 上的 Homebrew 是一个思路(见 02-17):你说要什么,它负责“送货上门”。
Ubuntu:apt
日常最常用的几条命令[2]:
| 命令 | 作用 |
|---|---|
sudo apt update |
从所有软件源下载最新的软件目录(不装任何东西) |
sudo apt upgrade |
把已装的软件全部升级到目录里的新版本 |
apt search 关键词 |
在软件目录里搜索 |
sudo apt install 包名 |
安装 |
sudo apt remove 包名 |
卸载 |
sudo apt autoremove |
清理当初作为依赖装上、现在没人用的包 |
几点说明:
- 先
update,再upgrade或install。update只是“刷新菜单”,拿到最新目录,后面的操作都基于这份目录[2]。 - 安装、卸载、升级会改动整个系统,所以要加
sudo(见 02-21)。搜索不用。 autoremove列出要删的包时看一眼,别把你想留的软件也删了[2]。- 不想敲命令的话,用上面讲的 App Center 也行,效果一样[3]。
其他发行版
不同发行版的命令不一样,但概念相同:
| 发行版 | 安装 | 全部升级 |
|---|---|---|
| Ubuntu、Debian、Mint | sudo apt install 包名 |
sudo apt update && sudo apt upgrade |
| Fedora | sudo dnf install 包名[4] |
sudo dnf upgrade[5] |
| Arch Linux | sudo pacman -S 包名[6] |
sudo pacman -Syu[6] |
Arch 只支持整个系统一起升级,不支持只升级一部分[6]。
Snap、Flatpak 和 deb
除了传统的 deb 包,Ubuntu 上还有 snap:
| deb | snap | |
|---|---|---|
| 版本 | 大多跟着 Ubuntu 版本走,LTS 上可能偏旧[1] | 独立于 Ubuntu 版本,总是作者发布的最新版[1] |
| 更新 | 安全更新默认自动安装[1] | 默认每天自动更新[1] |
| 权限 | 总是能访问全部资源[1] | 通常在沙盒里,可以限制它能访问什么[1] |
App Center 默认优先显示 snap[1]。沙盒好比给应用一个单独的小房间,它想用摄像头、文件等,要经过你同意。
Flatpak 是另一套跨发行版的应用分发方式,同样在沙盒里运行,可以用命令或 GNOME Software 等图形工具安装[7]。
第三方软件源要小心:它们不经 Ubuntu 检查,可能包含有害软件;启用一个源,等于把系统的一部分控制权交给源的主人。能用 snap 的话,优先用 snap[8]。
换国内镜像
默认的软件源在国外,有时很慢。可以换成国内大学的镜像。以中国科学技术大学镜像站为例,它推荐新手用图形界面[9]:
- 打开“软件和更新”。
- 在“下载自”里选“其他站点”。
- 在“中国”下面选
mirrors.ustc.edu.cn,关闭窗口,按提示重新载入(相当于sudo apt update)。
手动修改的话,Ubuntu 24.04 起软件源配置在 /etc/apt/sources.list.d/ubuntu.sources,把里面的 archive.ubuntu.com 换成镜像地址即可[9]。注意:
- 改之前先备份这个文件[9]。
- 镜像同步有延迟,镜像站不建议替换安全更新源(security)[9]。
- Arm 版 Ubuntu(比如 Apple 芯片 Mac 的虚拟机里)用的是 ubuntu-ports,地址不同,按镜像站对应页面操作[9]。
动手试一试
模拟的 Ubuntu 终端,命令不会真的执行。先故意不加 sudo 试一次,再按正确顺序更新、安装、运行、升级、卸载。
可以直接打字,也可以点上面的命令按钮把命令填进去,再按回车(或点“运行”)。↑ 键翻出上一条命令。输入 help 看看支持哪些命令。
小结
- 不敲命令:App Center 搜索 → 安装;“管理”里卸载。下载的 .deb 要确认来源可信。
- 软件包 = 程序 + 安装脚本;依赖由包管理器自动处理;软件源是存包的仓库。
- Ubuntu:先
sudo apt update,再install/upgrade/remove。 - Fedora 用
dnf,Arch 用pacman -S和pacman -Syu。 - snap 新、自动更新、有沙盒;deb 跟系统版本走。第三方源要谨慎。
- 下载慢:在“软件和更新”里选国内镜像,安全更新源保持官方。
参考资料
- [1]Snap and deb packages · Ubuntu Desktop documentation
https://documentation.ubuntu.com/desktop/en/latest/explanation/snap-and-deb-packages/ - [2]apt(8) · Ubuntu Manpages (26.04 LTS resolute)
https://manpages.ubuntu.com/manpages/resolute/en/man8/apt.8.html - [3]Install an application · Ubuntu Desktop documentation
https://documentation.ubuntu.com/desktop/en/latest/how-to/software/install-an-application/ - [4]Install Command · DNF5 documentation
https://dnf5.readthedocs.io/en/latest/commands/install.8.html - [5]Upgrade Command · DNF5 documentation
https://dnf5.readthedocs.io/en/latest/commands/upgrade.8.html - [6]pacman · ArchWiki
https://wiki.archlinux.org/title/Pacman - [7]Introduction to Flatpak · Flatpak documentation
https://docs.flatpak.org/en/latest/introduction.html - [8]Add a software repository · Ubuntu Desktop documentation
https://documentation.ubuntu.com/desktop/en/latest/how-to/software/add-a-software-repository/ - [9]Ubuntu 源使用帮助 · USTC Mirror Help(中国科学技术大学 LUG)
https://mirrors.ustc.edu.cn/help/ubuntu.html - [10]Remove an application · Ubuntu Desktop documentation
https://documentation.ubuntu.com/desktop/en/latest/how-to/software/remove-an-application/