Showing posts with label FDP. Show all posts
Showing posts with label FDP. Show all posts

Thursday, November 24, 2011

FreeBSD Thai Documentation Project

เขาให้เริ่มด้วยการอ่านเอกสารทางวิชาการที่จำเป็นต้องใช้ ก็อ่านทบทวนอีกรอบ
อ่านไป อ่านมา ไหงมันออกมายังงี้หละ

สนุกดี ไปไปมามา tei ที่เคยเมียงๆ มองๆไว้ ก็คือสิ่งเดียวกับ a gentl introduction to sgml ในรูปแบบสวยๆ ที่เคยทุ่มเทอ่าน ตอนแรกๆโน้นแหละ tei มันกลายเป็นรายละเอียดในเรื่องของ sgml ที่เขาแนะให้อ่านกันในปัจจุบันนี้ ซะงั้น

sgml กับ TeX ของ Knuth และ glade ที่ใช้เขียนบรรยาย(-บันดาตา(หัวงู)) รายละเอียดเพื่อ generate programme โดยไม่ต้องเขียนโปรแกรมเลยสักคำนั้น มันก็อันเดียวกัน คือ marked up language นั่นแหละน่อ

อ้าว นี่จะลากยาวไปไหนกันน่ะ แต่ ก็เอาน่ะ สรุปว่า พออ่านๆไป ทำไป ก็ได้มา อย่างในรูปที่เห็นนี่แหละ ตานี้ ก็เหลือแต่เก็บรายละเอียดไป แปลไปแล้วหละ

อืมม ยังไง ถ้าไม่เชื่อก็ไม่ต้องเชื่อน่ะว่า ที่วงๆไว้นั้นจะเป็นของจริง มะไฟ/มะฃาม ไม่โกหก ยังคงเข้ามาทาง โฮมยูหนิคส์ ได้น่ะ อารามรีบร้อน เลยลองเรียกผ่านชื่อ(ที่กำหนดไว้ใน httpd.conf แต่ยังไม่จดโดเมน) ใน /etc/hosts แล้วก็จับรูปมาซะก่อน ความจริง น่าจะจับรูป ตอนที่เรียกผ่าน localhost ซะให้รู้แล้วรู้รอดไป แต่ เอากันยังงี้แหละ

Mon Nov 28 07:57:14 ICT 2011
ดูว่า มันเป็น หรือ มันมี bugs ครับ
ให้สังเกตุว่า ถ้าใช้ apache เอกสารทั้งหมดจะอยู่ที่ /usr/local/www/apache22/data แต่ถ้าใช้ nginx เอกสารจะอยู่ที่ /usr/local/www/nginx เลย แต่ นี่พวกเอาไปลงไว้ที่ ${DESTDIR}/data และแม้จะไม่กำหนด ${DESTDIR} ไว้ พวกก็จะเอาไปไว้ที่ ${HOME}/public_html/data อยู่ดี (ซึ่งก็เป็น convention ของ apache นันแหละ) ที่ว่าบั้คๆๆๆ นั้น ก็คือว่า ตามเอกสารคู้มือนั้น ค่า DESTDIR เขากำหนดมาไม่ถูกต้อง

แต่จะว่าไป มันน่าจะเป็น bugs ใน make มากกว่าใน doc น่ะ
Mon Nov 28 07:57:14 ICT 2011

Monday, November 14, 2011

FDP และ cvsup server ของขวัญวันเกิดลูก

ขอขึ้นหัวเรื่องไว้ ภายในวันนี้ ก่อนที่จะหมดวัน
บุญเขาคุ้มพ่อ ก็ต้องตอบแทนกันหน่อย

เป็นการตั้งระบบ เพื่อให้บริการเอกสารต้นฉบับของระบบปฏิบัติการ FreeBSD ทั้งหมด แต่จะนำมาเผยแพร่ เท่าที่ทำไว้ และแสดงเจตนาที่จะทำคือ แปล handbook โดยครั้งแรกนั้น ได้ส่งมอบเอกสารไปให้กับ FreeBSD ไปหนหนึ่งแล้ว คือ ขั้นตอนการเตรียมเอกสารเพื่อส่งมอบ แต่ก็ด้วยหลายเหตุ หลายปัจจัย ที่ทำให้ชะงักงันลงไป

เอาล่ะ ขอเข้าเรื่อง

