deb-пакет
Вообще это просто архив типа ar (с сигнатурой !<arch>.
[точка это на самом деле 0a
- \n])
Буду разбирать на основе zabbix_1.8.22_amd64.deb
Состоит из трех частей:
-
debian-binary - текстовый файл содержащий версию deb
Вот такой командой выделил из основного файла только текстовый файл debian-binary
root@test-slave:/tmp/test# dd if=zabbix_1.8.22-1_amd64.deb of=debian-binary skip=68 count=4 iflag=skip_bytes,count_bytes
Его содержимое
root@test-slave:/tmp/test# xxd debian-binary
0000000: 322e 300a 2.0.
Как видно он содержит 2.0 (0a
это \n)
-
control.tar.gz - содержит информацию о deb-пакете и скрипты установки
Выделил из основного файла так
root@test-slave:/tmp/test# dd if=zabbix_1.8.22-1_amd64.deb of=control.tar.gz skip=132 count=299 iflag=skip_bytes,count_bytes
Распаковка
root@test-slave:/tmp/test/control# tar -xzvf control.tar.gz
./
./control
./conffiles
Control содержит следующее
root@test-slave:/tmp/test/control# cat control
Package: zabbix
Priority: extra
Section: checkinstall
Installed-Size: 916
Maintainer: root@test-slave
Architecture: amd64
Version: 1.8.22-1
Provides: zabbix
Description: Zabbix Agent
Conffiles в моем случае был пустым
-
data.tar.xz - содержит файлы для установки
Выделил из основного файла так
dd if=zabbix_1.8.22-1_amd64.deb of=data.tar.xz skip=476 iflag=skip_bytes
Распаковал архив, получилось следующее
root@test-slave:/tmp/test/data# tree .
.
├── data.tar.xz
└── usr
├── local
│ ├── bin
│ │ ├── zabbix_get
│ │ └── zabbix_sender
│ ├── sbin
│ │ ├── zabbix_agent
│ │ └── zabbix_agentd
│ └── share
│ └── man
│ ├── man1
│ │ ├── zabbix_get.1.gz
│ │ └── zabbix_sender.1.gz
│ └── man8
│ └── zabbix_agentd.8.gz
└── share
└── doc
└── zabbix
├── AUTHORS
├── COPYING
├── CREDITS
├── ChangeLog
├── INSTALL
├── NEWS
└── README
В архиве лежат файлы с абсолютными путями, поэтому они просто разархивируются относительно корня и все.
No Comments