ต้นเหตุของเรื่อง เกิดจากการ compile แล้วเครื่องดับไปเพราะความร้อนที่ตัว cpu สูงมาก เลยตัดใจมาทำงานใน single user mode เพื่อลดการทำงานของ process ที่ไม่เกี่ยวข้อง ที่ไม่จำเป็นออกไปให้หมด
ปกติ มะไฟ กำหนดให้ compile โปรแกรมพวก ports ทั้งหลายไว้ที่ partition อื่น ที่ไม่ใช่ /usr/ports โดยกำหนดเป็น ตัวแปรสภาพแวดล้อม ดังนี้
${WRKDIRPREFIX}
และที่สำหรับเก็บพวก source files ในรูปของ .tar.gz ก็เก็บไว้ที่ตามแต่ตัวแปรสภาพแวดล้อมจะชี้ไป ซึ่งตัวแปรสภาพแวดล้อมนี้คือ
${DISTDIR}
แล้วก็ส่วนที่เป็นสันดาน หรือนิสัยแปลกๆอีกอย่างคือ เมื่อ compile โปรแกรมได้แล้ว มักจะเก็บไว้เป็น packages ไปเสียด้วยเลย และก็เช่นกัน เก็บไว้ที่ไหน ก็ตามแต่ตัวแปรสภาพแวดล้อมจะชี้ไป ซึ่งทาง FreeBSD เขาก็กำหนดมาให้แล้วว่า เป็นตัวแปรชื่อ
${PACKAGES}
เหล่านี้ ดังนี้ เป็นต้น และก็ไม่ต้องแปลกใจว่า จะไปกำหนดให้ชี้ไปที่ไหน ตามนี้เลยครับ อย่างที่นึก อย่างที่คาดเดากันไว้แหละ
WRKDIRPREFIX=/kaitag/MNI
DISTDIR=/kaitag/distfiles
PACKAGES=/kaitag/packages
สามบรรทัดข้างบนนี้ ให้ท่านเขียนไว้ในแฟ้ม /etc/make.conf เลยครับ
อ้อๆ ทั้งสามสาระบบแฟ้มนั้น เป็นเจ้าของโดย root:wheel น่ะครับ ไม่งั้น เขียนลงไม่ได้
ลักษณะนิสัยอีกประการ (ที่อาจจะสร้างเสริมมาโดยหลักสูตรใหม่มั้ง) คือเมื่อเวลาสร้างโลกนั้น ระบบจะเขียนลงไปในสาระบบแฟ้ม /usr/obj ที่ดูทีไร ก็ไม่ชอบใจเลย เลยขอยักไปไว้ใน /kaitag/obj ด้วยเสียเลย โดยกำหนดให้เป็น ตัวแปรสภาพแวดล้อม ชื่อ MAKEOBJDIRPREFIX และให้เขียนไว้ที่แฟ้ม /root/.profile ดังนี้ครับ
MAKEOBJDIRPREFIX=/kaitag/obj
export MAKEOBJDIRPREFIX
ทั้งนี้ก็เพื่อว่า เมื่อท่านลงสู่ single user mode แล้ว จะได้ไม่ต้องมาเสียเวลาเขียนอีก
สรุป
![]() |
มีใครสงสัยอะไรมั้ย |
MAKEOBJDIRPREFIX=/kaitag/obj
export MAKEOBJDIRPREFIX
alias rm='rm -i'
alias mv='mv -i'
alias cp='cp -i'
alias ll='ls -lA'
set -o vi
set autolist
และสำหรับแฟ้ม /etc/make.conf ขอให้เพิ่มบรรทัดดังต่อไปนี้น่ะครับ
WRKDIRPREFIX=/kaitag/MNI
DISTDIR=/kaitag/distfiles
PACKAGES=/kaitag/packages
ก็คงพอให้ท่านทำงานได้ และหวังว่า คงไม่ลืม ๔ คำสั่งแรก หลังจากได้รับ shell เมื่อก้าวลงสู่ single user mode แล้ว
# swapon -a
# adjkerntz -i
# mount -a
# umount /home
ก็คงจบสาระที่วางไว้เพียงเท่านี้ และขอได้รับการขอบคุณจาก มะไฟ สำหรับเวลาที่ท่านสละมาอ่าน
ลป. หวังว่าคงจำวิธีการ และ ข้อกำหนดในการเก็บ packages ได้น่ะครับ ว่า ท่านต้องสร้างสาระบบแฟ้ม ${PACKAGES}/All ไว้ก่อนด้วย โดยสั่งเพียงหนเดียว
# mkdir -p ${PACKAGES}/All
No comments:
Post a Comment