Info
Content

deb-пакет

Вообще это просто архив типа ar (с сигнатурой !<arch>. [точка это на самом деле 0a - \n])

Буду разбирать на основе zabbix_1.8.22_amd64.deb

Deb_File_Structure.svg.png

Состоит из трех частей:

  1. 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)

  1. 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 в моем случае был пустым

  1. 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
Back to top