相当于 Debian 或 Ubuntu 中的“.msi”和“setup.exe”文件?

Tim*_*Tim 16 software-installation deb

这个答案说明.msisetup.exe安装在Windows上的应用程序文件。

是否有等同.msi,并setup.exe在Debian或者ubuntu文件?做.deb包文件对应.msi或者setup.exe还是其他什么东西?

Fox*_*Fox 29

可能比 MSI 安装程序更接近 MSI 安装程序setup.exe.deb包包括要复制到文件系统的文件树,以及要运行的安装前和安装后挂钩的集合(除其他外)。钩子可以有效地在系统上做任何事情,包括我认为我在 Windows 上从未见过的东西:为系统服务添加用户。他们不能做的一件事是安装另一个.deb包——数据库在安装过程中被锁定,所以这只能通过依赖关系来实现。安装.deb包然后在已安装包的中央数据库中生成条目以便于维护。

ttf-mscorefonts包的有趣之处在于该包本身仅包含一个用于下载和安装字体的脚本。该脚本在这些钩子之一中执行。

更接近的setup.exe可能是从项目主页下载程序的源代码,然后运行./configure && make && sudo make install,或者作者决定使用的任何其他方法。由于此方法不会将软件包添加到已安装程序的数据库中,因此稍后将其删除可能会困难得多。

另一个区别是 a.deb指定了它的依赖项,因此可以保证正确安装。据我所知,在 Windows 世界中,MSI 不能导致安装另一个 MSI,因此setup.exe通常用于这种依赖性跟踪。一些评论指出 MSI 可以命名依赖项,但由于没有像.deb包那样的 MSI 中央数据库,缺少依赖项只会导致安装失败。

因此, a.deb介于 MSI 安装程序和setup.exe. 包可以在其安装前和安装后挂钩期间做任何它想做的事情,可以命名并通常找到自己的依赖项,并在中央位置留下其安装记录以便于维护。

  • 在 Windows 中,`setup.exe` 风格的安装程序也集成到被跟踪的安装程序系统中(带有卸载程序等)。对于 MSI 和 `.exe` 安装程序,通过将依赖项嵌入到安装程序(*例如* VC 可再发行安装程序或 DirectX 安装程序)中并通过在可执行文件旁边安装依赖项 DLL(或作为系统程序集)来处理依赖项。所以`setup.exe` 也类似于`.deb`。相当于从源代码构建在 Windows 上也是从源代码构建 ;-)。 (3认同)
  • MSI 可以并且经常(在较大的产品中)确实有依赖项,但是,鉴于没有 .MSI 的中央存储库,通常当您错过依赖项时会发生什么情况是他们拒绝安装。 (2认同)

Dmi*_*yev 15

我在 Linux 上看到的单文件二进制安装程序是.sh包含与二进制 blob 连接的 shell 脚本的文件,如下所示:

#!/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]
Run Code Online (Sandbox Code Playgroud)

这本质上相当于 a setup.exe,它也自解压到临时文件夹并从那里运行真正的安装程序。


Zum*_*rio 6

摘自:https : //askubuntu.com/questions/13415/what-are-run-files/13416#13416

.run 文件通常是一个定制的程序,需要执行以安装程序。这些通常不受支持,因为它们不跟踪文件的去向并且通常不提供卸载方法。无法确定脚本会对您的系统做什么,因此它们被认为是不安全的。

它们与 windows exe 文件很接近,因此存在相同的问题。