Linux – ลบไฟล์เล็กๆจำนวนมหาศาล

เรื่องมันมีอยู่ว่า Hosting ที่ดูแลอยู่โดน spam mail มหาศาลเข้าไป โฟลเดอร์ spool เลยเต็มไปด้วยเมล์ นับๆแล้วรวมกันได้ 530,367 ฉบับ แปลว่ามีไฟล์อยู่ 530,367 ไฟล์ แต่ละไฟล์ขนาดไม่เกิน 1 KB

ทีนี้ปัญหามันเกิดเมื่อต้องการลบโฟลเดอร์นี้ทิ้ง ทีนี้ partition แบบ ext3 มันจัดการไฟล์แบบนี้ได้ห่วยแตกมากๆ ลองลบด้วยหลายๆวิธีก็ไม่สำเร็จ

  • rm -rf dirname # ลองรันทิ้งไว้ชั่วโมงนึง (ไปกินข้าวมา) กลับมาเช็คจำนวนไฟล์ยังเท่าเดิมเป้ะ
  • find dirname -delete # ลองรันทิ้งไว้ 5 นาที ผลคือจำนวนไฟล์เท่าเดิมเช่นเคย

นั่งงมๆอยู่นาน เลยลองถามไปใน twitter ได้ @sourcode มาร่วมปวดหัวด้วยกัน จนสุดท้ายลองเล่นกับ shell script แทน ได้ผลแฮะ

# ls -1 dirname > list
# for i in `cat list`; do rm -f dirname/$i; done

ขอบคุณ bash อีกครั้ง อันที่จริงยังลบไม่เสร็จนะครับ ตอนนี้รันมา 15 นาที ไฟล์หายไป 100,000 กว่าๆแล้ว เหลืออีก 400,000 กว่าไฟล์เอง

ป.ล. @manatsawin ได้ส่งโค้ด python มาให้ลองเหมือนกัน พอดีผมลอง shell script อันบนแล้วสำเร็จซะก่อนเลยไม่ได้ลอง ยังไงก็ขอบคุณเช่นกันครับ

import glob,os; for i in glob.glob("*"): os.remove(i)

ดูแล้วสั้นกว่า bash เยอะเลย

โม TwitterFox ให้เปิด tab ด้วย https และเพิ่มเมนู Copy with Name

เอามาโมด้วยความอยากส่วนตัวครับ

แก้อะไรไปบ้าง?

  • เวลาเปิดแทบอะไร Firefox จะเป็น https://…. หมด
  • เวลาคลิกขวาข้อความจะมีเมนู Copy with Name เพิ่มขึ้นมา เอาไว้เวลาจะ copy ข้อความให้คนอื่นดูแล้วรู้ด้วยว่าใครเป็นคนพิมพ์

ใครสนใจโหลดไปลงได้้เลยครับ แต่ถ้า TwitterFox มีอัพเดทมันก็จะโหลดทับไปนะครับ ไว้ตอนนั้นค่อยแก้ใหม่ ฮ่าๆ

Download: http://rtsp.us/files/twitterfox-1.7.6-fx-https+copyname_rtsp.xpi

Modified TwitterFox 1.7.6 by RTSP

ป.ล. ถ้าไม่ไว้ใจ โหลดไปแล้วเปิดดู source code ด้วย 7-Zip, WinRAR ก่อนติดตั้งนะครับ

Pidgin: Random Crash on Windows (GDI Objects Leak)

ผมใช้ Pidgin เล่น Google Talk มาหลายเดือนแล้วเนื่องจากเบื่อ Google Talk Client ที่แสนเก่าและไร้ซึ่งลูกเล่นใดๆ แต่ Pidgin ยังมีปัญหาหลักๆที่กวนใจอยู่เสมอคือ มันชอบ crash เอามากๆ crash วันหนึ่ง 3-4 ครั้งได้ จนตอนนี้เรียกได้ว่ามี sense รู้สึกได้ว่ามันกำลังจะ crash

