MacPorts vs. Fink vs. Homebrew [yinelenen]


39

Bu sorunun zaten burada bir cevabı var:

GCC derleyicilerimi ve diğer programları kurmak ve bakımını yapmak için her zaman MacPorts'u kullandım. Şimdi Fink ve Homebrew'i duydum. Görünüşe göre bu iki kamu hizmetleri Mac topluluğunda zemin kazanıyor, ancak aralarındaki farkı anlamıyorum.

MacPorts, Fink ve Homebrew arasındaki ana fark nedir? Kalite veya performansta herhangi bir fark var mı?


3
Rudix de var .
saat

4
Does bu eski soru ihtiyaçlarınız adresini?
bmike

Yanıtlar:


30

Fink en az 2001 Fink yana yaklaşık edilmiş ve MacPorts "ortogonal" olmak olduğunu sistemine istediğiniz paket yöneticileri, onlar kendi sürümünü yüklemek python, perliçin kendi ağaçlarda vb kütüphaneler, derleyici, (/ sw Fink, / opt / yerel MacPorts için). Bunun nedeni Apple'ın yazılımı ile ne yaptığını kontrol etmemeleridir ve Apple kendi şeylerini güncellediğinde zaman zaman işleri bozar.

Anladığım kadarıyla, Homebrew sisteme daha "entegre" olmak istiyor, Apple'ın sağladığı kütüphaneleri kullanıyor ve eşyalarını /usr/local/binve diğer standart klasörlere yüklüyor. Sanırım bu, yazılım seçiminin Homebrew ile daha sınırlı olduğu anlamına geliyor, birinin KDE'yi yükleyebileceğini hayal edemiyorum, ancak denemedim.

Fink ve MacPorts için bir nokta: Birkaç yıl önce, Fink projesi ikili paketler sağladı; yani paketleri kendiniz derlemeden indirip yükleyebilirsiniz. Paket yöneticisi hala bu kabiliyete sahip, ancak uzun süredir ikili dosyalar bulunmuyor. Bu arada değişip değişmediğini bilmiyorum.

Kısacası: İkili şeyler olmadan, Fink ve MacPorts çok benzer. Homebrew'ten daha fazla paketi olmalı, Homebrew yukarıda belirttiğim nedenlerden dolayı daha az disk alanı kullanmalıdır. Kalite ile ilgili: Homebrew'i hiç kurmadım ve Fink ile MacPorts arasında genellikle şu anda kullanmadığım birini tercih ediyorum.

Yani MacPorts'tan memnunsanız, onunla kalmanız yeterli.

PS Homebrew'ı hiç denememe sebebim, önceden derlenmiş paketleri kullanmamdır. Bunlar genellikle kendilerini / usr / local / bin ve benzerlerine yüklerler;


KDE konusunda yanılmış olman gerektiğini düşündüm, ama bu kesinlikle doğru. Bir zamanlar bunun için paketleri vardı, ama görünüşe göre KDE'nin Homebrew'in hiyerarşisine uygun olmayan bir şekilde inşa edildiğine dair bir şeyler var. Umarım bu bir gün düzeltilecektir.
echristopherson

1
@echristopherson Yani bir kez KDE vardı? Benim için bir sürpriz. Ancak KDE oldukça kırılgan görünüyor, bir zamanlar Fink'e kurdum ve bir sonraki güncellemede tüm kurulum bozuldu; bu yüzden Homebrew ile daha kırılgan olacağını beklersiniz. Ama bir gün doğru yaparlarsa, söylediğim her şeyi geri alırım.
Percival Ulysses

4
/ Usr / local içinde kurulu Homebrew kullanmamamın nedeni de aynı. Geleneksel Unix felsefesi tutunan, sadece ben başka önek yönetmek gerekir / usr / local .. Bir paket yöneticisinde şeyler koymalıyız.
Jason,

Şahsen MacPorts kullanıyorum, ancak en son kontrol ettim (ki bu bir süre önce) Fink'in çok daha geniş bir paket koleksiyonu vardı.
HairOfTheDog 12:12

1
@Jason Bu tek kullanıcı bir makine için de geçerli mi? Homebrew'i yeni kurdum ve umarım pişman olmayacağım. Ancak, elmanın kökü nasıl kullandığı ve yönetici ayrıcalıklarına sahip kullanıcıları nasıl ele aldığı çok net değil. Sistemimdeki tek kullanıcı benim.
haziz

