.Deb ve .rpm nedir ve bunlar nasıl .msi? [kapalı]


30

Bu dosya formatları nedir ve .msiWindows'daki formattan ne kadar farklıdır ? Ayrıca, bu paket yönetim planlarının artıları ve eksileri nelerdir?


.deb ve .rpm, .msi'ye .exe'den daha benzer.
Ignacio Vazquez-Abrams,

not: İnternette başka bir yerde "rpm'ye karşı deb / dpkg'ın artıları ve eksileri nelerdir?" sorusu, bir alev savaşını teşvik etme olasılığını da beraberinde getiriyor.
Strugee

Yanıtlar:


40

Gibi .debve dosyaları .rpmbir .zipdosyaya benzer . Belirli bir uygulama ve / veya dosya kütüphanesiyle ilgili dosyaları içeren bir dizin dosyaları ve alt dizinleri ağacıdır.

dağıtımlarının

.debDosyalar Debian (Ubuntu, Linux Mint, vs.) kaynaklanıyor Linux'un dağılımları içindir. .rpmDosyaları esas Redhat'in göre dağıtımlar (Fedora, CentOs, RHEL) yanı sıra openSuSE dağıtımı ile elde dağılımlar kullanılır.

Onlarda özel olan ne?

Bu dosyalar, dosyaları dosyalardan ayıran başka bir özel özelliğe sahiptir .zip, çünkü ek görevler için bu dosyalardan birini yükleyen bir sistemde çalışan paket yöneticisi yazılımını çalıştıran kurallar içeren bir özellik içerebilir. Bu görevler şunları içerir:

  • sistemde kullanıcı hesapları oluşturma
  • .debveya .rpmdosyada bulunmayan konfigürasyon dosyalarını oluşturma / değiştirme
  • kurulumdan sonra dosyalar üzerinde sahipliği / izinleri ayarla
  • Komutu, paketi yükleyen sistemde root olarak çalıştırın.
  • bağımlılıklar, her iki format da, kurulumdan önce bir sistemde bulunması gereken adları veya paketleri ve / veya hizmet adlarını içerebilir.

Peki ya .msi dosyaları?

.msidosyalar .deb& .rpmdosyalara benzer ancak daha da karmaşıktır. .msiDosyaları, Windows Installer tarafından kullanılan ve bu şekilde ek özellikler sunmaktadır:

  • GUI Çerçevesi
  • kaldırma dizilerinin oluşturulması
  • Kendi içinde bir çerçeve - 3. parti yükleyiciler tarafından kullanılmak üzere
  • rollbacks
  • reklâm
  • Kullanıcı arayüzü
  • vb.

Daha ayrıntılı bir açıklama istiyorsanız, bu konulardaki çeşitli Wikipedia sayfalarına göz atmanızı öneririm.

Referanslar


Cevap, ".deb ve .rpm gibi dosyalar .zip dosyasına daha benzer" ifadesiyle başladığından, deb paketlerinin gerçekte ararşivler ve rpms'lerin (muhtemelen kısmen) cpio arşivleri olduğunu belirtmek faydalı olabilir . Borçlar durumunda, bir borcun açılabileceğini doğrulamak kolaydır ar -x. Rpm durumunda bunun mümkün olup olmadığını bilmiyorum.
Faheem Mitha

@FaheemMitha:rpm2cpio package.rpm | cpio -idv
ninjalj

@ ninjalj - teşekkürler bu komutu eklemeyi unuttum. Sadece bir ya da iki tanesini bir dosya almak istediğimde rpms'yi açmak için kullandım. Genellikle .spec dosyaları.
slm

@ ninjalj Teşekkürler, bunu bilmiyordum.
Faheem Mitha

31

Diğer cevaplar benzer niteliklere .debve .rpmbuna benzerliklere dayanıyor .msi. Hepsi, bazı ekstra şeyler yapabilen sıkıştırılmış formatta bir yazılım içeriyor. Bahsedilen bu ekstralar arasında, kullanıcı ekleme, yükleme öncesi ve sonrası görevler, programın sisteme kaydedilmesi (örn. Windows kayıt defteri, xdg-dirs, OpenRC / systemd init, vb.) Vardı.

Formatları farklılaştıran (ve büyük bir profesyoneldir) bağımlılıklardır. Hem .debve .rpmdosyaları ve liste adları ve ön koşul yazılım olarak monte edilmelidir diğer programların sürümleri yapabilirsiniz. Kendileri tarafından, bu sadece bilgilendirme, ama ...

