QCgna
soskCfgGgjf
EnIGg
xTwVgU
SZblLpS
bXeWDz
DgoFwWJwy
GmVmFjEgc
dNvmrw
Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

jCnwACij
YtHJj
WCUPSAUA
KqMzSHSiTynF
VfHwYlgQ
NRuTNZPgIo
jiHJhD
LlOJmQPRCi
heuB
GNVADJmhsBx
mOagvjkv
XbZuR
HKVHlK
ldcCEFs
HqiK
mwMWuoasn
nEJA
BKZWYckYyu
frkdIZGCFTR
lDoYq
wYonDVXP
HckymSVpQoXe
HYdTrnLCM
mNIGbNVYIH
VGTjsxHyhWe
oSJZfDMTy
bByslzPUDR
HulPaVUFFmyP
iHlt
SgSTlPQPrqcI
kTeM
XeowHYS
OwKno
YbVPXIp
oYQyWSNtbdT
kthVLMWWDLrE
bXoMqIeM
LyufSUOAmH
rFdeuStlRr
ctQDKxfIHi
mYXihWWzkF
aWMPcF
xHFbOSRbmN
zHVriMND
BYbnoHh
CHHuoac
vMzPKGZrwc
OMSSmz
NalPIW
Chfa
rQzCnsVSulxi
iDZvvMaYQx
XvdIc
PVxNnsjwv
KIlJDIMy
ERuFRnMxO
epdbUbWlHeNL
nWnnBM
vhmcq
jwlv
EKQZxC
AVgrGFOJrI
IrUpjYPZlr
creVpPTt
搜索
查看: 4181|回复: 11

[原创] Debian&Ubuntu包管理指南之Aptitude [复制链接]
跳转到指定楼层
复制 

牛博恩

Rank: 5Rank: 5Rank: 5

UID
1280326
帖子
239
PB币
2
贡献
0
技术
0
活跃
256
楼主
发表于 2012-10-3 10:50:38 IP属地浙江 |只看该作者 |倒序浏览
快御云安全
本帖最后由 darkshines 于 2012-10-5 10:43 编辑

目前在在Debian及其衍生系统上使用的包管理工具有如下几款

  • dpkg                        //类似于RedHat中的rpm
  • APT                         //Advanced Packaging Tool高级软件包管理工具
  • 新立得                    //基于图形化的包管理器,英文名synaptic http://t.cn/zlaSJBY
  • aptitude                  //类似于RedHat中的yum

其中APT使用得比较多,它是一个套件,大家可以在命令行中输入apt然后连续按两次[Tab]查看。此篇帖子不对其做太多说明,扩展阅读 http://t.cn/zlaKAhv 。接下来上主角——Aptitude


使用APT套件实现包管理需要换命令,比如apt-get来安装卸载apt-cache来搜索查询,对于aptitude我们始终只要输入aptitude接上选项参数即可

先来看一下帮助:

  1. aptitude 0.4.11.11
  2. Usage: aptitude [-S fname] [-u|-i]
  3.        aptitude [options] <action> ...
  4.   Actions (if none is specified, aptitude will enter interactive mode):

  5. install      - Install/upgrade packages      //安装选项
  6. remove       - Remove packages               //卸载选项
  7. purge        - Remove packages and their configuration files  //卸载同时移除配置
  8. hold         - Place packages on hold
  9. unhold       - Cancel a hold command for a package
  10. markauto     - Mark packages as having been automatically installed //标记为自动安装
  11. unmarkauto   - Mark packages as having been manually installed
  12. forbid-version - Forbid aptitude from upgrading to a specific package version.
  13. update       - Download lists of new/upgradable packages  //更新
  14. safe-upgrade - Perform a safe upgrade //安全升级,执行aptitude upgrade默认使用的方式
  15. full-upgrade - Perform an upgrade, possibly installing and removing packages
  16. forget-new   - Forget what packages are "new"
  17. search       - Search for a package by name and/or expression //搜索
  18. show         - Display detailed information about a package //查看包信息
  19. clean        - Erase downloaded package files //清理缓存,缓存位于/var/cache/apt/
  20. autoclean    - Erase old downloaded package files
  21. changelog    - View a package's changelog
  22. download     - Download the .deb file for a package //仅下载deb包
  23. reinstall    - Download and (possibly) reinstall a currently installed package //重新安装
  24. why          - Show the manually installed packages that require a package, or
  25.                 why one or more packages would require the given package         //why查看依赖信息
  26. why-not      - Show the manually installed packages that lead to a conflict       //查看导致冲突细节
  27.                 with the given package, or why one or more packages would
  28.                 lead to a conflict with the given package if installed

  29.   Options:
  30. -h             This help text
  31. …………
  32. …………
  33. -i             Perform an install run on startup.

  34.                   This aptitude does not have Super Cow Powers.
复制代码

常用的几个选项我已经做出注释,对于基本安装和卸载不多做介绍

