История изменений
Исправление LINUX-ORG-RU, (текущая версия) :
Правильного решения не знаю, но
В DEBIAN/postinst
добавь touch /opt/empty;
Тогда при удалении будет писать
Следующие пакеты будут УДАЛЕНЫ:
appname-1.0.0*
Обновлено 0 пакетов, установлено 0 новых пакетов, для удаления отмечено 1 пакетов, и 749 пакетов не обновлено.
После данной операции объём занятого дискового пространства уменьшится на 17,6 MB.
Хотите продолжить? [Д/н]
(Чтение базы данных … на данный момент установлено 340424 файла и каталога.)
Удаляется appname-1.0.0 (1.0.0-1) …
(Чтение базы данных … на данный момент установлено 340422 файла и каталога.)
Вычищаются файлы настройки пакета appname-1.0.0 (1.0.0-1) …
dpkg: предупреждение: при удалении appname-1.0.0 каталог «/opt» не пуст, поэтому не
удалён
Или в DEBIAN/postrm
добавь mkdir -p /opt
тогда после удаления пакета /opt
будет восстановлен.
Суть в том что идёт попытка удалить всё что в tar
, смотря как ты собираешь пакет, на крайняк можно написать скрипт который убирает из описания tar
каталог /opt
но в этом случае если этого каталога не будет установка будет неудаяна (кажись).
Короче по умолчанию если в катaлоге после удаления ничего нет, значит его не использует никакая программа, значит он летит в топку, всё. Если каталог какой то будет нужен он будет всегда создан. (но если ты пропатчишь деб пакет убрав и tar
пути то ты это сломаешь)
Сам руками просто сделай sudo touch /opt/do_not_remove_me
и всё. Теперь этот файл вне системы dpkg и каталог opt
не будет тронут.
А так, если ты снова установишь свой пакет. То каталог /opt
появится снова. Даже если у тебя его не будет как и любого другого предназначенного для установки, он будет создан автоматически согласно путям заданным в пакете, а пути там абсолютные и все.
Так что если тебе снесло opt
или /usr/local/games
значит они ненужны, а как только станут нужны при установке пакета туда они будут созданы.
Исходная версия LINUX-ORG-RU, :
Правильного решения не знаю, но
В DEBIAN/postinst
добавь touch /opt/empty;
Тогда при удалении будет писать
Следующие пакеты будут УДАЛЕНЫ:
appname-1.0.0*
Обновлено 0 пакетов, установлено 0 новых пакетов, для удаления отмечено 1 пакетов, и 749 пакетов не обновлено.
После данной операции объём занятого дискового пространства уменьшится на 17,6 MB.
Хотите продолжить? [Д/н]
(Чтение базы данных … на данный момент установлено 340424 файла и каталога.)
Удаляется appname-1.0.0 (1.0.0-1) …
(Чтение базы данных … на данный момент установлено 340422 файла и каталога.)
Вычищаются файлы настройки пакета appname-1.0.0 (1.0.0-1) …
dpkg: предупреждение: при удалении appname-1.0.0 каталог «/opt» не пуст, поэтому не
удалён
Или в DEBIAN/postrm
добавь mkdir -p /opt
тогда после удаления пакета /opt
будет восстановлен.
Суть в том что идёт попытка удалить всё что в tar
, смотря как ты собираешь пакет, на крайняк можно написать скрипт который убирает из описания tar
каталог /opt
но в этом случае если этого каталога не будет установка будет неудаяна (кажись).
Короче по умолчанию если в катaлоге после удаления ничего нет, значит его не использует никакая программа, значит он летит в топку, всё. Если каталог какой то будет нужен он будет всегда создан. (но если ты пропатчишь деб пакет убрав и tar
пути то ты это сломаешь)
Сам руками просто сделай sudo touch /opt/do_not_remove_me
и всё. Теперь этот файл вне системы dpkg и каталог opt
не будет тронут.