หลักกว้างๆก็คือ ให้ cvsup เอาชุดเอกสารทั้งหมด มาไว้ที่ใดที่หนึ่ง ซึ่งทุกคนในระบบสามารถอ่านได้ เช่น /kaitag/ncvs ที่ทำอยู่ จากนั้นให้วิ่ง cvsupd ซึ่งเป็น cvsup server เพื่อให้บริการในระบบ จากนั้น, ลำดับที่ ๓ แล้วน่ะ, ให้ cvsup เอาเอกสารที่ต้องการ ออกมาจาก ที่ใดที่หนึ่ง ซึ่งได้นำมาวางไว้แต่แรกเริ่มนั้น

ตรงนี้ อาจจะมีคำถามว่า ทำไมไม่เอามาจาก internet ทำไมต้องลำบากเอามาไว้ในเครื่องของตน แล้ว check out ออกมาอีกทีให้ยุ่งยาก คำตอบพอมองเห็นชัดๆเบื้องต้นคือ เรามีเอกสารต้นฉบับของระบบปฏิบัติการ ครบ ทุกเรื่องอยู่กับตัว มันสะดวกกว่ากันมาก ในการที่จะ check out ออกมา

นั่นเป็นเรื่องของการ check out เอกสารออกมา ต่อไป เป็นเรื่องของ การแปลเอกสาร ที่ตั้งใจจะแปล คือ handbook ในการนี้ ให้เรา ศึกษาเรื่องของ sgml และ docbook ให้พอเข้าใจ จากคำแนะนำใน FDP Primer นั้น พอเข้าใจถึงวิธีการคร่าวๆ อย่างไรก็ดี ในส่วนที่ขาด ทีมงาน documentation project เขาจะช่วยเสริมให้เอง ลำดับถัดมา ให้เราแปลตัวเอกสาร book.sgml นั้น แล้วส่งไป ตามวิธีที่บอกไว้คือ ขั้นตอนการเตรียมเอกสารเพื่องส่งมอบ ( link ตรงนี้ เป็นต้นฉบับ ภาษาอังกฤษ บอกให้รู้ถึงวิธีการเตรียม ) แล้วส่งไป

คงพอได้ใจความน่ะ ขอขมวดประเด็น จากที่ว่า หลักการกว้างๆ... เป็นต้นมานั้น เป็นดังนี้คือ
  1. ศึกษาเรื่อง sgml และ docbook แต่พอให้เข้าใจถึงโครงสร้างทั่วไป จาก http://www.freebsd.org/doc/en_US.ISO8859-1/books/fdp-primer/index.html
  2. cvsup เอาเอกสารตั้นฉบับของระบบปฏิบัติการมาด้วย cvs-supfile
  3. วิ่ง cvsupd บนเครื่องของเรา ที่มีเอกสารจากข้อข้างบนนั้น
  4. cvsup เอาเอกสารที่ต้องการแปล มาไว้ยังที่ทำงานของเรา ก็ ที่เรา login เข้ามานั่นแหละ
  5. แปลเอกสาร book.sgml ออกมาเป็นภาษาไทย
  6. จัดการส่งมอบเอกสารที่แปลไว้ จะทั้งหมด หรือเท่าที่ทำอยู่ ไปให้กับทีมงาน FreeBSD ตาม FDP Primer ทีีบอกไว้แล้วนั้น
ลำดับต่อๆไปจะขอแจงรายละเอียดตั้งแต่ลำดับที่ ๒- ก่อนสุดท้าย มาให้พี่ๆ เพื่อนๆ พวกเรา ได้ทราบกัน

ตามที่บอกไว้แต่แรกว่า ให้เอาเอกสารต้นฉบับฯ ทั้งหมดมาไว้ในที่ใดที่หนึ่ง นั้น สืบเนื่องจาก ชุดเอกสารทั้งหมดนี้ มีขนาดพอสมควร จึงนำมารวมๆไว้กับ distfiles และ packages ของทั้งระบบ โดยแยกเก็บไว้กับ usb hard disk ที่ mount point /kaitag และสร้างสาระบบแฟ้ม ncvs ภายใต้ /kaitag นี้ เพื่อเก็บเอกสารทั้งหมด ที่มีขนาดประมาณ 5G อีกทีหนึ่ง นี่คือการเตรียมเนื้อที่สำหรับเก็บชุดเอกสารต้นฉบับฯไว้

จากนั้นให้ cvsup เอาด้วย supfile ดังต่อไปนี้

