Как я могу исправить плохой коммерческий пакет deb?
Клиент Citrix ICA (получатель) 13 .deb Пакет имеет некоторые известные проблемы. Как мне внести изменения в пакет? Мне нужно удалить некоторые зависимости и изменить скрипт установки.
Ссылка: Как мне установить Citrix ICA Client (Receiver) 13 в Debian 64-bit Linux?
1 ответ
Я отвечаю на этот вопрос сам, потому что другие могут найти эту информацию полезной. Эти вопросы и ответы были вдохновлены другим вопросом: как мне установить 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/