LINUX.ORG.RU

История изменений

Исправление 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 не будет тронут.