8

Temel farklılıklar şöyle derdim:
Sağlamlık, sonuç ve dağıtım yöntemi.

En önemli ayrıntı, seçtiğiniz sistemin istediğiniz yazılım için paket (ler) içerip içermediğini kontrol etmeniz olacaktır. Paket sayıları yaklaşık olarak: 19k Macport, 22k Fink, 3k Homebrew, 10k pkgsrc.

  • Macports , eskiden Darwin limanları, kaynak alan, yayan, inşa eden ve kuran pkgsrc gibi BSD tarzı bir liman sistemi gibi görünüyor. Pkgsrc'ye çok benziyorsa bunu kabuk komut dosyalarını kullanarak yapar. Xcode tarafından sağlanan araçlara güveniyordu, ancak bu sorun yaratmaya başladı, bu yüzden şimdi de gcc'yi önyükleyebilir. Ek olarak, orada bazı ikili paketler bulunmaktadır, ancak her seferinde sisteminiz için en son sürümü bulamayabilirsiniz. Dağılımın sona erdiği OS X çekirdeğine dayanan Apple açık kaynaklı BSD Darwin'den geldi. /opt/localMuhtemelen diğer kurulum paketleri veya sistem güncellemeleri tarafından dokunulmayacak paketleri kurar .
  • Fink , re: ispinozlar Charles Darwin'in çalışmasının konusu olup, Debian Paket Yöneticisine dayanan bir paket sistemidir, yani kullanımı dpkgve apt-getana faydası, ikili paketlere sahip olduğunuzu güvenilir bir şekilde bulabilmenizdir. Geçerli işletim sistemi sürümünüz için ikili dosya içeren depo. Ayrıca Darwin'in kullanıcı tabanından çıktı, ancak muhtemelen daha süren biraz daha kararlı donanım desteği arayan Debian Linux'tan (mac veya PPC) gelenler arasında daha popülerdi. /swBaşka yükleyicilerin kurabilecekleri üzerine yazma ya da üzerine yazma nedenleriyle paketleri yükler . Ayrıca derleyici arama yolları ve zaten PATHiçeren varsayılanlar hakkında bir şeyler /usr/local/bin.
  • Homebrew , konsept olarak bir tür liman sistemidir, ancak yakutla yazılmıştır. Tek başına bir işletim sistemi dünyasından gelmiyor ve Mac OS X kullanıcıları için tasarlandı (diğerleri aynı şekilde kullanıldı ve test edildi). 2014 ortasından itibaren temelde her paketi oluşturmaya çalışıyor (bunlara formül diyorlar), birkaçı şişe olarak adlandırılan ikili formda mevcut ve yarıya meyilli iseniz sosyal grubunuzda paylaşmak için bir şişe deposu oluşturabilirsiniz. - sizi ve arkadaşınızın araç zincirlerini standartlaştırmak (diğer sistemler için aynı). Artı tarafta, muhtemelen Apple'dan gelen kitaplıklardan birkaçı kullanılarak oluşturulmuştur. Birçok durumda çalışması için Xcode'a ihtiyacınız olmadığını düşünüyorum, ancak onu “destekliyor ve tavsiye ediyor”. Her öğeyi kendi ön ekinde yükleyebilirsiniz./usr/localSanırım başladı ve diğerlerinden daha yeni. Kişisel olarak bunu en çok kullandığımı gördüm çünkü nadiren birbirine bağımlı paketlere ihtiyacım var ve mac homebrew'in ne kadar iyi desteklediği konusunda net değilim. Homebrew sizi, cpan, gems ve benzeri gibi sıkı bir şekilde birleştirilmiş bir yöneticiden kaynaklanan yazılımlar için daha uygun paket yöneticileri kullanmaya zorlamayı amaçlamaktadır.
  • pkgsrc , Mac OS X için mevcut olacak, ikili paketlere sahip olacak ve onu FreeBSD'nin port sistemine dayanarak koruyan NetBSD'den geliyor. NetBSD, mimariler arasında taşınabilirliğe odaklanmıştı, böylece sahip olduğu diğer platformları da desteklemeye başlamak için muhtemelen en iyi aday liman sistemi idi. Benim açıklamam Macport'a benzer, ancak ben bunu kullanmadım (NetBSD hariç) ve sanırım içine /kuruyor ama paketleri kuruyor ve muhafaza ediyor /pkg. Muhtemelen çok sayıda paket vardır (12k gibi) ve% 20’si yapılamayabilir veya kaynağın en son sürümü en son korunan yamaya yamayabilir. Bu yüzden ikili paketler bu tür sistemlerde tercihimdir.

