2013-03-29 4 views

ответ

2

Было бы сложно.

Dpkg не экспортирует имя текущего установочного файла в сценарии поддержки любым способом, с помощью переменной окружения или иным образом, а при запуске скриптов-хранителей он даже не имеет дескриптора оригинала. deb file, так что даже проверка /proc/$pid не будет работать. Вы могли бы сделать что-то, что бы «иногда» работа ищет в каталоге АПП кэш (пункт конфигурации Dir::Cache, обычно /var/cache/apt/) для файла, имя которого является чем-то вроде

${DPKG_MAINTSCRIPT_PACKAGE}_packageversion_${DPKG_MAINTSCRIPT_ARCH}.deb 

..where вы жёстко текущую версию пакета в сборке время, опуская любое поле эпохи, причина, по которой dpkg не даст вам этого. Это будет работать большую часть времени, если вы будете устанавливать с помощью APT; если вы используете dpkg -i или что-то еще, вам не повезло.

Возможно, лучший ответ, почему вы хотите это сделать? Вероятно, есть лучший способ решить любую проблему.

+0

Мы распространили наше приложение для пользователя альфа-теста, и он не смог установить наше приложение и отправил сбойный снимок экрана нам, и мы сомневаемся, что они загружают поврежденный файл deb. Если мы напечатаем MDI-файл debian в preinst-скрипте, это будет большой помощью для нас. – moligaloo

+0

Почему бы просто не получить этого пользователя md5sum '.deb', который он пытается установить напрямую? –

+0

Лучшим решением было бы также распространять подписанные дебы через APT; таким образом, вы и пользователь можете быть уверены, что содержимое пакета не изменяется (и вы также получаете преимущества безопасности). –

 Смежные вопросы

  • Нет связанных вопросов^_^