actionchen@actionchen-PC:~/deb-test$ dpkg-deb -R libfaudio0_20.01-0_buster_i386.deb libfaudio
actionchen@actionchen-PC:~/deb-test$ ls
libfaudio libfaudio0_20.01-0_buster_i386.deb
actionchen@actionchen-PC:~/deb-test$ tree .
.
├── libfaudio
│ ├── DEBIAN
│ │ ├── control
│ │ ├── md5sums
│ │ ├── shlibs
│ │ ├── symbols
│ │ └── triggers
│ └── usr
│ ├── lib
│ │ └── i386-linux-gnu
│ │ ├── libFAudio.so.0 -> libFAudio.so.0.20.01
│ │ └── libFAudio.so.0.20.01
│ └── share
│ ├── doc
│ │ └── libfaudio0
│ │ ├── changelog.Debian.gz
│ │ ├── copyright
│ │ └── README
│ └── lintian
│ └── overrides
│ └── libfaudio0
└── libfaudio0_20.01-0_buster_i386.deb
10 directories, 12 files
可以看到用-R解压会把控制文件解压出来,在DEBIAN目录,如果用-x只会解压出实际安装到系统中的文件,当然如果在非deb系的系统上,解压deb包可以用ar解压,因为他用ar压缩的,ar vx xxx.deb这样的格式。
actionchen@actionchen-PC:~/deb-test$ dpkg-deb -b libfaudio/ libfaudio.deb
dpkg-deb: 正在 'libfaudio.deb' 中构建软件包 'libfaudio0'。
actionchen@actionchen-PC:~/deb-test$ ls
libfaudio libfaudio0_20.01-0_buster_i386.deb libfaudio.deb
actionchen@actionchen-PC:~/deb-test$ ls -l
总用量 284
drwxr-xr-x 4 actionchen actionchen 4096 1月 7 22:05 libfaudio
-rw-r--r-- 1 actionchen actionchen 141776 1月 7 22:04 libfaudio0_20.01-0_buster_i386.deb
-rw-r--r-- 1 actionchen actionchen 141756 1月 7 22:16 libfaudio.deb
actionchen@actionchen-PC:~/deb-test$ dpkg -I libfaudio.deb
新格式的 Debian 软件包,格式版本 2.0。
大小 141756 字节:主控包=4724 字节。
830 字节, 18 行 control
365 字节, 5 行 md5sums
23 字节, 1 行 shlibs
23058 字节, 680 行 symbols
67 字节, 2 行 triggers
Package: libfaudio0
Source: faudio
Version: 20.01-0~buster
Architecture: i386
Maintainer: action chen <xxx@xxx.com>
Installed-Size: 416
Depends: libavcodec58 (>= 7:4.0), libavutil56 (>= 7:4.0), libc6 (>= 2.7), libsdl2-2.0-0 (>= 2.0.9), libstb0 (>= 0.0~git20180212.15.e6afb9c)
Breaks: libfaudio0 (<< 19.03-0), libfaudio0-amd64 (<< 19.03-0), libfaudio0-i386 (<< 19.03-0)
Replaces: libfaudio0 (<< 19.03-0), libfaudio0-amd64 (<< 19.03-0), libfaudio0-i386 (<< 19.03-0)
Section: libs
Priority: optional
Multi-Arch: same
Homepage: https://github.com/FNA-XNA/FAudio
Description: XAudio sound processing reimplementation - library
FAudio is a sound processing library that aims to support fully accurate
DirectX audio capabilities including XAudio2, X3DAudio, XAPO, and XACT3.
.
This package provides the library itself.
这个包我就手工修改了控制文件里面的Maintainer字段,可以看到修改后的包查询出来维护者的名字和邮箱都是我修改后的信息了。
actionchen@actionchen-PC:~/deb-test$ tree script/
script/
├── DEBIAN
│ └── control
└── opt
└── test.sh
2 directories, 2 files
其中控制文件可以从其他软件包里面解压一个出来自己修改就行。
actionchen@actionchen-PC:~/deb-test$ dpkg-deb -b script/ script-1.0.deb
dpkg-deb: 正在 'script-1.0.deb' 中构建软件包 'script'。
actionchen@actionchen-PC:~/deb-test$ ls -l
总用量 292
drwxr-xr-x 4 actionchen actionchen 4096 1月 7 22:05 libfaudio
-rw-r--r-- 1 actionchen actionchen 141776 1月 7 22:04 libfaudio0_20.01-0_buster_i386.deb
-rw-r--r-- 1 actionchen actionchen 141756 1月 7 22:16 libfaudio.deb
drwxr-xr-x 4 actionchen actionchen 4096 1月 7 22:24 script
-rw-r--r-- 1 actionchen actionchen 804 1月 7 22:27 script-1.0.deb
actionchen@actionchen-PC:~/deb-test$ dpkg -I script-1.0.deb
新格式的 Debian 软件包,格式版本 2.0。
大小 804 字节:主控包=368 字节。
209 字节, 13 行 control
Package: script
Source:
Version: 1.0
Architecture: all
Maintainer: action chen <xxxn@uh.com>
Installed-Size: 416
Depends:
Breaks:
Replaces:
Section:
Priority: optional
Homepage:
Description: test scripts
actionchen@actionchen-PC:~/deb-test$ sudo apt install ./script-1.0.deb
请输入密码
[sudo] actionchen 的密码:
验证成功
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
注意,选中 'script' 而非 './script-1.0.deb'
下列软件包是自动安装的并且现在不需要了:
libddcutil0 libspectre1
使用'sudo apt autoremove'来卸载它(它们)。
下列【新】软件包将被安装:
script
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 0 B/804 B 的归档。
解压缩后会消耗 426 kB 的额外空间。
获取:1 /home/actionchen/deb-test/script-1.0.deb script all 1.0 [804 B]
正在选中未选择的软件包 script。
(正在读取数据库 ... 系统当前共安装有 318294 个文件和目录。)
准备解压 .../deb-test/script-1.0.deb ...
正在解压 script (1.0) ...
正在设置 script (1.0) ...
actionchen@actionchen-PC:~/deb-test$ ls /opt/
apps baidunetdisk containerd google kingsoft lenovo test.sh Xilinx
可以看到test.sh已经安装到opt目录下面了。
这么一看,如果打包一些不需要编译的文件或者脚本之类,是非常方便的,就改个文件一条命令的事,当然想在安装后执行什么脚本,触发什么的就得写脚本了。