顾一下

上一部分我们都讲了什么?
  • yes命令
  • 持续输出某字符串

yes oeasy

还有什么好玩的命令吗?

列出所有包

apt list

这里好多文件啊,我们找找有没有yes

# 找到yes对应位置
which yes
# /usr//bin/yes属于哪个包
dpkg -S /usr/bin/yes
# 在已经安装的包里面找到coreutil
dpkg -l coreutils
# coreutils到底是干什么的?
dpkg -s coreutils
# 在已安装列表中搜索coreutils
apt list coreutils
# 在源中搜索coreutils
apt search coreutils

  • dpkg对应debian package 是传统包管理
  • dpkg更多的是本地包的各种安装卸载查看
  • 早年间都是通过ftp下载到本地,再dkpg的
  • apt是新的包管理工具
  • apt更多的是网络包的安装卸载查看
  • 如果有些包你是从红帽系rpm下载的
    • 可以用alien转化为deb
    • 然后安装deb文件
    • 可以用apt下好玩的包吗?

apt

  • apt是advanced package tools的意思
  • apt是debian系发行版的软件包管理工具
    • 红帽系的yum、arch系的pacman也是很好的管理工具
为什么要用这个工具?
  • 不同的cpu架构要用不同的二进制文件
  • 你可以有两种方法得到某种架构(比如mips)的二进制文件
    • 直接下载这个架构的二进制文件
    • 下载这个软件包的源文件,自己编译⚙️
但是这个得到的二进制文件还是有可能不能用
  • 软件包之间是有依赖关系的
  • 这个软件包依赖的软件包不存在
  • 甚至被依赖的软件包所依赖的软件包不存在
  • 这就形成了一条链路
  • 我们需要把这条链路上所有的软件包都下载下来
以上做法太麻烦了,我们只需要
  • 使用apt把相关操作封装成接口
  • 我们直接调用apt就可以了
  • 所以叫做高级包管理工具
  • 当然你得有地方下载,这就需要镜像站.

镜像站(mirrors)

软件包放在网络上
  • debian系的镜象列表是
    • https://www.debian.org/mirror/list
    • 这里面其实对应的就是我们/etc/apt/sources.list
镜像站一般也不只提供一个发行版的镜像
  • 以清华镜像站为例
    • https://mirror.tuna.tsinghua.edu.cn/
    • 有好多发行版
    • 点击发行版或软件包后面问号
    • 可以获得sources.list的相关清华源配置代码

实验楼里面默认的是阿里源也很好用
  • 我们要下载一个应用linuxlogo
  • 我先看看我设置的这些源里面有没有
sources.list
sources.list语法是这样的
  • deb url distribution component1 component2 component3 [..] componentX
  • deb-src url distribution component1 component2 component3 [..] componentX
  • deb对应二进制文件
  • deb-src对应源文件
  • 在地址后面有个版本号
  • 版本在dists(distribution)里面可以找到
    • https://mirror.tuna.tsinghua.edu.cn/debian/dists/
    • debian系列版本号都是玩具总动员中的角色
    • ubuntu版本号来自于动物
    • main、contribute是文件夹的名字
    • Buster版是最新的稳定版,适合拿来使用
    • 维护者维护的源头是源文件
      • 有了源文件,可以编译成到各种架构的二进制文件
      • 修改也是,先修改源文件
各种版本的生命周期

package
软件包发布的过程生命周期

# 搜索源里面有没有linuxlogo这个软件包
apt search linuxlogo
# 看看镜像站上面对于这个软件包的描述
apt show linuxlogo
# 下载安装这个软件包
apt install linuxlogo

  • search 查找到你的当前架构是否可以有这个软件包
  • show 显示开发者 简介 大小 所在的源的位置
    • 我们可以apt show apt看看apt的依赖关系
    • (A 或 B) 且 C 的关系写作 A | B, C
    • 第三条执行不下去,因为没有权限
    • 我怎么才能让他执行下去呢?
    • 下次再说!

