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

顾一下😌

上一部分我们都讲了什么?🤔
  • 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
    • 第三条执行不下去,因为没有权限
    • 我怎么才能让他执行下去呢?🤔
    • 下次再说!👋
posted on 2020-09-03 06:47  overmind1980  阅读(117)  评论(0编辑  收藏  举报