Я хотел бы добавить функцию, отображающую md5sum в настоящее время устанавливающий файл debian в файле управления debian: preinst, есть ли способ получить полный путь к debian-файлу?Как получить полный путь к текущему установочному debian-файлу в сценариях управления?
ответ
Было бы сложно.
Dpkg не экспортирует имя текущего установочного файла в сценарии поддержки любым способом, с помощью переменной окружения или иным образом, а при запуске скриптов-хранителей он даже не имеет дескриптора оригинала. deb file, так что даже проверка /proc/$pid
не будет работать. Вы могли бы сделать что-то, что бы «иногда» работа ищет в каталоге АПП кэш (пункт конфигурации Dir::Cache
, обычно /var/cache/apt/
) для файла, имя которого является чем-то вроде
${DPKG_MAINTSCRIPT_PACKAGE}_packageversion_${DPKG_MAINTSCRIPT_ARCH}.deb
..where вы жёстко текущую версию пакета в сборке время, опуская любое поле эпохи, причина, по которой dpkg не даст вам этого. Это будет работать большую часть времени, если вы будете устанавливать с помощью APT; если вы используете dpkg -i
или что-то еще, вам не повезло.
Возможно, лучший ответ, почему вы хотите это сделать? Вероятно, есть лучший способ решить любую проблему.
Мы распространили наше приложение для пользователя альфа-теста, и он не смог установить наше приложение и отправил сбойный снимок экрана нам, и мы сомневаемся, что они загружают поврежденный файл deb. Если мы напечатаем MDI-файл debian в preinst-скрипте, это будет большой помощью для нас. – moligaloo
Почему бы просто не получить этого пользователя md5sum '.deb', который он пытается установить напрямую? –
Лучшим решением было бы также распространять подписанные дебы через APT; таким образом, вы и пользователь можете быть уверены, что содержимое пакета не изменяется (и вы также получаете преимущества безопасности). –