hostname هو عبارة عن string يساعد المستخدم على وضع اسم مألوف لجهاز الحاسب الخاص به .

في الغالب يتم وضع hostname اثناء عملية تثبيت النظام لكنك في بعض الاحيان قد يحتاج المستخدم لتغيير hostname لإي سبب كان.

هناك عدة طرق لتغيير hostname منها

1- تغيير الاسماء الثلاثة الخاصة ب hostname عبر hostnamectl

ال hostamectl هو امر من systemd يستطيع أن يتلاعب ب الثلاثة الاسماء الخاصة ب hostname :

1- Transient والذي يأتي من ملف إعدادات الشبكة

2- Static والذي تقوم النواة بإعطاءة

3- Pretty والذي يقوم المستخدم بإعطاءة

بالنسبة ل Transient من الممكن أن يتغيير ليمنع التضارب والتشابة في الاسماء, فمثلا إذا سميت جهازك hacker ووج جهاز اخر بنفس الاسم سيتم تغيير الاسم الى hacker-1.

اما بالنسبة ل Static , Pretty هي متغييرات داخلية بما يناسب المستخدم خاصة مع التطبيقات التي تحتاج ان تعمل اما داخليا او عبر التحكم من بعيد . مثل forwarded X session .

$ hostnamctl يعطيك معلومات عامة عن الاسماء المستخدمة وبعض المعلومات عن النظام

مثال لتغيير اسم الجهاز عبر hostnamectl

$ sudo hostnamectl set-hostname --pretty "Web dev test environment"

$ sudo hostnamectl set-hostname --static webdev-test-env

الطريقة الثانية لتغيير static وpretty باستخدام الواجهه الرسومية Gnome

الطريقة الثالثة لتغيير static باستخدام cockpit

وهو تطبيق ويب يستخدم للتحكم بمراقبة واعداد الاجهزة المحلية والاجهزة عن بعد

$ sudo dnf install cockpit

$ sudo systemctl enable --now cockpit

الطريقة الرابعة

$ sudo echo "galapagos" > /etc/hostname

الطريقة الخامسة

تغيير static عبر ملف الاعدادات بشكل يدوي وهذا الملف يحتوي على سطر واحد بشكل افراضي .

إذا لم تكن قد قمت بتغييرة من قبل

localhost.localdomain

إذا كنت قد قمت بإستتخدام hostnamctl لتغيير hostname فستظهر التغييرات في هذا الملف .

من غير المستحسن تغيير إعدادات هذا الملف يدويا لإنه لايقوم بتغيير بقية اعدادات سماء الاخرى كما يفعل hostnamctl.

ملف الاعدادت مسارة هو

/etc/hostname

لكنك إذا اردت تغييره يدويا

$ sudo echo "galapagos" > /etc/hostname

يمكنك تغيير static عبر nmcli

وهو تطبيق خاص بالتحكم بكرت الشبكة NIC

$ sudo nmcli general hostname emperor

تغيير Transient بإستخدام sysctl

sysctl يسمح لك بالتعامل مع خيارات النواة اثناء عمل لينكس بدلا من الانتظار ان يل مع بداية التشغيل

$ sudo sysctl kernel.hostname=humboldt

تغيير Transient باستخدام hostname

hostname هو امر ياتي مع حزمة util-linux

$ hostname

$ sudo hostname fjordland

كن حذرا عند التعامل مع ملف /etc/hosts

ملف /etc/hosts/ يستخدم من قبل بعض التطبيقات والبروتوكولات ومن الممكن أن يكون طريقة مناسبة لعمل اختصارات لأجهزة معينة تستخدمها باستمرار .

يمكنك أن تغير hostname لكن ماتقوم به هو فقط عمل اختصار ل loaclhost على السرفر الداخلي 127.0.0.1 .

في أمان الله ^_^