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 .
في أمان الله ^_^