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. 小知识:NFS卡死问题处理

    现象: df -h发现长时间卡住,无法显示结果. 根据以往运维经验,通常df -h这种操作都无法显示时,首先就要确认是否有NFS挂载的目录,如果有,确认NFS目录是否正常. 这是最常见的情况,最近又遇 ...

  2. NC210520 Min酱要旅行

    题目链接 题目 题目描述 从前有个富帅叫做Min酱,他很喜欢出门旅行,每次出门旅行,他会准备很大一个包裹以及一大堆东西,然后尝试各种方案去塞满它. 然而每次出门前,Min酱都会有个小小的烦恼.众所周知 ...

  3. Python三次样条插值与MATLAB三次样条插值简单案例

    1 三次样条插值 早期工程师制图时,把富有弹性的细长木条(所谓样条)用压铁固定在样点上,在其他地方让它自由弯曲,然后沿木条画下曲线,成为样条曲线. 设函数S(x)∈C2[a,b] ,且在每个小区间[x ...

  4. Golang gRPC学习(05): retry重试

    什么是重试 如果服务出现了错误,主要是网络,服务器出现了短暂异常的时候,该怎么办? 我们都会人工或者自动的重新连接服务试试,看服务是否恢复可用了. 这种重新进行连接服务的一种方式就是重试.如果是在微服 ...

  5. Java的SPI机制实践

    Java SPI机制概述 先给出结论:"Java的SPI是一种服务发现机制,用于约定接口和动态发现实现类,体现了分层解耦的思想". Java的SPI机制常用于框架扩展或组件替换,最 ...

  6. MySQL重新设置auto_increment值

    需求描述 通常,我们都会在数据库表中设置一个自增字段作为主键,该字段的值会随着添加新记录而自增. 同时也必须注意,这个自增字段的值只会一直增加,即使把记录删除了,该自增字段的值也不会变小. 因此,就会 ...

  7. maven引入本地jar不能打入部署包的问题解决

    引入的三方依赖 jar 包, scope 为 system 的包 maven 默认是不打包进去的,需要加这个配置 在pom.xml文件中找到spring-boot-maven-plugin插件,添加如 ...

  8. 硬件开发笔记(十五):RK3568底板电路VGA显示接口原理图分析

    前言   前面输出了HDMI,LVDS,MIPI-DSI,这里还有一个常用的显示接口就是VGA了,这个用的不多了,一般板子都是hdmi了.  本篇分析底板VGA电路.   VGA接口   VGA(Vi ...

  9. pika

    生产者代码 # -*- coding: utf-8 -*- # pylint: disable=C0111,C0103,R0205 import json import pika from pika. ...

  10. 矩池云上 git clone --recursive 出错,怎么解决

    遇到问题 有时候安装包教程里 git clone 的时候会出现以下错误: git clone --recursive https://github.91chi.fun/https://github.c ...