操作系统:Ubuntu 18.04 LTS

一、概述

之前在Ubuntu下我一直坚持将软件下载包下载到指定文件夹下进行解压安装的习惯,在部门同事的建议下,我开始使用apt命令下载管理包。

由于网上已经有许多优秀的文章解析了apt命令,在此就不赘述,文章末尾有链接。我将阐述说明使用apt下载管理包的优势

二、apt命令的优势

我们知道,传统下载安装软件的操作流程就是上网找到这个软件安装包的下载链接,然后下载到本地指定的路径下,解压安装运行即可。

然而对于有些软件需要自己导入环境变量,或者将库文件放入合适的目录下,这时我们就觉得很恼火,但在Ubuntu环境下,apt这个命令解决了这一切。

一个软件,我大致画了一下它的组成结构

假如我们要下载一个名为a.deb的软件安装包,解压后它会得到可执行文件和相应的库文件,如果在Windows系统下这些库文件你还要自己放到指定的目录文件夹下,但在Linux下这一步它帮你搞定了。

但是,如果这个a.deb安装包中还有一个依赖项描述文件(这个文件并不是真实存在的,只是为了方便理解),这个文件内容是需要将它所依赖的b.deb软件安装包也要下载下来,那么以此类推,如果b.deb中也需要依赖一个c.deb软件安装包,那也要下载下来。然而,这些步骤,一个apt命令就可以搞定,并且自动帮你配置好环境,将需要的库文件放到指定的文件夹下,省去了开发者不少的精力和时间。

因此,目前我如果在Ubuntu上想下载一个安装包,先搜索相关安装包,再用apt命令进行下载即可。

sudo apt search XXX安装包
sudo apt install XXX安装包

三、参考资料

apt命令详解

apt-get 命令详解(中文),以及实例

使用新的 apt 命令在 Ubuntu 16.04 LTS 下管理软件包

Ubuntu环境使用apt命令下载管理包的优势的更多相关文章

  1. Linux学习笔记(一)----Ubuntu下的apt命令

    一.原理与目录 先介绍几个和apt-get相关的目录: /var/lib/dpkg/available文件的内容是软件包的描述信息, 该软件包括当前系统所使用的 Debian 安装源中的所有软件包,其 ...

  2. Ubuntu 如何使用apt命令安装、升级、卸载软件

    apt-get是一条linux命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索.安装.升级.卸载软件或操作系统. apt-get命令一般需要root权限执行,所以一般跟着su ...

  3. ubuntu中使用apt命令安装ipython失败解决方案

    在最近使用ubuntu安装ipython时,出现如下报错: 出现这个问题,主要是因为apt还在运行,故解决方案为: 1.找到并且杀掉所有的apt-get 和apt进程 运行下面的命令来生成所有含有 a ...

  4. maven命令下载jar包

    mvn install:install-file -Dfile=jar包保存的本地路径 -DgroupId=jar保存的父级路径 -DartifactId=jar包文件夹名称 -Dversion=版本 ...

  5. Ubuntu查找通过apt命令已安装软件

    方法一 apt list --installed 方法二 dpkg -l

  6. ubuntu 下通过ftp命令下载文件

    /*连接*/ $ ftp 192.168.180.2Connected to 192.168.180.2.Name (192.168.180.2:rivsidn): admin  Password: ...

  7. ubuntu下dpkg/apt的一些常用命令

    apt-get update 更新源(硬盘缓存的包的版本等)apt-get upgrade 更新包(更新系统中已安装的包,依据缓存包的版本更新)apt-get dist-upgrade 升级系统apt ...

  8. Ubuntu上的apt/apt-get等命令的实质意义和区别

    Ubuntu上的apt/apt-get等命令的实质意义和区别 一.前言 在使用apt和apt-get命令的时候我们常常会疑惑这两者有什么区别,因为大多数时间这两个命令能做很多相同的事情. 二.APT/ ...

  9. Linux系统yum命令安装软件时保留(下载)rpm包 -- 转载

    昨天在部署zabbix监控的时候,遇到一个问题:监控服务器处于无外网状态,在线安装不可用.而某些依赖包度娘或谷姐搜索起来也挺呛人的!于是想到一个办法,利用有外网的服务器的yum命令来安装这些软件,并自 ...

随机推荐

  1. 基于CC2530/CC2430 的温湿度采集系统--DHT11

    采用常用的温湿度传感器DHT11 参见论坛中实例视频讲解http://bphero.com.cn/forum.php?mod=viewthread&tid=15&extra=page% ...

  2. php 压缩文件 zip

    <?php    class PHPZip    {        private $ctrl_dir     = array();        private $datasec      = ...

  3. java中的lis数组转为json数据

    第一个想到的办法就是 javascript中的replace 也就是先将list数组转为 字符串再对 字符串  replace 但是万万没想到javascript的replace函数在替换数据时, 默 ...

  4. Django——邮件发送

    在settings中添加关键信息 EMAIL_HOST = 'smtp.qq.com' #不同的邮箱有不同的发件地址(收件地址) EMAIL_PORT = 25 #smtp端口号 EMAIL_HOST ...

  5. Java 状态模式

    在阎宏博士的<JAVA与模式>一书中开头是这样描述状态(State)模式的:状态模式,又称状态对象模式(Pattern of Objects for States),状态模式是对象的行为模 ...

  6. css中px,em,rem,rpx的区别

    今天看到一个面试题为 px,em的区别,为了更好地让读者区分css的长度单位,我总结下css中常用的长度单位: px,em,rem,rpx 像素px是我们在定义CSS中经常用到的尺寸大小单位,而em在 ...

  7. 概率图模型 基于R语言 这本书中的第一个R语言程序

    概率图模型 基于R语言 这本书中的第一个R语言程序 prior <- c(working =0.99,broken =0.01) likelihood <- rbind(working = ...

  8. java常用技巧

    字符串转换成数值的方法 String s="123"; int i; 第一种方法:i=Integer.parseInt(s); 第二种方法:i=Integer.valueOf(s) ...

  9. hihocoder1524

    题目链接 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个1-N的排列A1, A2, ... AN,如果Ai和Aj满足i < j且Ai > Aj,我们 ...

  10. elastic-job详解(四):失效转移

    elastic-job中最关键的特性之一就是失效转移.配置了失效转移之后,如果在任务执行过程中有一个执行实例挂了,那么之前被分配到这个实例的任务(或者分片)会在下次任务执行之前被重新分配到其他正常节点 ...