คำสั่ง


บันทึกกันลืมอันเนื่องมาจากงานชิ้นนี้โหดร้ายพอดู จริงๆก็เป็นการอัพเกรดเคอเนลจาก 2.4 ไปเป็น 2.6 ของลีนุกซ์ debian3.1r3 ธรรมดาๆ แต่ที่มันไม่ธรรมดาคือต้องทำผ่านเน็ตเวิร์คเลย หนักกว่านั้นคือ จากที่บ้าน รีโมทตรงๆไปที่เครื่องไม่ได้ ต้องผ่านออฟฟิศเก่าผมก่อน(โชคดีที่ vpn ยังใช้งานได้) เข้าไปพักที่เครื่อง enigma ก่อนทั้ง ssh และ scp (โชคดีที่สองที่พวกเด็กแว้นเวรวันหยุดเขาไม่โหลดบิทกันไม่งั้นจุก) ที่ลำบากอีกอย่างคือเครื่องทั้งสามตัวออกเน็ตไม่ได้ ไอ้จะ apt-get ง่ายๆก็ต้องอด

เดิมระบบลงไว้แบบสุดประหยัึด(เพราะตัวทั้งตัวเป็นลีนุกซ์ที่รันบนคอมแพคแฟลชขนาด2GB) สเปกเครื่องเป็น CPU = Celeron 400Mhz, RAM = 512MB

เริ่มจาก

1 ดาวน์โหลดไฟล์เหล่านี้จากอินเตอร์เน็ตที่ http://www.debian.org/distrib/packages

fakeroot_1.2.10_i386.deb
bzip2_1.0.2-7_i386.deb
patch_2.5.9-2_i386.deb
make_3.80-9_i386.deb
binutils_2.15-6_i386.deb
dpkg-dev_1.10.28_all.deb
kernel-kbuild-2.6-3_2.6.8-2_i386.deb
kernel-headers-2.6.8-3_2.6.8-16sarge6_i386.deb
procps_3.2.1-2_i386.deb
linux-kernel-headers_2.6.18-7_i386.deb
libc6_2.3.6.ds1-13etch5_i386.deb
libc6-dev_2.3.6.ds1-13etch5_i386.deb
cpp-3.3_3.3.5-13_i386.deb
gcc-3.3_3.3.5-13_i386.deb
cpp_3.3.5-3_i386.deb
gcc_3.3.5-3_i386.deb
kernel-package_8.135_all.deb
libncurses5-dev_5.5-5_i386.deb
module-init-tools_3.2-pre1-2_i386.deb
initrd-tools_0.1.81.1_i386.deb

อ้อ.. ลืมไป มี
(more…)

ผมมีกล้องวีดีโออยู่ตัวหนึ่ง เก่าๆมากแล้วล่ะ ซื้อมา 7-8 ปีจะได้แล้วมั้ง เป็นยี้ห้อ sony handycam ขณะนั้นการบันทึกข้อมูลใช้เทปขนาด 8มม. ก็ถือว่าโคตรเท่ห์แล้ว ไม่ต้องนับปัจจุบันนี้ที่อะไรก็ช่างพัฒนาเปลี่ยนแปลงให้สูงให้ดีขึ้นทุกเสี้ยววินาที ยกเว้นก็แต่ สิ่งมีชีวิตที่เรียกว่า”คน”นี่แหละ นับวันมีแต่จะเลวจะแย่ กระนั้นคนก็ยังบัญญัติคำว่า “สัตว์ประเสริฐ” มาแบ่งแยกพวกตนให้ก้าวพ้นเหล่าสรรพสัตว์ กระนั้นยังไม่พอ ยังเปลี่ยบเทียบสิ่งๆแย่ๆของคนไปยังสัตว์ที่ไม่ได้รู้เรื่องด้วยเลย ไม่ว่าจะเป็น “โง่เป็นควาย” เอาไว้ด่าคนที่โง่ๆหรือดีหน่อยก็คิดช้า “ไอ้หน้าเหี้ย” พวกคนเลวๆทำตัวไม่ดี “หน้าปลากระโห้” เอาไว้เรียกพวกที่คิดว่าตัวเองหล่อแต่ความจริงเปล่า หรือจะเรียกแบบขี้เกียจคิดก็ “ไอ้สัตว์” สั้นๆแต่ความหมายหลายหลาก ให้คนถูกด่าเลือกกันเอาเอง สุดแต่คนจะหามาด่ากัน แต่ก็ไม่ต้องเสียใจล่ะ ถ้าเกิดวันหนึ่งเห็น ควาย ตะโกนด่า ตัวเหี้ย ว่า “ใอ้หน้าคน” เล่นเอาจนตัวเหี้ยโกรธเป็นฟืนเป็นไฟไล่กัดควายพัลวัล ..