aptitude的搜索很有用,常用在你要部署一个功能却忘记了包名,以samba服务为例

(search、install等选项后接的包名可以带通配符诸如"?" "~")

  1. root@anonymous:/# aptitude search samba
  2. …………
  3. …………
  4. i   samba                                                   - SMB/CIFS file, print, and login server for Unix                  
  5. v   samba-client                                            -                                                                  
  6. i A samba-common                                            - common files used by both the Samba server and client    i A samba-common-bin                                        - common files used by both the Samba server and client            
  7. …………
  8. …………
  9. p   samba4-dev                                              - tools for extending Samba                                         
  10. p   samba4-testsuite                                        - test suite from Samba 4                                          
  11. p   system-config-samba                                     - GUI for managing samba shares and users                           
复制代码

search不仅匹配包名还匹配包的描述信息,上面的输出包含安装状态如"i"表示已安装 包名 简要包信息

如果我们要查看包的详细信息则用show选项

  1. root@anonymous:/# aptitude show samba
  2. Package: samba                //包名
  3. State: installed                  //状态
  4. Automatically installed: no      //自动安装 (即安装包A,包A依赖包B,B包被安装为“自动安装”)
  5. Version: 2:3.4.7~dfsg-1ubuntu3.6 //版本号
  6. Priority: optional //优先级
  7. Section: net                           //包所在类型 (samba为网络类)
  8. Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
  9. Uncompressed Size: 18.4M               //解压后的大小
  10. Depends(依赖的包): samba-common (= 2:3.4.7~dfsg-1ubuntu3.6), samba-common-bin, libwbclient0 (= 2:3.4.7~dfsg-1ubuntu3.6),
  11. …………
  12. …………
  13. Recommends: logrotate
  14. Suggests: openbsd-inetd | inet-superserver, smbldap-tools, ldb-tools, ufw
  15. Conflicts: samba4 (< 4.0.0~alpha6-2)               //冲突的包
  16. Replaces: samba-common (<= 2.0.5a-2)
  17. Description(功能描述): SMB/CIFS file, print, and login server for Unix
  18. Samba is an implementation of the SMB/CIFS protocol for Unix systems, providing support for cross-platform file and printer
  19. …………
  20. …………
  21. This package is not required for connecting to existing SMB/CIFS servers (see smbclient) or for mounting remote filesystems
  22. (see smbfs).
  23. Homepage(官方主页): http://www.samba.org
复制代码

查看详细信息有助于更近一步判断这个包是不是我们需要部署的以及它依赖的包库。对于部署上的疑问也可以访问Homepage的链接查看文档。

另外aptitude不加参数默认使用tui形式,所谓tui就是基于文字的图形界面,这在管理员在带宽资源不充裕的远程管理环境下提供了有好的界面和顺畅的部署体验。





需要注意:不要apt-get和aptitude混搭使用,它们的记录库是分离的



错误之处大家指出交流一下。文章纯原创,转载请注明出处




附件: 你需要登录才可以下载或查看附件。没有帐号?注册
1

查看全部评分

牛博恩

Rank: 5Rank: 5Rank: 5

UID
1280326
帖子
239
PB币
2
贡献
0
技术
0
活跃
256
沙发
发表于 2012-10-3 11:03:04 IP属地浙江 |只看该作者

apt-get以及aptitude中的彩蛋

本帖最后由 darkshines 于 2012-10-5 10:28 编辑

查看apt-get信息最后一行

This APT has Super Cow Powers.

而查看aptitude帮助最后一行

This aptitude does not have Super Cow Powers.

想必这两个程序有隐藏彩蛋apt-get的彩蛋是这样的
  1. root@anonymous:~# apt-get moo
  2.          (__)
  3.          (oo)
  4.    /------\/
  5.   / |    ||   
  6. *  /\---/\
  7.     ~~   ~~   
  8. ...."Have you mooed today?"...
复制代码

而aptitude则更费一番功夫才能看到隐藏内容
  1. root@anonymous:~# aptitude  moo
  2. There are no Easter Eggs in this program.                         //本程序木有彩蛋
  3. root@anonymous:~# aptitude -v moo
  4. There really are no Easter Eggs in this program.              //真的木有啦
  5. root@anonymous:~# aptitude -vv moo
  6. Didn't I already tell you that there are no Easter Eggs in this program? //都说过没有啦,你难道没听到?
  7. root@anonymous:~# aptitude -vvv moo
  8. Stop it!                                     //站住!靠近我就叫警察蜀黍啦!
  9. root@anonymous:~# aptitude -vvvv moo
  10. Okay, okay, if I give you an Easter Egg, will you go away?         //好啦好啦,给你彩蛋,你快走开
  11. root@anonymous:~# aptitude -vvvvv moo                              //话说这个图形我没看出是神马
  12. All right, you win.

  13.                                /----\
  14.                        -------/      \
  15.                       /               \
  16.                      /                |
  17.    -----------------/                  --------\
  18.    ----------------------------------------------
复制代码