อาการที่เห็นคือตำแหน่งของข้อความที่คุยจะเลื่อนแล้วไม่ค่อยตรง บางทีมี font เกยๆกัน หนักเข้าหน่อยหน้าต่างจะเริ่มเป็นสี่เหลี่ยม mosaic สีน้ำเงินแดงเต็มไปหมด หลังจากนั้น 2-3 วินาทีก็จะมีเสียงอันน่าสะพรึงกลัวดังขึ้น พร้อมกับปุ่ม OK ให้เรากดยอมรับแบบห้ามมีข้อโต้แย้งใดๆทั้งสิ้น

ขอบ่น

หลังจาก format เครื่องไปเมื่อวานด้วย ความหวังว่าปัญหานี้จะหายไป ลืมบอกไปว่า ก่อน format ก็มีบางโปรแกรมที่ crash บ่อยเหมือนกัน เลยนึกว่าเป็นที่ Windows  แต่แล้วมันก็ไม่หายครับ มันออกลายอีกครั้งเมื่อบ่ายวันนี้ด้วยการ crash ติดต่อกัน 3 รอบขณะผมนั่งค้น chat logs อยู่

ยังดีที่สาเหตุการ format ครั้งนี้จริงๆแล้วไม่ได้มาจาก pidgin ไม่งั้นผมคงเซ็งเป็ดที่ต้องมานั่ง format ลง Windows ลงโปรแกรม เสียเวลาไป 3 ชั่วโมงแล้วไม่ได้อะไรขึ้นมา สาเหตุจริงๆที่ format คือ Microsoft SQL มันรันไม่ได้ แล้วผมต้องใช้สอบสัปดาห์หน้า ซึ่งนั่นไม่เกี่ยวกับ entry นี้จึงไม่ขอเล่าต่อ

ถึงยังไงผมหมดความอดทนแล้วล่ะ ต้องหาทางแก้ปัญหานี้ให้ได้ ไม่งั้นก็จะกลับไปใช้ Google Talk Client ตัวเดิมอย่างถาวรแล้ว ด้วยความโชคดีบางอย่างทำให้การ crash ครั้งนี้มันแสดงรายละเอียดและสาเหตุที่พังด้วย ทำให้รู้ว่าต้นเหตุมาจาก libcairo-2.dll ก็เลยลองไปถามอากู๋เพื่อนยากจนได้คำตอบมามากมาย และได้รู้ว่ามีผู้ร่วมชะตากรรมกับเรามิใช่น้อย
Continue reading “Pidgin: Random Crash on Windows (GDI Objects Leak)”

Debian Mirrors in Thailand

อันนี้คือที่ผมใช้อยู่ครับ เอาไปใส่ในไฟล์ /etc/apt/sources.list

deb http://mirror1.ku.ac.th/debian/ lenny main contrib non-free
deb http://mirror1.ku.ac.th/debian/ lenny-proposed-updates main contrib non-free
deb http://debian.thaios.net/debian/ lenny main contrib non-free
deb http://debian.thaios.net/debian/ lenny-proposed-updates main contrib non-free
deb ftp://ftp.debianclub.org/debian/ lenny main contrib non-free
deb ftp://ftp.debianclub.org/debian/ lenny-proposed-updates main contrib non-free
deb http://linux.thai.net/debian/ lenny main contrib non-free
deb http://linux.thai.net/debian/ lenny-proposed-updates main contrib non-free
deb http://neutron.debianclub.com/debian/ lenny main contrib non-free
deb http://neutron.debianclub.com/debian/ lenny-proposed-updates main contrib non-free
deb http://debian.lru.ac.th/debian/ lenny main contrib non-free
deb http://debian.lru.ac.th/debian/ lenny-proposed-updates main contrib non-free
deb http://mirror.in.th/osarchive/debian/ lenny main contrib non-free
deb http://mirror.in.th/osarchive/debian/ lenny-proposed-updates main contrib non-free
deb http://mirror1.ku.ac.th/debian-security/ lenny/updates main contrib non-free

ส่วนใหญ่เอามาจากที่นี่ครับ http://debianclub.org/mirrors