سؤال ما الفرق بين yum و apt-get و rpm و ./configure && make install؟


أنا جديد على Linux وأقوم بتشغيل CentOS. لقد صادفت أربع طرق لتحديث أو تثبيت البرنامج.

حتى الآن ، لقد رأيت:

  • yum install [program]
  • apt-get install [program]
  • rpm -i [program].rpm
  • wget [program].tar.gz -> unpack -> ./configure -> make -> make install

هذا الأخير هو ألم حقيقي ، خاصة من ويندوز ، حيث يتم تثبيت البرنامج عادة بنقرة واحدة ومعالج تثبيت جميل.

لذا ، أسئلتي هي:

  • لماذا هناك العديد من الطرق المختلفة للقيام بذلك في لينكس؟
  • ما الذي تنصح باستخدامه ولماذا؟
  • هل هناك أي طرق أخرى لتثبيت البرامج في Linux؟

109
2018-03-31 02:27


الأصل


أيضا ، ماذا عن yum ضد up2date. لم أكن واضحًا أبدًا عن الفرق. - Josh
apt-get هو لـ Debian ، ولا يجب أن تظهر على CentOS .... - Kyle Strand


الأجوبة:


تقوم هذه الأدوات بتثبيت جميع البرامج في نظامك ، ولكنها تعمل على مستويات مختلفة.

  • ./configure && make install

    جري ./configure && make install يبني ويثبت المكتبات أو الملفات التنفيذية مباشرة من شفرة المصدر.

    ال make install خطوة في الأساس مجرد نسخ الملفات النهائية إلى النظام الخاص بك. مصادر كثيرة تأتي مع خاص make uninstall قاعدة لإزالتها مرة أخرى ، ولكن هذا غير مضمون وبالطبع يعمل فقط طالما لديك مصادر تكوينه حولها. أيضا ، هذا لا يعتني التبعيات المطلوبة.

    في كثير من الأحيان لا يوجد سوى شفرة المصدر المتاحة لحزمة معينة ، لذلك هذه هي الطريقة الوحيدة للذهاب. أيضا، ./configure عادةً ما تقبل الكثير من الخيارات التي تتيح لك تخصيص الحزمة الخاصة بك.

    عدم القدرة على معرفة البرامج المثبتة أي ملف ، وعدم وجود طريقة موثوقة لإزالتها من النظام هي أوجه القصور الرئيسية لهذا النهج.

  • RPM (Redhat مدير الحزم)

    rpm يقوم بتثبيت البرامج التي تم توصيفها وتجميعها بالفعل في النظام الخاص بك كما يأتي مع إلغاء التثبيت للتخلص منه مرة أخرى. يجب إنشاء الحزم من قبل شخص ما. قرر هذا الشخص بالفعل على الميزات التي يجب تضمينها وكيفية دمج الحزمة بشكل أفضل في تخطيط النظام لديك. كما يأتي مع قائمة من التبعيات.

    نظرًا لأن عدد rpms يتم استخدامه للعديد من التوزيعات هناك ، فغالباً ما ستحتاج إلى التأكد من أن عدد rpm هذا قد تم كتابته للتوزيع الخاص بك بحيث تتكامل مسارات التثبيت والتوابع وغيرها من أمور التدبير المنزلي بشكل جيد.

    في أنظمة دبيان ، يكون تنسيق الحزمة المكافئة هو .deb ويتم التعامل مع التثبيت وقاعدة البيانات من قبل dpkg أداة.

  • يم

    yum هو مجمع إضافي حولها rpm. إنه يحتفظ بقاعدة بيانات خاصة به من ملفات rpm المتاحة للتوزيع ، بشكل عام في مستودعات الإنترنت. بالنسبة للإصدارات المستقرة من معظم التوزيعات ، ستعمل جميع الحزم داخل قاعدة البيانات هذه بشكل جيد مع بعضها البعض. يمكن البحث في قاعدة البيانات هذه (على سبيل المثال مع yum search some_name).

    وسوف يحل تلقائيا أيضا التبعيات بالنسبة لك. الحزم (ومع بعض المساعدة الإضافية تبعية) يمكن إزالتها بسهولة كذلك.

    في أنظمة دبيان ، يتم توفير المستودع المكافئ وأدوات تحليل التبعية بواسطة Apt (apt-get و aptitude).

لكي نلخص ذلك: إذا كنت تريد فقط أن تحاول بعض البرامج yum أول. إذا لم تكن متوفرة هناك ، يمكنك محاولة العثور على موجود rpmصفقة. إذا لم يكن هناك شيء أو لديك بعض المتطلبات الخاصة ، فابدأ في الإنشاء من المصدر.


103
2018-03-31 03:07



الى حد كبير ما كنت سأقوله. وأضاف في ذكر مكافئات ديبيان وتطرق التنسيق. - quack quixote
quack: شكرًا. لكن لا يمكننا جميعًا أن نتوقف apt-get أم أنها لا تزال موصى بها لأي شيء؟ - Benjamin Bannier
أنت على حق، موهبة ربما هو الأفضل للتوصية ؛ أنا المدرجة الرابطة بين الحصول على لأنه يشار إليه على نطاق واسع ، والقارئ الذي لا يعرف موهبة قد سمعت من الرابطة بين الحصول على. - quack quixote
ما هو الخطأ في apt-get؟ - recursive
recursive: في بعض الوقت apt-get لم يسجل التبعيات التلقائية وتركهم وراءهم بعد إلغاء التثبيت ، بينما aptitude ثم قدم تتبع التبعية المناسبة. بالإضافة إلى ذلك ، فإنه يوفر أيضًا بعض الميزات الإضافية غير المتاحة في apt-get. لست متأكدا ، ولكن أعتقد في مرحلة ما apt-get و aptitude حيث تم تحديثها لاستخدام نفس الواجهة الخلفية المتقدمة التي تقدم الكثير من هذه الوظيفة. - Benjamin Bannier


Yum هي RPM هي الشيء نفسه فيما عدا أن yum تحصل على الحزم من الشبكة تلقائياً وتقوم بتثبيتها (باستخدام rpm -i) في خطوة واحدة. يجب استخدامه كلما أمكن لتخفيف التحديث. استعمال rpm فقط عندما لا يكون هناك حزمة يمكن العثور عليها yumواستخدم make طريقة فقط عندما لا توجد حزمة .rpm المتاحة أو تحتاج إلى تغيير بعض خيارات وقت التحويل البرمجي.


4
2018-03-31 02:54