hostnamectl - کنترل
نام میزبان
و متادیتای
سیستم
hostnamectl [OPTIONS...] {COMMAND}
از hostnamectl
میتوان
برای
پرسوجو و
تغییر نام
میزبان
سیستم و
تنظیمات
مرتبط با آن
استفاده
کرد.
سرویس
systemd-hostnamed.service(8) و این
ابزار میان
سه نوع نام
میزبان
تمایز قائل
میشوند:
نام میزبان
کاربرپسند
("pretty") که ممکن
است شامل
انواع
نویسههای
خاص باشد
(مانند "Lennart's
Laptop")، نام
میزبان
ایستا ("static")
که همان نام
میزبان
پیکربندیشده
توسط کاربر
است (مانند
"lennarts-laptop")، و نام
میزبان
گذرا ("transient") که
مقداری
جایگزین
است و از
پیکربندی
شبکه
دریافت
میشود
(مانند "node12345678").
در صورتی که
نام میزبان
ایستا روی
مقداری
معتبر
تنظیم شده
باشد، از
نام میزبان
گذرا
استفاده
نمیشود.
توجه
داشته
باشید که
نام میزبان
pretty محدودیت
چندانی در
مورد
نویسهها و
طول مورد
استفاده
ندارد، در
حالی که
نامهای
میزبان static و transient
به
نویسههای
معمولاً
پذیرفتهشده
در نامهای
دامنه
اینترنتی و
حداکثر ۶۴
نویسه
محدود
هستند
(محدودیت ۶۴
نویسه از
محدودیتهای
لینوکس
است).
برای
مقداردهی
اولیه نام
میزبان
سیستم در
ایمیجهای
سیستمیِ
متصلشده
(اما
بوتنشده)،
از systemd-firstboot(1)
استفاده
کنید.
دستورات
زیر
پشتیبانی
میشوند:
status
نمایش
نام میزبان
سیستم و
اطلاعات
مرتبط با آن.
در صورت
مشخص نشدن
هیچ
دستوری،
این حالت
پیشفرضِ
ضمنی است.
اضافهشده
در نگارش
۱۹۵.
hostname [NAME]
اگر
آرگومانی
داده نشود،
نام میزبان
سیستم چاپ
میشود. اگر
آرگومان
اختیاری
NAME
ارائه شود،
دستور نام
میزبان
سیستم را به
NAME تغییر
میدهد.
بهطور
پیشفرض،
این کار
همزمان
نامهای
میزبان pretty، static
و transient را تغییر
خواهد داد؛
با این حال،
اگر یک یا
چند مورد از
--static،
--transient،
--pretty
استفاده
شوند، تنها
نامهای
میزبان
انتخابی
تغییر
مییابند.
اگر نام
میزبان pretty
تنظیم شود و
static یا transient نیز
همزمان در
حال تنظیم
باشند، نام
میزبان
مشخصشده
پیش از
بهروزرسانی
موارد
اخیر، از
نظر مجموعه
نویسههای
مورد
استفاده
سادهسازی
میشود. این
کار با حذف
نویسههای
خاص و
فاصلهها
انجام
میگیرد.
این امر
تضمین
میکند که
نامهای
میزبان pretty و static
همواره
پیوند
نزدیکی با
یکدیگر
داشته
باشند و در
عین حال از
قوانین
اعتبار نام
خاص پیروی
کنند. اگر
تنها
نامهای
میزبان transient یا
static تنظیم
شوند و نام
میزبان pretty
دستنخورده
باقی
بماند، این
سادهسازی
رشته نام
میزبان
انجام
نخواهد شد.
نامهای
میزبان static و transient
هر یک باید
یا یک برچسب
DNS منفرد
باشند
(رشتهای
متشکل از
نویسههای
کوچک ۷ بیتی
ASCII و بدون
فاصله یا
نقطه،
محدود به
قالب مجاز
برای
برچسبهای
نام دامنه
DNS)، یا
توالیای
از چنین
برچسبهایی
که با
تکنقطه از
هم جدا شده و
یک FQDN معتبر DNS
را تشکیل
میدهند.
نام میزبان
باید
حداکثر ۶۴
نویسه باشد
که این یک
محدودیت
لینوکس است
(DNS نامهای
طولانیتر
را مجاز
میداند).
اگر نویسه
علامت سؤال
"?" در نام
میزبان
ظاهر شود،
هنگام
اعمال،
بهصورت
خودکار،
امن و قطعی
از طریق هش
رمزنگاری،
با یک نویسه
هگزادسیمال
برگرفته از
machine-id(5)
جایگزین
میشود.
برای مثال:
"foobar-????-????" بسته
به شناسه
ماشین
محلی،
بهطور
خودکار به
"foobar-92a9-061c" یا
مشابه آن
بسط
مییابد.
اضافهشده
در نگارش
۲۴۹.
icon-name [NAME]
اگر
آرگومانی
داده نشود،
نام آیکون
سیستم را
چاپ میکند.
اگر
آرگومان
اختیاری
NAME
ارائه شود،
دستور نام
آیکون را به
NAME تغییر
میدهد. نام
آیکون توسط
برخی از
برنامههای
گرافیکی
برای نمایش
بصری این
میزبان به
کار میرود.
نام آیکون
باید از
Icon Naming
Specification[1] پیروی
کند.
اضافهشده
در نگارش
۲۴۹.
chassis [TYPE]
اگر
آرگومانی
داده نشود،
نوع شاسی (chassis)
را چاپ
میکند. اگر
آرگومان
اختیاری
TYPE
ارائه شود،
دستور نوع
شاسی را به
TYPE
تغییر
میدهد. نوع
شاسی توسط
برخی از
برنامههای
گرافیکی
برای نمایش
بصری
میزبان یا
تغییر
تعامل با
کاربر
استفاده
میشود. در
حال حاضر،
انواع شاسی
زیر تعریف
شدهاند: "desktop"
(رایانه
رومیزی)، "laptop"
(لپتاپ)،
"convertible"
(تبدیلپذیر)،
"server" (سرور)،
"tablet" (تبلت)،
"handset" (گوشی
همراه)، "watch"
(ساعت
هوشمند)، "embedded"
(تعبیهشده)،
و همچنین
انواع شاسی
ویژه "vm"
(ماشین
مجازی) و "container"
(کانتینر)
برای
سیستمهای
مجازیسازیشدهای
که فاقد
شاسی
فیزیکی
بیواسطه
هستند.
اضافهشده
در نگارش
۲۴۹.
deployment [ENVIRONMENT]
اگر
آرگومانی
داده نشود،
محیط
استقرار را
چاپ میکند.
اگر
آرگومان
اختیاری
ENVIRONMENT
ارائه شود،
دستور محیط
استقرار را
به
ENVIRONMENT تغییر
میدهد.
آرگومان
ENVIRONMENT
باید یک
تککلمه
بدون
هرگونه
نویسه
کنترلی
باشد. یکی از
موارد زیر
پیشنهاد
میشود: "development"
(توسعه)، "integration"
(یکپارچهسازی)،
"staging"
(پیشتولید)،
"production"
(عملیاتی).
اضافهشده
در نگارش
۲۴۹.
location [LOCATION]
اگر
آرگومانی
داده نشود،
رشته مکان
سیستم را
چاپ میکند.
اگر
آرگومان
اختیاری
LOCATION
ارائه شود،
دستور رشته
مکان سیستم
را به
LOCATION
تغییر
میدهد.
آرگومان
LOCATION
باید یک
رشته با
قالب آزاد و
کاربرپسند
باشد که در
صورت معلوم
و مرتبط
بودن، مکان
فیزیکی
سیستم را
توصیف کند.
این رشته
میتواند
به کلیّت "Berlin,
Germany" یا به
جزئیات "Left Rack, 2nd
Shelf" باشد.
اضافهشده
در نگارش
۲۴۹.
tags [TAG...]
اگر
آرگومانی
داده نشود،
برچسبهای
ماشینِ
پیکربندیشده
کنونی را
بهصورت
فهرستی با
جداکننده
دونقطه چاپ
میکند. اگر
یک یا چند
آرگومان
TAG
ارائه
شوند،
دستور
برچسبهای
پیکربندیشده
را با
مقادیر
مشخصشده
جایگزین
مینماید.
هر آرگومان
میتواند
خود فهرستی
از
برچسبها
با
جداکننده
دونقطه
باشد،
بهطوری که
برچسبها
را میتوان
بهصورت
چندین
آرگومان یا
یک آرگومان
جداشده با
دونقطه یا
هر ترکیبی
از آنها
مشخص کرد.
برچسبهای
تکراری حذف
شده و فهرست
نهایی پیش
از
ذخیرهسازی
مرتب
میشود.
برای حذف
تمام
برچسبها،
دستور را با
یک آرگومان
رشته خالی
فراخوانی
کنید.
برچسبهای
ماشین
شناسههای
کوتاهی
هستند که
میتوان
برای
دستهبندی
و
گروهبندی
ماشینها
با اهداف
مدیریتی
استفاده
کرد؛ برای
نمونه جهت
شناسایی
نقشی که یک
ماشین در یک
استقرار
ایفا
میکند،
ناوگان یا
واحد
سازمانی که
به آن تعلق
دارد، یا هر
ویژگی
دیگری که
توسط مدیر
سیستم
تعریف شده
باشد. هر
برچسب
منفرد باید
۱ تا ۲۵۵
نویسه طول
داشته باشد
و فقط از
نویسههای
الفبایی-عددی
ASCII، "-" و "."
تشکیل شود.
این
برچسبها
در فیلد TAGS=
از پرونده
/etc/machine-info ذخیره
میشوند؛
برای
جزئیات به
machine-info(5) مراجعه
کنید. آنها
همچنین
میتوانند
در تنظیمات
واحد
ConditionMachineTag=/AssertMachineTag=
برای
مطابقت
استفاده
شوند؛ به
systemd.unit(5) مراجعه
نمایید.
اضافهشده
در نگارش
۲۶۱.
گزینههای
زیر
پشتیبانی
میشوند:
--static, --transient, --pretty
اگر
status
فراخوانی
شود (یا هیچ
دستور
صریحی داده
نشده باشد) و
یکی از این
سوییچها
مشخص گردد،
hostnamectl تنها
همین نام
میزبان
انتخابی را
چاپ میکند.
اگر همراه
با hostname
استفاده
شود، تنها
نامهای
میزبان
انتخابی
بهروزرسانی
خواهند شد.
وقتی بیش از
یکی از این
سوییچها
مشخص شود،
تمام
نامهای
میزبان
مشخصشده
بهروزرسانی
میشوند.
اضافهشده
در نگارش
۱۹۵.
-H, --host=
عملیات
را از راه
دور اجرا
میکند. یک
نام
میزبان، یا
یک نام
کاربری و
نام میزبان
که با "@" از
هم جدا
شدهاند را
برای اتصال
مشخص کنید.
پس از نام
میزبان
میتوان به
صورت
اختیاری
پورت شنود ssh
را با
جداکننده ":"
و سپس نام
کانتینر را
با
جداکننده "/"
مشخص کرد تا
مستقیماً
به
کانتینری
خاص روی
میزبان
مورد نظر
وصل شود. این
کار از SSH برای
برقراری
ارتباط با
نمونه مدیر
ماشین راه
دور
استفاده
خواهد کرد.
نامهای
کانتینر را
میتوان با
machinectl -H HOST
فهرست کرد.
نشانیهای IPv6
را داخل
براکت قرار
دهید.
-M, --machine=
عملیات
را روی یک
کانتینر
محلی اجرا
میکند. نام
یک کانتینر
را برای
اتصال مشخص
کنید، که
میتواند
اختیاری با
یک نام
کاربری
برای ورود و
نویسه
جداکننده "@"
همراه باشد.
اگر رشته
ویژه ".host"
بهجای نام
کانتینر
استفاده
شود، اتصال
به سیستم
محلی
برقرار
میشود (که
برای اتصال
به گذرگاه
کاربری
کاربری خاص
مفید است: "--user
--machine=lennart@.host"). اگر
ساختار "@"
به کار
نرود،
اتصال با
کاربر root
برقرار
میگردد.
اگر ساختار
"@" استفاده
شود،
میتوان
سمت چپ یا
سمت راست را
حذف کرد (اما
نه هر دو را)،
که در این
حالت نام
کاربری
محلی و ".host"
بهصورت
ضمنی در نظر
گرفته
میشوند.
--no-ask-password
برای
احراز هویت
در
عملیاتهای
ممتاز
(دارای
دسترسی
ریشه) از
کاربر
سؤالی
نمیپرسد.
-h, --help
یک متن
راهنمای
کوتاه را
چاپ کرده و
خارج
میشود.
--version
اطلاعات
نگارش
برنامه را
چاپ کرده و
خارج
میشود.
--json=MODE
خروجی را
در قالب JSON
نمایش
میدهد. یکی
از مقادیر
زیر را
میپذیرد:
"short" (برای
کوتاهترین
خروجی ممکن
بدون فواصل
خالی اضافه
یا شکستگی
خط)، "pretty" (برای
نگارش
خوانای
همان
خروجی، با
فاصلهگذاری
و شکست خط
مناسب) یا "off"
(برای
غیرفعال
کردن خروجی
JSON، که حالت
پیشفرض
است).
-j
در صورت
اجرا در
ترمینال،
معادل --json=pretty و
در غیر این
صورت معادل
--json=short است.
در صورت
موفقیت 0 و در
غیر این
صورت یک کد
خطای
غیرصفر
بازگردانده
میشود.
- 1.
- Icon Naming Specification