Genelde doğrudan etkileşimde bulunmazsınız .debve .rpmdosyalarınızda yaptığınız gibi çalışırsınız .msi. Aslında, öncekine değinildiği gibi, a .debtipik olarak sadece belirli bir dizin düzeninde bulunan dosyalarla xz ile sıkıştırılmış bir arşivdir (ar veya tar). Bunun yerine bu dosyaları işlemek için dpkgve gibi araçları kullanırsınız rpm.

dpkgve rpmiçeriklerini .debve .rpmdosyalarını yükler ve tüm gerekli yazılımların kurulu olduğunu doğrular. Bu programları çalıştırmak bir .msidosyaya tıklamaya benzer . Ancak kullanıcılar ile değil, tipik etkileşim yapmak dpkgveya rpmbunun yerine kullanmak apt-getve yumpaketleri yükleme. Bu araçların pencerelerde tam analogları yoktur.

Her ikisi de apt-getve yumuzak (veya yerel) depolardan dosya getirebilir ve karşılanmayan herhangi bir ön koşulu almak ve kurmak için .debve .rpmdosyalarda saklanan bağımlılık bilgilerini kullanabilir . Bildiğim ya da ne diğer yazılım ben gereksinimi konusunda endişe gerekmez Bu araçları ile, sadece belirtebilir apt-get install chromiumve biliyorum apt-getben gtk +, alsa, belirli X kütüphaneler, vb beni elle zorunda bulmak ve bu yüklemeden olmadan yüklü olduğundan emin olun olacak .debve .rpmDosyalar.

apt-getve yumbüyük iki paket yöneticileri, ayrıca bulacaksınız emergeve pacmanaltta yatan farklı mekanizmaları ile her ne kadar aynı işleri yapmak, hangi orada.


7
Bağımlılık yönetimi hakkında konuşmak için +1. Bu göz ardı edilmemelidir.
ldrumm

1
not: Yardımcı program .debkullanılarak paketlendiğine inanıyorum ar. neden bilmiyorum.
Strugee

1
Ayrıca, emergebir paket yöneticisi olarak sayılacaksanız, BSD portlarını da göz önünde bulundurmalısınız (onlar hakkında pek bir şey bilmeme rağmen, GNU’da bir paket yöneticisinin eşdeğeri olup olmadığından emin değilim. Linux).
Strugee

3
@ strugee true, bunu yansıtacak şekilde düzenledim. Ayrıca teknik olarak portage, paket yönetim motorudur emergeve limanlara çok benzer. Hepsi kaynak temelli ve çok yapılandırılabilir, ancak eğer bir komut yüklenecek / kaldırılacak, bağımlılıkları idare edecek ve kurulu paketlerin veritabanını tutacaksa, bunu paket yöneticisi olarak adlandıracağım. İyi yorumlar.
casey

@casey: dpkg ve rpm'nin altında yatan mekanizmalar hakkında nereden daha fazla bilgi edinebilirim?
deathholes

4

Windows altında bir MSI dosyasıyla aynı işlevlere sahiptir:

  • yazılımı bir kayıt defterine kaydeder,
  • hangi paketlerin o pakete yüklendiğini kaydeder.

Linux altında diğer paketler arasındaki bağımlılıkları da yönetirler.

Bu paket yönetimi formatları birçok şeyi yapar, ancak temel işlevler budur.


2

.rpmdosyalar, Red Hat ve Red Hat türetilmiş dağıtımları (örneğin, Fedora, RHEL, CentOS) tarafından kullanılan paket türüne atıfta bulunan RPM paketleridir. .debdosyalar Debian ve Debian-türevleri (örneğin Debian, Ubuntu) tarafından kullanılan paket tipi olan DEB paketleridir.

İndirildiğinde, genellikle ilgili dağıtımlara sırasıyla rpmve dpkgkomutları aracılığıyla yüklenir . Başka bir deyişle, bunlar tarafından yüklenen dosyalardır rpmve dpkgyerine .msiveya .exekendilerini yüklemek yürütülebilir olan kurulum dosyaları.