เออ ว่าแล้ว 23 ธันวาคม 2550 นี้ก็เป็นวันเลือกตั้ง ก็อย่าลืมไปเลือกคน.. (คนครับคน) คนดีๆเข้ามาบริหารบ้านเมืองนะครับ ..

tape_8mm.png sony_handycam.png
ตลับวีดีโอเทปขนาด8มม. และ กล้องวีดีโอ(เข้าเรื่อง) กล้อง sony handycam ตัวนี้ของผมมีรูติดต่อโลกภายนอกก็แค่ สัญญาน AVเท่านั้น ที่พูดถึงกล้องตัวนี้เพราะว่าการที่จะดูวีดีโอที่บันทึกไว้ ค่อนข้างลำบากนิดนึงที่ต้องเอาไปต่อดูกับทีวี เลยคิดว่าจะแปลงมันให้เล่นได้บนคอมพิวเตอร์ เพื่อให้เวลาดูได้สะดวก ทันสมัย ทำให้ต้องจัดการติดตั้ง tools ต่างๆดังหัวข้อที่ตั้งไว้
(more…)

ช่วงนี้วุ่นวายอยู่กับ Single Board Computer หรือ SBC มาพักใหญ่จนเอา Debian ไปยัดใส่ให้มันทำงานได้แล้ว SBC ที่ผมเอามาเล่นคือรุ่น TS-7200 ที่เคยเขียนถึง การใช้งาน debian บน SBC ที่มี ARM9 เป็น CPU ก็ถือว่าทำได้ดีในงานที่ต้องการขนาดระบบที่เล็ก แต่ผมดันลืมทำ swap ให้มันซะนี่

การทำ swap ส่วนใหญ่ผมจะเข้าใจว่าต้องทำโดยการแบ่งพาติชั่นเป็นหลัก และครั้งนี้ลืมไปเลยว่าต้องทำ swap ด้วย จนเอามาใช้งานก็ติดๆขัดๆเรื่องของ memory บ่อยอยู่เหมือนกัน ทีแรกว่าจะ fdisk ใหม่แต่ก็กลัวพลาด (เป็นบ่อย) เลยหาวีธีเซฟๆหน่อย

เลยได้เป็นการทำ swap file ไม่ต้องทำเป็น swap patition เริ่มการทำเลย

1. ก่อนอื่นต้องสร้าง block ขึ้นมาใน harddisk หรือ compact flash ขนาดก็ดูจาก memory หลักคูณด้วยสอง SBC ผมมีRAM ขนาด 32 MB ผมก็สร้าง swap file ขนาด 64 MB ด้วยคำสั่ง dd ดังนี้

# dd if=/dev/zero of=/swapfile bs=1024 count=64k
# mkswap /swap
Setting up swapspace version 1, size = 67104 kB
no label, UUID=7cde6930-7f70-44ac-8f96-d847f20a7b0b

2. เริ่มการใช้งาน swap file ที่สร้างขึ้น

# swapon /swap
Adding Swap: 65528k swap-space (priority -1)

3. ตรวจดูการใช้งานของ swap file ที่สร้างขึ้น

# cat /proc/swaps
Filename                        Type            Size    Used    Priority
/swap                           file            65528   0       -1

หรือใช้คำสั่ง top