*default host=CHANGE_THIS.FreeBSD.org
*default base=/kaitag/db
*default prefix=/kaitag/ncvs
*default release=cvs
*default delete use-rel-suffix
*default compress
src-all
ports-all
doc-all
www
projects-all
cvsroot-all

ด้วยคำสั่งดังนี้

# cvsup -g -L 2 -h cvsup6.ru.freebsd.org supfile

ซึ่งนานมากในการดูดครั้งแรก แต่ครั้งต่อๆไปจะไม่กินเวลามากนัก  ความจริง supfile ที่ยกมานี้ ก็ปรับเอาจากที่มีมากับระบบนั่นเอง (ไปดูเอาได้ที่ /usr/share/examples/cvsup/cvs-supfile) จากคำสั่งสั้นๆ grep และ sed ดังนี้

% grep  -v  ^#   /usr/share/examples/cvsup/cvs-supfile  |  sed  -e  '/^$/d'   \
-e  's,/var/db,/kaitag/db,g'   \
-e  's,/home,/kaitag,g'  >  ~/supfile

ส่วน cvsup6.ru.freebsd.org นั้น สามารถหามาได้จากรายการของ cvsup server ที่เร็วที่สุดในอาณาบริเวณใกล้ๆกับที่ตั้งของเรา จากคำสั่ง

% fastest_cvsup  -c ru,sg,tw,th,in,jp

ซึ่งตอนที่ทำ เขาขึ้น cvsup6.ru.freebsd.org มาให้เป็นลำดับแรก ก็ใช้ host นั้นไป ทำให้สะดวก ไม่ต้องลำบากกำหนดใน supfile ตามที่เขาบอกให้แก้ ในบรรทัดแรกนั้น

ที่กล่าวมาคือข้อที่ 2 ต่อไปเรามาพูดถึงการเตรียม  cvsup server กัน ซึ่งคือข้อ 3 ข้างบนนั้น

เบื้องต้น ขอให้ login ด้วยฐานะ ผู้ใช้งานธรรมดา แล้วสร้างสาระบบแฟ้มดังนี้

% mkdir -p ~/base/sup/th-fdp
% cd  ~/base/sup/th-fdp

จากนั้นสร้างแฟ้มขึ้นมา ๒ แฟ้มชื่อ releases และ list.cvs โดยมีสาระภายในแต่ละแฟ้มดังนี้

cvs  list=list.cvs  prefix=/kaitag/ncvs
และ
upgrade doc

แฟ้มละ ๑ บรรทัด ตามลำดับ ย้ำน่ะครับ แฟ้มละ ๑ บรรทัดเท่านั้น ที่เขียนมานี้ ถอดความจาก CVSup FAQ แล้วปรับเอาให้เข้ากับที่ทำงานจริงๆ นี่คือส่วน แก่น ของ cvsup server เท่าที่จำเป็นตอนนี้ จากนั้น วิ่ง server ไปเลย ตามนี้น่ะ

% cvsupd  -b  ~/base

ที่เล่ามาทั้งหมด คือเรื่องของ cvsup server เท่าที่จำเป็นต้องใช้งานในตอนนี้ กล่าวโดยสรุปคือ

  1. login มาเป็นผู้ใช้งานทั่วไป
  2. สร้างสาระบบแฟ้มนี้ขึ้นมา, ทำหนเดียวพอ,
    • % mkdir -p ~/base/sup/th-fdp
    จากนั้นให้ลงไปยังสาระบบแฟ้มที่เพิ่งสร้างขึ้นมานั้น
  3. สร้างแฟ้มเอกสารมา ๒ แฟ้มชื่อ releases และ list.cvs ด้วยสาระภายในแฟ้มตามที่ได้บอกไว้ข้างบนนั้น
  4. cvsupd  -b  ~/base
ขอให้ท่านแทน ~ ด้วย /home/login-id ของท่านไปน่ะครับ อย่างในตอนนี้ login id เข้ามาด้วย motorc ดังนั้น ~ ก็คือ /home/motorc หวังว่าคงเข้าใจน่ะครับ  ก็มีเพียงเท่านี้ สำหรับส่วนของ server ที่เล็กที่สุด หากท่านสนใจ สามารถศึกษาเพิ่มเติมได้จาก FAQ ที่ได้ให้ link ไว้แล้ว

