Я отвечаю на этот вопрос сам, потому что другие могут найти эту информацию полезной. Эти вопросы и ответы были вдохновлены другим вопросом: как мне установить Citrix ICA Client (Receiver) 13 на 64-битный Linux Debian?
- Создайте временный каталог и скопируйте в него файл
.deb
.
- Извлеките файл
.deb
: ar vx archive.deb
- Появятся три файла:
debian-binary
: не трогать
control.tar.gz
: настройка и сценарии для установки и удаления
- Этот файл может иметь другое расширение, в зависимости от используемого формата сжатия.
data.tar.gz
: файлы для установки
- Этот файл может иметь другое расширение, в зависимости от используемого формата сжатия.
Оба файла *.tar.gz
могут иметь разные расширения в зависимости от используемого формата сжатия. Формат .deb
поддерживает несколько разных. Также оба файла *.tar.gz
являются tarbombs, поэтому все файлы будут взорваны по одному пути. Лучше создать временный каталог, скопировать, а затем распаковать.
Файл control.tar.gz
содержит два файла, которые можно взломать:
control
: Содержит список зависимостей пакета. Вы можете добавлять / удалять зависимости.
postinst
: содержит скрипт после установки. Вы можете добавлять / удалять команды.
Создайте файлы *.tar.gz
как: tar -czvf control.tar.gz *
или (data.tar.gz
)
Наконец, создайте новый архив. Здесь очень важен порядок: ar rv my_new_package.deb debian-binary control.tar.gz data.tar.gz
Вы можете попробовать свой новый пакет с этими командами:
- Удалите существующий пакет:
apt-get remove $package_name
- ... где
$package_name
- это имя вашего пакета, например, icaclient
- Установите новый пакет:
dpkg --install my_new_package.deb
Ссылка: http://tldp.org/HOWTO/html_single/Debian-Binary-Package-Building-HOWTO/