Debian veya Ubuntu'daki '.msi' ve 'setup.exe' dosyalarına eşdeğer mi?


15

Bu yanıt , Windows'ta bir uygulama yüklemek için dosyaları .msive setup.exedosyaları açıklar .

Debian veya Ubuntu'daki dosyalara .msive setup.exedosyalara eşdeğerler var mı? Do .debpaket dosyaları karşılık .msiveya setup.exebaşka falan?


8
Bunu neden sorduğunuzu bilmiyorum, bu yüzden bu soruya gelen herkes için genel bir yorum olarak söyleyeceğim. Yazılımı "manuel olarak" kurmanın yolları olsa da, çoğu Linux dağıtımı tarafından tercih edilen (ve şiddetle önerilir) yol, yazılımı paket yöneticisi aracılığıyla kurmaktır. Bu şekilde otomatik olarak güvenlik güncellemeleri alırsınız ve dağıtımla uyumluluğu sağlamak için bazı testler yapılır. Ana depolarda bulunmayan yazılımın en son ve en büyük sürümüne ihtiyacınız varsa, bir topluluk repo kullanın (örneğin Ubuntu'da bir PPA), ancak her zaman paket yöneticisini kullanın.
Muzer

Hiçbir vardır .setupdosyalar demek, Windows üzerinde setup.exebir yükleyici için tipik bir isim olan?
gronostaj

Bkz adam sayfasını ve oradan bağlantılı dokümanlar. Aslında Windows üzerinde yapabileceği diğer şeylerin yanı sıra, eşdeğeri bile yoktur. apt-getapt-get install
jthill

5
@jthill, bu doğru değil. Tamamen etli ya da popüler apt-getdeğil, ancak Powershell'in son OneGetyükleyebileceğiniz Chocolatey( Win7 ve üstü) sürümleri ( HomebrewMac'te eşdeğer) kurabilir . Nix eşdeğerlerinden daha az popüler olabilirler, ancak Windows'ta eşdeğer olmadığını söylemek açıkça yanlıştır.
17'de

1
@Tim: "eşdeğer" ile tam olarak ne demek istediğinizi belirtmeden bu soruya mantıklı bir şekilde cevap verilemez . Ne özgü özellikleri .msidosya ve montajcılar ilgileniyorsunuz? Bir şeyin "eşdeğer" olup olmadığını belirlemek için kesin kriterler nelerdir ? Örneğin: yükleyiciler sadece diğer programlar gibi programlardır. Adında bir program hakkında kesinlikle özel bir şey yok setup.exe. Yana setup.exediğer programlar gibi sadece bir program olduğunu ve Debian kesinlikle yapar bunu eşdeğer düşünüyorsunuz, "programı" bir kavram var? Değilse, neden olmasın?
Jörg W Mittag

Yanıtlar:


28

Muhtemelen bir MSI yükleyicisine a setup.exe, a.deb paket dosya sistemi kopyalayıp, hem de (diğer şeylerin yanı sıra) pistine öncesi ve sonrası montaj kanca koleksiyonu dosyaların bir ağaç içermektedir. Kancalar, Windows'ta gördüğümü sanmadığım bir şey de dahil olmak üzere sistem üzerinde etkili bir şekilde her şeyi yapabilir: bir sistem hizmeti için kullanıcı ekleme. Yapamayacakları bir şey başka bir .debpaket yüklemektir - veritabanı yükleme sırasında kilitlenir, bu nedenle bu sadece bağımlılıklar yoluyla gerçekleştirilebilir. .debDaha sonra bir paketin yüklenmesi, bakım kolaylığı için kurulu paketlerin merkezi veritabanında girişler üretir.

ttf-mscorefontsPaket kendisi indirmek için sadece bir komut dosyası içeren ve yazı tiplerini yüklemek bu paket ilginçtir. Bu komut dosyası bu kancalardan birinde yürütülür.

Daha yakın setup.exe çalışan, daha sonra projenin ana sayfasından bir progam kaynak kodunu indirirken olabilir ./configure && make && sudo make installya da başka hangi yazarlar kullanmaya karar yöntemi. Bu yöntem, paketi yüklü programların veritabanına eklemediğinden, daha sonra kaldırmak çok daha zor olabilir.

