MacPorts बनाम फिंक बनाम होमब्रेव [डुप्लिकेट]


39

इस सवाल का पहले से ही यहाँ एक जवाब है:

मैंने हमेशा अपने GCC संकलक और अन्य कार्यक्रमों को स्थापित करने और बनाए रखने के लिए MacPorts का उपयोग किया। अब मैंने फ़िंक और होमब्रे के बारे में सुना है। ऐसा लगता है कि ये दो उपयोगिताओं मैक समुदाय में जमीन हासिल कर रहे हैं, लेकिन मैं उनके बीच के अंतर को नहीं समझता।

MacPorts, Fink और Homebrew के बीच मुख्य अंतर क्या है? क्या गुणवत्ता या प्रदर्शन में कोई अंतर है?


3
रुडिक्स भी है ।
LHF

4
क्या यह पुराना प्रश्न आपकी आवश्यकताओं को संबोधित करता है?
bmike

जवाबों:


30

फिंक के बाद से कम से कम 2001 फिंक के आसपास किया गया है और MacPorts पैकेज प्रबंधकों है कि "ओर्थोगोनल" प्रणाली, है कि करने के लिए होना चाहता हूँ रहे हैं, वे अपने स्वयं के संस्करण को स्थापित करने python, perlके लिए /, पुस्तकालयों, compilers, आदि स्वयं के पेड़ों में (sw MacPorts के लिए फ़िंक, / ऑप्ट / लोकल)। इसका कारण यह है कि ऐपल अपने सॉफ़्टवेयर के साथ क्या करता है इसका उनके पास कोई नियंत्रण नहीं है, और जब कभी-कभी ऐप्पल ने अपना सामान अपडेट किया तो यह टूट गया।

जो मैं समझता हूं, होमब्रॉव सिस्टम के साथ अधिक "एकीकृत" होना चाहता है, ऐप्पल द्वारा प्रदान किए जाने वाले पुस्तकालयों का उपयोग करता है, /usr/local/binऔर अन्य सामानों में अपना सामान स्थापित करता है । मुझे लगता है कि इसका मतलब है कि सॉफ़्टवेयर की पसंद होमब्रे के साथ अधिक सीमित है, मैं कल्पना नहीं कर सकता कि कोई इसके साथ केडीई स्थापित कर सकता है, लेकिन मैंने ऐसा करने की कोशिश नहीं की है।

फ़िंक बनाम मैकपोर्ट्स के लिए एक बिंदु: कुछ साल पहले, फ़िंक परियोजना ने बाइनरी पैकेज प्रदान किए थे; वह यह है कि आप संकुल को स्वयं संकलित किए बिना डाउनलोड और स्थापित कर सकते हैं। इसके पैकेज मैनेजर के पास अभी भी वह क्षमता है, केवल लंबे समय से कोई बायनेरिज़ उपलब्ध नहीं है। मुझे नहीं पता कि इस बीच वह बदल गया है या नहीं।

तो संक्षेप में: बाइनरी सामान के बिना, फ़िंक और मैकपोर्ट्स बहुत समान हैं। उनके पास Homebrew की तुलना में अधिक पैकेज उपलब्ध होने चाहिए, जबकि Homebrew को मेरे द्वारा ऊपर बताए गए कारणों के लिए कम डिस्क स्थान लेना चाहिए। गुणवत्ता के बारे में: मैंने होमब्रे को कभी स्थापित नहीं किया है, और फ़िंक और मैकपोर्ट्स के बीच मैं आमतौर पर उस चीज को पसंद करता हूं जिसे मैं वर्तमान में उपयोग नहीं कर रहा हूं।

इसलिए यदि आप MacPorts से संतुष्ट हैं, तो बस इसके साथ बने रहें।

PS कारण है कि मैंने कभी Homebrew की कोशिश नहीं की है कि मैं कुछ precompiled संकुल का उपयोग करता हूं। ये आम तौर पर खुद को / usr / लोकल / बिन और लाइक में भी स्थापित करते हैं, जो मुसीबत के लिए रोता है।


मुझे लगा कि आपको केडीई के बारे में गलत होना चाहिए, लेकिन यकीन है कि यह सच है। एक बार इसके लिए पैकेज थे, लेकिन जाहिर है कि केडीई के निर्माण के तरीके के बारे में कुछ ऐसा है जो होमब्रे के पदानुक्रम के साथ असंगत है। उम्मीद है कि कुछ दिन तय हो जाएगा।
इच्रिस्टोफरसन

