apt-get vs aptitude

2023-05-16

apt-get

T

软件包管理工具

参数

 -h     帮助文件。  

 -q     输出到日志 - 无进展指示  

 -qq     不输出信息,错误除外  

 -d     仅下载 - 不安装或解压归档文件  

 -s     不实际安装。模拟执行命令  

 -y     在需要确认的场景中回应 yes

 -f     尝试修正系统依赖损坏处  

 -m     如果归档无法定位,尝试继续  

 -u     同时显示更新软件包的列表  

 -b     获取源码包后编译  

 -V     显示详细的版本号  

 -c=?     阅读此配置文件  

 -o=?     设置自定的配置选项,如 -o dir::cache=/tmp  


—help

$ apt-get --help

apt 2.0.4 (amd64)
用法: apt-get [选项] 命令
    apt-get [选项] install|remove 软件包1 [软件包2 ...]
    apt-get [选项] source 软件包1 [软件包2 ...]

apt-get 可以从认证软件源下载软件包及相关信息,以便安装和升级软件包,
或者用于移除软件包。在这些过程中,软件包依赖会被妥善处理。

常用命令:
  update - 取回更新的软件包列表信息
  upgrade - 进行一次升级
  install - 安装新的软件包(注:软件包名称应当类似 libc6 而非 libc6.deb)
  reinstall - 重新安装软件包(注:软件包名称应当类似 libc6 而非 libc6.deb)
  remove - 卸载软件包
  purge - 卸载并清除软件包的配置
  autoremove - 卸载所有自动安装且不再使用的软件包
  dist-upgrade - 发行版升级,见 apt-get(8)
  dselect-upgrade - 根据 dselect 的选择来进行升级
  build-dep - 为源码包配置所需的编译依赖关系
  satisfy - 使系统满足依赖关系字符串
  clean - 删除所有已下载的包文件
  autoclean - 删除已下载的旧包文件
  check - 核对以确认系统的依赖关系的完整性
  source - 下载源码包文件
  download - 下载指定的二进制包到当前目录
  changelog - 下载指定软件包,并显示其变更日志(changelog)

参见 apt-get(8) 以获取更多关于可用命令的信息。
程序配置选项及语法都已经在 apt.conf(5) 中阐明。
欲知如何配置软件源,请参阅 sources.list(5)。
软件包及其版本偏好可以通过 apt_preferences(5) 来设置。
关于安全方面的细节可以参考 apt-secure(8).
                                        

查询

dpkg -l                             // 列出已安装的所有软件包

apt-cache search PackageName        // 搜索软件包
apt-cache show PackageName          // 获取软件包的相关信息, 如说明、大小、版本等

apt-cache depends PackageName       // 查看该软件包需要哪些依赖包
apt-cache rdepends PackageName      // 查看该软件包被哪些包依赖

apt-get check                       // 检查是否有损坏的依赖

更新

apt-get update                  // 更新安装源(Source)
apt-get upgrade                 // 更新已安装的软件包
apt-get dist-upgrade            // 更新已安装的软件包(识别并处理依赖关系的改变)

查询

dpkg -l                             // 列出已安装的所有软件包

apt-cache search PackageName        // 搜索软件包
apt-cache show PackageName          // 获取软件包的相关信息, 如说明、大小、版本等

apt-cache depends PackageName       // 查看该软件包需要哪些依赖包
apt-cache rdepends PackageName      // 查看该软件包被哪些包依赖

apt-get check                       // 检查是否有损坏的依赖

如查询ros包

$ apt-cache show ros-melodic-teleop-twist-keyboard 
Package: ros-melodic-teleop-twist-keyboard
Version: 1.0.0-1bionic.20220127.145634
Architecture: amd64
Maintainer: Austin Hendrix <namniart@gmail.com>
Installed-Size: 35
Depends: ros-melodic-geometry-msgs, ros-melodic-rospy
Homepage: http://wiki.ros.org/teleop_twist_keyboard
Priority: optional
Section: misc
Filename: pool/main/r/ros-melodic-teleop-twist-keyboard/ros-melodic-teleop-twist-keyboard_1.0.0-1bionic.20220127.145634_amd64.deb
Size: 7016
SHA256: c1bd06c4551992ded09139e718ac765819242073c044d2cba84f268b072a6909
SHA1: 4038e6259a998c56c80e485bfc89fd2bf7d74a4b
MD5sum: d8a762155993a0e04e3ef6482c917fc2
Description: Generic keyboard teleop for twist robots.
Description-md5: 0b28d26a20ea93c8fad0ecae7a80ce16