Başka bir fark, .deba'nın bağımlılıklarını belirtmesidir, bu nedenle uygun kurulum garanti edilebilir. Bildiğim kadarıyla, Windows dünyasında bir MSI başka bir MSI'nın kurulumuna neden olamaz, bu nedenle setup.exebu tür bağımlılık izleme için kullanılır. Bazı yorumlar MSI'ların bağımlılıkları adlandırabileceğini, ancak MSI'ların merkezi bir veritabanı olmadığından.deb paketler bağımlılığın eksik olması sadece bir başarısızlığa neden olacaktır.

Bu nedenle a .deb, bir MSI yükleyicisi ve a arasındadır setup.exe. Paket, kurulum öncesi ve sonrası kancaları sırasında istediği her şeyi yapabilir, genellikle kendi bağımlılıklarını adlandırabilir ve bulabilir ve bakım kolaylığı için kurulumunun bir kaydını merkezi bir yerde bırakır.


2
Windows'ta, setup.exestil yükleyicileri izlenen yükleyici sistemine (kaldırıcılarla vb.) De entegre olur. Hem MSI hem de .exeyükleyicilerde, bağımlılıklar yükleyiciye bağımlılık ( örn . VC yeniden dağıtılabilir yükleyici veya DirectX yükleyici) gömülerek ve yürütülebilir (veya sistem derlemeleri olarak) bağımlılık DLL'leri yüklenerek işlenir . Buna setup.exebenzer .deb. Kaynaktan binaya eşdeğer Windows'ta kaynaktan da bina ;-).
Stephen Kitt

Ben bunu bir MSI (hariç Debian paketi başka bir paket yükleyemezsiniz gibi, başka MSI yükleyemezsiniz: değil kurulum yürütülebilir daha yakın Debian paketlerine MSIs kılan tek şeyi aracılığıyla bağımlılıklarından).
Stephen Kitt

@StephenKitt: setup.exetarzı yükleyiciler hiçbir şekilde altında MSI'leri çalıştırmadığı sürece işletim sistemi tarafından "takip edilmez " (ve daha sonra MSI'ler izlenenlerdir). Kaldırma kayıt defteri anahtarına sahip olmalarının bunun üzerinde bir etkisi yoktur. Bu, her dosyanın dosya sisteminde listelendiği için izlendiğini söylemek gibidir.
user541686

2
MSI, .MSI'nin merkezi deposu olmadığı göz önüne alındığında ve genellikle (daha büyük ürünlerde) bağımlılıklara sahip olabilir, genellikle bir bağımlılığı kaçırdığınızda olan şey, yüklemeyi reddetmeleridir.
Matteo Italia

1
msgstr "Windows'da gördüğümü sanmıyorum: bir sistem hizmeti için kullanıcı ekleme". SQL Server, IIS ve Visual Studio yükleyicilerinin bunu yaptığından oldukça eminim. Ancak, Windows kullanıcı modeli, varsayılan Unix / Linux modelinden biraz daha rafine olduğu için daha az belirgin olabilir (ya kök ya da değilsiniz) ..
MSalters

15

Linux'ta gördüğüm tek dosyalı ikili yükleyiciler .sh, ikili bir blob ile birleştirilmiş bir kabuk komut dosyası içeren dosyalardır:

#!/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]

Bu aslında setup.exebir geçici klasöre kendi kendine ayıklanan ve oradan gerçek yükleyiciyi çalıştıran bir eşdeğerdir .


6

Alındığı yer: /ubuntu/13415/what-are-run-files/13416#13416

Bir .run dosyası normalde bir programı yüklemek için yürütülmesi gereken özel yapılmış bir programdır. bunlar genellikle dosyaların nereye gittiğini izlemedikleri ve normalde bir kaldırma yöntemi sağlamadığı için desteklenmez. komut dosyasının sisteminize ne yapacağından emin olmanın bir yolu yoktur, böylece güvenli değildirler.

Onlar windows exe dosyasına yakın ve aynı sorunları ile geliyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.