[Share Experiences] 重新打包deb
Tofloor
poster avatar
青稚
Moderator
2023-06-21 18:33
Author

1.用命令创建好目录结构

mkdir -p newdeb build/DEBIAN

2.用命令把deb包文件解压

dpkg-deb -x 包名.deb build/

3.用命令解压控制信息

dpkg-deb -e 包名.deb build/DEBIAN/

4.把build中的文件重新打包到newdeb目录生成新的deb

dpkg-deb -b build newdeb/

5.小插曲

我昨日询问了开发者
202306191742474292_mmexport1687163238645.jpg

IMG_20230621_102749.jpg

使用github自动编译的deb,由于github环境是ubuntu,而deepin不支持zst的deb,所以需要转换为xz

所以请把第四步的命令替换为(deepin下解压,无需替换命令):

dpkg-deb -Z xz -b build/ newdeb/

注意:如果deb包名太长,可以把包改为1.deb之后再解压

deepin解压zst格式的deb,请先解压deb,之后根据下面方法进行手动解压

装zstd,用tar解压

sudo apt install zstd

tar -I zstd -xvf 包名.tar.zst

之后手动把解压出来的文件,放到build,build/DEBIAN/

Reply Favorite View the author
All Replies
阿尼樱奈奈
Moderator
2023-06-21 18:42
#1

applaud

Reply View the author
青稚
Moderator
2023-06-21 18:51
#2

data.tar.zst解压后放到,build

control.tar.zst解压后放到,build/DEBIAN/

Reply View the author
vivian_me
deepin testing team
2023-06-21 19:00
#3

鼓掌applaud

Reply View the author
忘记、过去
deepin
2023-06-21 19:14
#4

也可以直接用 dpkg-deb -R xxx.deb yyy 这样子解压到文件夹里,可以节约时间 XD

如果是 zst 格式的,可以右键用归档管理器打开 deb,然后手动把 data 和 control 两个压缩文件解压出来再重新打包

Reply View the author
青稚
Moderator
2023-06-21 19:16
#5
忘记、过去

也可以直接用 dpkg-deb -R xxx.deb yyy 这样子解压到文件夹里,可以节约时间 XD

如果是 zst 格式的,可以右键用归档管理器打开 deb,然后手动把 data 和 control 两个压缩文件解压出来再重新打包

归档管理器我试了,解压不了zst格式。

Reply View the author
神末shenmo
deepin
Spark-App
2023-06-21 19:23
#6
忘记、过去

也可以直接用 dpkg-deb -R xxx.deb yyy 这样子解压到文件夹里,可以节约时间 XD

如果是 zst 格式的,可以右键用归档管理器打开 deb,然后手动把 data 和 control 两个压缩文件解压出来再重新打包

我一直用的 -X

这俩选项有啥区别吗

Reply View the author
神末shenmo
deepin
Spark-App
2023-06-21 19:23
#7
青稚

归档管理器我试了,解压不了zst格式。

他说的用file-roller打开deb

Reply View the author
sgb76
deepin
2023-06-21 19:38
#8
神末shenmo

我一直用的 -X

这俩选项有啥区别吗

用-R相当于同时使用-x和-e,一步到位,节省时间

Reply View the author
浪云
deepin
2023-06-22 18:18
#9

https://bbs.deepin.org/post/255113

Reply View the author
风吹过的绿洲
deepin
2023-06-22 20:42
#10

感觉不适用啊,还是得用归档管理器

╭─jay at jay-PC in /home/jay/Desktop
╰─λ dpkg-deb -x v2box_1.0.3_amd64.deb build/
dpkg-deb: 错误: 归档 v2box_1.0.3_amd64.deb 对成员 control.tar.zst 使用了未知的压缩,放弃操作
╭─jay at jay-PC in /home/jay/Desktop
╰─λ dpkg-deb -x v2box_1.0.3_amd64.deb build/
dpkg-deb: 错误: 归档 v2box_1.0.3_amd64.deb 对成员 control.tar.zst 使用了未知的压缩,放弃操作
╭─jay at jay-PC in /home/jay/Desktop
╰─λ dpkg-deb -e v2box_1.0.3_amd64.deb build/DEBIAN/
dpkg-deb: 错误: 归档 v2box_1.0.3_amd64.deb 对成员 control.tar.zst 使用了未知的压缩,放弃操作

Reply View the author
青稚
Moderator
2023-06-22 22:22
#11
风吹过的绿洲

感觉不适用啊,还是得用归档管理器

╭─jay at jay-PC in /home/jay/Desktop
╰─λ dpkg-deb -x v2box_1.0.3_amd64.deb build/
dpkg-deb: 错误: 归档 v2box_1.0.3_amd64.deb 对成员 control.tar.zst 使用了未知的压缩,放弃操作
╭─jay at jay-PC in /home/jay/Desktop
╰─λ dpkg-deb -x v2box_1.0.3_amd64.deb build/
dpkg-deb: 错误: 归档 v2box_1.0.3_amd64.deb 对成员 control.tar.zst 使用了未知的压缩,放弃操作
╭─jay at jay-PC in /home/jay/Desktop
╰─λ dpkg-deb -e v2box_1.0.3_amd64.deb build/DEBIAN/
dpkg-deb: 错误: 归档 v2box_1.0.3_amd64.deb 对成员 control.tar.zst 使用了未知的压缩,放弃操作

Screenshot_20230622_142120.jpg

Screenshot_20230622_142128.jpg

joy仔细看贴啊,亲。

Reply View the author