1
@echristopherson तो यह एक बार केडीई था? मेरे लिए एक आश्चर्य। लेकिन केडीई काफी नाजुक लग रहा है, मैंने एक बार इसे फ़िंक के साथ स्थापित किया था, और अगले अद्यतन में, पूरी स्थापना गड़बड़ हो गई; तो आप उम्मीद करेंगे कि यह Homebrew के साथ और भी नाजुक है। लेकिन अगर वे किसी दिन इसे सही कर लेते हैं, तो मैंने जो कुछ भी कहा है, उसे वापस लेता हूं।
पर्सिवल उलीसेज़

4
Homebrew में स्थापित / usr / स्थानीय एक ही कारण मैं इसे या तो उपयोग नहीं है। पारंपरिक यूनिक्स दर्शन से चिपके हुए, केवल मुझे / usr / स्थानीय में सामान रखना चाहिए .. एक पैकेज प्रबंधक को कुछ अन्य उपसर्ग का प्रबंधन करना चाहिए।
जेसन

व्यक्तिगत रूप से मैं MacPorts का उपयोग करता हूं, लेकिन अंतिम बार मैंने जाँच की (जो कुछ समय पहले) फ़िंक के पास संकुल का अधिक बड़ा संग्रह उपलब्ध था।
HairOfTheDog

1
@ जैसन क्या यह सिंगल यूजर मशीन के लिए भी सही है? मैंने बस Homebrew स्थापित किया है, और मुझे आशा है कि मुझे इसका पछतावा नहीं होगा। मैं हालांकि बहुत स्पष्ट नहीं हूं कि ऐप्पल कैसे रूट करता है और व्यवस्थापक विशेषाधिकारों के साथ उपयोगकर्ता। मैं अपने सिस्टम का एकमात्र उपयोगकर्ता हूं।
खतरों के खिलाड़ी

8

मैं कहता हूँ कि मुख्य अंतर हैं:
प्रोविडेंस, परिणाम और वितरण की विधि।