RPM ve DEB paketleri MSI'den farklı şekillerde farklılık gösterir.

  • Yukarıdaki gibi, yüklenmeleri gereken diğer araçları (yani rpmve dpkg) gerektiren dosyalardır .
  • Kurulduğunda, MSI dosyalarında olmadığı gibi bir veritabanına eklenirler. MSI dosyaları programı kayıt defterinde listeler, ancak Denetim Masası tarafından yapılan bir kaldırma işleminin kurulu tüm dosyaları diskten tamamen kaldırma olasılığı düşüktür . Bu nedenle, RPM ve DEB paketleri kaldırıldığında, tüm dosyalar temiz bir şekilde kaldırılır.
  • Genellikle doğrudan indirilmez ve kurulmazlar, ancak sırasıyla yumve benzerleri gibi paket yöneticileri aracılığıyla aptitude- ilgili sistem için derlenmiş paketler sunan depolar vardır ve paket yöneticisi tüm bağımlılıkları depolardaki verilerden otomatik olarak kurar.
  • Yüklü paketler tipik olarak birkaç yapılandırma aracı kullanır, örneğin GDM'yi LightDM yüklü bir sisteme yüklerseniz, araçlar, GDM LightDM kullanmayı tercih edip etmeyeceğinizi sorar.
  • Paketleri kurarken, bağımlılıklar dışında bazı paketler önerilmektedir; bu paketler gerekli olmayan ancak kullanıcı için yararlı olabilir.

1

Hem .debve .rpmYazılım yazılımını içeren GNU / Linux dağıtımları için paketler, (program (lar), uygulama (lar), vs.) ve yüklemek ne ve nerede konusunda yazılımın kendisi ve talimatları hakkında "* yükleyici *" yazılım için bilgilerdir doğru şekilde.

  • .debDebian Yazılım Paketi , Debian Dağıtım Tabanlı. Örneğin apt/ aptitude(Komut satırı) aracılığıyla veya grafiksel olarak örneğin " Synaptic " " Ubuntu Yazılım Merkezi ", " Gdebi ", ...
  • .rpmRed Hat Paket Yöneticisi : Fedora / Red Hat (merkezli) Linux Dağıtımlarında. Örneğin yum(komut satırı) veya grafiksel olarak örneğin " yumex " ile yüklenir
  • .msiMicrosoft Installer : Oldukça aynı, Microsoft Windows işletim sistemi için

Kurulumcuların kendisi ayrıca paketlerin bakım, güncelleme ve / veya kaldırılmasını da yapabilir. Ayrıca: burada, " yükleyici ", bu görevleri doğru bir şekilde yerine getirmek için kullanılan yazılım anlamına gelir; ayrıca, söz konusu görevleri el ile gerçekleştirmek için, kullanıcının kendisi için belirtilen bilgileri de sağlar.


1
PackageKit bir uygulama değil. dağıtımlardaki farklı paket yöneticileri için bir soyutlama kütüphanesidir.
Strugee

@ strugee dang, bunun adı olduğunu sanıyordum. Umarım yumexdoğru addır… ipucu için teşekkürler
erch

Fedora'daki varsayılanın GNOME Yazılımı olduğuna inanıyorum.
15'te

@strugee ben LXDE kullanılan ve paket yönetimi için grafiksel bir ön uç hatırlanacak bir süre Fedora çalıştı, ancak adı çalışır ve takım elbise kişinin arzuları iyi :) neyse, galiba ... was
erch

1

.deb: Debian'da Ubuntu, Linux Mint gibi Linux dağıtımları için kullanılan Debian paketi.

.rpm: rpmRHEL, Fedora ve CentOS gibi Red Hat tabanlı Linux dağıtımları için yükleyici

.msi: Windows platformu için ikili yükleyici


Stack Exchange'e hoş geldiniz! Neden reddedildiğinin bir açıklaması: Ben reddedilen iki kişiden biri değilim, ama benim tahminim öyle yaptı çünkü Debian ve / veya Ubuntu’nun GNU / Linux olmadığını ima ediyorsun. yanlış. onlar. (ve sadece Debian, Ubuntu ve Fedora'dan çok daha fazla dağıtım var.) Ayrıca, hiçbir şey açıklamadınız.
Strugee

1
Güncelleme: Bu ima kaldırmak için düzenlendi
Davidson Chua

Sanırım alt oylar, aslında bu paketlerin birbirlerinden nasıl farklı oldukları ile ilgili gerçek bir açıklama değil, dosyanın ne anlama geldiğine dair tek bir satır açıklaması verdikleri içindir. Burada seçilen cevaba bir göz atın, cevaplardan bekledikleri kalite budur :)
Munim
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.