apt一般都需要管理员权限,如果你不是root的话,下面的apt命令记得加上sudo,文档里省略了
apt-cache search <package name> # 搜索一个包 apt-get install <package name>=<version> # 安装某一个特定的版本 # 安装的时候apt会自动处理依赖关系,安装依赖包 # 查看安装的版本、可用的版本 apt-cache policy <package name> # AI: # 检查指定包的版本信息以及该包可以从哪些软件源(repository)获取的 # 它提供了该包的安装状态、可用版本以及每个版本的优先级信息(Pin-Priority) # 以下是输出内容解释 # Installed: 表示当前系统上安装的版本,如果未安装该包,会显示 Installed: (none) # Candidate: 表示如果你用 apt install <package> 安装或升级,会安装哪个版本 # Version table: 列出所有可用版本及其来源和优先级
apt list --installed # 列出已经安装的包 apt list --installed | grep <package_name> # 搜索已经安装的某些特定包 apt show <package_name> # 可以查看一个包的详细信息,没有安装的包也可以查看
# 卸载指定的软件包,但保留配置文件 apt remove <package_name> # 彻底卸载软件包,包括配置文件 apt purge <package_name> # AI # 使用以上的 remove 也好, purge 也好 # 默认情况下,当你删除 A 时,不会自动删除 A 的依赖包 B,即使 B 是因为安装 A 而自动安装的 # 这是 APT 的默认行为,目的是防止误删可能仍然需要的依赖包 # 自动清理未使用的依赖包(下面「依赖关系」的部分有详细解释) apt autoremove # AI # APT 缓存中可能有下载的 .deb 包文件,可以通过以下命令清理缓存,释放空间 # 这两个命令的目标是清理 APT 缓存中的包文件,并不会影响已经安装的软件包,因此是非常安全的 apt autoclean # 清理所有未使用的缓存包 apt clean # 清理所有缓存包
apt show apache2 # 包的详细信息中包括依赖关系 apt-cache depends apache2 # 输出一个包的依赖 # 首先安装debtree apt install debtree # 生成依赖关系图 非常好用 debtree <package_name> | dot -Tpng -o output.png # 「依赖关系」和「卸载软件」 # 我安装了A,A依赖与B,于是B也被安装了;于此同时,A被标记为「手动安装」,B被标记为「自动安装」 # 此时执行 autoremove 没有包会被删除,因为「A是手动安装」,「B被A依赖」 # 现在删除A,删除的时候默认B不会被删除(如果没有指定参数的话) # 之后执行 autoremove B就会被删除,因为B是「自动安装」并且「不被任何包依赖」 # 查看包是「自动」还是「手动」安装的 apt-mark showauto | grep <package_name> # 在自动安装列表中搜索 apt-mark showmanual | grep <package_name> # 在手动安装列表中搜索 apt-mark manual <package_name> # 将一个包标记为「手动安装」(避免被自动删除) apt-mark auto <package_name> # 标记为「自动安装」