写点什么

oeasy 教您玩转 linux010202 软件包管理 apt

用户头像
o
关注
发布于: 2020 年 09 月 03 日



顾一下😌

上一部分我们都讲了什么?🤔

  • yes命令

  • 持续输出某字符串

yes oeasy

还有什么好玩的命令吗?🤔

列出所有包

apt list

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

# 找到yes对应位置which yes# /usr//bin/yes属于哪个包dpkg -S /usr/bin/yes# 在已经安装的包里面找到coreutildpkg -l coreutils# coreutils到底是干什么的?dpkg -s coreutils# 在已安装列表中搜索coreutilsapt list coreutils# 在源中搜索coreutilsapt 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

  • 第三条执行不下去,因为没有权限

  • 我怎么才能让他执行下去呢?🤔

  • 下次再说!👋



用户头像

o

关注

还未添加个人签名 2017.10.25 加入

还未添加个人简介

评论

发布
暂无评论
oeasy教您玩转linux010202软件包管理apt