dpkg-r предоставление предупреждений при удалении пакета

У меня есть пользовательский двоичный пакет. Я создаю пакет из Make-файла. Вот код для того же:

FIREFOX_DIR = /usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}

build:
    mkdir -p $(app_source_dir)
    mkdir -p $(app_source_dir)/opt/Sapience/config
    mkdir -p $(app_source_dir)/opt/Sapience/firefox
    mkdir -p $(app_source_dir)/$(FIREFOX_DIR)/firefox-extension@sapience
    mkdir -p $(app_source_dir)/usr/bin
    mkdir -p $(app_source_dir)/DEBIAN
    cp $(RT)/../bin/sapiencecollector $(app_source_dir)/usr/bin/.
    cp $(RT)/../DEBIAN/control $(app_source_dir)/DEBIAN/.
    cp $(RT)/../DEBIAN/postinst $(app_source_dir)/DEBIAN/.
    cp $(RT)/../DEBIAN/prerm $(app_source_dir)/DEBIAN/.
    cp $(RT)/../config/conf.ini $(app_source_dir)/opt/Sapience/config/.
    cp -r $(RT)/../external/firefox-extension/* $(app_source_dir)/$(FIREFOX_DIR)/firefox-extension@sapience/.
    dpkg --build $(app_source_dir) $(app_name)-$(version).deb

Я должен создать каталог под названием Мудрость внутри/, выбирают как часть моей установки. Чтобы сделать это, я создаю ту же иерархию каталогов в каталоге пакета. / выбирают, уже присутствует в Linux, и я не хочу создавать его снова на машине, я устанавливаю пакет. Пакет установлен правильно. Когда я пытаюсь удалить пакет с помощью команды dpkg -r <pkgname> Я получаю следующую ошибку: dpkg:warning: при удалении / выбирают, каталог не пуст так не удаленный.

Я не хочу удалять/, выбирают, каталог, но все еще dpkg пытается удалить его. Мог любой сообщать мне то, что изменяется, я должен сделать для предотвращения dpkg для удаления каталогов.

1
задан 30 August 2012 в 17:19

1 ответ

Согласно это сообщение dpkg пытается удалить пакет из каталога, который не используется никаким другим пакетом Debian, таким образом это выглядит пустым к dpkg, но если Вы поместили, другое программное обеспечение под / выбирают, это не пусто на слое файловой системы.

Таким образом, dpkg будет продолжать повышаться иерархия каталога файловой системы, пока это не удалит всех предков установки, если нет другой пакет, который также установлен при предке.

Для наблюдения, какие пакеты зависят от/, выберите:

$ dpkg -S /opt

Одно решение, взятое от это сообщение , состоит в том, чтобы создать "базово-пользовательский" пакет, который будет содержать/, выбирают, и требоваться всеми другими пользовательскими пакетами. Можно также использовать тот пакет в качестве метапакета для установки всех регулярных пакетов, которые Вы любите. Не как предупреждение грандиозное предприятие, но инструмент для очистки лучше.

0
ответ дан 21 October 2019 в 11:51

Другие вопросы по тегам:

Похожие вопросы: