wd's blog

ปัญหาคือมีเครื่องลูกข่ายที่เป็นวินโดวส์ติดไวรัส และไม่ได้ลงซอฟต์แวร์ป้องกันไวรัสไว้ (เนื่องจากทอนกำลังเครื่อง)

ทางแก้คือ ใช้แผ่นบูตเดเบียนที่ลงแพกเกจ clamav เพื่อนำไปสแกนและลบไฟล์ไวรัสทิ้ง

ติดตั้งแพกเกจในการสร้างแผ่นบูตคือ live-helper

$ sudo aptitude install live-helper

สร้างไดเรกทอรีสำหรับงานนี้

$ mkdir ~/debian-live
$ cd ~/debian-live

เราทำแผ่นบูตฉุกเฉิน ต้องใช้แพกเกจ rescue

$ lh_config -p rescue

หากต้องการเปลี่ยนแปลงค่าปริยาย สามารถเปลี่ยนได้จากไฟล์ config/bootstrap

$ vi config/bootstrap

เช่น

...
# $LH_DISTRIBUTION: select distribution to use
# (Default: lenny)
LH_DISTRIBUTION="sid"
...
# $LH_SECTIONS: select section(s) to use
# (Default: main)
LH_SECTIONS="main contrib non-free"
...

ปรุงไฟล์ iso

$ sudo lh_build
Topic: 

(ศึกษาเพราะต้องการเอาไฟล์ในคลังของ apt-proxy เฉพาะไฟล์ใหม่ ๆ เลยต้องการลบไฟล์เก่า ๆ ทิ้ง เพื่อให้ขนาดคลังแพ็กเกจเล็กลง)

เริ่มเลยครับ

ต้องการค้นหาไฟล์ชื่อ *Doc*

$ find /PATH/TO/FILE -name '*Doc*'

ค้นหาและลบไฟล์

$ find /PATH/TO/FILE -name '*Doc*' -exec rm {} \;

ค้นหาไฟล์ที่เก่ากว่า 5 วันลงไป

$ find /PATH/TO/FILE -mtime +5

ค้นหาไฟล์เก่าตั้งแต่ 5 วันขึ้นมา

Topic: 

ช่วงนี้ติดตั้งเครื่องหลายเครื่องด้วย lenny พบปัญหาบูตไม่ขึ้นด้วยข้อความว่า "waiting for root file system" ค้นกูเกิลดูพบว่าเป็นปัญหาของแพกเกจ initramfs (เป็นทั้งรุ่น 0.92a และ 0.92b) ที่ตีความฮาร์ดดิสก์เป็น sda

ทางแก้มีหลายทาง เช่น กำหนดชื่อ (label) ให้พาร์ทิชัน หรือใช้ uuid แต่รู้สึกว่ายุ่งยากไปหน่อย เพราะเคยมึนกับเรื่อง uuid มาทีนึงแล้ว เลยคิดว่าลองกลับไปคบกับ yaird แทน ซึ่งดูจะมีปัญหานี้น้อยกว่า

ตอนนี้ yaird บน lenny ไม่รู้หายไปไหน ก็เลยต้องไปดาวน์โหลดของ sid มาแทน เวลาติดตั้งด้วยคำสั่ง dpkg -i เขาจะแจ้งว่าติดดีเพนเดนซีที่แพกเกจไหนบ้าง ก็ลงไปตามนั้นจนจบ

มีต้องแก้ไฟล์นิดนึงคือไฟล์ kernel-img.conf ให้มาใช้ของ yaird

$ sudo vi /etc/kernel-img.conf
...
#ramdisk = /usr/sbin/mkinitrd /usr/sbin/mkinitramfs
ramdisk = /usr/sbin/mkinitrd.yaird
Topic: 

การใช้งาน samba กับ dosemu พบว่าตั้งแต่ samba รุ่น 3.0.27 เป็นต้นมา สำหรับแชร์ที่เป็นแบบอ่านเขียน มีการล็อคเรคอร์ดที่ดีขึ้น ด้วยพารามิเตอร์ directio

แต่สำหรับแชร์ที่เป็นแบบอ่านอย่างเดียว พบว่ามีปัญหามาก เพราะถึงแม้ว่าเราจะกำหนดให้เป็นแบบอ่านอย่างเดียว แต่เขาไม่ยอมให้เปิดไฟล์ซ้ำ

อย่ากระนั้นเลย เนื่องจากเป็นแบบอ่านอย่างเดียว เราไม่จำเป็นต้องทำเรื่องล็อคเรคอร์ด ขอย้ายมาใช้ nfs เลยดีกว่า

ที่เซิร์ฟเวอร์

ติดตั้ง

