[วิธีทำ] ubuntu 17. จะไม่มี file rc.local เพื่อ ให้ ใส่รายละเอียดการ รันแบบ Custom ได้

#1
ubuntu-logo14.png

บางครั้ง มีความจำเป็น จะ สั่งรัน ไฟล์ แบบ auto ซึ่ง บางคน ชอบ การใส่ คำสั่ง ภายในตัว /etc/rc.local แต่ เจ้า ubuntu 17. นี้ ดังไม่มีคำสั่งนี้ ไปสร้างเฉยๆๆ touch /etc/rc.local ก็ไม่ได้ ซึ่ง บทความนี้ จะเป็นการ สร้างไฟล์ /etc/rc.local และบังคับให้ สามารถ รันคำสั่ง ภายในนี้ ได้ ขั้นตอน มีดังต่อไปนี้

  1. ทำการ สร้าง Service ให้กับมันก่อน ซึ่ง ตัว Service ของ ubuntu จะต้องไป ใส่ในนี้ ( จะใช้ชื่อ rc-local.service นะครับ)
    Code:
    sudo nano /etc/systemd/system/rc-local.service
  2. จัดการ ใส่รายละเอียด ภายใน rc-local.service ดังต่อไปนี้ ( ก๊อปไปใส่เลย ):
    Code:
    [Unit]
    Description=/etc/rc.local Compatibility
    ConditionPathExists=/etc/rc.local
    
    [Service]
    Type=forking
    ExecStart=/etc/rc.local start
    TimeoutSec=0
    StandardOutput=tty
    RemainAfterExit=yes
    SysVStartPriority=99
    
    [Install]
    WantedBy=multi-user.target
  3. ทำการ สร้าง ตัว /etc/rc.local ใช้คำสั่ง เช่น touch /etc/rc.local หรือ เข้าไป Edit มันได้ด้วย nano /etc/rc.local เลยก็ได้ จากนั้น ตั้ง สิทธิ permission ให้มัน Execute ได้ด้วยนะครับ :
    Code:
    sudo chmod +x /etc/rc.local
    และภายใน ไฟล์ /etc/rc.local ให้มีดัง ต่อไปนี้ ( เป็นค่า default มัน )​
    Code:
    #!/bin/sh -e
    #
    # rc.local
    #
    # This script is executed at the end of each multiuser runlevel.
    # Make sure that the script will "exit 0" on success or any other
    # value on error.
    #
    # In order to enable or disable this script just change the execution
    # bits.
    #
    # By default this script does nothing.
    
    exit 0
  4. เมื่อทำการ Save แล้วจัดการ สั่งการให้ rc-local ทำงาน ได้ ใช้คำสั่ง
    Code:
    systemctl :sudo systemctl enable rc-local
  5. จัดการ Start Service rc-local ดู และ ลอง เช็ค status ดูว่า รันได้หรือไม่ :
    Code:
    sudo systemctl start rc-local.service
    sudo systemctl status rc-local.servic
    6. จากนั้น ลองใส่รายละเอียด ง่ายๆๆดูเ่ช่น ตั้ง ip เป็น 192.168.11.11 แบบง่ายๆ นะครับ
    Code:
    #!/bin/sh -e
    #
    # rc.local
    #
    # This script is executed at the end of each multiuser runlevel.
    # Make sure that the script will "exit 0" on success or any other
    # value on error.
    #
    # In order to enable or disable this script just change the execution
    # bits.
    #
    # By default this script does nothing.
    ifconfig eth0 192.168.11.11 netmask 255.255.255.0
    exit 0

credit : https://www.linuxstep.net/blog/archives/391
 

แฟนเพจ


Top