apt不止apt-get
作者:韭花帖_420 | 来源:互联网 | 2017-11-13 10:52
apt不止apt-get--Linux发行版技术-Debian信息,下面是详情阅读。
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
apt-file [options] action [pattern]
Configuration options:
?sources-list -s sources.list location
?cache -c
Cache directory
?architecture -a Use specific architecture
?cdrom-mount -d 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 numberAction:
update Fetch Contents files from apt-sources.
search|find
Search files in packages
list|show
List files in packages
purge Remove cache files
此工具在寻找编译时缺的文件时很有用, 用前记得先 apt-file update
PS: auto-apt 有相同功能, 而且可以检测进程需要哪些缺少的文件, 自动提示用户选择安装相应的包.
推荐阅读
本文详细介绍了如何在Ubuntu 16.04系统上配置Jenkins、Ant和TestNG的集成开发环境,涵盖从安装到配置的具体步骤,并提供了创建Windows Slave节点及项目构建的指南。 ...
[详细]
蜡笔小新 2024-12-20 16:50:58
本文详细介绍了在 Ubuntu 16.04 系统中使用 APT-GET 包管理器安装 MySQL 5.7 数据库的过程,并对安装后的文件和目录结构进行了说明,包括重要的配置文件及其功能。 ...
[详细]
蜡笔小新 2024-12-16 12:50:19
当我在命令行登录MySQL后,无法访问任何依赖数据库连接的PHP应用。此问题每次都会出现。以下是复现问题的具体步骤及解决方案。 ...
[详细]
蜡笔小新 2024-12-13 12:28:57
本文介绍了如何在Ubuntu 16.04系统上配置Nginx服务器,以便能够通过网络访问存储在服务器上的图片资源。这解决了在网页开发中需要使用自定义在线图标的需求。 ...
[详细]
蜡笔小新 2024-12-12 16:35:25
本文探讨了Unix和Linux操作系统的起源和发展历程。从20世纪60年代计算机技术的初期阶段,到Unix的诞生及后续Linux的崛起,文章详细介绍了这些操作系统如何逐步成为现代计算不可或缺的一部分。 ...
[详细]
蜡笔小新 2024-12-07 12:39:27
本文档详细介绍了如何在Ubuntu 14.04 (Desktop AMD64) 系统上安装和配置ROS Indigo。包括设置软件源、安装ROS核心组件、初始化rosdep以及创建ROS工作空间等步骤。 ...
[详细]
蜡笔小新 2024-12-06 12:55:49
对于喜爱使用 Linux 终端进行日常操作的系统管理员来说,Calcurse 提供了一种强大的方式来管理日程安排、待办事项及会议。本文将详细介绍如何在 Linux 上安装和使用 Calcurse,帮助用户更有效地组织工作。 ...
[详细]
蜡笔小新 2024-11-21 17:01:54
本文介绍了Linux操作系统的核心组成部分——内核及其版本分类,以及市面上常见的几种Linux发行版,旨在为初学者提供一个清晰的学习路径。 ...
[详细]
蜡笔小新 2024-11-20 10:09:16
在 Ubuntu 中遇到 Samba 服务器故障时,尝试卸载并重新安装 Samba 发现配置文件未重新生成。本文介绍了解决该问题的方法。 ...
[详细]
蜡笔小新 2024-11-12 13:02:23
Parallels Desktop for Mac 是一款功能强大的虚拟化软件,能够在不重启的情况下实现在同一台电脑上无缝切换和使用 Windows 和 macOS 系统中的各种应用程序。该软件不仅提供了高效稳定的性能,还支持多种高级功能,如拖放文件、共享剪贴板等,极大地提升了用户的生产力和使用体验。 ...
[详细]
蜡笔小新 2024-11-09 13:40:12
Dense Matrix Inversion Results in Segmentation Fault: Causes and Solutions ...
[详细]
蜡笔小新 2024-11-07 08:11:57
本文详细介绍了如何在Kali Linux 2019.4 64位系统中安装Nessus 8.9.1,并涵盖了从下载、安装到插件更新及自动化的全过程。同时提供了必要的配置步骤以确保软件能够正常运行。 ...
[详细]
蜡笔小新 2024-12-09 15:14:04
本文详细介绍如何在Linux操作系统中配置Subclipse,以便通过SSH协议安全访问SVN仓库。不同于常见的Windows配置指南,本文提供了针对Linux用户的详细步骤。 ...
[详细]
蜡笔小新 2024-12-07 20:20:13
利用 fopen、fwrite、fread、fseek 和 fclose 实现文件中整型数据的读写操作 ...
[详细]
蜡笔小新 2024-11-09 02:48:26
数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ...
[详细]
蜡笔小新 2024-11-08 10:55:29