oeasy教您玩转linux010202软件包管理apt的更多相关文章

  1. oeasy教您玩转linux010203显示logo

    我们来回顾一下 上一部分我们都讲了什么?

  2. oeasy教您玩转vim - 56 - # 字符可视化模式

    ​ 可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...

  3. oeasy教您玩转vim - 57 - # 行可视化

    ​ 可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...

  4. oeasy 教您玩转linux010101查看内核uname

    linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...

  5. oeasy教您玩转linux010201持续输出yes

    我们来回顾一下 上一部分我们都讲了什么?

  6. oeasy教您玩转linux010108到底哪个which

    到底哪个which 回忆上次内容 我们上次讲了查找命令位置whereis 我想找到whereis的位置怎么办?

  7. oeasy教您玩转linux010107那啥在哪 whereis

    回忆上次内容 上次讲了 ls 的参数 (arguement) 和选项 (option) 的设置. 现在我们要制作这样一个列表:

  8. oeasy教您玩转vim - 53 - # 批量替换

    查找细节 回忆上节课内容 我们温习了关于搜索的相关内容 /正向,?反向 n保持方向,N改变方向 可以设置 是否忽略大写小写 是否从头开始查找 是否高亮显示 还有一些正则表达式的使用方法 行头行尾 ^$ ...

  9. oeasy教您玩转python - 006 - # hello world

    ​ Hello World! 回忆上次内容 python3 的程序是一个 5.3M 的可执行文件 python3 里面全都是 cpu 指令 可以执行的那种指令 我们可以把指令对应的汇编找到 objdu ...

随机推荐

  1. Centos8最小化部署安装OpenStack Ussuri

    #!/bin/bash #Centos8最小化部署安装OpenStack Ussuri #共两台主机,分别是一台控制节点,一台计算节点 #.控制节点内存4096M.双网卡,分别为eth0:10.0.0 ...

  2. HiddenHttpMethodFilter进行请求过滤

    基于 HiddentHttpMethodFilter 的示例 作用: 由于浏览器 form 表单只支持 GET 与 POST 请求,而 DELETE.PUT 等 method 并不支持,Spring3 ...

  3. 基于视频压缩的实时监控系统-sprint2采集端图像采集子系统设计

    (1).初始化:a.初始化摄像头:b.注册事件到epoll (2).开始采集--->触发事件处理系统 (3).保存图像(方便测试) a.初始化摄像头 //初始化摄像头 1.获取驱动信息 2.设置 ...

  4. “随手记”开发记录day12

    就我们团队昨天的讨论,今天进行更改. 今天我们先简单的更改了之前的粉色背景图,因为用户反应总览界面的“总览”二字,是深粉色背景不太美观.进过多次更改之后使颜色变得更舒适.

  5. Java多线程入门及实战

    基本概念: 1: 程序 2 进程 3 线程 4 进程和线程的区别 5 进程和程序的区别 Java实现多线程的方法: 1 继承Thread 2 实现Runable 3 实现callable 4 线程池的 ...

  6. layui 事件监听触发

    1:监听select 改变 <!-- 不用form 用div也可以 --> <form class="layui-form"> <div class= ...

  7. Filebeat 收集K8S 日志,生产环境实践

    根据生产环境要求,需要采集K8Spod 日志,和开发协商之后,pod中应用会将日志输出到容器终端上,这时可以直接用filebeat 采集node节点上面的/var/log/containers/*.l ...

  8. 深入解析Laravel的中间件

    Laravel 中间件是什么? 简而言之,中间件在 laravel 中的作用就是过滤 HTTP 请求,根据不同的请求来执行不同的逻辑操作. 我们可以通过中间件实现以下功能: 指定某些路由 设置 HTT ...

  9. 【NOI2014】动物园 - KMP

    题目描述 近日,园长发现动物园中好吃懒做的动物越来越多了.例如企鹅,只会卖萌向游客要吃的.为了整治动物园的不良风气,让动物们凭自己的真才实学向游客要吃的,园长决定开设算法班,让动物们学习算法. 某天, ...

  10. 解决React路由跳转时出现的红色警告: Warning: Failed prop type: Invalid prop `component` of type `object` supplied to `Route`, expected `function`.

    一.报警如图: 二.查找路由版本 我使用路由版本是4.3.1的,然后我测试所有4.0+版本都会出现以上警告. 三.未解决前的代码 三.我又解读了一下报警告内容的大致意思:就是props需要通过函数返回 ...