upgrade จาก feisty ไปเป็น lucid / แก้ไขกรณี terminal หายไป / upstart

upstart

เดิมที่ไม่ได้ตรวจสอบ แต่เนื่องจากว่า ต้องการอัพเกรดระบบ จากเดิม Ubuntu Feisty ไปเป็น Garmic ปัญหาก็เกิด เนื่องมาจาก garmic ใช้ PHP 5.2.9 แต่ว่าปัญหาคือ ผมใช้ symfony ในการพัฒนาโปรแกรมอยู่ ซึ่ง มีปัญหา ทำให้ระบบ plugin มีปัญหา มองไม่เห็น PEAR plugin ที่ติดตั้งไป เลยต้อง upgrade

หลังจากแก้ /etc/apt/source.list ไปเป็น lucid ซึ่งตอนนี้ยังไม่ release ก็ทำการ dist-upgrade อีกครั้ง ตอนนี้ PHP ทำงานได้ปกติ ปัญหาก็คือ ปกติ Ubuntu Linux จะเปิด terminal ขึ้นมาให้ 6 อัน ส่วนอีกอันจะเป็น graphic mode แต่หลังจากที่ reboot เครื่อง ปรากฎว่า graphic mode มี แต่ว่า teminal ไม่เริ่มต้น

จากการตรวจดู พบว่า Ubuntu ได้เปลี่ยนการเริ่มระบบใหม่ โดยเปลี่ยนมาใช้ upstart ซึ่งเป็น event based แทน ส่วนการตั้งค่า จากเดิม ที่ init จะไปอ่าน /etc/event.d/* ก็ตะมาอ่านที่ /etc/init/* แทน ซึ่งเป็นสาเหตุ ที่ทำให้ไม่เปิด terminal

ตรวจในไฟล์ /etc/init/tty1.conf ทำการแก้ไขให้เปิดโดยอัตโนมัติ

  1. # tty1 - getty
  2. #
  3. # This service maintains a getty on tty1 from the point the system is
  4. # started until it is shut down again.
  5.  
  6. #start on stopped rc RUNLEVEL=[2345] # comment ตัวที่มี
  7. #stop on runlevel [!2345]
  8. # ให้เริ่มต้นอัตโนมัติเมื่อเปิดเครื่อง
  9. start on startup
  10.  
  11. respawn
  12. exec /sbin/getty -8 38400 tty1

จากนั้น reboot เครื่อง จะพบว่า terminal กลับมาแล้วตัวหนึ่ง ส่วน tty2 - tty6 และ service บางตัวที่จะเป็น ก็สามารถไปแก้ได้

กรณีที่ต้องการเปิด ปิด แบบ manual ก็สามารถใช้คำสั่ง start stop หรือ restart เช่น

  1. sake@sake-laptop:~$ sudo start mysql
  2. mysql start/running, process 9894
  3. sake@sake-laptop:~$ sudo restart mysql
  4. mysql start/running, process 10396
  5. sake@sake-laptop:~$ sudo stop mysql
  6. mysql stop/waiting
  7. sake@sake-laptop:~$

จะว่าไป ก็เหมือนจะง่ายขึ้นเลย