Пользовательский .deb не устанавливает все файлы

Я разрабатываю собственный межплатформенный файловый менеджер, названный fman. Я хочу распределить его пользователям Ubuntu как a .deb файл, который может быть загружен с моего веб-сайта. Я использую fpm создать этот файл, который работает без проблем.

Когда пользователь устанавливает fman, я хочу добавить файл к /etc/apt/sources.list.d/ который указывает на мой сервер обновления. Это позволило бы пользователю автоматически обновлять fman через диспетчер пакетов Ubuntu (или через apt-get).

Я сделал очевидное: Я поместил файл в .deb архив под etc/apt/sources.list.d/fman.list. Проблема: Этот файл не создается под /etc/apt/... когда пользователь устанавливает fman от .deb файл.

Когда я делаю dpkg -x fman.deb some_dir/, файл fman.list правильно создается в some_dir/etc/apt/sources.list.d/fman.list. Аналогично, когда я делаю dpkg-query -L fman после установки я действительно получаю вывод

/.
/etc
/etc/apt
/etc/apt/sources.list.d
/etc/apt/sources.list.d/fman.list
...

Я не получаю ошибок или предупреждений, когда я устанавливаю .deb файл из командной строки через sudo dpkg -i fman.deb. Я пытался увеличить уровень журнала через sudo dpkg -D 100 -i fman.deb. Только две строки имеющего отношение вывода fman.list :

D000100: setupvnamevbs main='/etc/apt/sources.list.d/fman.list' tmp='/etc/apt/sources.list.d/fman.list.dpkg-tmp' new='/etc/apt/sources.list.d/fman.list.dpkg-new'
D000100: setupvnamevbs main='/etc/apt/sources.list.d/fman.list' tmp='/etc/apt/sources.list.d/fman.list.dpkg-tmp' new='/etc/apt/sources.list.d/fman.list.dpkg-new'

В некоторой предыдущей точке я нашел файл /etc/apt/sources.list.d/fman.list.dpkg-dist. Но тот файл был удален, когда я удалил fman. Последующие установки fman не произвели файл снова.

Делает кто-либо знает почему /etc/apt/sources.list.d/fman.list не создается, когда я устанавливаю fman от a .deb файл?

6
задан 14 November 2016 в 08:52

1 ответ

Я выяснил, какова проблема была.

я протестировал мой .deb файл через циклы следующих двух команд:

  • sudo dpkg -i fman.deb
  • sudo dpkg -r fman (эквивалентно, sudo apt-get remove fman)

я узнал, что ... -r исключает файлы конфигурации. Чтобы также удалить файлы конфигурации нужно использовать sudo dpkg -P fman.

Во время моего тестирования, я, должно быть, вручную удалил /etc/apt/sources.list.d/fman.list в какой-то момент. Но dpkg (/apt) все еще помнил, что это установило тот файл, таким образом, это не переустановило его в следующий раз, когда я сделал dpkg -i (эквивалентно, apt-get install).

решение состояло в том, чтобы поэтому звонить sudo dpkg -P fman. В следующий раз, когда я затем сделал dpkg -i fman.deb fman.list, файл был создан как ожидалось.

3
ответ дан 23 November 2019 в 08:04

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

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