هناك عدة طرق لإدارة عنوان IP واسم الاستضافة لجهاز الحاسوب الخاص بك الذي يعمل بنظام Ubuntu. يتاح لمسؤولي النظام استخدام أدوات nmcli و netplan و hostname و hostnamectl. بينما تقوم هذه الأدوات بالعمل بشكل جيد بمفردها، كيف يمكنك إدراج هذه الأدوات لتعزيز أدائها في الأتمتة؟
يمكنك إنشاء نص برمجي Bash سيدير التكوين بالنيابة عنك. في هذا المقال، ستتعلم كيفية تعيين اسم مضيف جديد وتكوين معلومات عنوان IP، كل ذلك باستخدام نص برمجي Bash يقبل الإدخالات.
سيقوم كل مثال بالبناء على الآخر. بحلول نهاية المقال، ستكون لديك المعرفة اللازمة لإنشاء نص برمجي للتكوين يعمل بشكل كامل بلغة Bash للاستخدام على مضيف Ubuntu جديد أو قائم بالفعل.
المتطلبات
لا يتعين عليك أن تكون خبيرًا في برمجة Bash لمتابعة هذا البرنامج التعليمي، ولكن تأكد من وجود الشروط التالية.
- A host running on Ubuntu. This tutorial uses Ubuntu 22.04 LTS.
- امتيازات الجذر إلى مضيف Ubuntu.
- A text editor, such as
vim
,nano
, or VSCode.
ضبط اسم المضيف باستخدام hostnamectl
يجب أن يكون لدى كل مضيف اسم فريد. باستخدام أمر hostnamectl يمكنك استعلام أو تغيير اسم المضيف. في هذا السياق، يظهر النحو الصحيح لتغيير اسم المضيف الحالي إلى أي اسم ترغب فيه.
تشغيل أمر hostnamectl بواسطة المعلمة الشائعة set-hostname متبوعًا بقيمة سلسلة محاطة بعلامات اقتباس (“”) كاسم مضيف جديد. إذا كنت تقوم بهذا الأمر يدويًا، يجب أن يعمل بدون مشكلة.
ولكن ماذا لو أردت تضمين هذا في نص يقبل إدخال المستخدم؟ ابدأ باستخدام أمر read، تليه المعلمة -p، والتي تعني prompt، وسلسلة لتخبر المستخدم بما يجب إدخاله لهذا البرمبت. ثم قم بحفظ الإدخال في متغير جديد يسمى NEW_HOSTNAME.
بمجرد أن يتم تخزين اسم المضيف في متغير NEW_HOSTNAME، يمكنك توفير المتغير لأمر hostnamectl كما في المثال أدناه.
وهذا كل شيء! يتيح لك دمج هاتين الأمرين في سطر واحد إجراء الأوامر في نص! ولكن لديك مهمة إضافية: تكوين خيارات الشبكة.
ضبط معلومات عنوان IP باستخدام netplan
أمر netplan هو الطريقة المعتمدة لإدارة معلومات عنوان IP لواجهة الشبكة لأجهزة Ubuntu الحديثة. يقوم أداة netplan بتجريد تكوينات الشبكة من مختلف الخدمات الخلفية باستخدام ملفات تكوين YAML.
تقوم أداة netplan بقراءة هذه الملفات التكوين خلال تشغيل النظام وتطبيقها على واجهة الشبكة المستهدفة. لماذا هذا مهم، قد تتسائل؟
عندما يكون تكوين الشبكة لديك في تنسيق YAML، يمكنك البدء في حفظ أو نسخ تكوينك إلى مستودع Git. ونظرًا لأن Git يوفر إمكانيات تتبع التغييرات، يمكنك استخدام نفس ملف التكوين دون الحاجة إلى إعادة إنشائه لنشر المستقبل باستخدام أنابيب CI / CD. تعلم، DevOps!
قبل إضافة سطور إلى ملف التكوين، يجب عليك إنشاء ملف التكوين باستخدام الأمر touch.
سيضع الأمر أعلاه ملف التكوين الجديد في دليل الصفحة الرئيسية. من هنا، ستقوم بتشغيل الأمر echo لاستخدام echo لكتابة ما تكتبه وحقن ذلك في ملف التكوين سطراً بعد سطر باستخدام تحويل الإدخال لـ STDOUT > (إضافة) و >> (إلحاق).
ملحوظة: استخدم مسافات مزدوجة وليس تبا للمسافة في YAML.
مع كل أمر echo، ستقوم ببناء تكوين YAML باستخدام المسافات المناسبة عبر تحويل الإدخال باستخدام STDOUT. بديلًا، يمكنك بناء هذا الملف يدويًا باستخدام محرر نصوص. ولكن ليس من الضروري بناء الملف يدويًا.
بدلاً من ذلك، قم بطلب من المستخدم إدخال معلومات عن عنوان IP التي تحتاجها باستخدام نفس الأمر read
.
تلميح: يمكنك عرض جميع معلومات واجهة الشبكة على Ubuntu عن طريق تشغيل أمر ip address.
هذا أفضل. يمكنك الآن توجيه إدخال المستخدم مرة أخرى إلى بعض المتغيرات لاستخدامها في البرنامج النصي.
هناك العديد من الخصائص الأخرى التي يمكنك تعيينها والتي لا يغطيها هذا البرنامج التعليمي بالتفصيل. إذا كنت ترغب في رؤية خصائص شائعة إضافية، تأكد من قراءة صفحات الرجل netplan.
باكتمال خيارات الشبكة، حان الوقت لبناء برنامج نصي واحد!
وضع كل شيء معًا في برنامج نصي باش
الآن، ستقوم بدمج كل شيء في برنامج نصي باش واحد باستخدام ما تعلمته من الأقسام السابقة. افتح محرر النص الخاص بك المفضل، وألصق الكود أدناه، واحفظ الملف كـ ~/host_deploy.sh
.
لتنفيذ النص، قم بتشغيل الأمر التالي لاستدعاء النص باستخدام bash
في الطرفية الخاصة بك.
يطلب النص منك إدخال اسم مضيف جديد ومعلومات عن عنوان IP ويذكرك بإعادة تشغيل المضيف لتطبيق التغييرات.
الآن بعد أن لديك نص عملي في دليل المستخدم الخاص بك، يمكنك إنشاء صورة ذهبية لإعادة الاستخدام أو مشاركتها مع الفنيين وأولئك الذين يقومون بشكل متكرر بهذه المهمة.
الختام
تهانينا! لقد وصلت إلى نهاية المقال وقمت ببناء سكريبت Bash يمكنك استخدامه بشكل متكرر.
يمكنك أيضًا محاولة استخدام هذا السكريبت مع Ansible والرد على الأسئلة باستخدام Ansible play. المهام في هذا البرنامج التعليمي ليست سوى عينة صغيرة من العناصر الأولية للتكوين التي يمكنك البدء في استخدامها في سكريبتات البناء والنشر الخاصة بك.
أنت الآن تعرف كيفية قبول إدخال المستخدم، وضبط المعلمات الأساسية للنظام باستخدام سكريبت Bash، وتطبيق تلك التقنية في تغيير أسماء المضيفين وعناوين IP في Ubuntu Linux.
Source:
https://adamtheautomator.com/change-linux-ip-hostname-bash-script/