aptitude

aptitude 与 apt-get 一样,是 Debian 及其衍生系统中功能极其强大的包管理工具基于大名鼎鼎的APT机制, 整合了 dselect 和 apt-get 的所有功能, 并提供的更多特性,特别是在依赖关系处理上。。与 apt-get 不同的是,aptitude在处理依赖问题上更佳一些。举例来说,aptitude在删除一个包时,会同时删除本身所依赖的包。这样,系统中不会残留无用的包,整个系统更为干净。

我在使用的时候,发现可以用其来判断安装包所依赖的包版本是否准确,从而调整版本,不然会陷入安装包的死循环,如libpcl-dev

使用apt-get vtk版本不对会出现这种情况

The following packages have unmet dependencies:
libpcl-dev : Depends: libvtk6-dev but it is not going to be installed
             Depends: libvtk6-qt-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

使用aptitude会可以选择将vtk的版本改变

sudo apt-get install aptitude
sudo aptitude install libpcl-dev

参数

-h:显示帮助信息
-d:仅下载软件包,不执行安装操作
-P:每一步操作都要求确认
-y:所有问题都回答“yes”
-v:显示附加信息; 
-u:启动时下载新的软件包列表

aptitude update            更新可用的包列表 

aptitude safe-upgrade      执行一次安全的升级 

aptitude full-upgrade      将系统升级到新的发行版 

aptitude install pkgname   安装包 

aptitude remove pkgname    删除包 

aptitude purge pkgname     删除包及其配置文件 

aptitude search string     搜索包 

aptitude show pkgname      显示包的详细信息 

aptitude clean             删除下载的包文件 

aptitude autoclean         仅删除过期的包文件 


参考

https://blog.csdn.net/HelloJinYe/article/details/109105848
https://blog.csdn.net/qi_SJQ_/article/details/121536903
apt-get

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

apt-get vs aptitude 的相关文章

  • Compojure 路由丢失参数信息

    My code defn json response data status status or status 200 headers Content Type application json body json generate str
  • 如何动态访问 Django 模型字段详细名称?

    我想访问我的模型字段 verbose name 我可以通过这样的字段索引来获取它 model meta fields 2 verbose name 但我需要动态获取它 理想情况下应该是这样的 model meta fields locati
  • Github API v3 不显示所有用户存储库

    如果我输入这个命令 curl https api github com users KiCad repos grep full name 我预计它将返回所有 KiCad 存储库 但它返回 full name KiCad Air Coils
  • jQuery 的 ajax 成功函数的额外参数

    我正在使用以下代码获取 XML 文件 function getMaps toLoad loadMaps length for var i 0 i lt loadMaps length i ajax type GET url loadMaps
  • PHP:嵌入另一个 URL 的 URL 的较短/模糊编码?

    我正在为自己编写一个脚本 它基本上可以让我在单个 get 请求的查询字符串中发送一个 URL 和两个整数维度 我使用 base64 对其进行编码 但它太长了 我担心 URL 可能会变得太大 有谁知道另一种更短的方法吗 在 get 请求中收到
  • Facebook Graph API 返回空数据集

    我正在尝试使用 Graph API Explorer 为我的应用程序创建访问令牌 以使用 me accounts 查看我的页面 但是 每次我尝试此操作时 它都会返回一个空数据集 我已经选择了manage pages作为权限 但它仍然不起作用
  • 从 GitHub 获取数据是可能的,从 dribbble 获取数据不起作用

    我使用这段代码从 GitHub API 获取数据 var name var description var html url var username PirateStef var updated at var language var r
  • CMS 中搜索表单的 POST 与 GET 方法

    我有点被一件事困住了 只是无法决定在搜索表单中使用 POST 还是 GET 方法 通常我会使用 GET 方法来创建这样的表单 这样用户就可以为他们得到的结果添加书签 但这一次 搜索表单出现在管理区域中 因此结果很快就会相关 并且无需为结果添
  • 从套接字读取二进制数据

    我正在尝试连接到服务器 然后向其发送 HTTP 请求 在本例中为 GET 这个想法是请求一个文件 然后从服务器接收它 它应该适用于文本文件和二进制文件 例如 imgs 我对文本文件没有问题 它工作得很好 但我对二进制文件有一些麻烦 首先 我
  • jquery 使用智能投票插件进行轮询

    我一生都在努力让这个插件正常工作 但我不理解状态函数 因此重试不会触发 poll 10000 function retry get willfail function response status if status success Do
  • Yii搜索方法不起作用并且不与数据库中的数据进行比较

    您好 昨天我尝试了一种按日期时间创建搜索的方法 您可以看到链接 搜索任务 https stackoverflow com questions 23517282 yii search form by date from to criteria
  • Angular2 - 将 POST 与 angular-in-memory-web-api 一起使用

    我正在使用 Angular 2 的 angular in memory web api 到目前为止 我只使用了 GET 调用 而且运行良好 我要调用的 API 仅使用 POST 调用 因此我开始将 GET 调用重写为 POST 调用 但随后
  • 如何从 javax.lang.model.VariableElement 获取参数类型

    我正在尝试使用 Java 6 元模型 API 查找方法的参数类型 如果类型是枚举 我还想知道它的所有类型的枚举常量名称 这是我到目前为止所得到的 for Element member members if member getKind El
  • Javascript 从服务器获取纯文本

    我想从我的服务器接收纯文本 或任何文档 作为字符串变量 例如在警报中显示它我尝试了这个解决方案 wordsurl http alpha test function ButtonClicked showsentence wordsurl fu
  • 如何在android sdk中从图库中获取图像并将其显示到屏幕上

    我想知道如何从图库中获取预先保存的图像 然后将其显示到屏幕上 任何教程 有用的链接和信息将不胜感激 如果您希望我进一步解释任何内容 请询问 Intent photoPickerIntent new Intent Intent ACTION
  • APT:Post-Invoke 在 debian:bookworm-slim 上失败

    我有一个 Jenkins 管道 它使用docker dind 20 在这个过程中我做 FROM ruby 3 2 slim bookworm apt get update 当我尝试使用我的本地构建映像 MacOS ventura 时dock
  • iOS 安全性将带有密码的数据发送至服务器或从服务器发送数据

    我正在构建一个应用程序 需要在服务器执行任何操作之前从用户设备发送密码以在服务器上进行身份验证 事情是这样的 用户的手机上有一个纯文本密码 该密码也在服务器中以 bcrypt 二进制文件的形式存在 用户想要从数据库中获取某些内容 因此用户通
  • WordPress 按标题获取帖子,例如

    我正在尝试为 WordPress 创建一个小型搜索功能 AJAX 调用应该获取标题类似的所有帖子 quote 是否有可能在内部实现这种情况get posts 功能 别误会我的意思 阿贾克斯工作正常 我的functions php 中有aja
  • 无法在 mysql-apt-config [Ubuntu 14.04] 中选择“确定”

    我使用的是 Ubuntu 14 04 sudo apt get update总是给我这个选项来配置 mysql apt config 我尝试选择版本 按 tab gt 在 确定 上突出显示的键 按 Enter 但没有任何反应 它再次返回并突
  • Ubuntu 12.10 libgtk-3-0 缺少符号

    我正在运行 Ubuntu 12 10 不知何故我的 libgtk 3 0 搞砸了 当尝试运行许多不同的应用程序时 我收到如下错误 gedit symbol lookup error usr lib libgtk 3 so 0 undefin

