Эквиваленты файлов «.msi» и «setup.exe» в Debian или Ubuntu?

Эквиваленты файлов «.msi» и «setup.exe» в Debian или Ubuntu?

Этот ответобъясняет .msiи setup.exeфайлы для установки приложения в Windows.

Есть ли эквиваленты .msiи setup.exeфайлам в Debian или Ubuntu? .debСоответствуют ли файлы пакетов .msiили setup.exeили чему-то другому?

решение1

Вероятно, более близкий к установщику MSI, чем к setup.exe, .debпакет включает дерево файлов для копирования в файловую систему, а также набор пред- и пост-установочных хуков для запуска (помимо прочего). Хуки могут эффективно делать что угодно в системе, включая то, что я не думаю, что когда-либо видел в Windows: добавление пользователей для системной службы. Единственное, чего они не могут сделать, это установить другой .debпакет — база данных заблокирована во время установки, поэтому это можно сделать только через зависимости. Установка пакета .debзатем создает записи в центральной базе данных установленных пакетов для простоты обслуживания.

Пакет ttf-mscorefontsинтересен тем, что сам пакет содержит только скрипт для загрузки и установки шрифтов. Этот скрипт выполняется в одном из таких хуков.

Ближе всего setup.exeможет быть загрузка исходного кода программы с домашней страницы проекта, а затем запуск ./configure && make && sudo make installили любой другой метод, который решили использовать авторы. Поскольку этот метод не добавляет пакет в базу данных установленных программ, его последующее удаление может быть намного сложнее.

Другое отличие заключается в том, что a .debуказывает свои зависимости, поэтому правильная установка может быть гарантирована. Насколько мне известно, в мире Windows MSI не может вызвать установку другого MSI, поэтому setup.exeобычно используется для такого рода отслеживания зависимостей. В нескольких комментариях отмечается, что MSI могут называть зависимости, но поскольку нет центральной базы данных MSI, как для .debпакетов, отсутствие зависимости просто приведет к сбою установки.

Таким образом, a .deb— это что-то среднее между установщиком MSI и setup.exe. Пакет может делать все, что захочет, во время своих предустановочных и послеустановочных хуков, может называть и, как правило, находить свои собственные зависимости, а также оставляет запись о своей установке в центральном месте для простоты обслуживания.

решение2

Однофайловые двоичные установщики, которые я видел в Linux, представляли собой .shфайлы, содержащие скрипт оболочки, объединенный с двоичным двоичным объектом, например:

#!/bin/bash
tmpdir=$(mktemp -d /tmp/installer.XXX)
tail -n +6 "$0" | tar -xJf - -C "$tmpdir" || exit 1
sudo "$tmpdir/setup.sh"
rm -rf "$tmpdir"
exit
[binary content follows]

По сути, это эквивалентно , setup.exeкоторый также самораспаковывается во временную папку и запускает настоящий установщик оттуда.

решение3

Взято из:https://askubuntu.com/questions/13415/what-are-run-files/13416#13416

Файл .run обычно представляет собой специально созданную программу, которую необходимо запустить для установки программы. Обычно они не поддерживаются, поскольку не отслеживают, куда перемещаются файлы, и обычно не предоставляют метода удаления. Невозможно быть уверенным в том, что скрипт сделает с вашей системой, поэтому они считаются небезопасными.

Они близки к исполняемому файлу Windows и, следовательно, имеют те же проблемы.

Связанный контент