ควรสงสัยไว้ก่อนว่า ข้อเขียนนี้ต้องมีที่ผิดพลาดแน่นอน หากจะทำตาม ควรมีความรู้เรื่องลินุกซ์พอควรที่จะแก้ปัญหาที่เกิดจากการผิดพลาดในข้อเขียนได้

  • เป็นการบันทึกขั้นตอนการทำงานในระหว่างการเปลี่ยนฮาร์ดดิสก์ของเซิร์ฟเวอร์
  • บางรายการใช้แพกเกจที่มีความสามารถมากไป เรียกว่าขี่ช้างจับตั๊กแตน (บางรายการก็น้อยไป)
  • บางรายการมีแพกเกจอยู่แล้ว แต่ดันมาเขียนสคริปต์เอง (อ้างว่าเพื่อเพิ่มความยืดหยุ่น)
  • เรื่องความปลอดภัยจัดอยู่ในระดับ "ตายดาบหน้า"
  • ทั้งหมดมาจากเพราะภาษาอังกฤษไม่ดีครับ อ่านเอกสารไม่ค่อยเข้าใจ เลยทำเท่าที่ทำได้ครับ

จะติดตั้งเซิร์ฟเวอร์แบบ all-in-one สำหรับใช้ในหน่วยงานเล็ก ๆ โดย

    Topic: 

    ต้องการโอนข้อมูลผู้ใช้ไปเครื่องใหม่

    ถ้าเราคัดลอกไฟล์ /etc/passwd /etc/shadow /etc/group /etc/gshadow ไปทับเครื่องใหม่แบบตรง ๆ จะเกิดปัญหาเรื่องผู้ใช้ของระบบจะติดไปด้วย ซึ่งอาจมีค่า UID และ GID ที่ไม่ตรงกัน

    ค้นกูเกิลได้วิธีการจากที่นี่ครับ Move or migrate user accounts from old Linux server to a new Linux server

    เขาใช้หลักการที่ว่า UID ของผู้ใช้ทั่วไป จะมีค่ามากกว่า 1000 (ของ RedHat คือ 500) และใช้ awk เป็นตัวกรอง

    Topic: 

    เทอร์มินัลของ GNOME ดือ gnome-terminal ยังใช้งานภาษาไทยกับ vim ได้ไม่ดีนัก คือการเลื่อนเคอร์เซอร์ไม่ถูกตำแหน่ง และการคัดลอกข้อความด้วยเมาส์ก็ยังคัดลอกแบบผิด ๆ

    การนี้ XTerm ใช้งานได้ดีกว่า แต่หน้าตาโบราณไปหน่อย และสีอักษรบนพื้นดำดูยากสักนิด เลยทดลองปรับแต่งดูครับ

    สำหรับเดเบียนติดตั้งด้วย

    $ sudo aptitude install xterm xfonts-thai xfonts-thai-nectec \
    xfonts-thai-poonlap xfonts-thai-vor

    สำหรับผม ปรับแต่งให้เป็นพื้นขาว เลียนแบบ gnome-terminal และปรับแต่งตัวหนังสือให้ใหญ่ขึ้น และสีเข้มขึ้นเล็กน้อย

    Topic: 

    ลูกน้องเอาธัมบ์ไดรฟ์มาให้หาไวรัส
    ผลปรากฎว่าพบไฟล์ที่เป็นนามสกุล exe เป็นจำนวนมากภายใต้ไดเรกทอรี่ย่อยเป็นร้อย
    ทางแก้คือสแกนแล้วเก็บชื่อไฟล์ไว้ ตัวอย่างของเนื้อไฟล์ที่ถูกสแกนเก็บไว้ เช่น

    PhotoShop 7.0/• วิธีทำตัวเยลลลี่ •_files/• วิธีทำตัวเยลลลี่ •_files.exe: W32.Autoit.Obfus FOUND
    PhotoShop 7.0/• วิธีทำตัวหนังสือชอล์ค •_files/truehitsstat_files/truehitsstat_files.exe: W32.Autoit.Obfus FOUND
    ...

    จะเห็นว่ามีรูปแบบที่เราจะตัดโดยใช้คำสั่ง cut ได้คือตั้งแต่เครื่องหมาย : เป็นต้นไป

    คำสั่งที่ใช้คือ

    Topic: 

    ขออนุญาตเขียนแบบกองโจรนะครับ โดยมือใหม่ เพื่อมือใหม่ครับ

    เอามาจาก tldp: BASH Programming - Introduction HOW-TO

    ศึกษาเพิ่มเติมได้จาก tldp: Bash Guide for Beginners
    และในเชิงลึก จาก tldp: Advanced Bash-Scripting Guide

    (บทความนี้เป็น book page ครับ คลิกเปิดอ่านหัวข้อต่าง ๆ ได้ที่ด้านใน)

    จากครั้งก่อนเรื่อง ทำโฮสต์ใช้เอง ยังขาดเนื้อหาว่า ถ้าอุปกรณ์ของเราเป็นเราเตอร์ เราจะมีวิธีในการอัปเดตข้อมูล DNS อย่างไร

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

    การทำงานในขั้นตอนนี้ของแพกเกจสำเร็จรูปทั่วไป จะใช้การตรวจสอบไอพีไปที่ zoneedit เป็นระยะ เช่นทุก ๆ 5 นาที เป็นต้น แต่เนื่องจากเราเขียนสคริปต์เอาเอง เราจึงสามารถประหยัดแบนด์วิดท์ (แม้เพียงน้อยนิด) ได้ โดยแทนที่จะไปตรวจไอพีเอาจาก zoneedit เราก็ตรวจเอาจากเราเตอร์ของเราแทน

    Pages

    Creative Commons License ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น
    ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้