操作系统: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. Linux下redis 的部署、主从与集群

    老男孩Python全栈6期——redis--------------------------Linux 操作系统 默认的内存管理机制RSS:page cache:anno page:Linux操作系统 ...

  2. docker 进入容器的mongodb

    docker search mongo docker pull mongo docke run -p 27017:27017 -v $PWD/db:/data/db -d  --name mymong ...

  3. python网络编程(七)

    应用:模拟QQ聊天 客户端参考代码 #coding=utf-8 from socket import * # 创建socket tcpClientSocket = socket(AF_INET, SO ...

  4. centos 7 之nginx

    环境信息 [root@node1 ~]# cat /etc/redhat-release CentOS Linux release (Core) [root@node1 ~]# uname -r -. ...

  5. css3实现不同的loading

    样式1: <html> <head> <style type="text/css"> .loading { position: fixed; t ...

  6. 关于setTimeout和setInterval的函数参数问题

    今天在写验证码倒计时小demo时,用了如下代码: window.setTimeout(count(num),1000); 这样直接使用将使count函数立即执行,并将返回值传递给setTimeout函 ...

  7. es6学习笔记二:生成器 Generators

    今天这篇文章让我感到非常的兴奋,接下来我们将一起领略ES6中最具魔力的特性. 为什么说是“最具魔力的”?对于初学者来说,此特性与JS之前已有的特性截然不同,可能会觉得有点晦涩难懂.但是,从某种意义上来 ...

  8. 【高精度】高精度分数[c++]

    [高精度]高精度分数 时间限制: 1 Sec 内存限制: 64 MB 题目描述 "人无远虑,必有近忧"是修罗王一直以来恪守的信条,为了以防万一,他在很久以前就将<魔法宝典&g ...

  9. GMA Round 1 向量计算

    传送门 向量计算 已知$\left |\overrightarrow{AB} \right |^2+\left |\overrightarrow{CD} \right |^2+\left |\over ...

  10. SpringBoot无废话入门01:最简SpringBoot应用

    虽然本篇讲的是一个最简的SpringBoot应用,但是要说明的是:学习SpringBoot是有门槛的,这个门槛就是, 1:首先得有框架的基础,比如SSM: 2:MAVEN基础. 在学好上面两者的基础上 ...