आपके लिए सबसे महत्वपूर्ण विवरण यह जांचना होगा कि आपके द्वारा चुनी गई प्रणाली में आपके इच्छित सॉफ़्टवेयर के लिए पैकेज (s) हैं। पैकेज मायने रखता है लगभग: 19k Macports, 22k Fink, 3k Homebrew, 10k pkgsrc।

  • मैकपोर्ट्स , पूर्व में डार्विन बंदरगाहों को बीएसडी स्टाइल पोर्ट सिस्टम लगता है जैसे pkgsrc जो स्रोत को प्राप्त करता है, इसे पैच करता है, इसे बनाता है, और इसे इंस्टॉल करता है। अगर यह pkgsrc की तरह है, तो यह शेल स्क्रिप्ट का उपयोग करके ऐसा करेगा। यह Xcode द्वारा उपलब्ध कराए गए उपकरणों पर भरोसा करता था, लेकिन इससे समस्याएं शुरू हो गईं, इसलिए अब यह बूटस्ट्रैप gcc भी कर सकता है। इसके अतिरिक्त वहाँ कुछ बाइनरी पैकेज हैं, लेकिन हो सकता है कि आपको हर बार अपने सिस्टम का नवीनतम संस्करण न मिले। यह डार्विन से आया था, Apple ने OS X कर्नेल के आधार पर खुले बीएसडी को बंद कर दिया था जो वितरण को बंद कर दिया था। यह उन पैकेजों को स्थापित करता है, /opt/localजो संभवत: अन्य इंस्टॉलर पैकेज या सिस्टम अपग्रेड द्वारा छुआ नहीं जाएगा।
  • फिंक , री: फिंस चार्ल्स डार्विन के अध्ययन का विषय है, एक पैकेज सिस्टम है जो डेबियन पैकेज मैनेजर पर आधारित है, इसका मतलब है कि इसमें सुविधाओं का उपयोग dpkgऔर apt-getमुख्य लाभ यह है कि आप मज़बूती से बाइनरी पैकेज पा सकते हैं .. यह मानते हुए कि आपके पास अपलिंक पैकेज है। रिपॉजिटरी जिसमें आपके वर्तमान OS संस्करण के लिए बायनेरिज़ शामिल हैं। यह डार्विन उपयोगकर्ता-आधार से भी निकला है, लेकिन शायद उन लोगों के साथ अधिक लोकप्रिय है जो डेबियन लिनक्स [मैक, या पीपीसी के लिए] से थोड़ा अधिक स्थिर हार्डवेयर समर्थन की तलाश में थे ... जबकि यह चली। यह /swओवरराइटिंग नहीं करने या अन्य इंस्टॉलर को स्थापित करने के लिए अधिलेखित नहीं होने के कारणों में पैकेज स्थापित करता है । संकलक खोज पथ और पहले से ही डिफ़ॉल्ट PATHवाले कुछ के बारे में भी /usr/local/bin
  • Homebrew अवधारणा में एक तरह का पोर्ट सिस्टम है, लेकिन रूबी में लिखा गया है। यह एक स्टैंड-अलोन ओएस दुनिया से नहीं आता है और मैक ओएस एक्स उपयोगकर्ताओं के लिए इरादा था (दूसरों को पूरी तरह से उपयोग किया जाता है और उसी द्वारा परीक्षण किया जाता है)। 2014 के मध्य तक यह मूल रूप से हर पैकेज (वे उन्हें सूत्र कहते हैं) बनाने की कोशिश करते हैं, हालांकि कुछ बाइनरी रूप में बोतलें उपलब्ध हैं, और आप अपने सामाजिक समूह में साझा करने के लिए बोतलों का भंडार बना सकते हैं यदि आप अर्ध पर झुके हैं -आप और आपके दोस्त के टूलचिन्स (अन्य प्रणालियों के लिए डिट्टो) को कम करना। प्लस साइड पर, यह कई पुस्तकालयों का उपयोग करके बनाता है जैसा कि आप शायद पहले से ही एप्पल से आए हैं। मुझे लगता है कि आपको ज्यादातर मामलों में काम करने के लिए Xcode की आवश्यकता नहीं है, लेकिन यह "इसका समर्थन और अनुशंसा करता है"। आप प्रत्येक आइटम को अपने उपसर्ग में स्थापित कर सकते हैं,/usr/localमुझे लगता है कि यह किकस्टार्ट किया गया था और दूसरों की तुलना में हाल ही में अधिक है। मैंने व्यक्तिगत रूप से पाया है कि मैंने इसका सबसे अधिक उपयोग किया है क्योंकि मुझे शायद ही कभी अन्योन्याश्रित पैकेजों की आवश्यकता होती है, और मैं इस बात पर स्पष्ट नहीं हूं कि मैक होमब्रे इसका कितना अच्छा समर्थन करता है। Homebrew का लक्ष्य आपको सॉफ्टवेयर के लिए अधिक उपयुक्त पैकेज प्रबंधकों का उपयोग करने के लिए मजबूर करना है, जो एक कसकर युग्मित प्रबंधक से उत्पन्न होता है, जैसे कि cpan, जवाहरात और इसी तरह।
  • pkgsrc Mac OS X के लिए उपलब्ध होगा, इसमें बाइनरी पैकेज हैं, और यह NetBSD से आता है जो इसे बनाए रखता है और बदले में FreeBSD के पोर्ट सिस्टम पर आधारित है। NetBSD आर्किटेक्चर भर में पोर्टेबिलिटी पर केंद्रित था ताकि यह अन्य प्लेटफार्मों का भी समर्थन शुरू करने के लिए संभवतः सबसे अच्छा उम्मीदवार पोर्ट सिस्टम था, जो इसके पास है। यह मैकपोर्ट के लिए मेरे विवरण के समान है, लेकिन मैंने इसका इस्तेमाल नहीं किया है (नेटबीएसडी को छोड़कर), और मुझे लगता है कि यह स्थापित करता है /लेकिन पैकेज बनाता है और बनाए रखता है /pkg। शायद बहुत सारे पैकेज हैं (जैसे 12k) और कुछ 20% का निर्माण नहीं हो सकता है, या, स्रोत का नवीनतम संस्करण अंतिम बनाए गए पैच के साथ पैच नहीं कर सकता है। यही कारण है कि बाइनरी पैकेज इस प्रकार के सिस्टम के साथ मेरी प्राथमिकता हैं।

मैंने perlbrew का भी उपयोग किया है, जो एक प्रकार का homebrew है perl, perl में निर्मित एप्लिकेशन और कुछ निर्भरताएं। यह ज्यादातर पर्ल के कई संस्करणों को बनाए रखने का एक अच्छा तरीका है, और यह आसानी से अन्य सामान्य पैकेज सिस्टम (इसके उद्देश्य के लिए) की आवश्यकता को नकार देता है। लेकिन निश्चित रूप से यह भी cpan और cpanminus है

आप अपनी खुद की मिनी पर्यावरण के लिए समान प्रबंधकों पर मिले (जैसे vundle vim के लिए, या मणि माणिक के लिए, NPM Node.js, के लिए pypm या पिप अजगर के लिए, जाने के निर्मित go install... आदि?)


