PS:要转载请注明出处,本人版权所有。

PS: 这个只是基于《我自己》的理解,

如果和你的原则及想法相冲突,请谅解,勿喷。

前置说明

  本文作为本人csdn blog的主站的备份。(BlogID=070)

  本文发布于 2018-09-10 11:47:11,现用MarkDown+图床做备份更新。blog原图已丢失,使用csdn所存的图进行更新。(BlogID=070)

环境说明

  System:Linux tegra-ubuntu 4.4.38-tegra #1 SMP PREEMPT Fri Jul 28 09:55:22 PDT 2017 aarch64 aarch64 aarch64 GNU/Linux

前言


  无

什么是源


  源是一个在网络上的软件仓库,这里面存放着各种各样的软件安装包。在我们使用Linux系统的过程中,往往需要安装一些自己需要的软件,这些软件大部分由相关人员打包好了,存放到软件仓库中。在我们个人的Linux系统上,有着一种工具叫做包管理器,专门用来下载和安装我们需要的软件,并且提供自动补全依赖功能。列如:apt,yum,dnf,dpkg。

  下面以debian系的Ubuntu为例,对源和这些工具的关系做一个简单介绍。

客户端---源


  在ubuntu上,在/etc/apt/sources.list目录中,存放了关于源的网络地址和软件仓库名。列如:

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution. deb http://ports.ubuntu.com/ubuntu-ports/ xenial main deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial main
#deb http://ports.ubuntu.com/ubuntu-ports/ xenial main restricted
#deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial main restricted ## Major bug fix updates produced after the final release of the
## distribution.
deb http://ports.ubuntu.com/ubuntu-ports/ xenial-updates main restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-updates main restricted ## Uncomment the following two lines to add software from the 'universe'
## repository.
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://ports.ubuntu.com/ubuntu-ports/ xenial main universe
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial main universe
# deb http://ports.ubuntu.com/ubuntu-ports/ xenial-updates universe
# deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-updates universe ## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
# deb http://ports.ubuntu.com/ubuntu-ports/ xenial-backports main restricted
# deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-backports main restricted deb http://ports.ubuntu.com/ubuntu-ports/ xenial-security main restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-security main restricted
# deb http://ports.ubuntu.com/ubuntu-ports/ xenial-security universe
# deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-security universe
# deb http://ports.ubuntu.com/ubuntu-ports/ xenial-security multiverse
# deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-security multiverse

  首先,debian系的软件包的格式为deb格式。这里的deb deb-src分别代表deb包和deb包对应的源码的地址和仓库。

deb和deb-src格式介绍(具体可参考ubuntu官方文档):
  1. http://xxxx为对应的网络地址
  2. xenial 对应的是ubuntu的系统版本代号,这里为16.04
  3. security,backports,updates,preposed 对应的是ubuntu大的系统版本号中的小版本,我们基本只会用到前面两个。相关介绍:它们分别对应的是安全更新(影响系统性能),后备更新(在ubuntu大版本冻结时,所有对应软件的功能也定型了,后续只会修复bug,哪怕相关软件更新了功能,但是此版本ubuntu不提供新功能,这个小版本就是提供这些软件的新版本的),普通更新(不影响系统性能),预备更新(说白了就是security,updates的beta测试版本,验证稳定后,进入security,updates)。
  4. main,universe,restricted,multiverse 版权限定。他们分别是官方维护的自由软件,社区维护的自由软件,设备驱动,非自由软件,但是可免费使用。

  总的格式为:

  • deb 网络地址 系统代号(大版本)-小版本 版权限定
  • deb-src 网络地址 系统代号(大版本)-小版本 版权限定

客户端---源


  打开一个ubuntu的源,可能如下图:

  这里有两个文件夹是我们经常用到的,一个是dists,一个是pool,其他的文件及文件夹一般人不会用到。

dists文件夹:

  分版本,版本限定以及架构存放的软件包的信息,例如下面的这些图:

  这里的压缩包里面存放的就是这个仓库的软件信息,有需求可以下载下来分析,里面包含很多有用的信息。(其实我们apt update下载下来的东西就是这个)

pool文件夹:

  里面是所有的包存放的物理地址,这些物理地址的引索在dists文件夹中的压缩包中有。所以直接可以apt install 下载下来,通过dpkg安装。

  pool里面的包也是按照包首字母和版权限定存放的。

  列如包:gstreamer1.0-plugins-ugly

  在ubuntu的软件包搜索中,查找gstreamer1.0-plugins-ugly,找到后,切换到下载页面,可见gstreamer1.0-plugins-ugly的实际下载路径,如下图,意思是在某源的pool/universe/g/gst-plugins-ugly1.0/ 目录下,如图:

  这样我就找到了这个包

注意:如果通过apt 无法安装某些软件,并且你在ubuntu软件包中搜索到了,请打开对应的限定源并更新即可下载。
服务端---源 常见的有几种
  1. ubuntu 官方源
  2. ppa(Personal Package Archives)

后记


  无

参考文献


打赏、订阅、收藏、丢香蕉、硬币,请关注公众号(攻城狮的搬砖之路)

PS: 请尊重原创,不喜勿喷。

