wd's blog
บันทึกแก้ไข sid บูตไม่ขึ้น
Submitted by wd on 6 September, 2008 - 09:43.เนื่องจากปัญหา initramfs ไม่ยอมสร้างไฟล์ initrd.img ทำให้ dpkg ค้างบูตไม่ได้
บูตด้วยแผ่นติดตั้ง netinst ของ lenny ทำตามขั้นตอนไปเรื่อย ๆ จนถึงขั้นแบ่งพาร์ติชั่นดิสก์ แล้วจึงออกสู่เชลล์ busybox
เนื่องจากเชลล์ busybox ไม่ฉลาดเหมือน bash จึงต้องใส่พารามิเตอร์ตามลำดับ
# mount /dev/hda5 /mnt -t ext3 # mount sysfs /mnt/sys -t sysfs # mount proc /mnt/proc -t proc # mount tmpfs /mnt/tmp -t tmpfs # chroot /mnt /bin/bash
ตอนนี้เราย้าย root มาที่เครื่องที่ต้องการซ่อมแล้ว (ขอแทนเครื่องหมายพร้อมด้วย $#)
หากต้องมีการแก้ไขเนื้อไฟล์
$# TERM=linux $# vi XXXX.XXX
แก้ไขงานตามความจำเป็น
$# dpkg --reconfigure -a $# aptitude -f install $# exit
เสร็จแล้ว บูตเครื่องใหม่ได้เลย
# reboot
ตัวอย่างการติดตั้งสแกนเนอร์ Epson รุ่น CX5500
Submitted by wd on 27 August, 2008 - 19:46.ถึงแม้ Epson จะมีไดรเวอร์มาให้ แต่ก็เป็นแพกเกจแบบ rpm ของ RedHat ทำให้การติดตั้งยังไม่สะดวกเท่าที่ควร
หน้าเว็บอยู่ที่ Avasys official Epson drivers ซึ่งถ้านำมาแปลงด้วยโปรแกรม alien ก็อาจจะได้ แต่ที่ผมยกมาเป็นตัวอย่าง จะเป็นการปรุงด้วยเดเบียนโดยตรง
ตามตัวอย่าง ผมใช้เดเบียนรุ่น sid ซึ่งใช้ gcc-4.3 นะครับ
ติดตั้งแพกเกจสำหรับปรุง deb และ xsane
$ sudo aptitude install devscripts libsane-dev xsane
เอาไฟล์ซอร์สและแพตช์มาคอมไพล์
$ wget http://lx1.avasys.jp/iscan/2.11.0/iscan_2.11.0-1.tar.gz $ wget http://aur.archlinux.org/packages/iscan/iscan/iscan-gcc43-fix.patch $ tar zvxf iscan_2.11.0-1.tar.gz $ cd iscan-2.11.0/ $ patch -Np0 -i ../iscan-gcc43-fix.patch $ debuild -us -uc
จะได้ไฟล์ .deb ต้องติดตั้งด้วยพารามิเตอร์เพิ่มเติม เพราะแพกเกจนี้ ขัดกับแพกเกจ libsane-extras
Python Tutorial (เรียนรู้ไพธอน)
Submitted by wd on 25 August, 2008 - 10:21.หมายเหตุจาก webmaster: คุณ wd เขียนบทความชุดนี้ไว้ได้เกือบแปดเดือนแล้วครับ แต่ webmaster ตรวจไม่เสร็จสักที ตอนนี้ก็ยังไม่เสร็จ แต่เห็นว่าดองไว้นานก็น่าเสียดาย จึงเผยแพร่ทั้งที่ยังตรวจไม่เสร็จไปก่อน
เอามาจาก Python Tutorial
ตั้งใจเขียนให้อ่านสนุก ๆ นะครับ อย่าจริงจัง
ทำแผ่นบูตฉุกเฉิน
Submitted by wd on 16 August, 2008 - 21:50.ปัญหาคือมีเครื่องลูกข่ายที่เป็นวินโดวส์ติดไวรัส และไม่ได้ลงซอฟต์แวร์ป้องกันไวรัสไว้ (เนื่องจากทอนกำลังเครื่อง)
ทางแก้คือ ใช้แผ่นบูตเดเบียนที่ลงแพกเกจ 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
เกร็ดคำสั่ง find
Submitted by wd on 3 July, 2008 - 11:50.(ศึกษาเพราะต้องการเอาไฟล์ในคลังของ 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 วันขึ้นมา
$ find /PATH/TO/FILE -mtime -5
ค้นหาไฟล์เก่ากว่า 1 ปีลงไป และลบไฟล์เหล่านั้นทิ้ง
$ find /PATH/TO/FILE -mtime +365 -exec rm {} \;*** ใช้ด้วยความระมัดระวังนะครับ ***
วันนี้แค่นี้ก่อนครับ
อ้างอิง
lenny: แก้ปัญหา waiting for root file system
Submitted by wd on 16 June, 2008 - 18:28.ช่วงนี้ติดตั้งเครื่องหลายเครื่องด้วย 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
ย้ายจาก samba ไป nfs สำหรับ dosemu (ro)
Submitted by wd on 23 April, 2008 - 12:32.การใช้งาน samba กับ dosemu พบว่าตั้งแต่ samba รุ่น 3.0.27 เป็นต้นมา สำหรับแชร์ที่เป็นแบบอ่านเขียน มีการล็อคเรคอร์ดที่ดีขึ้น ด้วยพารามิเตอร์ directio
แต่สำหรับแชร์ที่เป็นแบบอ่านอย่างเดียว พบว่ามีปัญหามาก เพราะถึงแม้ว่าเราจะกำหนดให้เป็นแบบอ่านอย่างเดียว แต่เขาไม่ยอมให้เปิดไฟล์ซ้ำ
อย่ากระนั้นเลย เนื่องจากเป็นแบบอ่านอย่างเดียว เราไม่จำเป็นต้องทำเรื่องล็อคเรคอร์ด ขอย้ายมาใช้ nfs เลยดีกว่า
ที่เซิร์ฟเวอร์
ติดตั้ง
# aptitude install nfs-common nfs-kernel-server
ทำการแชร์ สมมุติว่าจะแชร์ไดเรกทอรีชื่อ /samba/app ให้เป็นแบบอ่านอย่างเดียว โดยให้ทุกเครื่องในวงภายในคือ 192.168.*.* สามารถใช้งานได้
# vi /etc/exports
บันทึกการติดตั้งเซิร์ฟเวอร์เดเบียน etch all-in-one แบบลูกทุ่ง
Submitted by wd on 16 March, 2008 - 11:11.ควรสงสัยไว้ก่อนว่า ข้อเขียนนี้ต้องมีที่ผิดพลาดแน่นอน หากจะทำตาม ควรมีความรู้เรื่องลินุกซ์พอควรที่จะแก้ปัญหาที่เกิดจากการผิดพลาดในข้อเขียนได้
จะติดตั้งเซิร์ฟเวอร์แบบ all-in-one สำหรับใช้ในหน่วยงานเล็ก ๆ โดย
bash: คัดลอกข้อมูลผู้ใช้ไปเครื่องใหม่
Submitted by wd on 28 February, 2008 - 16:09.ต้องการโอนข้อมูลผู้ใช้ไปเครื่องใหม่
ถ้าเราคัดลอกไฟล์ /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 เป็นตัวกรอง
ใช้ xterm กับงานภาษาไทย
Submitted by wd on 6 February, 2008 - 23:56.เทอร์มินัลของ GNOME ดือ gnome-terminal ยังใช้งานภาษาไทยกับ vim ได้ไม่ดีนัก คือการเลื่อนเคอร์เซอร์ไม่ถูกตำแหน่ง และการคัดลอกข้อความด้วยเมาส์ก็ยังคัดลอกแบบผิด ๆ
การนี้ XTerm ใช้งานได้ดีกว่า แต่หน้าตาโบราณไปหน่อย และสีอักษรบนพื้นดำดูยากสักนิด เลยทดลองปรับแต่งดูครับ
สำหรับเดเบียนติดตั้งด้วย
$ sudo aptitude install xterm xfonts-thai xfonts-thai-nectec \ xfonts-thai-poonlap xfonts-thai-vor
สำหรับผม ปรับแต่งให้เป็นพื้นขาว เลียนแบบ gnome-terminal และปรับแต่งตัวหนังสือให้ใหญ่ขึ้น และสีเข้มขึ้นเล็กน้อย
$ vi ~/.Xdefaults












