Debian系Linux系统的package管理工具:apt

基本概念

apt是什么?

apt (Advanced Package Tool) 是Debian系Linux系统的package管理工具。可以使用apt命令 安装、更新、删除或者查询安装包以及他们的依赖。APT 被移植成为 APT-RPM 来管理rpm 包格式。APT-RPM 可以被任何基于 RPM 的发行版使用,例如 Conectiva、Red Hat、SUSE、ALT-Linux 等。

Linux的几大分支

flowchart LR
    Linux --> Debian系列
    Debian系列 --> Debian
    Debian系列 --> ubuntu
    Linux --> Redhat系列
    Redhat系列 --> RHEL:收费
    Redhat系列 --> Centos:和RHEL基本一致不收费
    Redhat系列 --> Fedora
    Linux --> 国产麒麟

个人来说,最好用的是ubuntu,用于学习和测试。一个是UI不错,一个是可以安装在windows上。
企业不差钱的,会用RHEL。差钱的,Centos足够了。

apt apt-get?

apt 和 apt-get 都是用于处理包的命令行工具。apt-*的命令太多太复杂,于是乎有有了apt。
apt集成了最常用的三个命令apt-get、apt-cache 和 apt-config 中最常用命令选项的集合。

  • apt 的大部分命令与 apt-get 类似,但您必须使用apt-cache进行搜索和显示命令。
  • apt被设计为最终用户界面,其输出可能会在版本之间更改。
  • apt包含来自更专业的 APT 工具(如apt-get和apt-cache )中最常用的命令和选项。
  • 此外,apt 在输出中包含进度条和彩色文本以供交互式使用。

apt 命令的工作原理

apt 命令使用存储库来管理包。通常,预装 Ubuntu 的存储库足以满足大多数 Debian 软件包。 软件存储库本质上是文本文件中的 URL,这些URL存储在以下两个位置之一。

  • 主要的 Ubuntu 存储库列表存储在 /etc/apt/sources.list. 在该文件中,您会发现 Ubuntu 的包管理器可以从中提取包的大量存储库。
  • 此外,从 /etc/apt/sources.list.d/ 目录中读取扩展名为 .list 的文件,并且在您使用 apt 时也会使用。

存储库URL典型格式:

deb http://us.archive.ubuntu.com/ubuntu/ bionic main restricted
  • 以空格分割,第一部分为deb 或者 deb-src。deb代表二进制文件,deb-src代表是源码。
  • 第二部分是获取存储库的实际的URL。
  • 第三部分 是发布版本的代号。上面的例子是bionic。
  • 每个存储库行的第四部分是指组件,它引用存储库是否包含免费和开源的软件。组件可以是 main、restricted、universe 或 multiverse。
  • 具有main组件的存储库包括官方支持的软件。这通常意味着软件包有可用的源代码,因此 Ubuntu 开发人员能够修复错误。
  • 标记为restricted的软件仍受支持,但许可证可能有问题。
  • Universe 代表为社区支持,
  • multiverse 表示不受支持或者并非免费。

使用 apt 命令的示例

只有 root 用户或 sudo 用户才有执行apt命令的权限。apt 命令的基本语法是:

apt [options] command [package name]

1.使用apt命令安装包

可以使用此命令在系统中安装软件包。需要指定用于安装该软件包的软件包名称。

# apt install package_name

可以指定多个软件包来安装所有软件包。

# apt install package1 package2 package3

2.用apt命令删除一个包

要从系统中卸载软件包,可以使用remove命令后跟软件包名称。

# apt remove package_name

remove 命令不会删除配置文件。
可以使用purge 命令删除软件包及其配置文件。

# apt purge package_name

系统中的dpkg工具会记录软件包的状态:

Col1Col2
not-installed未安装
config-files只有配置文件部署到系统中
half-installed安装已经开始,但并没有完成
unpacked部署包已经解压,但是未配置
half-configured正在配置中
triggers-awaited等待其他包
triggers-pending其他包已经触发
installed安装包已经完成

remove不会引起dpkg中记录的状态的改变。

3. apt 命令显示包详细信息

此命令打印指定包的详细信息。

# apt show package_name

4.使用apt命令搜索包

使用search命令在包的名称和描述中模式搜索。

# apt search pattern

5. 使用 apt 命令更新可用包列表

您可以使用此命令从配置的存储库中更新可用包的列表。update 参数用于从所有配置的源下载包信息。

# apt update

6.apt命令升级包

此命令通过sources.list将所有已安装的包及其依赖项升级到最新版本。如果需要满足依赖关系,将安装新包,但永远不会删除现有包。如果软件包的升级需要删除已安装的软件包,则不会执行此软件包的升级。

# apt upgrade

升级特定的包,可以指定包名

# apt upgrade package_name

7.使用apt命令查看可升级包列表

如果需要查看系统中可升级包的列表,可以使用以下命令。

# apt list --upgradable

8. 使用apt命令升级全系统

full-upgrade命令升级整个系统。在升级系统需要的情况下,它将安装/删除/升级软件包。

# apt full-upgrade

9. apt 命令删除未使用的包

在系统上安装新包时,会自动安装包依赖项。当您删除一个包时,这些依赖项将保留在系统上并且不再使用。要删除所有未使用的包和依赖项,可以使用以下命令。

# apt autoremove

10.使用apt命令列出所有包

可以使用以下命令查看适用于您的系统的所有软件包的列表。

# apt list 

11.使用apt命令列出所有已安装的包

此命令可以帮助您获取系统上所有已安装软件包的列表。

# apt list --installed

要列出特定的包,可以通过grep筛选:

# apt list --installed | grep 包名

12.使用apt检查包的依赖关系

可以使用该命令打印指定包的依赖信息。

# apt depends package_name

13. 使用 apt 命令避免是/否提示

为了避免是/否提示并假设是,您可以使用-y选项。

14. 使用apt命令列出包的策略

可以将-a选项与list命令一起使用来列出特定包的策略。

# apt -a list package_name

15.apt命令编辑源信息文件

使用以下命令,编辑源信息文件/etc/apt/sources.list。

# apt edit-sources
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值