debian及衍生发行版apt包管理常见操作

好的,这是 Debian 及其衍生版(如 Ubuntu)使用的 apt 包管理器的常用命令速查表。

一点说明apt 是新一代的命令行工具,整合了 apt-getapt-cache 的常用功能,并提供了更友好的交互体验。本表主要使用现代的 apt 命令,这是目前官方推荐的交互式用法。

注意 :同样,绝大多数修改系统的命令都需要管理员权限,请在命令前添加 sudo

软件管理 (安装与移除)

功能 (Function) 命令 (Command)
安装软件包 apt install <包名>
重新安装软件包 apt install --reinstall <包名>
移除软件包 (保留配置文件) apt remove <包名>
彻底移除软件包 (包括配置文件) apt purge <包名>
安装本地 .deb apt install ./本地包名.deb

系统更新 (System Updates)

功能 (Function) 命令 (Command)
刷新可用软件包列表 (更新前必做) apt update
升级所有已安装的软件包 apt upgrade
智能升级系统 (可处理依赖变更) apt full-upgrade
列出所有可升级的包 apt list --upgradable

搜索与信息查询 (Search & Information)

功能 (Function) 命令 (Command)
搜索软件包 apt search <关键词>
显示软件包详细信息 apt show <包名>
列出所有已安装的包 apt list --installed
列出所有可用的包 apt list
显示包的依赖关系 apt depends <包名>
显示包的版本信息 apt policy <包名>

实用工具与清理 (Utilities & Cleanup)

功能 (Function) 命令 (Command)
自动移除不再需要的依赖包 apt autoremove
清理下载的软件包缓存 (.deb 文件) apt clean
仅清理过期的软件包缓存 apt autoclean
尝试修复损坏的依赖关系 apt install -f
查看命令历史 history (apt 没有内置 history, 使用 shell 历史)
编辑软件源列表 apt edit-sources
标记软件包为手动安装 apt-mark manual <包名>
阻止软件包被更新 (加锁) apt-mark hold <包名>
取消阻止软件包更新 (解锁) apt-mark unhold <包名>

软件源管理 (Repository Management)

apt 的软件源管理通常通过编辑配置文件来完成,而不是像 zypper 那样有直接的命令。

  • 主要配置文件 : /etc/apt/sources.list
  • 附加配置目录 : /etc/apt/sources.list.d/ (推荐在此目录为每个第三方源创建独立的 .list 文件)
  • 添加 PPA (常用) : 需要先安装 software-properties-common 包,然后使用 add-apt-repository 命令。

特别工具:查找文件归属

apt 核心命令无法直接查找某个文件属于哪个包。需要安装一个专门的工具:

  1. 安装工具 : sudo apt install apt-file
  2. 更新索引 : sudo apt-file update
  3. 查询文件 : apt-file search <文件名或路径>

这个列表涵盖了 apt 日常使用的绝大部分场景。如需最完整的说明,请查阅 man apt

相关推荐
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.1 小时前
Haproxy ACL实战:精准分流与访问控制
运维
RockHopper20251 小时前
解读数字化生产运行系统的裁决机制
运维·系统架构·智能制造·isa-95·isa-88
guizhoumen1 小时前
2026年建站系统推荐及选项指南
大数据·运维·人工智能
yingdonglan1 小时前
鸿蒙跨端Flutter学习——GridView高级功能
linux·运维·windows
遇见火星2 小时前
在Linux中使用journalctl命令进行日志分析和管理详细教程
linux·运维·服务器·journalctl
xuefuhe2 小时前
RHEL9 yum install etcd Error: Unable to find a match: etcd
linux·运维·centos
我送炭你添花2 小时前
树莓派部署 GenieACS 作为终端TR-069 ACS(自动配置服务器)的详细规划方案
运维·服务器·网络协议
华农第一蒟蒻2 小时前
一次服务器CPU飙升的排查与解决
java·运维·服务器·spring boot·arthas
NGINX开源社区2 小时前
借助 Okta 和 NGINX Ingress Controller 实现 K8s OpenID Connect 身份验证
运维·nginx·kubernetes
郝亚军3 小时前
如何在windows11和Ubuntu linux之间互传文件
linux·运维·ubuntu