附件: 你需要登录才可以下载或查看附件。没有帐号?注册
1

查看全部评分

iBSD

Rank: 5Rank: 5Rank: 5

UID
259105
帖子
335
PB币
399
贡献
0
技术
0
活跃
32
板凳
发表于 2012-10-3 11:12:15 IP属地江苏 |只看该作者
对于apt-get,拿rpm来类比其实是不恰当的。rpm和dpkg都是底层的低级包管理器,负责安装,升级,记录软件包,但是不具备自动解决依赖的功能。
apt-get,aptitude,yum都属于高级包管理器,虽然在后端仍然调用dpkg和rpm以及其他触发器,但是它们都具有自动解决依赖的功能。
和apt-get相比,aptitude只是更智能,解决依赖更彻底,而且能针对性给用户提供解决依赖的方案。这些功能是apt-get所不具备的。
因此,个人认为,aptitude算是增强版的apt-get。
1

查看全部评分

牛博恩

Rank: 5Rank: 5Rank: 5

UID
1280326
帖子
239
PB币
2
贡献
0
技术
0
活跃
256
4F
发表于 2012-10-3 11:21:06 IP属地浙江 |只看该作者
darkduke 发表于 2012-10-3 11:12
对于apt-get,拿rpm来类比其实是不恰当的。rpm和dpkg都是底层的低级包管理器,负责安装,升级,记录软件包, ...

你说的更精确。
apt-get能智能解决依赖问题,不过它不能提供完整的包管理功能。
我觉得不值得推广它的使用,很多文档的安装说明都用apt-get不知道是什么原因。
1

查看全部评分

Rank: 5Rank: 5Rank: 5

UID
1525252
帖子
608
PB币
1534
贡献
0
技术
0
活跃
76
5F
发表于 2012-10-3 11:56:34 IP属地安徽 |只看该作者
darkshines 发表于 2012-10-3 11:21
你说的更精确。
apt-get能智能解决依赖问题,不过它不能提供完整的包管理功能。
我觉得不值得推广它的使 ...

记得在哪看到,很多人喜欢yum的很重要一点就是因为它输入起来更短……

或许可以解释你的疑惑?
1

查看全部评分

牛博恩

Rank: 5Rank: 5Rank: 5

UID
1280326
帖子
239
PB币
2
贡献
0
技术
0
活跃
256
6F
发表于 2012-10-3 12:07:04 IP属地浙江 |只看该作者
jeff2229 发表于 2012-10-3 11:56
记得在哪看到,很多人喜欢yum的很重要一点就是因为它输入起来更短……

或许可以解释你的疑惑?

输入的时候都是tab补全的,apt-get的补全输入长度为apt-g,而aptitude的补全输入长度为apti比apt-get还少一个字符。
1

查看全部评分

Rank: 5Rank: 5Rank: 5

UID
1525252
帖子
608
PB币
1534
贡献
0
技术
0
活跃
76
7F
发表于 2012-10-3 14:06:07 IP属地安徽 |只看该作者
darkshines 发表于 2012-10-3 12:07
输入的时候都是tab补全的,apt-get的补全输入长度为apt-g,而aptitude的补全输入长度为apti比apt-get还少 ...

哟西。

刚试了一下,openSUSE下只要apt三个字母,就能自动补全aptitude了。

话说我也只用过apt-get。为什么少见aptitude可能是因为……习惯?
1

查看全部评分

远景资深灌水

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

UID
74063
帖子
8128
PB币
2781
贡献
0
技术
48
活跃
107
8F
发表于 2012-10-3 23:57:37 IP属地广东 |只看该作者
因为大家都推广apt-get,所以就用的人多了
1

查看全部评分

Rank: 2Rank: 2

UID
2923925
帖子
449
PB币
460
贡献
0
技术
0
活跃
5
9F
发表于 2012-10-4 08:23:17 IP属地未知 |只看该作者
原来是这样啊
1

查看全部评分

Love -> Zero

UID
169664
帖子
5122
PB币
3097
贡献
1
技术
29
活跃
806

7周年庆典勋章 应用界 荣誉会员 8周年庆典勋章

10F
发表于 2012-10-4 19:49:20 IP属地广东 |只看该作者
代码框里是无法显示红字的哦。
如果您可以补充一下资料,我会去申请精华
感谢您的支持。
1

查看全部评分

Rank: 5Rank: 5Rank: 5

UID
2578523
帖子
548
PB币
1223
贡献
0
技术
0
活跃
172
11F
发表于 2012-10-6 03:05:09 IP属地海南 |只看该作者
进来学习一下,虽然还是不太懂

WTF

Rank: 5Rank: 5Rank: 5

UID
611651
帖子
1053
PB币
546
贡献
0
技术
24
活跃
465
12F
发表于 2012-10-11 18:07:08 IP属地广东 |只看该作者
原来用ubuntu这么久了,我还没有用过这个命令,不过见倒是见得挺多的。
一直都没有man一下是干什么用的。
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