이 답변Windows에 애플리케이션을 설치하기 위한 지침 .msi
및 문서입니다 .setup.exe
Debian이나 Ubuntu에 있는 것과 동등한 것이 있습니까 .msi
? 패키지 파일이 또는 다른 것에 해당합니까 setup.exe
?.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
종속성이 누락되면 설치가 실패할 수 있다고 지적했습니다.
따라서 .deb
MSI 설치 프로그램과 setup.exe
.
답변2
Linux에서 본 단일 파일 바이너리 설치 프로그램은 .sh
다음과 같이 바이너리 blob과 연결된 셸 스크립트를 포함하는 파일입니다.
#!/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 exe 파일과 매우 유사하므로 동일한 문제가 있습니다.