ما هي الطريقة المفضلة لنشر تطبيق ثنائي فقط لتوزيعات Linux متعددة؟

StackOverflow https://stackoverflow.com/questions/1502543

سؤال

لدي تطبيق Linux مغلقا أريد توزيعه. يستخدم هذا التطبيق WXWIDGETS / GTK لذلك هناك قائمة ضخمة للمكتبات المشتركة (60+) أن هذا التطبيق يعتمد على ذلك.

ما هو الطريق المفضل لنشر التطبيق ودعم الحد الأقصى لعدد Distros؟

  • هل لبناء التطبيق لكل توزيع مدعوم ونشرها بشكل منفصل؟ هذا لديه عيب أن تكون معقدة للبناء (chroot وبناء لكل توزيع) ولن يعمل إلا على التوزيع المدعوم.

  • هل يضيف جميع المكتبات المشتركة في المثبت واستخدامها باستخدام متغير LD_Library_Path Enc (مثل VMware)؟ هذا لديه عيب زيادة حجم المثبت.

  • هل هو لبناء تطبيق ثابت تماما؟ هذا بالتأكيد غير ممكن لأنه سوف يكسر بعض التراخيص.

  • هل هو مزيج من ذلك أو خيار آخر؟ كيف تنشر معظم البائعين التجاريين تطبيقهم الرسومي (يفضل أن يكون أساسا)؟

هل كانت مفيدة؟

المحلول

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

ومع ذلك، يجب أن لا يزال يجب عليك حزم النتيجة على وجه التحديد لكل توزيع رئيسي - فقط حتى يتمكن عملائك من إدارة تطبيقك باستخدام أدوات إدارة الحزم المألوفة.

نصائح أخرى

أساسا، هناك طريقتان. يمكنك اختيار كليهما، إذا كنت ترغب في ذلك.

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

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

في المثبت الخاص بك، تحقق من تثبيت المكتبات ثم قم بتنزيل الثنائيات لأولئك الذين لا.

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

بالنسبة إلى أقصى درجات الراحة، تحقق من المكتبات المتوفرة على Target Distro وتطلب من المستخدم استخدام أداة المسؤول القياسية لتثبيتها. بهذه الطريقة، لن تلوث الكمبيوتر بإصدارات مختلفة من نفس المكتبة.

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

أعني: كم قيمة هي جزء من التعليمات البرمجية التي تحدد UI؟ كم سوف تخسر عندما يسرق شخص ما؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top