top - 22:27:45 up 1 day,  8:01,  3 users,  load average: 0.00, 0.00, 0.15
Tasks:  24 total,   1 running,  22 sleeping,   1 stopped,   0 zombie
Cpu(s):   0.7% user,   1.0% system,   0.0% nice,  98.4% idle
Mem:     28572k total,    27632k used,      940k free,      348k buffers
Swap:    65528k total,        0k used,    65528k free,    19068k cached
 
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
23959 root      17   0  1048 1048  844 R  1.6  3.7   0:00.24 top
    1 root       8   0   144  144   92 S  0.0  0.5   0:01.40 init
    2 root       9   0     0    0    0 S  0.0  0.0   0:00.08 keventd
    3 root      19  19     0    0    0 S  0.0  0.0   0:00.01 ksoftirqd_CPU0
    4 root       9   0     0    0    0 S  0.0  0.0   1:15.98 kswapd
    5 root       9   0     0    0    0 S  0.0  0.0   0:00.00 bdflush
    6 root       9   0     0    0    0 S  0.0  0.0   0:00.23 kupdated
    7 root       9   0     0    0    0 S  0.0  0.0   0:00.00 mtdblockd
  122 root       9   0     0    0    0 S  0.0  0.0   0:00.00 khubd
  254 daemon     9   0   124  124   48 S  0.0  0.4   0:00.02 portmap
  338 root       9   0   112  112   52 S  0.0  0.4   0:00.05 inetd
  346 root       8   0   324  320  204 S  0.0  1.1   0:00.06 sshd
  359 root       9   0   140  140   52 S  0.0  0.5   0:00.05 rpc.statd
  370 root       8   0   332  332  168 S  0.0  1.2   0:00.47 cron
  426 root       9   0   300  300   52 S  0.0  1.0   0:00.11 login
  427 root       9   0   868  868  584 S  0.0  3.0   0:00.15 bash
  575 root       9   0   632  624  340 S  0.0  2.2   0:15.45 sshd
  576 root       9   0   296  296   52 S  0.0  1.0   0:00.10 login
  577 root       8   0   816  816  504 S  0.0  2.9   0:01.59 bash
  903 root       9   0   628  620  340 S  0.0  2.2   0:01.40 sshd
  925 root       9   0   296  296   52 S  0.0  1.0   0:00.09 login
  926 root       9   0  1232 1232  672 S  0.0  4.3   0:00.27 bash
14986 root       9   0  1560 1560   52 T  0.0  5.5   0:01.70 zip
30177 root       9   0   260  260  184 S  0.0  0.9   0:00.22 syslogd

ถ้าได้อย่างนี้แล้วก็คือใช้งานได้แล้ว

4. สุดท้ายเอาไปเพิ่มไว้ไนไฟล์ fstab เพื่อให้ใช้งานได้เองหลังจากบูทเครื่องทุกครั้ง

proc             /proc         proc    defaults                 0    0
none            /dev/pts        devpts        gid=5,mode=620    0 0
/swap           none    swap    sw      0       0
/dev/sdcard0/disc0/part3        /       ext2    defaults,noatime,sync   1 1

เคยมีคำถามให้ตัวเองมาก่อนว่า บนลีนุกซ์เนี่ยมีโปรแกรมไหนบ้างนะที่ทำงานเหมือน hyperterminal บนวินโดวส์ จนได้คำตอบให้ตัวเองมาเรื่อยๆ
ก่อนหน้านี้เคยใช้แต่ minicom แล้วก็ติดปัญหาอย่างที่เคยเขียนถึงมาก่อนนี้แล้ว ที่นี่ จนได้มาใช้ GtkTerm และอีกหลายๆตัว ดังจะรวบรวมไว้ดังนี้

1 GtkTerm
GtkTerm เป็นโปรแกรมที่ทำงานแบบ graphical serial terminal ที่ผมชอบใช้งานมากที่สุด เขียนด้วย gtk library
gtkterm.png

2 CuteCom
CuteCom เป็นโปรแกรมที่ทำงานแบบ graphical serial terminal โดยเขียนด้วย Qt library หน้าตามันเลย Qt แบบนี้
cutecom-0140.png

3 minicom
minicom เป็นโปรแกรมที่ทำงานบน text mode ได้เลย จึงเหมาะกับการใช้งานที่กว้างกว่า เช่น รีโมทผ่านอินเทอร์เน็ต เพื่อไปติดต่อกับ COM Port อีกที่หนึ่งก็สะดวก (ดูคล้ายๆพวกอุปกรณ์ serial server นิดนึงนะ)

4 C-Kermit
C-Kermit เป็นโปรแกรมที่ทำงานบน text mode เหมือน minicom

Next Page »