Linux Shell : ดึงฟิลด์ที่ต้องการด้วยคำสั่ง cut

ในบทความนี้จะอธิบายการใช้คำสั่ง cut และเปรียบเทียบความเร็วที่ได้ ระหว่างการใช้คำสั่ง cut และการเขียนโปรแกรมเป็น PHP เพื่อดึงฟิลด์ที่ต้องการจากไฟล์ โดยใช้คำสั่ง time เพิ่มต่อหน้าการรันคำสั่งเพื่อแสดงผลเวลาที่ใช้ไปในการประมวลผล

โจทย์ : มีไฟล์ที่เป็นรูปแบบตัวหนังสือ (text-based) โดยในแต่ละบรรทัดเก็บข้อมูลเป็นฟิลด์ต่างๆ ที่อยู่ในรูปแบบเดียวกัน คั่นด้วยเครื่องหมาย , (comma) : (colon) หรืออื่นๆ

ความต้องการคือ ให้ดึงเฉพาะฟิลด์ที่ 3 ออกมาจากไฟล์ มาแสดงผลออกหน้าจอ

ตัวอย่างเช่นไฟล์ /etc/passwd ซึ่งจะเก็บข้อมูลต่างๆ ของบัญชีผู้ใช้งาน (User Account) บนระบบ UNIX/Linux โดยฟิลด์ต่างๆ จะคั่นด้วยเครื่องหมาย : colon

Continue reading “Linux Shell : ดึงฟิลด์ที่ต้องการด้วยคำสั่ง cut”

ใช้คำสั่ง snmpwalk เพื่อเก็บ MAC Address จาก Cisco Catalyst Switch

ช่วงนี้ได้รับงานจากลูกค้า ให้ทำโปรแกรมเก็บค่า MAC Address ของเครื่องทุกเครื่องที่ต่อเข้ากับ Switch ลงในฐานข้อมูล เพื่อสามารถดึงข้อมูลมาดูย้อนหลังว่า มี MAC Address อะไร ต่ออยู่ที่พอร์ตไหนบ้างของ Switch

หลังจากค้นคว้าทดลองอยู่พอสมควร ได้ผลลัพธ์ตามที่ต้องการแล้ว เลยขอนำมาเรียบเรียง โดยจะอธิบายเฉพาะวิธีการใช้คำสั่ง snmpwalk เพื่อดึงค่า MAC Address จาก Cisco Catalyst Switch

Continue reading “ใช้คำสั่ง snmpwalk เพื่อเก็บ MAC Address จาก Cisco Catalyst Switch”

ดูรายละเอียดไฟล์ iso บนลินุกซ์

ในบางครั้งเมื่อเรามีไฟล์อยู่ในรูปแบบ 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/

ปรับปรุง samba เป็นเวอร์ชั่นล่าสุดใน Fedora 9

หลังจาก ติดตั้ง Fedora 9 แบบประหยัดพื่นที่สุด ในบทความนี้ จะแนะนำวิธีการปรับปรุง (update) และติดตั้งโปรแกรม Samba เพิ่มเติม เพื่อเตรียมเครื่องสำหรับคอนฟิกทำหน้าที่เป็น Samba PDC ต่อไป

เวอร์ชั่นของ Samba ที่ติดตั้งมาพร้อมกับ Fedora 9 นั้น ปรับปรุงมาจาก pre-release ซึ่งตอนต้นเดือนกรกฎาคม Samba ได้ออกเวอร์ชั่น 3.2 แบบสมบูรณ์มา ดังนั้นก่อนที่จะนำไปคอนฟิกต่อไป แนะนำให้ปรับปรุงเป็นเวอร์ชั่นล่าสุด

Continue reading “ปรับปรุง samba เป็นเวอร์ชั่นล่าสุดใน Fedora 9”

การเปลี่ยน Network Interface Card (NIC) ใน Fedora 9

บทความนี้จะอธิบายการเปลี่ยน Network Interface Card (NIC) โดยแทนที่การ์ดใบเก่า ด้วยการ์ดใบใหม่ที่มี MAC Address ไม่เหมือนกัน แต่ต้องการใช้งานเหมือนเดิม เช่นให้ใช้ชื่อเป็น eth0 และคอนฟิกต่างๆ เหมือนเดิม

โดยดีฟอลต์แล้วใน Fedora หรือ Linux Distribution อื่นๆ ที่เป็นเวอร์ชั่นใหม่ๆ จะมีโปรแกรมช่วยในการจัดการการเปลี่ยนแปลงอุปกรณ์ (Hardware) ของเครื่องโดยอัตโนมัติ ที่มีชื่อว่า udev โดยโปรแกรมนี้จะสร้างคอนฟิกแบบพื้นฐานเพื่อให้สามารถใช้งานได้เลย ซึ่งจะเก็บคอนฟิกไว้ใน /etc/udev/

ซึ่งทำให้เมื่อเปลี่ยน Network Interface Card เป็นการ์ดใบใหม่ โปรแกรม udev ตรวจสอบว่ามีการเปลี่ยนแปลงของอุปกรณ์ ซึ่งดูได้จาก MAC Address ที่เปลี่ยนแปลง โปรแกรม udev ก็จะสร้างคอนฟิกใหม่ ซึ่งอาจจะสร้างเป็น eth1 ได้

Continue reading “การเปลี่ยน Network Interface Card (NIC) ใน Fedora 9”

การเปลี่ยนชื่อเครื่อง (hostname) ใน Fedora 9

บทความนี้อธิบายถึงวิธีการเปลี่ยนชื่อเครื่อง (hostname) ใน Fedora ด้วยวิธีแก้ไขไฟล์คอนฟิกโดยตรง ไม่ได้ใช้โปรแกรมช่วยในการแก้ไข ในตัวอย่างจะเป็นการเปลี่ยนชื่อเครื่องจากชื่อ oldname.your-domain.com ไปเป็น newname.your-domain.com

หมายเหตุ บทความนี้อธิบายเฉพาะการเปลี่ยนแปลงชื่อเครื่องพื้นฐานเท่านั้น ซึ่งหลังจากเปลี่ยนชื่อนั้แล้ว คุณอาจจำเป็นต้องเปลี่ยนชื่อในคอนฟิกส่วนอื่นๆ ด้วยเช่น ใน Mail Server, Web Server, File Sharing Server หรือชื่อที่ลงทะเบียนไว้ใน DNS Server

Continue reading “การเปลี่ยนชื่อเครื่อง (hostname) ใน Fedora 9”

คอนฟิกให้ authenticate จาก Fedora Directory Server

หลังจากที่เราติดตั้งและคอนฟิก Fedora Directory Server เรียบร้อยแล้ว ในบทความนี้จะอธิบายถึงการเก็บ UNIX User Account และ Group เข้าไปใน LDAP เพื่อที่จะใช้รองรับการ authentication จากโปรแกรมต่างได้ เช่น สำหรับการ login, secure shell และอื่นๆ

Continue reading “คอนฟิกให้ authenticate จาก Fedora Directory Server”