随机推荐

  • Ardupilot -- APM源码笔记四(重制)~ 线程机制

    认识Ardupilot线程 在了解过Ardupilot的链接库之后 xff0c 是时候来认识一下Ardupilot是怎么处理线程了 xff0c 对于从arduino继承过来的setup xff08 xff09 loop xff08 xff0
  • 最简单的python 人脸检测

    本篇文章是最基本的人脸检测 xff0c 没有复杂的算法 xff0c 只是简单的运用了这三个库opencv xff0c numpy xff0c pillow 一 开发环境搭建 我们使用Python自带的IDLE进行编程 xff0c 我使用的电
  • FreeRtos 任务优先级和中断优先级

    首先打出这个标题是为了便于搜索 在这里赘述一下 这两者没有关系 只需要明白的是中断优先级高于任务的优先级 在单片机运行的过程中 中断来了就执行中断服务程序 在free rtos中 任务优先级设置的数值越大 任务的优先级越高 Unix任务优先
  • 嵌入式工程师的经典面试题目

    嵌入式工程师的经典面试题目 预处理器 xff08 Preprocessor xff09 1 用预处理指令 define 声明一个常数 xff0c 用以表明1年中有多少秒 xff08 忽略闰年问题 xff09 define SECONDS P
  • rabbitmq版本升级

    目录 一 背景 二 部署新的mq 三 元数据备份和还原 四 消息数据备份和还原 五 注意 一 背景 因原来rabbitmq版本存在漏洞需升级至最新版本 原来是使用软件包部署 xff0c 升级我采用使用docker compose部署 xff
  • __attribute__

    前言 本文介绍 attribute 的使用方法 attribute 介绍 要了解Linux Kernel代码的分段信息 xff0c 需要了解一下gcc的 attribute 的编绎属性 xff0c attribute 主要用于改变所声明或定
  • 卡尔曼滤波(2):一个简单的例子

    为了说明离散性卡尔曼滤波器的用法 xff0c 我将用一个最简单的例子来进行说明 假设我们现在对一个房间内的温度进行测试 xff0c 房间内温度初值为25 c xff0c 每过一个时间周期 xff0c 温度x都将在上一个周期温度的基础上变动
  • 使用websocket连接Activemq,让前端接收MQTT消息

    使用websocket连接Activemq xff0c 让前端接收MQTT消息 Activemq简介准备工作简单示例 Activemq简介 Apache ActiveMQ is the most popular open source mu
  • Unix时间戳,GPS时间戳 ,UTC时间 , 本地时间

    本地时间 xff1a 计算机显示的时间 本地时间 61 UTC 时间 43 时区 xff08 北京时间是东八区 xff0c 也就是 43 8小时 xff09 unix 时间戳 xff1a UTC时间都是从 xff08 1970年01月01日
  • 详解PID控制算法 位置式和增量式区别 附代码详解

    1PID控制算法 什么是PID PID 控制器以各种形式使用超过了 1 世纪 xff0c 广泛应用在机械设备 气动设备 和电子设备 在工业应用中PID及其衍生算法是应用最广泛的算法之一 xff0c 是当之无愧的万能算法 PID 实指 比例
  • 虚拟机中打开Gazebo闪退的解决办法

    问题 xff1a 在vmware虚拟机中打开Gazebo闪退 原因 xff1a 开启了3D加速 xff0c 但分配的显存太小 xff0c 不足1G无法满足Gazebo的最低要求 解决办法如下 xff1a 1 关闭虚拟机 xff0c 在虚拟机
  • mysql插入千万条随机数据

    因为想测试sql在千万级数据下的优化 xff0c 准备在自己的阿里云数据库插入一千万条数据 xff0c 在网上搜了全是些乱七八糟的 xff0c 于是就自己动手 xff0c 同时也希望和大家分享 xff0c 不足之处还请各位指教 一 建表 1
  • linux C/C++ socket编程

    文章目录 前言linux socket api介绍简单客户端例子简单的服务端上述程序的问题epoll 前言 我们都知道socket编程实际上是使用tcp或者udp协议进行消息传输 xff0c 所以我们要更为的了解tcp udp协议 tcp三
  • 实现loading加载效果带百分比进度

    html lt div class 61 34 d loading 34 id 61 34 loading 34 gt lt div class 61 34 d loadVpic 34 gt lt div class 61 34 d opc
  • 什么是事件流?

    一 事件流的定义 页面触发一个事件时 xff0c 会按照一定的顺序来响应事件 xff0c 事件的响应过程为事件流 就我个人理解就是网页对点击事件的排序顺序就是事件流 二 事件流的分类 1 冒泡型的事件流 xff08 任何一款浏览器都支持 x
  • prometheus 学习(1)

    prometheus 配置文档 github地址 https github com prometheus prometheus blob master docs configuration configuration md 标签学习 glo
  • ROS订阅最新的消息及queue_size和buff_size的理解

    机器人应用中难免会遇到运算起来很费时间的操作 xff0c 比如图像的特征提取 点云的匹配等等 有时候 xff0c 不可避免地 xff0c 我们需要在ROS的Subscriber的Callback回调函数中进行这些费时的操作 Subscrib
  • NUC980第一篇:开发环境的搭建以及官方源码编译

    序言 之前参加了一个rtthread举办的活动 xff0c 拿到了一个新塘的NK IOT的板子 于是 xff0c 打算研究一下 xff0c 跑一跑linux 官方buildroot编译 下载地址 xff1a https gitee com
  • Linux系统安装Anaconda

    本文软件信息 xff1a 系统 xff1a RHEL8软件 xff1a Anaconda3 2022 10 Linux x86 64 sh Linux安装Anaconda的步骤都一样 xff0c 没啥差别 下载Anaconda的安装包 在官
  • apt-get vs aptitude

    apt get T 软件包管理工具 参数 h 帮助文件 q 输出到日志 无进展指示 qq 不输出信息 xff0c 错误除外 d 仅下载 不安装或解压归档文件 s 不实际安装 模拟执行命令 y 在需要确认的场景中回应 yes f 尝试修正系统