Linux 包管理 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
- 点赞
- 收藏
- 关注作者
评论(0)