Linux 包管理 aptitude 命令示例

举报
Tiamo_T 发表于 2022/09/13 23:46:02 2022/09/13
【摘要】 对于像 Ubuntu 这样的基于 Debian 的系统,您可以使用 aptitude 命令从命令行进行包管理。

对于像 Ubuntu 这样的基于 Debian 的系统,您可以使用 aptitude 命令从命令行进行包管理。

本文介绍了几个 aptitude 命令示例,包括以下内容:

  • 安装特定版本的包
  • 使用模式安装多个包
  • 使用模式搜索包
  • 获取某个部分下的包
  • 不要更新特定的包(使用hold and keep)
  • 使用特定安装类型标记包
  • 执行系统更新
  • 执行安全升级


1.基本包安装

aptitude install 用于安装软件包及其依赖项。例如,安装一个包 vim-gtk 也会自动安装所有依赖的包。

# aptitude install vim-gtk
The following NEW packages will be installed:
libruby1.9.1{a} libyaml-0-2{a} tcl8.5{a} tcl8.5-lib{a} vim-gtk vim-gui-common{a} 
0 packages upgraded, 6 newly installed, 0 to remove and 317 not upgraded.
Need to get 6,360 kB of archives. After unpacking 19.0 MB will be used.
Do you want to continue? [Y/n/?] y

在上面的输出中,aptitude 将显示以下内容:

  • 将安装的所有依赖包的列表。
  • 将下载的所有包的总大小,这有助于了解它将从存储库下载多少数据。
  • 解包后所需的总磁盘大小。
  • 在这个阶段,如果您想继续安装,请按“y”

请注意,您也可以使用apt-get 命令来管理我们之前讨论过的包。

2.安装特定版本或多个包

也可以安装特定版本的包,如下所示。在“=”号后指定版本号。


# aptitude install "perl=5.10.1"

您还可以安装几个与特定模式匹配的软件包,如下所示。

# aptitude install ~nxvnc

3.查看包裹信息

获取有关特定包的信息,如下所示。

# aptitude show vim-gtk
Package: vim-gtk     
State: not installed
Version: 2:7.3.547-6ubuntu5
Priority: extra
Section: universe/editors
Maintainer: Ubuntu Developers 
Architecture: amd64
Uncompressed Size: 2,442 k
Depends: vim-gui-common (= 2:7.3.547-6ubuntu5), vim-common (=
         2:7.3.547-6ubuntu5), vim-runtime (= 2:7.3.547-6ubuntu5), libacl1 (>=
         2.2.51-8), libc6 (>= 2.15), libgdk-pixbuf2.0-0 (>= 2.22.0),
         libglib2.0-0 (>= 2.12.0), libgpm2 (>= 1.20.4), libgtk2.0-0 (>= 2.24.0),
         libice6 (>= 1:1.0.0), liblua5.1-0, libpango1.0-0 (>= 1.14.0),
         libperl5.14 (>= 5.14.2), libpython2.7 (>= 2.7), libruby1.9.1 (>=
         1.9.2.0), libselinux1 (>= 1.32), libsm6, libtinfo5, libx11-6, libxt6,
         tcl8.5 (>= 8.5.0)
Suggests: cscope, vim-doc, ttf-dejavu, gnome-icon-theme
Conflicts: vim-gtk
Provides: editor, gvim, vim, vim-lua, vim-perl, vim-python, vim-ruby, vim-tcl
Description: Vi IMproved - enhanced vi editor - with GTK2 GUI
 Vim is an almost compatible version of the UNIX editor Vi. 
..

4. 使用模式搜索包

要了解已配置存储库中可用的软件包列表,请使用 aptitude 的搜索选项以及软件包名称的字符串模式。

以下将显示名称中任何位置包含“xvnc”的所有包。

# aptitude search xvnc
p   linuxvnc           - VNC server to allow remote access to a tty
p   linuxvnc:i386      - VNC server to allow remote access to a tty
p   xvnc4viewer        - Virtual network computing client software for X
p   xvnc4viewer:i386   - Virtual network computing client software for X

5.显示所有已安装的包

为了列出所有已安装的软件包,请使用如下所示的搜索选项:

# aptitude search '~i' | head
i   account-plugin-aim              - Messaging account plugin for AIM          
i   account-plugin-facebook         - GNOME Control Center account plugin for si
i   account-plugin-flickr           - GNOME Control Center account plugin for si
i   account-plugin-generic-oauth    - GNOME Control Center account plugin for si
i   account-plugin-google           - GNOME Control Center account plugin for si
i   account-plugin-jabber           - Messaging account plugin for Jabber/XMPP  
i   account-plugin-salut            - Messaging account plugin for Local XMPP (S
i   account-plugin-twitter          - GNOME Control Center account plugin for si
i   account-plugin-windows-live     - GNOME Control Center account plugin for si
i   account-plugin-yahoo            - Messaging account plugin for Yahoo!

6. 包的高级搜索

要在系统上仅显示损坏的包,请执行以下操作。这表明该系统上没有损坏的软件包。

# aptitude search '~b' | head

要查找部分卸载的软件包,请执行以下操作:

# aptitude search '~c'
c   yelp                  - Help browser for GNOME

要显示持有的包裹,请执行以下操作:

# aptitude search '~ahold'
ih  python3 - interactive high-level object-oriented language (default python3 version)

要在描述中搜索给定的关键字,请执行以下操作。这个例子在包的描述中搜索给定的文本“vim”。

# aptitude search '~dvim'

7. 节下的包

要在特定部分下列出包,请执行以下操作。如下所示,在 gnome 包组下有 968 个包可用。

# aptitude search '~sgnome' | wc -l
968

要在某个部分下显示已安装的软件包,请执行以下操作:

# aptitude search '~i~sgnome'| wc -l
142

如上所示,安装了 142 个属于 gnome 包组的包。由于存在配置文件,您可能还会看到已卸载的软件包。

8.卸载包

要从系统中删除已安装的软件包以及孤立的依赖项,请使用 remove 选项以及确切的已安装软件包名称,如下所示:

# aptitude remove vim-gtk
The following packages will be REMOVED:  
  vim-gtk 
0 packages upgraded, 0 newly installed, 1 to remove and 317 not upgraded.
Need to get 0 B of archives. After unpacking 2,442 kB will be freed.
(Reading database ... 160189 files and directories currently installed.)
Removing vim-gtk ...
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vi (vi) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/view (view) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/ex (ex) in auto mode
update-alternatives: using /bin/nano to provide /usr/bin/editor (editor) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/rvim (rvim) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/rview (rview) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vimdiff (vimdiff) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vim (vim) in auto mode

9. 完全移除包裹

使用清除选项执行完全删除。这将卸载一个包以及孤立的依赖项及其配置文件

下面将卸载 postgresql 包及其配置文件。

# aptitude purge postgresql

10. 不要更新包——保留它

要保留软件包的当前版本,请执行以下操作:

# aptitude hold python3

如上所示,hold 已应用于 python3 包。它会取消此软件包的任何未来安装、删除和升级。无法在此软件包上执行 aptitude safe-upgrade 或 aptitude full-upgrade。

以下是与安装一起保存包的方法。在包的末尾附加“:”。

# aptitude install perl:

使用 unhold 来恢复应用在包上的保留。

11. 不要更新包——保留它

要在包有计划更新时仅保留当前版本,请执行以下操作:

# aptitude keep perl

keep-all 选项是对所有已安装的软件包应用相同的选项。

12. 用安装类型标记一个包

安装包后立即通过覆盖说明符将包标记为自动或手动,如下所述。

要将标记设置为自动,请执行以下操作

# aptitude install package+M

(or)

# aptitude install package&M

要将标记设置为手动,请执行以下操作。这是默认选项。

# aptitude install package&m

它主要用于当您想要获取手动安装的软件包列表时。下面显示了自动安装的包计数。

# aptitude search '~M~i' | wc -l
130

下面显示手动安装的软件包的总数。

# aptitude search '!~M~i' | wc -l
1556

13.刷新可用包列表

要从存储库更新可用包的列表,请执行以下操作:

# aptitude update

14.升级所有包 - 安全和全面升级

安全升级:要将已安装的软件包升级到最新版本并可能安装新软件包以解决依赖关系,请执行以下操作:

# aptitude safe-upgrade

为防止安装新软件包,请使用 –no-new-installs,如下所示:

# aptitude safe-upgrade --no-new-installs

full-upgrade:要对所有软件包进行完全升级,同时安装安全升级不能做的软件包,请执行以下操作:

# aptitude full-upgrade

15. 清理 aptitude 缓存

要从缓存目录中删除下载的包,请执行以下操作。默认情况下,缓存目录是 /var/apt/apt/archive

# aptitude clean

使用 autoclean 仅从缓存中删除无法再下载的包。

# aptitude autoclean
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。