ต่อไป (ลำดับที่ (4) ในรายการงานบนสุดนู้น) เรามาสร้างแฟ้ม supfile เพื่อดูดเอกสารสำหรับ handbook มาแปลกัน ซึ่งโดยทั่วไปก็ดูดมาด้วยคำสั่งเดิมๆที่รู้กัน คือ

% cvsup -g -L 2 supfile

แต่สาระตอนนี้ คือ supfile และสาระบบแฟ้ม ที่เขาจะเก็บ checkout list เอาไว้   สาระของ supfile คือ

*default host=localhost
*default prefix=/home/motorc
*default base=/home/motorc/db
*default release=cvs tag=.
*default delete use-rel-suffix
*default compress
th-fdp

ซึ่ง ตรง base นี่เองเราต้องสร้างสาระบบแฟ้มชื่อ ~/db ขึ้นมา เพื่อบันทึก check out list เอาไว้ ดังนั้น ท่านต้องสร้างขึ้นมาด้วยน่ะ

% mkdir -p ~/db

หวังว่าคงจำกันได้ ในคราวเตรียม server นั้น เราได้เตรียมแฟ้ม list.cvs โดยสาระภายในของแฟ้มนั้นมีเพียง ๒ คำคือ upgrade doc และ ในแฟ้ม supfile ในตอนนี้นั้น เขาจะ checkout เอา doc ออกมาวางไว้ในสาระบบแฟ้ม ที่ระบุไว้ใน prefix ในตอนนี้

สำหรับบรรทัดล่างสุดของ supfile นั้น บอกว่า เราเอาแฟ้มทั้งหมดที่บอกไว้ใน สาระบบแฟ้มเดียวกันนี้ใน server เอามาไว้ใน client ของเรา

ในส่วนของ การ check out เอกสารออกมาด้วยการ cvsup ก็มีเพียงนี้ เอกสารทั้งหมด จะวางไว้ในสาระบบแฟ้ม ดังนี้


ตัวเอกสารที่ต้องแปล จากภาษาอังกฤษ มาไทยคือ book.sgml ที่อยู่ ภายใต้สาระบบแฟ้ม ดังที่แสดงให้ดูนั้น อนึ่ง ท่านต้องเข้าใจ sgml ได้ดีพอควร สำหรับการแปลเอกสารนั้นหมด ว่า ต้นฉบับบทนั้น มีชื่อนั้นๆ จะได้ตามไปแปลได้ถูก

ทั้งหมดนี้ คือการ checkout เอกสารที่จะแปล เอาออกมาไว้ยังที่ใดที่หนึ่งนั่นเอง และ เรื่อง ก็น่าจะจบตรงนี้ และลำบากเพียง แปล แต่ที่เล่ามาเป็นจุดเริ่มต้นเท่านั้นเอง ยังพอมีการ set up อีกนิดหน่อย เพื่อให้การทำงานดูว่า มีระบบ นั่นคือการนำเอกสารที่ check out ออกมานี้ ไปไว้ใน repository อีกทีหนึ่ง ดังนี้, สำหรับท่านที่คุ้นกับ cvs จะเข้าใจดี,

% mkdir ~/Repository-${USER}
% echo CVSROOT  ~/Repository-${USER} >> ~/.cshrc
% source ~/.cshrc
% cvs init
สี่คำสั่งนี้ ทำหนเดียว และ ${USER} นั้นเป็น login id ของท่านน่ะครับ
% cd ~/doc
ตรงนี้ ให้ลองสั่ง ll ดูครับ จำผลลัพธ์ไว้ด้วย
% cvs import -m 'initial import' doc psr th-FDP
อันนี้ ก็ทำหนเดียวเช่นกัน และให้เปลี่ยน psr เป็นชื่อของท่านน่ะ
% cd
% rm -rf doc
% cvs checkout doc
% cd doc
แล้วลองสั่ง ll ดูอีกที เปรียบเทียบกับ ที่สั่งดูทีแรกนั้นว่า ต่างกัน ตรงไหน ดูเอาเองน่ะ
% cd en_US.ISO8859-1/books/handbook

จากนั้น ให้ท่านลงมือแปลเอกสารในแฟ้ม book.sgml ไป ซึ่งคงไม่ได้แปลรวดเดียวหรอก เอาว่า พอเหนื่อยก็พัก ก่อนจะพัก ก็ทำอีกนิดหนึ่งน่ะ

% cvs commit  book.sgml

