سؤال

لدينا تطبيق عمل يعمل بشكل أساسي على كومة من نظام التشغيل المستقلة (Tomcat + Java + Mysql) ولكن لدينا دائما Redhat Redhat أو Centos.

هناك عميل يصر على تشغيله على OpenSolaris لأسبابه الخاصة (اتفاقية دعم كل شيء باهظ الثمن مع الشمس).

كيف يمكن أن تكون مؤلمة مثل هذه الهجرة؟ لدينا الكثير من ملف التكوين ودعم البرامج النصية مثل:

  • اباتشي
  • أباتشي / موصل Tomcat
  • التفاعل عبر البريد الإلكتروني مع postfix
  • خدمة مخصصة تبدأ / توقف
  • وظائف بضع كرون (النسخ الاحتياطي والرصد)
  • مختلف المستخدمين والأذونات (Java، MySQL، البريد الإلكتروني، النسخ الاحتياطي ...)

يتم إخراج عملية الإنشاء لدينا ملف .tar.gz مع رمز عملنا + بعض البرامج النصية SHELL التي تحرير جميع ملفات تكوين نظام التشغيل.

أي خبرة سابقة في هذا.

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

المحلول

ستكون أكبر المشكلات مع الخيارات غير بوسيكس (غير المعايير) التي استخدمتها إلى أدوات جنو المقدمة على Linux غير الموجودة في أوامر Solaris Standards. قد تقرر أن تقوم بتنفيذ الأدوات ذات الصلة من مجموعة جنو أبسط من تعديل النظام الخاص بك. إذا قمت بإلقاء التعليمات البرمجية باستخدام أسماء المسامير المطلقة للأوامر (/usr/bin/ls) لكن عليك أن تقرر استخدام إصدارات جنو بدلا من ذلك، يجب أن تجد طريقة لإصلاح تلك. سأكون حذرا للغاية حول استبدال إصدارات OpenSolaris مع إصدارات جنو؛ أنت لا تعرف متى ستحطم شيئا يعتمد النظام عليه. لذلك، سوف تضع أوامر جنو في دليل منفصل - ربما لا /usr/local نظرا لأن ذلك هو لأصحاب الماكينات على ملء، وليس لك كأداة MONGER - وترتيب ذلك لاستخدامه بدلا من أوامر النظام. (ملاحظة: على سولاريس، /bin هو symlink ل /usr/bin; ؛ أفترض أن الشيء نفسه صحيح في OpenSolaris.) Afaik، Postfix ليس قياسي على OpenSolaris، لذلك عليك التأكد من أنك تم تثبيته أيضا، أيضا.

كل هذا ممكن - لا يوجد شيء غير قابل للتطبيق. ولكن كثيرا يعتمد على قاعدة التعليمات البرمجية الخاصة بك.

نصائح أخرى

نحن ندير كليهما، على الرغم من أننا لا نستخدم OpenSolaris كخوادم ويب.

الخير:

  • يأتي OpenSolaris مع أدوات جنو، لذلك، احصل على طريق المسار الصحيح وهذا جيد.

  • معظم الأشياء مجرد بناء وتشغيل على ما يرام.

غير جيد جدا:

  • تأكد من أنك قمت بتثبيت واستخدام Bash. وإلا فإن كل تلك الباشم التي تستخدمها التي لا تعتقد أنك تستخدمك تعضك.

  • تأكد من أنك لا تستخدم المسارات المشفرة الثابت إلى / USR / BIN أو / BIN. هذه الأدوات ليست هي جنو منها وبالتالي لديك خيارات مختلفة. استخدم / USR / GNU كما هو مذكور أعلاه.

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

  • هل أنت متأكد من أن OpenSolaris يعمل بشكل جيد على أجهزةك؟ انها تستحق الشيك. قد تجد أن بعض من برامج تشغيل الأجهزة ليست اختبارا جيدا.

وإلا فإننا نجد OpenSolaris لتكون لطيفة. لديها الكثير من الأفكار الجيدة.

هل نظرت إلى Nexenta - http://www.nexenta.org/os. انها نواة opensolaris مع uBuntu userland.

يشمل OpenSolaris جميع الأدوات المساعدة جنو بالفعل، فقط توجيه النصوص الخاصة بك في / USR / GNU / BIN

لا يجب تقديم تثبيت postfix أي مشاكل، ويتم تقديم Apache / MySQL في تثبيت OpenSolaris الأساسي (في الحقيقة، فإن أشياء كومة الويب الرائعة تجعلها سهلة لإدارة كقضب Wamp / Instant). أبعد من ذلك، Mispests SMF (SMF عبارة عن استبدال لبرنامج SCHIPTS RC مثل LaunchD من مثل OSX Launchd، على الرغم من أنه لا يزال بإمكانك استخدام البرامج النصية الأولية العادية) قد تجعل حياتك أسهل، نظرا لأن تحديد التبعيات وترتيب التشغيل هو أجمل إلى حد ما (سوف تبدأ بشكل متكرر / وقف جميع الخدمات التابعة أيضا).

يعمل Tomcat بالتأكيد، على الرغم من أن الجميع أعرفه على OpenSolaris يستخدم Glassfish. YMMV، ولكن نشر .war هو نفسه إلى حد كبير في كل مكان.

قد لا تكون خطوة أولى سيئة للنشر في منطقة ذات علامة تجارية LX (هل تعتقد أن السجون FreeBSD أو Linux VServer للمقارنة)، حيث يمكن للمناطق ذات العلامات التجارية LX تشغيل ثنائيات Linux، وهي مقرها CentoS / Rhel بشكل صريح.

بخلاف ذلك، OpenSolaris هو XEN DOM0 منذ B77 أو شيء من هذا، ووضع Centos / Rheel في Domu ميت بسيط، إذا كان هذا خيارا.

يمكنك أيضا الحصول على جميع الأشياء الجيدة Solaris جنبا إلى جنب معها (DTRACE و ZFS و Network Virtualization [عبر Crossbow] وغيرها). من تعرف؟ قد ترغب حتى ذلك! جافا هي جافا، بحيث لا ينبغي أن تشكل أي مشاكل.

  • من المحتمل أن تضطر إلى إعادة كتابة جزء كبير من البرامج النصية الخاصة بك (إبداعات المستخدم، إطلاق الخدمة) لأنها ربما تكون مختلفة في Centos و OpenSolaris.

  • كما كتب سابقا، اطلب من عميلك تثبيت أدوات جنو حتى يكون لديك عمل أقل لإعادة كتابة البرامج النصية الخاصة بك.

  • قد لا تكون ملفات تكوين نظام التشغيل أيضا بنفس التنسيق، ستحتاج إلى التحقق.

  • يجب أن يكون ملف TAR.GZ الخاص بك قابل للاستخراج دون مشاكل، ولكن مرة أخرى سيكون لديك مفاجآت أقل إذا كنت تستخدم أدوات GNU. بعض نظام التشغيل UNIX لديه القطران مع بعض القيود

أي خبرة سابقة في هذا.

(ربما القليل من الولادة)

نحن حزمة وتوزيع تطبيق Java / Tomcat / postgresql / UNIX لدينا مع جميع الثنائيات المشار إليها في البرامج النصية لدينا. هذا يعني أن يكون لديك نظام بناء واحد لكل نظام تشغيل نحن نؤيد، وهذا الأمر الذي ندعم تطبيقنا ولكن أيضا الثنائيات الخارجية، ولكن في النهاية ليس لدينا مفاجآت سيئة @ العملاء.

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

بجانب حقيقة أنك القزم، قال شخص ما فقط أعلاه تلك (Open) Solaris لديه: - ZFS - DTRACE

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

التحيات، الإسكندرية

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