如何解开一个.deb文件

解压.deb包方法
使用ar命令解开.deb包
[b]ar vx test.deb[/b]
解开之后会得到三个文件
debian-binary
control.tar.gz
data.tar.gz

使用 tar 解开 data.tar.gz 即可得到deb文件中的数据文件
[b]tar -xzvf data.tar.gz[/b]
任务描述 本关任务:通过软件包管理课程学习,可以掌握不同方式的软件包安装方法,熟练安装软件、打开应用软件、卸载软件。 相关知识 为了完成本节知识,你需要掌握:1.deb软件格式;2.deb软件包管理。 deb 软件格式介绍 debDebian 软件包格式,文件扩展名为.deb,跟 Debian 的命名一样,deb 也是因 Debra Murdock(Debian创始人Ian Murdock的前妻)而得名。 Debian 包是 Unixar 的标准归档,将包文件信息以及包内容,经过 gzip 和 tar 打包而成。 处理这些包的经典程序是 dpkg,经常是通过 apt 来运作。通过 Alien 工具,可以将 deb 包转换成其他形式的软件包。 银河麒麟 V10 桌面版操作系统也采用了 deb 软件包格式,这使得拥有 Debian、Ubuntu 操作系统知识的小伙伴可以无缝使用银河麒麟 V10 桌面版操作系统安装、更新、卸载 deb 软件,继而更快学习、应用、管理银河麒麟 V10 桌面版操作系统。 deb 软件包管理 deb 软件包的安装 安装方法一:鼠标双击 deb 软件包开始安装 安装方法二:dpkg 命令 银河麒麟软件包获取地址: http://archive.kylinos.cn/kylin/KYLIN-ALL/pool/main/ 该网站把软件包安装首字母进行分类,存放在不同文件夹下 dpkg 命令用法 dpkg 是 Debian package 的简写,是 Debian 和基于 Debian 的系统中一个主要的包管理工具,用于软件的安装,构建、更新和移除。命令格式如下: dkpg [命令选项] 软件包名称 命令选项: -i:安装、升级软件包 -r:删除软件包 -P:删除软件包的同时删除其配置文件 -L:显示于软件包关联的文件 -l:显示已安装软件包列表 -unpack:解开软件包 -c:显示软件包内文件列表 -confiugre:配置软件包 dpkg 命令示例如下: 从 /data/workspaces/myshixun/soft 文件夹中拷贝 vsftpd_3.0.3-3kord2_amd64.deb 软件包到家目录。 # 1、安装软件包 -i 命令选项 安装 ftp 软件 [root@kylinv10 ~]# dpkg -i vsftpd_3.0.3-3kord2_amd64.deb # 2、查看软件安装 -l 命令选项 [root@kylinv10 ~]# dpkg -l |grep vsftpd ii vsftpd 3.0.3-3kord2 amd64 lightweight, efficient FTP server written for security 输出说明 第一列 ii (期望状态)(当前状态) 期望状态=未知(u)/安装(i)/删除(r)/清除(p)/保持(h) 状态=未安装(n)/已安装(i)/仅存配置(c)/仅解压缩(U)/配置失败(F)/不完全安装(H)/触发器等待(W)/触发器未决(T) 第二列:vsftpd 软件名称 第三列:3.0.3-3kord2软件版本 第四列:amd64 安装架构 第五列:lightweight, efficient FTP server written for security 软件包描述说明信息 # 3、显示安装该软件包关联的文件 -L 命令选项 [root@kylinv10 ~]# dpkg -L vsftpd /. /etc /etc/ftpusers /etc/init.d ...... # 4、卸载软件包 -r 命令选项 只卸载软件,不删除系统中的配置 [root@kylinv10 ~]# dpkg -r vsftpd (正在读取数据库 ... 系统当前共安装有 236633 个文件和目录。) 正在卸载 vsftpd (3.0.3-3kord2) ... 正在处理用于 man-db (2.7.5-1kord) 的触发器 ... # 5、查看删除情况 [root@kylinv10 ~]# dpkg -l |grep vsftpd rc vsftpd 3.0.3-3kord2 amd64 lightweight, efficient FTP server written for security rc 软件已经删除但是配置文件还在,使用-P 命令选项可以完全删除 # 6、删除软件及配置文件 -P 命令选项 完全删除 [root@kylinv10 ~]# dpkg -P vsftpd (正在读取数据库 ... 系统当前共安装有 236581 个文件和目录。) 正在卸载 vsftpd (3.0.3-3kord2) ... 正在清除 vsftpd (3.0.3-3kord2) 的配置文件 ... [root@kylinv10 ~]# dpkg -l |grep vsftpd 没有输出,完全删除了 # 7、显示包内容 -c 命令选项 [root@kylinv10 ~]# dpkg -c vsftpd_3.0.3-3kord2_amd64.deb drwxr-xr-x root/root 0 2019-03-06 14:52 ./ drwxr-xr-x root/root 0 2019-03-06 14:52 ./etc/ -rw-r--r-- root/root 132 2014-05-08 04:17 ./etc/ftpusers drwxr-xr-x root/root 0 2019-03-06 14:52 ./etc/init.d/ -rwxr-xr-x root/root 2067 2019-03-06 14:51 ./etc/init.d/vsftpd # 8、解压软件包 --unpack [root@kylinv10 ~]# dpkg --unpack vsftpd_3.0.3-3kord2_amd64.deb 正在选中未选择的软件包 vsftpd。 (正在读取数据库 ... 系统当前共安装有 218462 个文件和目录。) 准备解压 vsftpd_3.0.3-3kord2_amd64.deb ... 正在解压 vsftpd (3.0.3-3kord2) ... 正在处理用于 man-db (2.7.5-1kord) 的触发器 ... 正在处理用于 systemd (229.4-4kord21.21k4) 的触发器 ... 正在处理用于 ureadahead (0.100.0-19kord) 的触发器 ... [root@kylinv10 ~]# dpkg -l |grep vsftpd iU vsftpd 3.0.3-3kord2 amd64 lightweight, efficient FTP server written for security dpkg 依赖关系 deb 格式的软件包安装简单、快捷、高效,但是 deb 软件包安装需要解决依赖关系,安装过程中必须首先解决依赖包的安装。解决依赖关系相对于初学者来说是比较痛苦的问题。 通过 dpkg 命令安装A软件包时,通常会有依赖其他软件包的需求,比如 B。如果想安装需要的 A 软件包,就必须先安装 A 依赖的软件包 B 包。如何定位 B 是哪个软件包,如何获得 B 软件包,这些问题对于初级入门 linux 的小伙伴比较苦恼,接下来就通过一个安装案例来拆解一下 deb 软件包安装时依赖关系的定位与解决方法。 deb软件包安装依赖分析案列:安装容器管理软件 - docker 1、通过http://archive.kylinos.cn/kylin/KYLIN-ALL/pool/main/d/docker.io/下载软件包 docker.io_1.12.6-0kord1k2_amd64.deb # 注意:也可以从/data/workspaces/myshixun/soft文件夹中获得 2、安装软件包 [root@kylinv10 ~]# dpkg -i docker.io_1.12.6-0kord1k2_amd64.deb 正在选中未选择的软件包 docker.io。 (正在读取数据库 ... 系统当前共安装有 218103 个文件和目录。) 准备解压 docker.io_1.12.6-0kord1k2_amd64.deb ... 正在解压 docker.io (1.12.6-0kord1k2) ... #下面就是依赖包提示信息 dpkg: 依赖关系问题使得 docker.io 的配置工作不能继续: docker.io 依赖于 containerd (>= 0.2.5~);然而: 未安装软件包 containerd。 #依赖一个名字叫做containerd的软件包,版本不能低于0.2.5 docker.io 依赖于 runc (>= 1.0.0~rc2-0kord1);然而: 未安装软件包 runc。 #依赖一个名字叫做runc的软件包,版本不能低于1.0.0~rc2-0kord1 #报错,提示安装docker错误 dpkg: 处理软件包 docker.io (--install)时出错: 依赖关系问题 - 仍未被配置 正在处理用于 systemd (245.4-4kylin3k3) 的触发器 ... 正在处理用于 man-db (2.9.1-1) 的触发器 ... 在处理时有错误发生: docker.io 3、下载依赖包 打开http://archive.kylinos.cn/kylin/KYLIN-ALL/pool/main/该网址,按照对应依赖包的首字母去对应文件夹下寻找需要的包,下载完成后继续安装。 4、安装依赖包containerd_0.2.5-0kord1_amd64.deb [root@kylinv10 ~]# dpkg -i containerd_0.2.5-0kord1_amd64.deb 正在选中未选择的软件包 containerd。 (正在读取数据库 ... 系统当前共安装有 218197 个文件和目录。) 准备解压 containerd_0.2.5-0kord1_amd64.deb ... 正在解压 containerd (0.2.5-0kord1) ... #发现改包一练runc软件包,版本不低于1.0.0~rc2 dpkg: 依赖关系问题使得 containerd 的配置工作不能继续: containerd 依赖于 runc (>= 1.0.0~rc2~);然而: 未安装软件包 runc。 #提示containerd安装错误 dpkg: 处理软件包 containerd (--install)时出错: 依赖关系问题 - 仍未被配置 在处理时有错误发生: containerd 依赖分析结果:通过实践分析,发现安装 docker 软件包依赖 containerd 和 runc 软件包,安装 containerd 软件包依赖 runc 软件包,从而得出三个软件包的安装先后顺序 runc_1.0.0~rc2-0kord2_amd64.deb containerd_0.2.5-0kord1_amd64.deb docker.io_1.12.6-0kord1k2_amd64.deb 弄清楚安装 docker 软件包的依赖关系,同时下载好对应依赖的软件包后就可以顺利安装了。 docker软件包安装 注意:也可以从 /data/workspaces/myshixun/soft 文件夹中获得,也可自行根据提供的 URL 地址下载。 [root@kylinv10 ~]# dpkg -i runc_1.0.0~rc2-0kord2_amd64.deb 正在选中未选择的软件包 runc。 (正在读取数据库 ... 系统当前共安装有 218212 个文件和目录。) 准备解压 runc_1.0.0~rc2-0kord2_amd64.deb ... 正在解压 runc (1.0.0~rc2-0kord2) ... 正在设置 runc (1.0.0~rc2-0kord2) ... 正在处理用于 man-db (2.9.1-1) 的触发器 ... [root@kylinv10 ~]# dpkg -i containerd_0.2.5-0kord1_amd64.deb (正在读取数据库 ... 系统当前共安装有 218234 个文件和目录。) 准备解压 containerd_0.2.5-0kord1_amd64.deb ... 正在解压 containerd (0.2.5-0kord1) 并覆盖 (0.2.5-0kord1) ... 正在设置 containerd (0.2.5-0kord1) ... [root@kylinv10 ~]# dpkg -i docker.io_1.12.6-0kord1k2_amd64.deb (正在读取数据库 ... 系统当前共安装有 218234 个文件和目录。) 准备解压 docker.io_1.12.6-0kord1k2_amd64.deb ... 正在解压 docker.io (1.12.6-0kord1k2) 并覆盖 (1.12.6-0kord1k2) ... 正在设置 docker.io (1.12.6-0kord1k2) ... addgroup: 组"docker"已经是系统组。退出。 Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /lib/systemd/system/docker.service. Created symlink /etc/systemd/system/sockets.target.wants/docker.socket → /lib/systemd/system/docker.socket. 正在处理用于 systemd (245.4-4kylin3k3) 的触发器 ... 正在处理用于 man-db (2.9.1-1) 的触发器 ... [root@kylinv10 ~]# [root@kylinv10 ~]# docker -v Docker version 1.12.6, build 78d1802 编程要求 根据下列要求实现对应操作,具体要求如下: 完全删除系统中的 lsof 软件包 升级docker软件,新版本为docker.io_18.09.7-0kord1~16.04.5_amd64.deb 注意升级顺序:先更新后升级 先更新系统中的程序 1、docker.io 2、containerd 3、runc 升级系统中的程序 1、runc 2、containerd 3、docker.io 所有软件包都从 /data/workspace/myshixun/soft 文件夹中拷贝。
06-14
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值