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
第三条执行不下去,因为没有权限
我怎么才能让他执行下去呢?🤔
下次再说!👋
评论