Ayrıca bir tür homebrew olan perlbrewperl , perl içine yerleştirilmiş uygulamalar ve bazı bağımlılıklar kullandım. Perl'in çoklu versiyonlarını korumanın en iyi yolu budur ve diğer daha genel paket sistemlere olan ihtiyacı (bu amaç için) uygun şekilde reddeder. Ama tabii o da var cpan ve cpanminus .

Kendi mini çevre için benzer yöneticileri bulabilirsiniz (gibi vundle vim için, ya da taş yakut için, NPM node.js için pypm veya pip piton için, go en yerleşik go install... vb?)


Paket sayıları yanıltıcıdır, çünkü Homebrew kasıtlı olarak belirli paket sınıfları içermez
apple.stackexchange.com/questions/32724/…

5

Fink ve MacPorts ortogonal bir sistem kurdukları için doğrudan rakiplerdir. Fink birkaç yıl önce MacPorts'a kayda değer bir zemin kaybetti. Neden şimdi emin değilim, ama MacPorts neredeyse her şeyi daha iyi ele aldım.

Ortogonal bir kurulum için artık daha az nedenimiz var, Mac OS X daha az çılgın pantolon yetiştirdi. Brew, Mac OS X ile daha iyi bütünleşmek için yaratılmış, ağırlığı daha hafif ve daha az dik hale getirmiş ve ayrıca Rubyist her şeyi yeniden yazmıştı.

Uygulamada, MacPorts biraz daha karmaşık, ancak MacPorts neredeyse her zaman işe yarıyor, Brew basit ama daha fazla tuğla duvarla karşılaşıyor.

Kendinize şu soruyu sorun:

  • Çok sayıda Linux ekosistem aracı kullanıyor musunuz?
  • Birden fazla versiyona mı ihtiyacınız var?
  • Yeni araçlarla daha fazla deney yapıyor musunuz?
  • Matematik / fen araçları / kütüphaneleri veya diğer olağandışı araçlar kullanıyor musunuz?

Herhangi bir evet cevabı, MacPorts'u seçmeniz gerektiğini gösterir. Nispeten az sayıda ve ortak paketler yerleştirirseniz demlemek daha az masrafa neden olur, ancak Brew de karmaşıklıkları ele almaz. Demlemek /usr/localelle kurulumlar için isteyebileceğiniz kirletiyor . Aslında, MacPorts için daha ayrıntılı argümanlar var ama yine de hayır cevabı verdiyseniz yine geçerli değiller.

Bunun tersine, evet cevabı verdiyseniz ancak birincil makineniz Linux kullanıyorsa ve Mac'iniz yalnızca minimal Linux yazılımı çalıştıran bir oyuncaksa, o zaman aslında Brew ile daha iyisini yapabilirsiniz.


2

Ancak bir yandan not olarak, Apple OS X ile ilgili hiçbir şey kendisini / usr / local / bin içine yükleyemez. Sahnelerin arkasında / usr / lib, / usr / bin'i kullanırlar ve düzenli Unix ./configure, make, make install komutunu kullanarak kendiniz yüklediğiniz şeyler / Library / Frameworks içine paketlenir. ve MacPorts gibi kuruluşlar kişisel / / Kütüphane / Altyapıları için / opt / ve büyük olasılıkla çerçeveleri paketler.

Benim tavsiyem, alıştığınız buysa MacPorts ile kalmak. Temel olarak temel fark, MacPorts'un, gerçek Unix / BSD limanları ağaç uygulamalarını FreeBSD'den gelen bağlantı noktalarına benzeyen bir sistem kullanması, Fink ise Linux Debian arşivlerinden alınan uygulamaları ve Linux Debian ile aynı paket yöneticisi sistemini kullanmasıdır.

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.