ก็ให้ท่าน บันทึกรายละเอียดลงไป ตอนที่ vi เขาขึ้นมาน่ะ ว่า ท่านได้ทำอะไรไปบ้าง เมื่อท่าน save & exit แล้ว แฟ้ม book.sgml ก็จะได้รับการ เก็บรักษา พร้อมประวัติการทำงาน ทันที ใน Repository นั่นแหละครับ

ทีนี้ ถ้าท่านหยุดพักไปนานๆ ก็เห็นสมควร สะสาง สาระบบแห้มนี้ออกไปก่อน ชั่วขณะได้ ดังนี้

% cd
% cvs release -d doc

ซึ่งแนวปฏิบัติอันนี้ ผมก็ใช้อยู่ แต่จะ release ต่อเมื่อ log out ออกจากระบปฏิบัติการเท่านั้น และเมื่อ  log in เข้ามาแล้ว เราก็ลำบากเพียง check out เอกสาร ทั้งยวง ออกมาจาก Repository ง่ายๆ ดังนี้

% cvs checkout doc

แล้วถึงลงมือแปลเอกสารต่อไป และ วงจร ของการ checkout แปล commit release ก็จะเป็นไปเช่นนี้ จนกว่างานจะสำเร็จ แต่ประกันว่า ด้วยการใช้เครื่องมือ ที่ระบบมีอยู่ เข้ากับงานของท่านเช่นนี้ ก็ทำให้ท่านอุ่นใจได้ว่า สามารถทำงานต่อได้ ตลอดไป แม้ผู้มารับงาน จะไม่ใช่ท่าน ก็ยังพอจะ ทำงานต่อ ได้เลยแทบจะทันที

ขอจบเรื่องราวเอาไว้เพียงเท่านี้ เพราะก็พิจารณาแล้ว เห็นว่า เขียนมาครบทุกประเด็นแล้ว แลหากพอจะมีสาระบ้าง ก็ยกให้เป็น ของขวัญ ให้กับลูกชายคนเล็ก อันเป็นแรงบันดาลใจ ให้เขียนงานชิ้นนี้ออกมา หากมีอันใด ขาดตกบกพร่อง มะฃาม และ มะไฟ ขอน้อมรับไว้แต่ผู้เดียว

ขอได้รับการขอบคุณจาก มะไฟ

ป.ล
ท่านสามารถตรวจดูว่า แต่ละครั้งที่ท่าน commit ไปนั้น ท่านได้ทำอะไรไว้บ้าง ก็ดูจากคำสั่ง

% cvs log book.sgml

