เคยประสบปัญหาแบบนี้หรือไม่ ต้องการเก็บการพิมพ์คำสั่งและผลลัพธ์ที่เกิดขึ้นทั้งหมดที่ทำผ่านหน้าจอเทอร์มินอล เพื่อบันทึกไว้ในไฟล์ ไม่ว่าจะเป็นทางคอนโซลของลีนุกซ์โดยตรง หรือผ่านการ telnet หรือ secure shell ซึ่งไฟล์ที่เก็บนี้สามารถนำมาดูย้อนหลังได้
ถ้าผ่าน telnet หรือ secure shell สามารถทำได้โดยใช้คุณสมบัติ session logging ของโปรแกรมที่ใช้ เช่น โปรแกรม PuTTY ก็มีให้เลือกทำ session logging แล้วเก็บเป็นไฟล์ได้ แต่ถ้าใช้ผ่านคอนโซล (tty) ล่ะ ???
ได้อ่านบทความจากนิตยสาร Linux Journal แนะนำการใช้คำสั่ง script เพื่อบันทึกหน้าจอ ซึ่งตรงกับที่ต้องการ เลยนำมาแนะนำให้ใช้กัน
คำสั่ง script เป็นส่วนหนึ่งของชุดโปรแกรม util-linux-ng ซึ่งโดยทั่วไปจะติดตั้งมาพร้อมกับลีนุกซ์เวอร์ชั่นต่างๆ อยู่แล้ว
จากที่ได้ แนะนำการใช้งานโปรแกรม Secure Shell (SSH) เพื่อล็อกอินไปยังเครื่องอื่นนั้น โดยดีฟอลต์แล้วจะต้องใส่รหัสผ่าน (password) ก่อนที่จะล็อกเข้าไปยังเครื่องปลายทางได้ หรือรันคำสั่งบนเครื่องปลายทางได้
แต่ในบางครั้งการที่ต้องใส่รหัสผ่านทุกครั้งทำให้ไม่สะดวกในการใช้งาน ตัวอย่างเช่นต้องล็อกอินไปยังหลายๆ เครื่องอยู่เป็นประจำ หรือการเขียน Shell Script เพื่อล็อกอินไปยังเครื่องต่างๆ เพื่อรันคำสั่งที่ต้องการ ในที่นี้จะแนะนำการล๊อกอินไปยังเครื่องปลายทางโดยไม่ต้องใส่รหัสผ่าน แต่อาศัยการล็อกด้วย Public Key Authentication
SSH (Secure Sell) คือโปรแกรมสำหรับล็อกอินและรันคำสั่งที่เครื่องปลายทางได้ โดยไม่จำเป็นต้องไปใช้งานที่หน้าจอคอนโซลของเครื่อง จุดประสงค์หลักของโปรแกรมคือทำหน้าที่แทนโปรแกรมประเภท rlogin, rsh หรือ telnet โดยจะมีการเข้ารหัสข้อมูล (encrypted) เพื่อความปลอดภัยของข้อมูลที่ส่งระหว่าง SSH Client และ SSH Server
เราสามารถใช้คำสั่ง telnet ตรวจสอบเวอร์ชั่นของเว็บเซิร์ฟเวอร์ที่รันอยู่บนเครื่องอื่นได้ ซึ่งเป็นข้อมูลส่วนหนึ่งของ HTTP Header ที่ส่งจากเซิร์ฟเวอร์กลับไปยังไคลเอนต์
วิธีการคือใช้คำสั่ง telnet ตามด้วยชื่อเว็บเซิร์ฟเวอร์ที่ต้องการตรวจสอบ ลงท้ายด้วยตัวเลข 80 ซึ่งเป็นพอร์ตที่รันโดยดีฟอลต์เป็นเว็บเซิร์ฟเวอร์
การติดตั้งโปรแกรมบนลินุกซ์วิธีการหนึ่งที่นิยมกันคือใช้ไฟล์ประเภท rpm ซึ่งไฟล์ที่ติดตั้งนั้นจะถูกคอมไพล์เป็น binary โดยทีมงานที่พัฒนา Linux Distribution ซึ่งเป็นไฟล์จะติดตั้งได้สะดวกพร้อมใช้งาน ด้วยคำสั่ง rpm หรือ yum
ไฟล์ binary เหล่านี้ชื่อไฟล์จะมีการเพิ่มเติมประเภทของเครื่องที่โปรแกรมนี้สามารถติดตั้งใช้งานได้เช่น i386, i586, i686, x86_64 เป็นต้น
แต่ในบางครั้งเราจำเป็นต้องมีการคอมไพล์โปรแกรมใหม่ เพื่อปรับปรุงเรื่องเวอร์ชั่น ตัดหรือเพิ่มคุณสมบัติของโปรแกรมบางอย่างซึ่งไฟล์เหล่านี้อาจจะไม่มีในรูปแบบ binary
ส่วนหนึ่งของ พรบ.ด้านคอมพิวเตอร์ ปี 2550 คือต้องปรับเวลาของเครื่องคอมพิวเตอร์ให้ตรงกับเวลามาตรฐาน เพราะจะมีผลต่อ log file ต่างๆ ที่อยู่ในเครื่อง เพื่อการตรวจสอบย้อนหลัง
ในบทความนี้จะแนะนำวิธีการคอนฟิก NTP ในลินุกซ์ เพื่อให้มีเวลาตรงกับมาตรฐาน โดยจะมีตัวอย่างการคอนฟิกของ Fedora 9
ในบางครั้งที่เกิดปัญหากับลินุกซ์จนทำให้ไม่สามารถจะ login, telnet หรือ ssh เข้าไปที่ตัวเครื่องได้ ซึ่งอาจเนื่องมาจาก network ที่ต่ออยู่มีปัญหาหรืออาจจะเป็นปัญหาอื่นๆ
การที่จะแก้ปัญหาในเบื้องต้นจำเป็นต้องใช้หน้าจอ console ของเครื่องโดยตรงเพื่อ login เข้าไป ซึ่งการที่จะทำได้นั้น จำเป็นต้องมีคีย์บอร์ดและจอภาพต่ออยู่ ซึ่งถ้ามีอยู่แล้วหรือใช้เป็นแบบ KVM ก็สามารถทำได้ทันที แต่ในบางกรณีไม่ได้ต่ออุปกรณ์จำพวกนี้ไว้ ต้องไปหามาแล้วยกมาจากที่อื่น บางทีอาจต้องไปถอดจากเครื่องอื่นมาทำให้ไม่สะดวก
วิธีการหนึ่งที่ทำได้ แต่ต้องคอนฟิกไว้ตั้งแต่ตอนต้น ก่อนเกิดปัญหาคือ การใช้ console ผ่านทาง Serial Port หรือ COM Port ของเครื่อง โดยคอนฟิกพอร์ตนี้ให้ทำหน้าที่เป็น console ของเครื่อง แล้วใช้เครื่องอื่นๆ เช่น notebook ต่อสาย console เข้าไป ก็สามารถที่จะ login ผ่าน console ได้ ถ้าเปรียบเทียบก็เหมือนกับใช้ notebook ต่อสาย console เข้ากับอุปกรณ์ network ที่มีแต่ Serial Port เท่านั้น เช่น Cisco, 3Com, Alcatel,..
ในบางครั้งเมื่อเรามีไฟล์อยู่ในรูปแบบ iso ซึ่งเป็นได้มาจากการทำ image ของ CD หรือ DVD ก็ตาม ก่อนที่จะนำมาใช้งานเพื่อ write ใส่แผ่น ถ้าเราต้องการตรวจสอบดูว่าในไฟล์ iso นั้น มีไฟล์อะไรอยู่บ้าง ตามที่เราต้องการหรือไม่
วิธีการดูรายละเอียดไฟล์ที่อยู่ใน iso สามารถทำได้โดยง่าย บนลินุกซ์ดังนี้
ตรวจสอบข้อมูลของไฟล์ในเบื้องต้น
บนลินุกซ์จะมีคำสั่ง file เพื่อใช้ตรวจสอบว่าไฟล์เป็นไฟล์ในรูปแบบไหน
ตัวอย่างการใช้คำสั่ง file ตรวจสอบไฟล์ iso สำหรับติดตั้ง Fedora 9
[root@images iso]# file Fedora-9-x86_64-DVD.iso Fedora-9-x86_64-DVD.iso: ISO 9660 CD-ROM filesystem data 'Fedora 9 x86_64 DVD ' (bootable)
ตรวจสอบรายละเอียดภายในไฟล์ iso
หลังจากดูข้อมูลในเบื้องต้นแล้ว ว่าเป็นไฟล์ในรูปแบบ iso เราสามารถใช้คำสั่ง mount เพื่อดูไฟล์ที่อยู่ใน iso ไฟล์นี้ได้ ดังนี้
[root@images iso]# mount -o loop Fedora-9-x86_64-DVD.iso /media/ [root@images iso]# ls /media/ GPL media.repo repodata RPM-GPG-KEY-fedora RPM-GPG-KEY-rawhide images Packages RPM-GPG-KEY RPM-GPG-KEY-fedora-rawhide TRANS.TBL isolinux README-BURNING-ISOS-en_US.txt RPM-GPG-KEY-beta RPM-GPG-KEY-fedora-test
ในตัวอย่างนี้หลังจากการ mount เข้ากับ /media/ แล้ว เราสามารถดูไฟล์ต่างๆ ได้ ซึ่งจริงๆ ก็สามารถใช้งานไฟล์เหล่านี้ได้โดยตรงเลย แต่เป็นแบบอ่านไฟล์ได้อย่างเดียวเท่านั้น ไม่สามารถแก้ไขได้ ซึ่งก็เหมือนกับเราเรียกใช้งานจากแผ่น CD หรือ DVD นั่นเอง เพียงแต่ไม่จำเป็นต้องนำไปเขียนใส่แผ่น CD หรือ DVD อีกต่อไป
ยกเลิกการ mount
หลังจากใช้งานเรียบร้อย ถ้าเราต้องการยกเลิกการ mount ก็สามารถทำได้โดยใช้คำสั่ง umount
[root@images iso]# umount /media/
read more…

