Linux中没有tree命令的时候提示安装的时候出现了两个命令,简单看了看两者有何区别(一般用apt就可以了):

  sudo snap install tree 和 sudo apt install tree 这两个命令都是用来安装 tree 命令行工具的,但它们使用的是不同的包管理器和软件源。

  1. Snap

    • snap 是由 Canonical 开发的一种跨平台的包管理系统,用于安装、运行和自动更新应用程序。
    • Snap 包是自包含的,它们包括所有必要的依赖项,这意味着它们不会影响系统的其他部分。
    • Snap 包通常是最新的,因为它们直接从开发者那里接收更新。
    • 但是,Snap 包可能会比传统包管理器的版本更新得更快,有时这可能会导致与系统的其他部分不兼容。
  2. APT

    • apt(高级包装工具)是 Debian 及其衍生系统(如 Ubuntu)的标准包管理器。
    • 使用 apt 安装的软件包会从你的系统的软件源(repositories)中获取,这些源通常由你的 Linux 发行版维护。
    • apt 管理的软件包通常会经过更严格的测试,以确保它们与系统的其他部分兼容。
    • 但是,这些软件包可能不是最新版本的,因为它们需要经过测试和验证。

选择哪个命令取决于几个因素:

  • 版本偏好:如果你需要最新版本的 tree,可能会倾向于使用 Snap。但是,如果你需要一个经过充分测试且与你的系统兼容的版本,APT 可能是更好的选择。
  • 依赖管理:如果你希望应用程序包含所有必要的依赖项,并且不与系统中的其他软件包冲突,Snap 可能更适合。
  • 系统兼容性:如果你的系统是较新的 Ubuntu 版本,它可能默认使用 Snap。如果你使用的是较旧的系统或不同的 Linux 发行版,APT 可能是唯一的选项。

在决定使用哪个命令之前,你可以检查你的系统是否支持 Snap,以及你是否有特定的版本需求。如果没有特别的偏好或需求,通常使用系统默认的包管理器(在大多数 Ubuntu 系统上是 apt)是一个安全的选择。

【转】https://blog.csdn.net/weixin_45459266?type=blog

snap和apt的区别简单了解[]的更多相关文章

  1. CommonJS, AMD, CMD是什么及区别--简单易懂有实例

    CommonJS, AMD, CMD都是JS模块化的规范. CommonJS是服务器端js模块化的规范,NodeJS是这种规范的实现. AMD(异步模块定义)和CMD(通用模块定义)都是浏览器端js模 ...

  2. java中String、StringBuffer和StringBuilder的区别(简单介绍)

    简单介绍 java中用于处理字符串常用的有三个类: 1.java.lang.String 2.java.lang.StringBuffer 3.java.lang.StrungBuilder 三者共同 ...

  3. 从Docker在Linux和Windows下的区别简单理解Docker的层次结构

    上篇文章我们成功在Windows下安装了Docker,输出了一个简单的Hello World程序.本文中我们将利用Docker已有的云端镜像training/webapp来发布一个简单Python的W ...

  4. C89和C99区别--简单总结

    (1)对数组的增强 可变长数组 C99中,程序员声明数组时,数组的维数可以由任一有效的整型表达式确定,包括只在运行时才能确定其值的表达式,这类数组就叫做可变长数组,但是只有局部数组才可以是变长的.可变 ...

  5. layui框架中关于table方法级渲染和自动化渲染之间的区别简单介绍

    方法级渲染: <table class="layui-hide" id="LAY_table_user" lay-filter="user&qu ...

  6. 关于Actions和Robot的区别简单说明

    Actions和Robot都是可以用来模拟键盘操作,但是两者还是有区别的 Actions actions =new Actions(driver) 实例化一个Actions后,我们可以使用action ...

  7. iOS KVC 和 KVO 区别简单总结

    KVC: key value coding,键值编码.是一种通过使用属性的名称(key)来间接访问对象属性的方法.这个方法可以不用通过 setter/getter 方法来访问对象的属性.该方法使用的实 ...

  8. forEach和map的区别,简单写了IE低版本的原形封装

    今天有点'不务正业',旧的没有写完又开新的,没办法 -0- 今天遇到这个特感兴趣嘛入正题了 forEach 和 map 的区别 参考:http://blog.csdn.net/boysky0015/a ...

  9. synchronized与Lock区别简单总结

    类别 synchronized Lock 存在层次 Java的关键字,在jvm层面上 是一个类 锁的释放 1.以获取锁的线程执行完同步代码,释放锁 2.线程执行发生异常,jvm会让线程释放锁 在fin ...

  10. Ubuntu : apt 命令

    apt 命令是一个功能强大的命令行工具,它不仅可以更新软件包列表索引.执行安装新软件包.升级现有软件包,还能够升级整个 Ubuntu 系统(apt 是 Debian 系操作系统的包管理工具).与更专业 ...

随机推荐

  1. 报错 qt.qpa.plugin: Could not load the Qt platform plugin “xcb“ in ““ even though it was found

    参考: https://blog.csdn.net/qq_39938666/article/details/120452028 ==================================== ...

  2. Linux共享内存通信的C语言Demo代码

    重点注明: 本文代码来源于: https://blog.csdn.net/github_38294679/article/details/122360026 ===================== ...

  3. java关于二维数组的操作

    代码: ''' package tests; public class Yanghui { public static void main(String[] args) { //声明二维数组的三种方式 ...

  4. 组合数取模的几种方法--Exlucas&杨辉三角&组合

    组合数取模的几个方法 求: \[C^{m}_{n} \bmod P \] 1.杨辉三角法 \[C^{m}_{n} = C^{m - 1}_{n - 1} + C^{ m }_{n - 1} \] 时间 ...

  5. OpenVino快速落地部署教程

    OpenVino快速落地部署教程 Openvino是由Intel开发的专门用于优化和部署人工智能推理的半开源的工具包,主要用于对深度推理做优化.本教程适用于Yolov5-7.0,直接跑Yolov5为6 ...

  6. 微信小程序开发工具怎样支持xdebug调试

    在做PHP项目时候用xdebug进行调试,如果使用浏览器我一般直接 Xdebug Helper 浏览器插件.配合PHPSTORM进行调试. 微信小程序并不支持cookies,因此需要另想办法,可以在微 ...

  7. jstack排查cpu占用高的步骤

    通过jstack排查cpu占用高的问题 1.通过top命令找到cpu占用高的应用程序进程 2.通过top -H -p pid查看该应用中占用CPU高的线程. 3.通过printf "%x\n ...

  8. uniCloud

    https://doc.dcloud.net.cn/uniCloud/ 什么是uniCloud uniCloud推出了opendb,包含了大量的开源数据库模板,常见数据表无需自己设计 uniCloud ...

  9. ES 去重/聚合查询

    es 安装版本为 7.14.0 springboot 有默认的版本,防止冲突设置如下 <properties> <java.version>1.8</java.versi ...

  10. 29. GIL全局解释器锁、信号量、线程池进程池

    1. GIL全局解释器锁 1.1 概念 '''In CPython, the global interpreter lock, or GIL, is a mutex that prevents mul ...