顾一下😌
上一部分我们都讲了什么?🤔
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 [..] componentXdeb-src url distribution component1 component2 component3 [..] componentXdeb对应二进制文件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第三条执行不下去,因为没有权限 我怎么才能让他执行下去呢?🤔下次再说!👋