PS: 要转载请注明出处,本人版权所有。

PS: 有问题请留言,看到后我会第一时间回复。

Ubuntu 的源相关介绍(最近在配gstreamer的时候,紧急补充的知识)的更多相关文章

  1. 一 hadoop 相关介绍

    hadoop 相关介绍 hadoop的首页有下面这样一段介绍.对hadoop是什么这个问题,做了简要的回答. The Apache™ Hadoop® project develops open-sou ...

  2. Ubuntu下载源码并编译

    本文章将介绍如何在Ubunt下进行Linux源码下载,并进行简单的编译步骤. 1.下载linux源码 先查看对应的Ubuntu对应版本源码 $ sudo apt-cache search linux- ...

  3. ubuntu 更新源 或者 apt-get install 出错404 not found ,Failed to fetch

    1.考虑是不是能上网 2.用apt-get update ,然后再试试apt-get install 如果apt-get update 也出现很多 404 not found 或者 failed to ...

  4. 寒武纪加速平台(MLU200系列) 摸鱼指南(一)--- 基本概念及相关介绍

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...

  5. GMAC网卡相关介绍与分析

    GMAC网卡相关介绍与分析 目录 GMAC网卡相关介绍与分析 环境描述 MII MII RMII GMII RGMII SGMII GMAC网卡信息获取方法 获取GMAC网卡信息 查看PHY工作接口模 ...

  6. ubuntu更新源(Package has no installation candidate 的问题)

    最近将公司的台式机安装了ubuntu16.04,安装之后,使用apt-get install openssh-server 发现出现:Package 'openssh-server' has no i ...

  7. ppDelegate的相关介绍

    //  AppDelegate的相关介绍//  IOS笔记 //@interface AppDelegate : UIResponder <UIApplicationDelegate>// ...

  8. Ubuntu 更新源

    1.首先备份Ubuntu12.04源列表 sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup (备份下当前的源列表) 2.修改更新源 ...

  9. 更换ubuntu apt-get 源

    为了优化ubuntu软件安装/更新速度,我测试了国内几家apt源的速度,发现北京交大的apt源速度相对最快,然后可以通过以下步骤更新ubuntu源 1) 备份默认的apt源 $ cd /etc/apt ...

  10. 【个人笔记】002-PHP基础-01-PHP快速入门-02-PHP语言相关介绍输

    002-PHP基础-01-PHP快速入门 02-PHP语言相关介绍 1.PHP是什么 Hypertext Preprocessor超文本预处理器 是一种通用开源脚本语言 Personal Home P ...

随机推荐

  1. docker之redis集群部署

    docker之redis集群部署 PART01: 3主3从redis集群部署 3主3从redis集群配置 关闭防火墙,启动docker服务 如果报以下错误,应该是docker 服务没有启动,可以执行下 ...

  2. 阿里二面:SpringBoot可以同时处理多少个请求?当场懵了。。。。

    SpringBoot以其简洁高效的开发方式和强大的内嵌容器特性,为开发者提供了构建高性能后端服务的便利.然而,当面临高并发场景时,理解并合理配置Spring Boot应用以达到最佳的并发处理能力至关重 ...

  3. STM32 HAL库 USART DMA驱动

    前言 本文是在使用 STM32L4 的串口 DMA 功能时,使用 HAL 库出现的一些问题,通过以下方式解决了 HAL 库中存在 DMA 发送和接收的一些问题. STM32L4 的 DMA 简介 DM ...

  4. 执行orachk检查数据库环境

    Exadata环境巡检需要执行专有的exachk,而普通Oracle环境可以通过执行orachk来检查集群和数据库相关健康状况. 1.使用orachk检查健康状态 使用root用户执行,期间可能需要多 ...

  5. jwt 生成的token exp 的单位是秒

    public class Test { public static void main(String[] args) throws UnsupportedEncodingException { Dat ...

  6. Adoquery 简单的事务 编程 超级棒

    1.记得 有一次 看 c#视频教程,发现了一个简单事务 处理的绝佳方法,就是 adoquery 其实是可以 同时执行多条 SQL 语句的, 当其中一条 SQL 语句失败了,那么其余 SQL 语句也会失 ...

  7. Python数组合并和数组分割(数组拆分)

    数组的合并和拆分 ## 将数组按照固定长度进行拆分,返回一个二维数组 def list_split(source_list, n): return [source_list[i:i+n] for i ...

  8. C#对于加密的一点整合 (AES,RSA,MD5,SHA256)

    aes 对称加密  密钥必须是32字节 using System; using System.Security.Cryptography; using System.Text; namespace C ...

  9. python使用pandas库读写excel文件

    操作系统 : Windows 10_x64 Python 版本 : 3.9.2_x64 平时工作中会遇到Excel数据处理的问题,这里简单介绍下怎么使用python的pandas库读写Excel文件. ...

  10. 实操开源版全栈测试工具RunnerGo安装(一)

    Docker版安装文档 一.环境要求​ 1.1 部署服务器要求​ 操作系统:任何支持 Docker 的 Linux x86 CPU内存:最低要求 4C8G,推荐 8C16G 网络要求:可访问互联网 ​ ...