การแก้ไขชื่อ hostname บน CentOS 7
ปกติการตั้งชื่อจะใช้ชื่อโดเมน เพื่อไม่ให้ซ้ำกับชื่ออื่นบนโลก (ถ้าใช้เฉพาะภายในองค์กรก็ตั้งได้ตามใจ)
ต้องแก้ 2 ไฟล์คือ hostname และ hosts
# ตรวจสอบชื่อปัจจุบัน
sudo hostnamectl
# เปลี่ยนชื่อ hostname
sudo hostnamectl set-hostname newdomain.com
# หรือเปลี่ยนชื่อ hostname แบบแก้ไขตรง ๆ (คำสั่งด้านบนจะมาแก้ที่นี่เหมือนกัน)
sudo vi /etc/hostname
# แก้ไฟล์ hosts
sudo vi /etc/hosts
# มองหาชื่อเก่าและแก้ไขชื่อใหม่เป็น
newdomain.com newdomain
reboot และการแก้ชื่อ hostname เป็นอันเสร็จแล้ว
คำสั่งอื่น ๆ ที่ใช้เปลี่ยนชื่อ hostname
# hostname - คำสั่งนี้เปลี่ยนชื่อชั่วคราวหาก reboot ชื่อจะกลับมาเหมือนเดิม
คำสั่งด้านล่างคือเปลี่ยนชื่อแบบถาวร
# hostnamectl
# nmtui
# sudo vi /etc/hostname
การเปิด Service ตอนบูตเข้า CentOS 7
มีข้อดีคือทำให้โปรแกรมทำงาน และพร้อมใช้ทันที ในบทคความนี้จะแสดงวิธีเปิดหรือปิดใช้งานบริการหรือเรียกว ่า Services เมื่อเริ่มต้นบูตเข้าระบบ RHEL 7 หรือ CentOS 7
ตรวจสอบว่า Services เริ่มทำงานตอนบูตหรือไม่
เราจะใช้คำสั่ง systemctl ซึ่งเป็นตัวจัดการระบบหรือเรียกว่า systemd ในตัวอย่างเราจะตรวจสอบ httpd เป็น Service ของ Apache ซึ่งทำหน้าที่เป็นตัวเริ่มต้นการทำงานของเว็บไซต์
$ systemctl status httpd httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled)
การปิด Service ไม่ให้โหลดขึ้นมาตอนบูตเข้าระบบ
เราจะใช้คำสั่ง systemctl disable ตามด้วยชื่อ Service
$ systemctl disable httpd rm '/etc/systemd/system/multi-user.target.wants/httpd.service' $ systemctl status httpd httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled)
การเปิด Service ตอนบูตเข้า CentOS 7
เราจะใช้คำสั่ง systemctl enable ตามด้วยชื่อ Service
$ systemctl enable httpd ln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service' $ systemctl status httpd httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled)
ตรวจสอบว่าบริการใดไม่สามารถเริ่มต้นตอนบูตเข้า CentOS 7
สุดท้ายสิ่งที่ควรทำ เพื่อทำการแก้ไขหรือปิดไม่ให้สูญเสียทรัพยากร
เราจะใช้คำสั่ง systemctl --failed
$ systemctl --failed UNIT LOAD ACTIVE SUB DESCRIPTION kdump.service loaded failed failed Crash recovery kernel arming php-fpm.service loaded failed failed The PHP FastCGI Process Manager LOAD = Reflects whether the unit definition was properly loaded. ACTIVE = The high-level unit activation state, i.e. generalization of SUB. SUB = The low-level unit activation state, values depend on unit type.
ในตัวอย่างข้างต้น บริการ kdump และ php-fpm ไม่สามารถเริ่มทำงานตอนบูตได้