ubuntu(debian)下使用 apt-get 或 synaptic(新立得) 安装软件是件很轻松的事情. 除了简单的安装软件, apt工具集还有许多特别情况下的用法.
任何时候请记住 man 手册是良师.
1. 使用 aptitude 代替 apt-get .
aptitude 虽然没有 apt-get 的"超级牛力", 但功能却比 apt-get 更强大
首先, 像 apt-get 一样, 可以安装软件
代码:
aptitude install pack-foo
aptitude 解决依赖关系比 apt-get 更智能
. 有时用 apt-get 安装软件时会出现 "XXX 需要 XXXX, 但 XXX
已安装" 这类的错误. 这通常是因为某些软件包过新造成的. 此时使用 aptitude, aptitude 会发现问题并给出几个解决方案,
我们只需接受符合心意的方案就可以了.
aptitude 的另外一个优点是会自动记录那些包是"自动安装"(即因依赖关系而安装的), 如果依赖"自动安装"包的包都没被安装, 该"自动安装"包(此时已无用)就会自动删除.
使用这两个命令可以控制包的"自动安装"属性
代码:
aptitude markauto pack-foo #标记成"自动安装"
aptitude unmarkauto pack-foo #标记成"手动安装"
删除软件时使用 markauto 代替 remove, 就可以避免误删重要的包了.
当然, 新版的新立得和 apt-get 也有相似功能, 但貌似不与 aptitude 使用同一个数据库, 所以建议只使用 aptitude 管理软件包.
aptitude 还提供了更灵活的控制软件包版本的方式
代码:
hold - 将软件包置于保持状态
unhold - 取消对一个软件包的保持命令
forbid-version - 禁止 aptitude 升级到某一特定版本的软件包。
以前几周的 libcairo 事件作例子:
代码:
sudo aptitude install libcairo2=1.4.10-1ubuntu4 # 强制降级
sudo aptitude forbid-version libcairo2=1.4.10-1ubuntu4.1 # 封掉出错的版本
sudo aptitude markauto libcairo2 #恢复auto属性
参看 man 手册里对 install 操作的描述, 有更多控制方法.
aptitude reinstall 重新安装软件包, 相当于 apt-get --reinstall install
aptitude purge 彻底删除软件包, 相当于 apt-get --purge remove
一个小技巧
代码:
aptitude purge `dpkg -l|grep '^rc'|awk '{print $2}'`
aptitude 还集合了多个 apt 工具的功能
代码:
search - 按名称 和/或 表达式搜索软件包
show - 显示一个软件包的详细信息
download - 下载软件包的 .deb 文件
search 操作有点特别
代码:
aptitude search "foo bar" # 关键词 foo 和 bar 都要出现
aptitude search foo bar # 相当于"或"
不过 aptitude 有个小缺点, 默认会将"推荐"的包当成"依赖"的包处理. 这样设置一下就可以解决问题
在自己和root的家目录下的 .aptitude/config 文件加一句
代码:
aptitude::Recommends-Important "false";
更详细的用法参看 man aptitude.
另外:
1.aptitude 的交互模式貌似很混乱, 不如用新立得.
2.慎用 aptitude install -f .
2. 获得软件包的下载地址
很简单
使用新立得:
1.选中要安装的包
2.文件 -> 生成包下载脚本
使用 apt-get
代码:
apt-get --print-uris install pack-foo
3. 安装齐编译需要的包
首先确定你添加了 deb-src 源, 就像这种
代码:
deb-src http://ubuntu.cn99.com/ubuntu/ gutsy main restricted universe multiverse
并已经 apt-get update
然后就可以
代码:
apt-get build-dep pack-foo
把编译 pack-foo 需要的包安装好
PS: 更强悍的方法是用 apt-build, 不过这样就把 ubuntu 搞的太像 gentoo 了. 有兴趣的朋友可以自己看 apt-build 的 man.
4. 找某个文件在哪个包里
如果是安装了的包, 可以用 dpkg -S, 但此法对未安装的包就无效了.
此时可使用 apt-file
代码:
$ apt-file help
apt-file version 2.0.8.2
(c) 2002 Sebastien J. Gross <sjg@debian.org>
apt-file [options] action [pattern]
Configuration options:
--sources-list -s <file> sources.list location
--cache -c <dir> Cache directory
--architecture -a <arch> Use specific architecture
--cdrom-mount -d <cdrom> Use specific cdrom mountpoint
--package-only -l Only display packages name
--fixed-string -F Do not expand pattern
--ignore-case -i Ignore case distinctions
--regexp -x pattern is a regular expression
--verbose -v run in verbose mode
--dummy -y run in dummy mode (no action)
--help -h Show this help.
--version -V Show version number
Action:
update Fetch Contents files from apt-sources.
search|find <pattern> Search files in packages
list|show <pattern> List files in packages
purge Remove cache files
此工具在寻找编译时缺的文件时很有用, 用前记得先 apt-file update
PS: auto-apt 有相同功能, 而且可以检测进程需要哪些缺少的文件, 自动提示用户选择安装相应的包.
分享到:
相关推荐
### dpkg,apt 和 aptitude 的使用 #### dpkg 基础介绍 - **dpkg** 是 Debian 软件包管理系统的核心组件,由 Ian Murdock 在 1993 年创建。它主要用于安装、卸载以及提供与 `.deb` 软件包相关的信息。 - 作为底层...
aptitude 0.7.4版本套件离线安装包,适合Ubuntu 16版本 aptitude_0.7.4-2ubuntu2_amd64.deb aptitude-common_0.7.4-2ubuntu2_all.deb libboost-iostreams1.58.0_1.58.0+dfsg-5ubuntu3_amd64.deb libcwidget3v5_...
$ sudo add-apt-repository ppa:saiarcot895/myppa $ sudo apt-get update $ sudo apt-get install apt-fast ``` 在 Ubuntu 11.04 到 Ubuntu 13.10 中,可以使用以下命令安装 apt-fast: ``` $ sudo add-apt-...
### Debian apt-get 使用指南 #### 一、简介与基本概念 `apt-get` 是 Debian 及其衍生系统(如 Ubuntu)中的一个强大...`apt-get` 是一个非常强大且功能全面的工具,掌握它的使用方法对于 Debian 用户来说至关重要。
- **`console-apt`**, **`aptitude`**, **`gnome-apt`**: 这些工具提供了更多的图形化界面选项来管理软件包。 #### Dpkg 常用命令 - **安装软件包**: ```bash dpkg -i ``` - **列出软件包内容**: ```bash ...
本手册旨在帮助用户更好地掌握`aptitude`的基本用法与高级技巧。 #### 二、aptitude简介 **1. 安装与更新** - **安装**: 使用`aptitude`之前,首先确保它已经被正确安装在您的系统上。如果尚未安装,可以通过以下...
然而,有时候用户可能会遇到问题,比如安装了`aptitude`之后发现`apt`无法正常使用。在这种情况下,我们需要对资源进行整合,确保`apt`工具能够正常运行。 `aptitude`是另一个包管理器,提供了一种更强大的交互式...
停止猜测,并开始提高你的词汇量。...有了Aptitude单词,您就可以搜索并保存难以记住的单词列表。 不要花时间在字典中查找它们,无论您身在何处,都可以随身携带它们。 支持语言:English (United States)
apt-get是Debian及其衍生系统(如Ubuntu)中用于包管理的核心工具之一,它基于APT(Advanced Package Tool)框架,允许用户通过简单的命令行操作实现软件包的安装、升级、卸载等任务。与传统的包管理器相比,apt-get...
当执行某个命令时如果遇到缺失文件的情况,`auto-apt`会自动检测并使用`apt-get`安装包含缺失文件的软件包。例如,在编译一个软件过程中遇到缺失文件的情况时,可以运行`#auto-aptrun ./configure`。这不仅会暂停...
《Gratitude Aptitude-crx插件:感恩的力量与浏览器扩展应用》 在信息化时代,我们的生活和工作离不开网络,浏览器作为我们接触网络的主要工具,其功能的拓展性日益凸显。"Gratitude Aptitude-crx插件"就是这样一个...
在IT行业中,自动化工具的使用...解压并研究这些文件可以帮助更好地理解和使用`ansible-apt`角色。通过将这个角色集成到你的Ansible playbooks中,你可以充分利用其功能,优化你的Debian或Ubuntu系统的软件包管理流程。
标题中的“kio-apt bookmark-开源”表明这是一个与开源软件相关的项目,它结合了kio(KDE的I/O接口)和apt(Advanced Package Tool)功能,创建了一个书签系统,目的是为了方便用户像使用突触(Synaptic,一个图形化...
语言:English (United States)停止猜测并开始改进你的词汇。我们的选择单词定义我们,为什么不扩展我们的选择? 在您身边有能力的单词,您可以搜索并保存您有困难时间记住的单词列表。 不要花时间你在字典中向上抬头...
- `auto-apt run ./configure`: 在编译时自动处理缺失的头文件。 这些只是Ubuntu命令的一部分,实际上还有很多其他命令用于系统维护、网络管理、文件操作等。熟练掌握这些命令能够极大地提高Ubuntu系统的使用效率...
- `sudo auto-apt run ./configure`:在编译时自动处理缺失的头文件问题。 - `ls /var/cache/apt/archives`:查看下载的软件包临时存放位置。 - `dpkg --get-selections | grep -v deinstall > ~/somefile`:备份...
### Aptitude 使用详解 #### 一、Aptitude简介 Aptitude是一款强大的包管理工具,主要用于Debian及其衍生系统(如Ubuntu)中进行软件包的安装、更新、卸载等操作。它提供了丰富的功能,使得用户能够更加方便地管理...
Validity assessment of the Woodcock-Johnson Broad Cognitive Ability and Scholastic Aptitude cluster scores for behavior-disordered adolescents Psychology in the Schools Volume 22, Oclober 1985 ...
在C语言中,aptitude问题通常涉及对语言基础的理解,包括数据类型、指针、数组、运算符以及存储类等核心概念。以下是对题目中给出的四个问题的详细解释: 1. 题目:void main(){int const * p=5;printf("%d",++(*p)...