侧边栏壁纸
Linux入门自学网博主等级

每日学一条Linux命令,终成Linux大神

  • 累计撰写 725 篇文章
  • 累计创建 143 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Linux aptitude命令教程:如何使用aptitude管理Debian系列Linux发行版的软件包(附实例详解和注意事项)

Linux aptitude命令介绍

aptitude是一个用于管理Debian系列Linux发行版的软件包的命令行工具,它是apt-get的一个替代品,提供了更多的功能和灵活性。aptitude可以用来安装、卸载、更新、升级、搜索、显示和清理软件包,它还可以自动解决依赖关系和冲突,以及跟踪软件包的状态和历史。aptitude的全称是Advanced Package Tool with Intuitive User Interface,意思是具有直观用户界面的高级软件包工具。

Linux aptitude命令适用的Linux版本

aptitude命令主要适用于Debian系列的Linux发行版,如Debian、Ubuntu、Linux Mint等,它们都使用了dpkg作为底层的软件包管理系统。如果你使用的是其他的Linux发行版,如Red Hat、CentOS、Fedora等,它们使用了rpm作为底层的软件包管理系统,那么你需要使用其他的命令行工具,如yum或dnf。如果你想在这些发行版上使用aptitude,你需要先安装一些额外的软件包,如apt-rpm或apt4rpm,但这可能会导致一些兼容性和稳定性的问题,所以不建议这样做。

如果你想在Debian系列的Linux发行版上安装aptitude,你可以使用以下的命令:

[linux@bashcommandnotfound.cn ~]$ sudo apt-get install aptitude

如果你想在Red Hat系列的Linux发行版上安装apt-rpm,你可以使用以下的命令:

[linux@bashcommandnotfound.cn ~]$ sudo yum install apt-rpm

Linux aptitude命令的基本语法

aptitude命令的基本语法格式如下:

aptitude [options] [action] [package]

其中,options是一些可选的参数,用来控制aptitude的行为和输出,action是要执行的操作,如install、remove、update等,package是要操作的软件包的名称,可以使用通配符或正则表达式来匹配多个软件包。

Linux aptitude命令的常用选项或参数说明

aptitude命令有很多的选项或参数,可以用来控制aptitude的行为和输出,这里列出一些最常用的:

选项说明
-h, --help显示帮助信息
-V, --version显示版本信息
-s, --simulate模拟执行操作,不实际改变系统
-y, --assume-yes自动回答yes,不需要用户确认
-q, --quiet安静模式,减少输出信息
-v, --verbose详细模式,增加输出信息
-F, --display-format指定显示软件包的格式
-S, --status-file指定软件包状态文件的位置
-t, --target-release指定目标发行版的版本
-f, --fix-broken修复损坏的依赖关系

Linux aptitude命令的常见技巧或高级技巧

aptitude命令有一些常见的技巧或高级技巧,可以让你更有效地管理软件包,这里介绍一些:

  • 使用aptitude search命令可以搜索软件包,你可以使用通配符或正则表达式来匹配软件包的名称,也可以使用一些特殊的符号来过滤软件包的状态,如i表示已安装的软件包,p表示可用的软件包,c表示已卸载但未清理的软件包,v表示虚拟的软件包等。例如,如果你想搜索已安装的以linux开头的软件包,你可以使用以下的命令:
[linux@bashcommandnotfound.cn ~]$ aptitude search 'i ^linux'
  • 使用aptitude show命令可以显示软件包的详细信息,如名称、版本、描述、依赖关系、大小、下载地址等。例如,如果你想查看linux-image-generic软件包的详细信息,你可以使用以下的命令:
[linux@bashcommandnotfound.cn ~]$ aptitude show linux-image-generic
  • 使用aptitude install命令可以安装软件包,你可以指定软件包的名称或者版本,也可以使用一些特殊的符号来控制安装的行为,如+表示安装,-表示卸载,=表示保持当前版本,/表示从指定的发行版安装等。例如,如果你想安装最新版本的linux-image-generic软件包,你可以使用以下的命令:
[linux@bashcommandnotfound.cn ~]$ aptitude install linux-image-generic
  • 使用aptitude remove命令可以卸载软件包,你可以指定软件包的名称或者版本,也可以使用一些特殊的符号来控制卸载的行为,如+表示安装,-表示卸载,=表示保持当前版本,/表示从指定的发行版安装等。例如,如果你想卸载当前版本的linux-image-generic软件包,你可以使用以下的命令:
[linux@bashcommandnotfound.cn ~]$ aptitude remove linux-image-generic
  • 使用aptitude purge命令可以清理软件包,这会删除软件包的所有文件和配置文件,释放更多的磁盘空间。例如,如果你想清理已卸载的linux-image-generic软件包,你可以使用以下的命令:
[linux@bashcommandnotfound.cn ~]$ aptitude purge linux-image-generic
  • 使用aptitude update命令可以更新软件包的列表,这会从软件源中获取最新的软件包信息,以便于安装或升级软件包。例如,如果你想更新软件包的列表,你可以使用以下的命令:
[linux@bashcommandnotfound.cn ~]$ aptitude update
  • 使用aptitude upgrade命令可以升级软件包,这会安装或更新所有可用的软件包,但不会删除任何已安装的软件包。例如,如果你想升级软件包,你可以使用以下的命令:
[linux@bashcommandnotfound.cn ~]$ aptitude upgrade
  • 使用aptitude full-upgrade命令可以完全升级软件包,这会安装或更新所有可用的软件包,也会删除一些不再需要的软件包,以解决依赖关系和冲突。例如,如果你想完全升级软件包,你可以使用以下的命令:
[linux@bashcommandnotfound.cn ~]$ aptitude full-upgrade
  • 使用aptitude clean命令可以清理软件包的缓存,这会删除已下载的软件包的文件,释放更多的磁盘空间。例如,如果你想清理软件包的缓存,你可以使用以下的命令:
[linux@bashcommandnotfound.cn ~]$ aptitude clean
  • 使用aptitude autoclean命令可以自动清理软件包的缓存,这会删除已过期的软件包的文件,释放更多的磁盘空间。例如,如果你想自动清理软件包的缓存,你可以使用以下的命令:
[linux@bashcommandnotfound.cn ~]$ aptitude autoclean

Linux aptitude命令的实例

aptitude命令的实例有很多,这里列出一些最常用的:

  • 如何使用aptitude搜索软件包

如果你想搜索软件包,你可以使用aptitude search命令,后面跟上你想搜索的软件包的名称或者表达式,aptitude会返回匹配的软件包列表,每个软件包的前面会有一个符号表示它的状态,如i表示已安装,p表示可用,c表示已卸载但未清理,v表示虚拟等。例如,如果你想搜索已安装的以linux开头的软件包,你可以使用以下的命令:

[linux@bashcommandnotfound.cn ~]$ aptitude search 'i ^linux'
i   linux-base                      - Linux image base package
i   linux-firmware                  - Firmware for Linux kernel drivers
i   linux-generic                   - Complete Generic Linux kernel and headers
i A linux-headers-5.4.0-70          - Header files related to Linux kernel versi
i A linux-headers-5.4.0-70-generic  - Linux kernel headers for version 5.4.0 on
i   linux-headers-generic           - Generic Linux kernel headers
i   linux-image-5.4.0-70-generic    - Signed kernel image generic
i   linux-image-generic             - Generic Linux kernel image
i   linux-libc-dev                  - Linux Kernel Headers for development
i   linux-modules-5.4.0-70-generic  - Linux kernel extra modules for version 5.4
i   linux-modules-extra-5.4.0-70-ge - Linux kernel extra modules for version 5.4
i   linux-sound-base                - base package for ALSA and OSS sound system
  • 如何使用aptitude显示软件包的详细信息

如果你想显示软件包的详细信息,你可以使用aptitude show命令,后面跟上你想显示的软件包的名称或者版本,aptitude会返回软件包的名称、版本、描述、依赖关系、大小、下载地址等信息。例如,如果你想查看linux-image-generic软件包的详细信息,你可以使用以下的命令:

[linux@bashcommandnotfound.cn ~]$ aptitude show linux-image-generic
Package: linux-image-generic
Version: 5.4.0.70.73
State: installed
Automatically installed: no
Priority: optional
Section: kernel
Maintainer: Ubuntu Kernel Team <kernel-team@lists.ubuntu.com>
Architecture: amd64
Uncompressed Size: 12.3 k
Depends: linux-image-5.4.0-70-generic, linux-modules-extra-5.4.0-70-generic, linux-firmware, linux-generic (= 5.4.0.70.73)
Recommends: thermald
Suggests: fdutils, linux-doc-5.4.0 | linux-source-5.4.0, linux-tools, linux-headers-generic
Conflicts: linux-image-generic
Description: Generic Linux kernel image
 This package will always depend on the latest generic kernel image and headers packages available.
  • 如何使用aptitude安装软件包

如果你想安装软件包,你可以使用aptitude install命令,后面跟上你想安装的软件包的名称或者版本,aptitude会自动解决依赖关系和冲突,并下载和安装软件包。你可以使用一些特殊的符号来控制安装的行为,如+表示安装,-表示卸载,=表示保持当前版本,/表示从指定的发行版安装等。例如,如果你想安装最新版本的linux-image-generic软件包,你可以使用以下的命令:

[linux@bashcommandnotfound.cn ~]$ sudo aptitude install linux-image-generic
The following NEW packages will be installed:
  linux-image-5.4.0-71-generic{a} linux-modules-5.4.0-71-generic{a}
The following packages will be upgraded:
  linux-generic linux-image-generic
2 packages upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 11.6 MB of archives. After unpacking 67.6 MB will be used.
Do you want to continue? [Y/n/?]
  • 如何使用aptitude卸载软件包

如果你想卸载软件包,你可以使用aptitude remove命令,后面跟上你想卸载的软件包的名称或者版本,aptitude会自动解决依赖关系和冲突,并卸载软件包。你可以使用一些特殊的符号来控制卸载的行为,如+表示安装,-表示卸载,=表示保持当前版本,/表示从指定的发行版安装等。例如,如果你想卸载当前版本的linux-image-generic软件包,你可以使用以下的命令:

[linux@bashcommandnotfound.cn ~]$ sudo aptitude remove linux-image-generic
The following packages will be REMOVED:
  linux-image-generic
0 packages upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
Need to get 0 B of archives. After unpacking 12.3 kB will be freed.
Do you want to continue? [Y/n/?]
  • 如何使用aptitude清理软件包

如果你想清理软件包,你可以使用aptitude purge命令,后面跟上你想清理的软件包的名称或者版本,aptitude会删除软件包的所有文件和配置文件,释放更多的磁盘空间。例如,如果你想清理已卸载的linux-image-generic软件包,你可以使用以下的命令:

[linux@bashcommandnotfound.cn ~]$ sudo aptitude purge linux-image-generic
The following packages will be REMOVED:
  linux-image-generic{p}
0 packages upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.
Do you want to continue? [Y/n/?]
  • 如何使用aptitude更新软件包的列表

如果你想更新软件包的列表,你可以使用aptitude update命令,aptitude会从软件源中获取最新的软件包信息,以便于安装或升级软件包。例如,如果你想更新软件包的列表,你可以使用以下的命令:

[linux@bashcommandnotfound.cn ~]$ sudo aptitude update
Hit http://security.ubuntu.com/ubuntu focal-security InRelease
Hit http://archive.ubuntu.com/ubuntu focal InRelease
Hit http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit http://archive.ubuntu.com/ubuntu focal-backports InRelease
Fetched 1,234 B in 1s (1,234 B/s)
Reading package lists...
  • 如何使用aptitude升级软件包

如果你想升级软件包,你可以使用aptitude upgrade命令,aptitude会安装或更新所有可用的软件包,但不会删除任何已安装的软件包。例如,如果你想升级软件包,你可以使用以下的命令:

[linux@bashcommandnotfound.cn ~]$ sudo aptitude upgrade
The following packages will be upgraded:
  linux-generic linux-headers-generic linux-image-generic
3 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 3,456 B of archives. After unpacking 0 B will be used.
Do you want to continue? [Y/n/?]
  • 如何使用aptitude完全升级软件包

如果你想完全升级软件包,你可以使用aptitude full-upgrade命令,aptitude会安装或更新所有可用的软件包,也会删除一些不再需要的软件包,以解决依赖关系和冲突。例如,如果你想完全升级软件包,你可以使用以下的命令:

[linux@bashcommandnotfound.cn ~]$ sudo aptitude full-upgrade
The following NEW packages will be installed:
  linux-image-5.4.0-72-generic{a} linux-modules-5.4.0-72-generic{a}
The following packages will be upgraded:
  linux-generic linux-headers-generic linux-image-generic
The following packages will be REMOVED:
  linux-image-5.4.0-70-generic{u} linux-modules-5.4.0-70-generic{u}
5 packages upgraded, 2 newly installed, 2 to remove and 0 not upgraded.
Need to get 11.8 MB of archives. After unpacking 67.6 MB will be freed.
Do you want to continue? [Y/n/?]
  • 如何使用aptitude清理软件包的缓存

如果你想清理软件包的缓存,你可以使用aptitude clean命令,aptitude会删除已下载的软件包的文件,释放更多的磁盘空间。例如,如果你想清理软件包的缓存,你可以使用以下的命令:

[linux@bashcommandnotfound.cn ~]$ sudo aptitude clean
Del /var/cache/apt/archives/linux-image-5.4.0-70-generic_5.4.0-70.78_amd64.deb
Del /var/cache/apt/archives/linux-modules-5.4.0-70-generic_5.4.0-70.78_amd64.deb
Del /var/cache/apt/archives/linux-image-5.4.0-71-generic_5.4.0-71.79_amd64.deb
Del /var/cache/apt/archives/linux-modules-5.4.0-71-generic_5.4.0-71.79_amd64.deb
Del /var/cache/apt/archives/linux-image-5.4.0-72-generic_5.4.0-72.80_amd64.deb
Del /var/cache/apt/archives/linux-modules-5.4.0-72-generic_5.4.0-72.80_amd64.deb
  • 如何使用aptitude自动清理软件包的缓存

如果你想自动清理软件包的缓存,你可以使用aptitude autoclean命令,aptitude会删除已过期的软件包的文件,释放更多的磁盘空间。例如,如果你想自动清理软件包的缓存,你可以使用以下的命令:

[linux@bashcommandnotfound.cn ~]$ sudo aptitude autoclean
Del /var/cache/apt/archives/linux-image-5.4.0-68-generic_5.4.0-68.76_amd64.deb
Del /var/cache/apt/archives/linux-modules-5.4.0-68-generic_5.4.0-68.76_amd64.deb
Del /var/cache/apt/archives/linux-image-5.4.0-69-generic_5.4.0-69.77_amd64.deb
Del /var/cache/apt/archives/linux-modules-5.4.0-69-generic_5.4.0-69.77_amd64.deb

Linux aptitude命令的注意事项

在使用aptitude命令时,有一些注意事项,这里列出一些:

  • aptitude命令需要root权限,所以你需要在命令前加上sudo或者切换到root用户。
  • aptitude命令会自动解决依赖关系和冲突,但有时候它会提出一些不合理的解决方案,如删除一些重要的软件包,所以你需要仔细检查它的建议,并在确认后才执行操作。
  • aptitude命令会记录软件包的状态和历史,所以你可以使用aptitude的交互式界面来查看和管理软件包,你可以在终端中输入aptitude命令来进入交互式界面,或者使用aptitude-curses命令来进入一个更美观的界面。
  • aptitude命令有时候会遇到一些错误,如bash: aptitude: command not found,这表示你的系统没有安装aptitude命令,你需要先使用apt-get命令来安装aptitude命令,如:
[linux@bashcommandnotfound.cn ~]$ sudo apt-get install aptitude
0

评论区