本文通过示例向您展示如何在 Ubuntu、Debain、Linux Mint 或任何其他基于 Debian 或 Ubuntu 的发行版中使用 apt 命令,以便您可以轻松管理软件包。
apt是一款功能强大的包管理工具,可用于在Linux 操作系统中搜索、安装、更新、升级和管理包,它会自动管理软件包依赖项,根据需要安装所需的软件,并在不再需要时将其删除。
Linux 中的 apt 命令是什么?
apt(高级打包工具)是一个命令行工具,用于与Debian和基于 Debian 的 Linux 发行版(如Ubuntu)中的dpkg打包系统进行轻松交互,它是分布在名为 的包中的工具集合,旨在简化管理软件的过程。apt
dpkg负责将软件打包成易于安装的软件包,它是 Debian 软件包管理器。事实上,当apt 使用它时 ,它会调用 dpkg 程序来安装或删除应用程序,同时包括附加功能作为依赖项解析。
换句话说,apt充当与dpkg包装系统交互的用户友好层。
如何在 Linux 中使用 apt 命令
请记住,大多数 apt 命令必须以具有sudo 特权的用户身份运行 。
获取更新
在使用 进行任何操作之前apt,我们需要确保包数据库的本地副本是最新的,如果没有这个,系统将不知道是否有更新的软件包可用。
该 apt update 命令下载有关可用软件包的最新信息:
代码语言:txt复制sudo apt update
这将下载最新的最新软件包及其元数据——软件包名称、版本号等。
列出可用更新
您可以查看具有准备升级的较新版本的软件包列表。为此,请运行以下命令:
代码语言:txt复制apt list --upgradeable
事实上,apt list --upgradeable是一个提示,总是显示在apt update 输出的最后。
升级包
运行 apt upgrade 将更新所有具有可用新版本的软件包。请记住,您需要执行apt updatebefore apt upgrade,以便apt知道新版本的软件包可用。
代码语言:txt复制sudo apt upgrade
全面系统升级
apt upgrade和之间的共同区别在于,如果需要升级整个系统apt full-upgrade,afull-ugrade将删除已安装的包。
例如,当您想从 Debian 版本 10 升级到 11 时,这很有用。
代码语言:txt复制sudo apt full-upgrade
带命令 full-upgrade 需要特别小心才能安全使用,即使是有经验的用户也没有充分的理由定期运行它们。
安装新包
更新包数据库后,您可以使用该apt install命令安装任何包,例如,让我们安装 Nginx Web 服务器:
代码语言:txt复制sudo apt install nginx
如果要一次安装多个包,例如nginxand firewalld,请将它们指定为空格分隔的列表:
代码语言:txt复制sudo apt install nginx firewalld
删除包
要删除(卸载)已安装的软件包,请使用该apt remove命令,例如,要删除名为 的包nginx,请输入:
代码语言:txt复制sudo apt remove nginx
您还可以指定多个包,以空格分隔:
代码语言:txt复制sudo apt remove nginx firewalld
我们还可以使用该apt purge 命令轻松删除包,主要区别在于该apt remove命令将卸载给定的软件包,但会保留其配置文件。
而apt purge不仅会删除包,还会删除主目录之外的所有配置文件。
代码语言:txt复制sudo apt purge nginx
此外,您还可以使用以下命令删除所有不需要的包:
代码语言:txt复制sudo apt autoremove
该autoremove选项用于删除自动安装以满足其他包的依赖项但现在不再需要作为依赖项的包。
搜索包裹
该apt search命令允许您在可用包列表中搜索给定的包,例如,要搜索nginx包,请输入:
代码语言:txt复制apt search nginx
搜索已安装的软件包
该 apt list命令显示已安装和可供安装的软件包,如果您只想列出当前安装的特定软件包怎么办?只需将--installed选项传递给apt list命令,您可以*在搜索中使用通配符 ( )。
例如,要查找系统上当前安装的所有包,其中包含 nginx 其名称中的运行:
代码语言:txt复制apt list --installed nginx*
获取有关套餐的详细信息
该apt search命令的输出为您简要介绍了这些包,如果需要更多详细信息,请使用该apt show命令。
代码语言:txt复制apt show nginx
请务必注意,您需要为apt show命令提供确切的包名称。否则apt show将无法工作。