Linux apt 命令
《Linux apt 命令详解》
📦 学习目标
- 掌握 Ubuntu 系统中最核心的软件包管理工具
apt的基本命令与使用方法。 - 理解
apt、apt-get、apt-cache的区别与联系。 - 能在阿里云 ECS 上熟练使用
apt安装、升级、卸载常用软件(如 Nginx、MySQL、Python)。 - 学会处理常见的软件依赖问题、清理缓存、修复损坏包等高级操作。
🧠 核心重点(表格提炼)
| 操作 | 命令 | 功能说明 |
|---|---|---|
| 更新软件源列表 | sudo apt update |
获取最新可用软件信息 |
| 升级已安装软件 | sudo apt upgrade |
升级所有可更新的软件包 |
| 安装新软件 | sudo apt install 包名 |
如 nginx, python3, curl 等 |
| 卸载软件 | sudo apt remove 包名 |
保留配置文件 |
| 彻底删除软件 | sudo apt purge 包名 |
删除软件及配置文件 |
| 查看软件信息 | apt-cache show 包名 |
显示版本、依赖关系等 |
| 搜索软件 | apt-cache search 关键词 |
查找相关软件包 |
| 清理无用依赖 | sudo apt autoremove |
删除不再需要的依赖包 |
| 清理下载缓存 | sudo apt clean / autoclean |
释放磁盘空间 |
| 修复损坏包 | sudo apt --fix-broken install |
自动修复依赖问题 |
🔍 详细讲解
1. apt 是什么?🧐
apt(Advanced Package Tool)是 Debian 及其衍生系统(如 Ubuntu)中用于管理.deb软件包的命令行工具,功能强大且易于使用。
📌 为什么重要?
- 几乎所有 Ubuntu 服务器都使用
apt来安装、更新、卸载软件。 - 阿里云 ECS 上默认使用的是 Ubuntu 或 Debian 系统,掌握
apt是运维的基础技能之一。
2. 基本操作流程 📦
✅ 第一步:更新软件源
sudo apt update
📌 作用:
- 从
/etc/apt/sources.list和/etc/apt/sources.list.d/中列出的镜像源获取最新的软件包列表。 - 如果不执行此步,后续安装或升级可能会失败。
✅ 第二步:安装软件
sudo apt install nginx
📌 提示:
- 若提示“找不到命令”,请先运行
apt update。 - 安装时若出现依赖问题,可以加
-f参数自动修复:
sudo apt -f install
✅ 第三步:升级软件
sudo apt upgrade
📌 注意:
- 此命令只会升级已有软件,不会安装新依赖。
- 若想同时安装新依赖,请使用:
sudo apt full-upgrade
✅ 第四步:卸载软件
sudo apt remove nginx
📌 说明:
- 不会删除配置文件(如
/etc/nginx/下的内容),适合临时卸载后重装。
✅ 第五步:彻底删除软件(包括配置)
sudo apt purge nginx
📌 适用场景:
- 彻底清除旧版本软件,避免冲突。
- 更换软件版本前建议使用。
3. 查询与搜索软件 🕵️♂️
✅ 查看某个软件包的详细信息:
apt-cache show nginx
📌 输出内容包括:
- 版本号
- 依赖关系
- 描述信息
- 官方维护者
✅ 搜索关键词相关的软件包:
apt-cache search python3
📌 示例输出:
python3 - interactive high-level object-oriented language (default python3 version)
python3-pip - Python package installer
python3-dev - Header files and a static library for Python (v3.8)
4. 清理和修复操作 🧹
✅ 清理无用的依赖项:
sudo apt autoremove
📌 用途:
- 删除那些因为卸载主程序而不再需要的依赖包。
- 节省磁盘空间。
✅ 清理本地缓存:
sudo apt clean
📌 区别:
clean:删除所有下载过的.deb包。autoclean:只删除过期版本的.deb包。
✅ 修复损坏的软件包:
sudo apt --fix-broken install
📌 适用场景:
- 系统突然断电、网络中断导致安装失败。
- 执行其他命令时报错“broken packages”。
5. 实战案例:ECS 上的 apt 使用实战 🛠️
场景一:部署一个 Web 服务器(Nginx + PHP)🌐
你在阿里云上有一台 Ubuntu ECS,准备搭建一个简单的网站服务。
✅ 步骤如下:
- 更新软件源:
sudo apt update
- 安装 Nginx:
sudo apt install nginx
- 安装 PHP 和扩展模块:
sudo apt install php php-fpm php-mysql
- 启动并设置开机自启:
sudo systemctl start nginx
sudo systemctl enable nginx
- 测试访问你的公网 IP,查看是否显示欢迎页面。
场景二:清理系统垃圾,释放磁盘空间 💾
你发现服务器磁盘快满了,想要清理掉不必要的软件和缓存。
✅ 步骤如下:
- 升级所有可升级软件:
sudo apt update && sudo apt upgrade
- 清理无用依赖:
sudo apt autoremove
- 清理缓存:
sudo apt autoclean
- 如果你还想删除一些不用的软件(比如 LibreOffice):
sudo apt remove libreoffice*
场景三:解决依赖问题,修复安装错误 🚨
你不小心删除了某些系统库,现在无法安装任何新软件。
✅ 解决方案如下:
- 尝试修复依赖:
sudo apt --fix-broken install
- 如果失败,尝试重新安装关键基础库:
sudo apt install --reinstall ubuntu-minimal
- 再次尝试安装你想装的软件。
🧰 小贴士(进阶技巧)🔖
| 技巧 | 说明 |
|---|---|
apt list --upgradable |
列出所有可升级的软件 |
apt-mark hold 包名 |
锁定某软件版本,防止被升级 |
apt-mark unhold 包名 |
解除锁定 |
| `dpkg -l | grep keyword` |
dpkg -L 包名 |
查看该包安装了哪些文件 |
apt-get source 包名 |
下载源代码进行编译(需启用源码仓库) |
sudo apt edit-sources |
直接编辑软件源列表 |
📌 注意事项与安全建议
| 项目 | 建议 |
|---|---|
不要随意执行 apt purge |
可能误删系统依赖 |
| 安装软件前先确认来源 | 避免安装非官方源中的恶意软件 |
使用 --dry-run 测试操作 |
如 apt install nginx --dry-run |
| 定期清理缓存和无用依赖 | 避免磁盘爆满 |
| 不要在生产环境频繁升级 | 建议测试后再上线 |
| 设置自动更新(可选) | 使用 unattended-upgrades 自动打补丁 |
🧩 附录:常见软件安装命令清单 📦
| 软件 | 安装命令 |
|---|---|
| Nginx | sudo apt install nginx |
| MySQL | sudo apt install mysql-server |
| PostgreSQL | sudo apt install postgresql |
| Redis | sudo apt install redis-server |
| Git | sudo apt install git |
| Python3 | sudo apt install python3 |
| pip3 | sudo apt install python3-pip |
| Curl | sudo apt install curl |
| Vim | sudo apt install vim |
| Net-tools(ifconfig) | sudo apt install net-tools |
| UFW(防火墙) | sudo apt install ufw |
🎯 总结一句话:
“掌握
apt,就像拥有了一把钥匙🔑 —— 它能帮你轻松打开 Linux 软件世界的大门,无论你想安装、升级、卸载还是修复,它都能为你保驾护航!”
是否继续下一章?我将继续输出:
- 《Shell 命令进阶与自动化脚本》🖥️
- 《Linux 权限管理与 ACL 详解》🔐
- 《Linux 日志分析与排错技巧》🔍
请告诉我你想深入的方向吧!🚀

浙公网安备 33010602011771号