पैकेज की गणना भ्रामक है क्योंकि होमब्रे ने जानबूझकर पैकेजों की कुछ कक्षाएं शामिल नहीं की हैं - Apple.stackexchange.com/questions/32724/…
Dan Dascalescu

5

Fink और MacPorts प्रत्यक्ष प्रतियोगी हैं जिसमें वे एक ऑर्थोगोनल सिस्टम स्थापित करते हैं। Fink ने कई साल पहले MacPorts को काफी जमीन खो दी थी। मुझे पूरी तरह से यकीन नहीं है कि अब क्यों, लेकिन मैकपोर्ट्स ने लगभग सब कुछ बेहतर तरीके से संभाला।

हमने अब एक ऑर्थोगोनल इंस्टॉलेशन का कारण कम कर दिया है कि मैक ओएस एक्स कम पागल पैंट हो गया है। ब्रू को ओटो को मैक ओएस एक्स के साथ बेहतर तरीके से एकीकृत करने के लिए बनाया गया था, जिससे यह हल्का वजन और कम ऑर्थोगोनल बना रहा है, और यह भी कि रूबीवादी सब कुछ फिर से लिखता है।

व्यवहार में, MacPorts थोड़ा अधिक जटिल है, लेकिन MacPorts लगभग हमेशा काम करता है, जबकि Brew सरल है लेकिन ईंट की दीवार में चलने की अधिक संभावना है।

खुद से पूछें ये सवाल:

  • क्या आप कई लिनक्स इकोसिस्टम टूल्स का उपयोग करते हैं?
  • क्या आपको कई संस्करणों की आवश्यकता है?
  • क्या आप नए उपकरणों के साथ बहुत प्रयोग करते हैं?
  • क्या आप गणित / विज्ञान उपकरण / पुस्तकालय या अन्य असामान्य उपकरणों का उपयोग करते हैं?

कोई भी हाँ जवाब आपको MacPorts चुनने का सुझाव देता है। यदि आप अपेक्षाकृत कम और सामान्य पैकेज स्थापित करते हैं, तो ब्रू कम ओवरहेड है, लेकिन ब्रू जटिलताओं को भी संभाल नहीं पाएगा। काढ़ा प्रदूषण /usr/localजो आप मैन्युअल प्रतिष्ठानों के लिए भी चाहते हो सकता है। वास्तव में, मैकपोर्ट्स के लिए अधिक विस्तृत तर्क हैं लेकिन फिर से वे संभवत: लागू नहीं होते हैं यदि आपने उत्तर नहीं दिया है।

इसके विपरीत, यदि आपने हां में उत्तर दिया है लेकिन आपकी प्राथमिक मशीन लिनक्स चलाती है, और आपका मैक केवल न्यूनतम लिनक्स सॉफ्टवेयर चलाने वाला खिलौना है, तो वास्तव में आप ब्रू के साथ बेहतर कर सकते हैं।


2

लेकिन एक साइड नोट के रूप में, Apple OS X संबंधित कुछ भी खुद को / usr / लोकल / बिन में स्थापित नहीं करेगा। वे परदे के पीछे / usr / lib, / usr / bin का उपयोग करते हैं और फ्रेमवर्क / लाइब्रेरी / चौखटे में पैक हो जाते हैं, जबकि सामान आप अपने आप को Unix ./configure के माध्यम से स्थापित करते हैं, बनाते हैं, स्थापित करते हैं / usr / local / bin आदि का उपयोग करेंगे। , और MacPorts जैसी उपयोगिताओं / विकल्प / और संभवतः अपने व्यक्तिगत ~ / पुस्तकालय / चौखटे / के लिए पैकेज चौखटे का उपयोग करेगा।

मेरी अनुशंसा है कि यदि आप के लिए उपयोग किया जाता है तो MacPorts के साथ बने रहें। मूल रूप से मुख्य अंतर यह है कि मैकपोर्ट्स एक ऐसी प्रणाली का उपयोग करता है जो करीब फ्रीबीएसडी से बंदरगाहों के साथ सही यूनिक्स / बीएसडी बंदरगाहों के पेड़ के कार्यान्वयन के समान है, जबकि फिंक लिनक्स डेबियन अभिलेखागार से पोर्ट किए गए अनुप्रयोगों का उपयोग करता है, और लिनक्स डेबियन के रूप में एक ही पैकेज प्रबंधक का उपयोग करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.