ง่ายง่ายครับ

    Saturday, April 3, 2010

    FreeBSD: Handbook ไกลปืนเที่ยง

    commands

    มีการเปลี่ยนแปลงมากหลายเกิดขึ้น สำหรับเอกสารของ FreeBSD ทารกน้อยน่ารักของเรา


    ที่ทราบ เพราะ ตรวจตรากับ mailing lists อยู่สม่ำเสมอ ผลกระทบอย่างแรง ก็ตรง บท ที่ได้เคยแปลไว้นั้น บางเรื่องเขาว่าล้าสมัยแล้ว เช่น pppd, slip อะไรพวกนี้

    อนิจฺจํ มันไม่เที่ยง

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

    แหม ตั้งหัวข้อเรื่องยังกับว่า จะไป ไกลปืนเที่ยงเนี่ย ยังต้องมีคู่มืออีก เน้อะ

    Friday, September 4, 2009

    FreeBSD: FDP

    ก่อนจะลืมไปเลย เพราะเดี๋ยวหน้าหนาวแล้วไป เลย ไม่ได้ มันจะหนาวจนชักแหง็กๆๆๆ อะไรปานนั้น
    ผท ดูด documents ของ freebsd จำเพาะที่เป็นภาษาอังกฤษ มาไว้ที่เครื่อง ในฐานะ ผู้ใช้งาน ด้วยคำสั่ง

    % cvsup -g -L 2 -h cvsup.sg.freebsd.org -b /home/zulu/db /home/zulu/doc-supfile

    จากนั้น ก็ import ไปเก็บไว้ใน repository ส่วนตัว ตามนี้เลยน่ะ

    % cd doc
    % cvs import doc zulu start

    พอ safe แฟ้มแล้วก็

    % cd ..
    % rm -rf /home/zulu/doc
    % cvs checkout doc

    เพียงเท่านี้ เราก็ได้ เอกสารที่สามารถยำเอาได้ตามใจ
    อ้อ สำหรับ /home/zulu/db นั้น ถ้าเพื่อนๆพี่ๆทุกคน จะ import เข้าไปเก็บไว้ด้วย ก็ทำได้น่ะ แบบเดียวกันเด้ะเลย กับที่ทำกับ doc น่ะ
    อ้ออีกอ้อ คือ doc-supfile นั้น มีสั้นๆแค่นี้เอง

    *default host=cvsup.de.FreeBSD.org
    *default base=/var/db
    *default prefix=/home/zulu
    *default release=cvs tag=.
    *default delete use-rel-suffix

    *default compress

    doc-all

    ส่วนของ base นั้นผมใช้ command option แทนที่เอา
    อืมมม ลืมไปเลยอีกแล้ว มัวแต่เพลินอยู่แถวๆโคราช ให้เอา refuse ไว้ที่ /home/zulu/db/sup ด้วยน่ะ ไม่งั้น ทุกภาษาแหละ พวกจะดูดมาให้หมด ซึ่งรายละเอียดของ refuse ก็สั้นๆ ตามนี้น่ะ ไม่งั้นยัยเอียดเคืองแย่

    doc/bn_*
    doc/da_*
    doc/de_*
    doc/el_*
    doc/es_*
    doc/fr_*
    doc/hu_*
    doc/id_*
    doc/it_*
    doc/ja_*
    doc/mn_*
    doc/nl_*
    doc/no_*
    doc/pl_*
    doc/pt_*
    doc/ro_*
    doc/ru_*
    doc/sr_*
    doc/tr_*
    doc/zh_*
    ports/arabic
    ports/chinese
    ports/french
    ports/german
    ports/hebrew
    ports/hungarian
    ports/japanese
    ports/korean
    ports/polish
    ports/portuguese
    ports/russian
    ports/ukrainian
    ports/vietnamese

    ประเดี๋ยวถ้ายัยเอียดเคือง เธอจะเอาภาษาอื่นมาให้อีก แย่แน่เลย

    Sunday, August 30, 2009

    แก้ไขความผิดพลาดครับ

    หัวข้อนี้ แหละครับ ที่ผิด ก็เรื่องของ ENVIRONMENT VARIABLE นั่นแหละครับ ที่ว่ากำหนดไว้ในแฟ้ม /etc/make.conf ตัวแปรแรก, DOC_LANG, ที่ cat มาให้ดูนี่แหละครับ ที่ผิด

    [maifa] ~% cat /etc/make.conf
    DOC_LANG= en_US.ISO8859-1 <--- อันนี้คืออันที่ถูกน่ะครับ ในเอกสารก็แก้แล้ว
    #CFLAGS+= -DIPFIREWALL_NAT ## removed on May 06 2009
    WANT_GNOME=yes
    WITH_JADETEX=yes
    WITHOUT_CJK=yes
    # added by use.perl 2009-05-10 20:42:06
    PERL_VER=5.8.8
    PERL_VERSION=5.8.8
    [maifa] ~%

    ที่รู้ เพราะแวะมาทบทวน วิธีสร้างเอกสาร ที่ให้ไว้ ก็พบว่า ผิดพลาด และต้องแก้ไข
    ที่แวะมาดู เพราะไปถาม freebsd-doc@freebsd.org ครับ ว่าพวก class ต่างๆ หาจากไหน เพราะหาเอง ยังไงก็ไม่เจอ
    เขาก็บอกว่า ให้แปลจาก sgml แทน แทนที่จะแปลจาก html
    ก็เลยบอกเขาไปว่า เราเองก็ทำแฟ้ม .pdf จากชุด sgml ไว้ด้วยเหมือนกัน ซึ่ง ก็อดไม่ได้ที่จะแวะมาดูผลงาน เลยได้รู้ว่า เราก็ทำอะไรผิดพลาดได้เหมือนกัน
    กราบขออภัย เพื่อนๆ พี่ๆ น้องๆ ไว้ ณ ที่นี้ด้วย

    Sunday, August 16, 2009

    ไกลปืนเที่ยง: FreeBSD

    ไกลปืนเที่ยง ตอนนี้ เป็นเรื่องของ FreeBSD ล้วนๆ

    ถึงเวลา ที่ควรจะนำ FreeBSD มาให้รับทราบ อย่างเป็นเรื่องเป็นราวเสียที หลังจาก กล่าวเกริ่นให้ทราบ พอให้เปนที่สนใจ หรือ อาจจะเลิกราไปเลย ก็แล้วแต่ท่าน, คราวนี้ จะพูดถึง

    1. การติดตั้ง
      รายละเอียดการติดตั้ง เช่น
      1. การแบ่งพาร์ทิชั่น
      2. mediaสำหรับการติดตั้ง
      3. การแต่ง network หลังติดตั้ง
      4. การติดตั้ง x windows เป็นต้น
    2. การลงโปรแกรมอื่นๆ เช่น GRASS, apache, databases, electronic logbooks
    3. การปรับแต่ง x windows system
    4. การปรับระบบ ให้ใช้งาน internet ได้
    5. และอีกมากมายที่ ยังไม่นำมากล่าวในที่นี้

    ทั้งนี้ จะทยอยลงตามลำดับนี้ไป

    ตารางเวลา ที่คาดว่าสมควรเกิดเหตุขึ้นคือ สิ้นเดือน สค นี้ ๒ ข้อแรกควรจบ ส่วยที่เหลือ ก็อีก ๒ สัปดาห์ถัดไป แต่ ถ้าเสร็จก่อนเวลาที่วางไว้ได้ ก็จะทำ

    Saturday, August 8, 2009

    FreeBSD: FDP ---> FreeBSD Documentation Project

    FreeBSD เขามี source codes ให้ สำหรับผู้สนใจ นำไปพัฒนาcommands แยกเส้นทางออกมา เป็น สายการพัฒนา สำหรับตัวเอง โดย source codes ที่เขาให้มานั้น มีอยู่ ๓ ส่วนคือ

    1. โปรแกรมของระบบทั้งหมด ที่ทำให้เราสามารถสร้าง kernel และระบบของระบบปฏิบัติการ มาใช้เองได้
    2. ports tree ที่อนุญาตให้เรา สร้าง applications ต่างๆ มาใช้กับเครื่องของเราได้
    3. เอกสารทั้งหมด ไม่ว่าจะเป็น handbook, faq, บทความต่างๆ ที่เราสามารถอ่านได้ตรงๆ บนเครื่องของเรา โดยไม่จำเป็นต้องต่อกับ internet แต่อย่างไร และ หากว่าเราติดตั้ง apache ด้วยแล้ว เครื่องของเรา ก็สามารถเป็น mirrors ของ FreeBSD home page ได้

    จะว่าไปแล้ว FreeBSD ก็นับว่า เป็นการปลดปล่อย ให้ผู้ฅน เป็นอิสระโดยแท้ ไม่จำเป็นที่เรา จะผูกมัดตัวเอง ไม่จำเป็นที่เรา จะนำตัวเองไปผูกมัด กับสิ่งใดสิ่งหนึ่ง เอาเถอะ เราหลบ ประเด็นนี้

    ที่ใคร่ขอนำเสนองวดนี้ ก็ ข้อสุดท้ายของ source code ซึ่งก็คือเรื่องของเอกสาร เอกสารที่ สามารถบันดาล ให้คนธรรมดา กลายเป็น system administrators ได้โดยพลัน เอกสารที่ เป็นเรื่องที่ ต้องมี สำหรับผู้พัฒนา softwares

    ในการที่จะสร้างชุดเอกสารนี้ เราต้องการ tools ซึ่งก็ไม่มีอะไร มากไปกว่า ports หนึ่งใน ports tree นั่นเอง กับ source codes ของชุดเอกสารนี้ พูดให้ชัดก็คือ tools ที่ต้องการ มีอยู่ ๒ อย่างคือ

    1. ports สำหรับสร้างเอกสาร จาก source codes และ
    2. ports สำหรับ ดูด หรือ ดึง source codes เอกสาร จากแหล่งเก็บ

    เบื้องต้น จะแนะให้ติดตั้ง ports สำหรับสร้างเอกสาร อ้อสำหรับพี่พี่ ที่ยังไม่รู้เรื่อง ก็กรุณา มองๆทางด้านซ้ายมือที่ ป้ายกำกับ น่ะ ดูที่คำว่า ports แล้วกดไปเลย ท่านก็จะพบกับ links ที่เกี่ยวกับ ports ทั้งหมด ที่ blog นี้มีอยู่ ยังไงก็แล้วแต่ ตอนนี้ ขอให้ link ไปยัง ports ที่เขียนขึ้นน่ะ

    การติดตั้งเครื่องมือแรก ก็ทำง่ายๆ ตามนี้น่ะครับ

    # cd /usr/ports/print/teTeX
    # make install
    # make clean
    # cd /usr/ports/textproc/docproj-jadetex/
    # make install
    # make clean
    # cd /usr/ports/print/jadetex
    # make install
    # make clean

    เครื่องมือแรก ก็ได้มาง่ายๆ วิธีนี้แหละ น่ะ เครื่องมือที่ ๒ ก็ติดตั้งผ่าน ports เหมือนกัน ก็เป็นเครื่องมือ สำหรับ ดูด หรือ ดึง เอกสารต้นฉบับ จากแหล่ง มายังเครื่องคอมพิวเตอร์เรา ง่ายๆ ตรงไปตรงมาเหมือนเดิม

    # cd /usr/ports/net/cvsup-without-gui
    # make install
    # make clean

    เมื่อได้เครื่องมือครบแล้ว ที่เหลือคือ การดูด เอกสารต้นฉบับ จากแหล่ง มายังคอมพิวเตอร์ของเรา ซึ่งในการนี้ เราต้องการ การต่อเชื่อมกับ internet และ รู้แหล่งต้นฉบับ ที่จะดูดเอกสารมา กับแฟ้มที่โปรแกรม cvsup ต้องใช้

    คำสั่งที่ใช้ ก็ ตามนี้เลยน่ะ

    # cvsup -g -L 2 -h host doc-supfile

    doc-supfile นั้น เป็นชื่อแฟ้ม ขอให้เปิดแฟ้ม แล้วให้มีรายละเอียด ไปตามนี้ก่อนน่ะ สงสัยค่อยถามมาอีกที

    *default host=CHANGE_THIS.FreeBSD.org
    *default base=/var/db
    *default prefix=/usr
    *default release=cvs tag=.
    *default delete use-rel-suffix
    *default compress
    doc-all

    ส่วน host นั้น ให้เลือกใช้ตามที่แนะไปในนี้ก่อนน่ะ ถามมาทีหลังอีกได้เช่นกัน

    cvsup3.uk.freebsd.org
    cvsup2.fr.freebsd.org
    cvsup2.uk.freebsd.org

    ให้เลือกเพียง host ใด host หนึ่งน่ะ

    เมื่อได้ทุกอย่างครบแล้ว ก็ ลงมือสร้างเอกสารได้เลยน่ะ ภาษาของเอกสารที่จะสร้าง กำหนดด้วยตัวแปร DOC_LANG=en_US.ISO8859-1 ไว้ในแฟ้ม /etc/make.conf ก็ใช้ ทริค ที่แนะไว้ก็ได้ หรือจะเรียก editor มาแก้ไขแฟ้มเอาก็ได้ จากนั้น ก็ ตามนี้เลยน่ะ

    # cd /usr/doc
    # make  FORMATS=pdf   -DNICE_HEADERS  -DTWO_SIDE  -DBOOK_OUTPUT
    # make  FORMATS=pdf   -DNICE_HEADERS  -DTWO_SIDE  -DBOOK_OUTPUT install

    นานหน่อยน่ะ ที่สุด ท่านจะได้แฟ้มชื่อ book.pdf สำหรับในแต่ละเอกสารที่สร้างขึ้น ท่านสามารถ แวะเข้าไปอ่านดูได้ที่ /usr/share/doc/en_US.ISO8859-1 เลือกอ่านเอาได้ตามใจ ไม่ว่าจะเป็น books, articles ซึ่งก็มีอยู่ หลายเรื่อง ในแต่ละ ประเภท หรือ พี่ท่าน เลือกที่จะ พิมพ์ออกมาเป็น hard copy ใน รูปเล่ม สวยสวย ก็ยังได้

    สำหรับคำถาม เช่น host หามาได้ยังไง หรือ รายละเอียดของแฟ้ม doc-supfile ทำไมต้องเป็นอย่างนี้ ฯลฯ เรียนเชิญถามมาได้เลยครับ

    สำหรับ คำสั่งที่เพิ่มเติมด้วย สีแดงแดง ลงไปนั้น ท่านจะได้รูปเล่มที่มีสี และ พิมพ์ออก ๒ หน้า ครับ แก้ไขเพิ่มเติม เมื่อค่ำ วันศุกร์ที่ ๒๑ สิงหาคม ๒๕๕๒ เวลา ๑๙ นาฬิกา ๔๐ นาฑี

    Sun Aug 9 00:59:47 ICT 2009

    View My Stats