Showing posts with label chown(1). Show all posts
Showing posts with label chown(1). Show all posts

Thursday, June 16, 2011

FreeBSD: ports -->Zope

ขอแนะ ไม่ใช้ของใหม่หรอก เคยลงไว้ในนี้แหละ นานแล้ว เรื่องในทำนอง customized ports ของ FreeBSD ให้ลงในที่อื่น ต่างจากที่กำหนดไว้ เชิญหาอ่านเอาได้จาก ที่นี่ และ อีกที่ คราวนี้ ก็เกิดเรื่องให้ต้องลงในโฮม ดูบ้าง และก็รู้สึกว่า หากทำแล้ว ไม่เขียน แต่ทิ้งไป ก็ เสียดาย

เรื่องที่ว่า ก็ เรื่องของ zope ที่เอามาเขียนรายงาน โดยไม่ต้องใช้ กระดาษเขียนรายงาน ให้สมกับทีุ่คยอวดศักดา อวดชาวบ้าน หรือโกหกชาวบ้านนั่นแหละ ว่า เป็น paperless office ทั้งที่โดยแท้จริงแล้ว รายงานที ก็ มีกระดาษาให้ซาเล้งได้ตัง เอากระดาษไปขายที

แต่จะว่าโกหก ก็คงไม่เต็มคำ ขอถอนข้อความน่ะ เพราะ paperless คือหมายถึง กระดาษน้อย ก็ได้ เน้าะจิ๋มเน้าะ

มะไฟ ลง zope จาก ports ใน category www ลงแล้ว มันยังทะแม่งๆ เวลาพูดกับพี่ ว.ณ. สุราฯ ที ก็ต้อง ปรับสมองหลายๆที เพราะพี่เขาเล่นลงเอาเอง ไม่ได้ใช้ ports แต่อย่างไร ที่สำคัญ พี่เขาใช้ OpenBSD เอาซะอีก

วิธีก็ไปอ่าน Makefile ในนั้น ใน /usr/ports/www/zope/Makefile แล้วดูว่า ทำไมลงแล้วมันต้องไปอยู่ที่ /usr/local/www/zope และชื่อผู้ใช้ ทำไมมันต้องเป็น www และ ...ฯลฯ

ก็ได้ดวงตาเห็นธรรมขึ้นมาทันควัน

/usr/local นั่นคือค่า --prefix ที่ FreeBSD ports ใช้ ดังนั้น หากอยากให้ลงที่ /home/motorc สมมติน่ะ ก็กำหนดให้ค่า --prefix=/home/motorc ไป ค่าอื่นๆ ก็เช่นกัน

สรุปสำหรับ zope ที่ลง ให้กำหนดค่าต่างต่างดังนี้ , อ้อ ท่านต้องเป็น root น่ะระหว่างที่ลง

# setenv ZOPE_USER motorc
# setenv WEBBASEDIR Live
# setenv SZOPEBASEDIR ${WEBBASEDIR}/MIK
# setenv INSTANCENAME Jotawski
# setenv PREFIX /home/motorc/Zope

จากนั้น เมื่อจะลงก็เพียงแค่สั่ง

# cd /usr/ports/www/zope
# make
# make install
# make instance

แล้วก็ แก้ไขแฟ้มต่างๆ ที่เขาแนะนำในตอนท้ายของแต่ละช่วงๆนั้นๆไป

ที่สำคัญ คือท่านต้องเพิ่ม user ที่ชื่อ motorc ลงไปในระบบด้วย ท่านจะกำหนดเป็นอย่างอื่นก็ได้ ไม่ต้องแปลกใจหรอก motorc ก็มาจาก มอเตอร์ไซด์รับจ้างนั่นแหละ ที่วิ่งหน้าหมู่บ้าน หรือ หน้าปากซอย ทุกซอยนั่นแหละ วินปากซอย หรือ เรียกสั้นๆว่า วิน ซึ่งพ้องเสียงกับ  windows นั่นแหละ ไม่ได้มีความหมายอะไรมาก

และเมื่อแก้ไขแฟ้มทุกแฟ้มแล้ว อย่าลืม เปลี่ยน owner ให้เป็น motorc ทุกแฟ้มที่ได้ลงไปนั้นด้วย ดังนี้

# chown -R motorc:motorc /home/motorc/Zope/

อนึ่ง ถ้าหากประสงค์ที่จะลง startup script เอาไว้ให้มันวิ่งเองทุกครั้งที่เปิดเครื่อง ก็พอเดาออกน่ะว่า จะเอาแฟ้มพวกนั้น จากตรงไหน ไปไว้ที่ /usr/local/etc/rc.d/

ครับ ใช่เลย เอาจาก /home/motorc/Zope/etc/rc.d ไป เพราะปกติ แฟ้มพวกนี้ จะอยู่ที่ /usr/local/etc/rc.d เมื่อเรากำหนด PREFIX=/home/motorc/Zope แล้วแฟ้มพวกนั้น ก็ต้องอยู่ใน etc/rc.d เมื่อเทียบกับ PREFIX นั่นเอง

ขอให้โชคดีทุกท่าน ในวันพระนี้

Thursday, August 6, 2009

ไกลปืนเที่ยง: FreeBSD ---> command(3) (ต่อ)

ขอต่อจากตอนที่แล้วน่ะครับcommandsไม่อยากให้เลขตอนมันมากโดยไม่จำเป็น เลย เพียงแค่ เพิ่ม (ต่อ) ต่อท้าย เพราะอีกแง่มุมหนึ่ง ก็เป็นเรื่องต่อเนื่องจากตอนก่อน

mkdir

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

คำสั่งนี้ จะ สร้าง สาระบบแฟ้ม ที่มีชื่อตามระบุไว้ตามลำดับไป ด้วย permission 'rwxrwxrwx' ที่จะถูกปรับแต่งทีหลังด้วยค่าของ umask ในกรณีที่ไม่กำหนด permission ให้กับคำสั่ง อนึ่ง ผู้ใช้ ต้องมี write permission ใน parent directory เพื่อใช้งานคำสั่งนี้

path สำหรับคำสั่ง ในกรณีที่ท่านต้องเรียกใช้งานจาก shell คือ /bin/mkdir

ไวยากรณ์คำสั่งคือ

mkdir [-pv] [-m mode]   directory_name ...

ที่ใคร่ขออนุญาตชี้แนะ ในกรณีนี้ คือ command option -p ซึ่งอนุญาตให้เราสร้าง directory ได้จาก ส่วนประกอบ ที่ แม้จะยังไม่ได้สร้างขึ้นมา ตัวอย่างเช่น ~/public_html/erp/config ซึ่งโดยปกติแล้ว การที่จะสร้าง config มาได้นั้น ต้องมี ~/public_html และ ~/pubcli_html/erp มาก่อน แต่กับ option นี้ สามารถ สร้างได้เลยในคราวเดียว แม้ส่วนที่ยังไม่สร้าง ก็จะสร้างให้ด้วย

command option   -m  mode นั้น ก็ไม่ยากแก่การคาดเดา เป็นการกำหนด permission mode แรกเริ่มให้ แทนที่จะใช้ 0755 ตามที่ระบบกำหนดให้เท่านั้นเอง

ไหนไหนก็ไหนไหน, ภาษาอังกฤษจากเพื่อนๆเธอบอกว่า แวแวอีส เอะ แวแว ก็มาจาก where where is a where where ตรงๆแหละ, ก็บอกแล้ว คำสั่งที่ตรงข้ามก็ได้แก่ rmdir(1) และคู่ ของคำสั่งนี้ก็คือ chdir(1)

ในการใช้งาน FreeBSD นั้น พี่พี่ท่าน สมควรได้ สัมผัส กับคำสั่งนี้ และ คู่ ของเขาอยู่มากกว่า ก็ขอยกมาให้ทราบไว้ก่อน รับรอง แค่การเตรียมการ ก่อนการใช้งาน GRASS ก็ได้ใช้แล้ว

อีก ๒ คำสั่ง ที่สมควรรับทราบไว้ ได้แก่ chmod(1) เอาไว้เปลี่ยน permission mode กับ chown(1) เอาไว้เปลี่ยนเจ้าของ เปลี่ยนกลุ่ม

แหม ซีงิต จริง ทำได้ยังงี้ก็ ...

มะไฟ เล็งเห็นแล้วว่า คำสั่งในชุดแรกที่ยกมานั้น ต้องได้ใช้งานแน่แน่ จึงคัดสรรค์มาเป็นพิเศษ มานำเสนอก่อนอื่น ต่อไป จะเป็นเรื่องที่เกี่ยวข้องกับ FreeBSD จริงๆซะที

Fri Aug 7 11:33:25 ICT 2009

Sunday, March 1, 2009

ไกลปืนเที่ยง : FreeBSD --> disk partition

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

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

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

Filesystem      partition   file type      Mounted point


/dev/ad0s1a         a               FS                     /
/dev/ad0s1b         b              swap
/dev/ad0s1d         d              FS                     /var
/dev/ad0s1e         e               FS                     /usr
/dev/ad0s1f          f                FS                     /home

กล่าวโดยรวมก็คือ ท่านต้องมี file system สำหรับ /var, /usr, /home และแน่นอนที่สุดว่า root file system กับ swap area ต้องมีในกรณีที่เป็น hard disk ก้อนแรก

ตัวอย่างที่ยกมานี้ เป็น hard disk ก้อนแรกก้อนเดียว แต่ถ้าท่านสามารถมี hard disk ได้หลายก้อน ท่านอาจจะจัดที่ให้กับวา, /var, หรือโอม, /home, เป็นพิเศษ ก็ได้ ไม่แปลก

สำหรับขนาดนั้น ก็ขึ้นอยู่กับงาน

เรื่องเคยมีมาแล้ว ผู้รู้จักท่านหนึ่ง เขาลง MySQL โดยนำ tarred ball มาระเบิดเอง แล้วมีปัญหา ผมเข้าไปแนะนำให้ลงจาก ports เพราะง่ายกว่า ก็ลงได้ ผ่านแบบไม่มีปัญหา แต่กลับไม่สามารถ start mysqlserver ได้ สาเหตุก็คือ
  1. ผู้ที่เป็นเจ้าของโปรแกรม mysql ไม่ใช่ mysql และไม่ได้อยู่ในกรุ้ปของ mysql
  2. เนื้อที่สำหรับวา, /var, มีไม่พอ เพราะไม่ได้เตรียมไว้ให้สำหรับวา
ซึ่งประการหลังนี่ ถกกันอยู่นาน ท่านก็ว่าท่านมี ผมก็ว่า ท่านไม่ได้เตรียมเนื้อที่สำหรับวาไว้ ซึ่งในที่สุด ก็ต้องทำซิมลิ้ง, symbolic link, เอา ทั้งนี้ก็เพื่อให้ มัน อั้บแอ่นรันนิ่ง ซะก่อน

ที่ผมมั่นใจว่าท่านนั้นไม่ได้เตรียมที่ไว้ สำหรับวา ก็เพราะ ท่านนั้นรายงานว่า สั่งวิ่งทีไร มันเจอ ไฟซีสเต็มฟูล ไปซะทุกที ก็จะไม่ให้มัน เต็ม ได้อย่างไรกันเล่า ในเมื่อ ไม่ได้จัดที่ไว้ให้วา วาก็ไปอิงแอบกับ รู้ท , /, เท่านั้นเอง ซึ่งก็รู้ๆกันอยู่ว่า รู้ท ของ FreeBSD นั้น เล็กนิดเดียว แต่ mysql นั้นเป็นฐานข้อมูลซึ่งต้องการเนื้อที่ สำหรับแค่ วิ่ง อย่างเดียวโดยไม่รวมตัวข้อมูลด้วยนี่ ก็ร่วมๆ ครึ่งเม้กกาไบท์แล่ว

สำหรับประการแรก ที่ว่า ผู้ที่สั่งวิ่งโปรแกรม mysql ไม่ใช่ mysql และไม่ได้อยู่ในกรุ้บ mysql นั้น ดอยปุย: แต่งเช้า เขาจัดงานฉลองให้ตอนค่ำก็เป็นอันที่ยืนยันความจริง ได้อย่างหนึ่งแหละว่า ลูกใคร เมียใคร ใครเขาก็รัก ใครเขาก็หวง จะมาทำยุ่มย่ามยุ่งขิง โดยไม่รู้จักความเป้นเจ้าเข้าเจ้าของนั้น ไม่ได้หรอก ผิดศีลข้อ กาเมฯ น่ะโยม ซึ่งถ้าหากว่า รัก ชอบ ก็ให้มาสู่ขออย่างเปิดเผยไม่ต้องหลบๆ ซ่อนๆกัน ผู้อื่น เขาก็จะได้รับรู้ด้วยว่า อ้อ นี่ มีเจ้าของ, สามี, แล้วน่ะ ฉันเป็นภรรยาของสามีฉัน แล้วน่ะ นี่คือภรรยาผมน่ะ ฯลฯ ประดานี้ ซึ่งผลดีคือ ไม่ทำให้กิดความผิดพลาดบกพร่องขึ้นมา

ประเด็นนี้ แก้ได้ง่ายด้วย chown(1) ซึ่งเป็นประโยชน์โดยตรงจากข้อเขียนที่แล้ว ในเรื่องของ file permission นั่นแหละ

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

Thursday, February 26, 2009

ไกลปืนเที่ยง : FreeBSD --> file permissions

วันนี้ ขอเสนอ เรื่องพื้นมากมาก หลายท่าน น่าจะผ่านไปได้ แต่กับมือใหม่ทาง unix หรือ FreeBSD น่าจะมีประโยชน์อยู่

เรื่องที่ว่านี้ ก็คือ binary digits หรือ เลขฐาน ๒ หรือ bits ที่มีแต่ 0 กับ 1 เท่านั้นเอง ง่ายเน้าะ

เรามาดูว่า ๑ บิท จะมีค่าอะไรได้บ้าง ก็แค่ 0 กับ 1 ก็ให้นึกว่า ปิดไฟแสงสว่าง กับ เปิดไฟแสงสว่าง ก็แล้วกัน เปรียบเทียบให้เห็นเป็นตัวอย่างง่ายๆ

แล้ว ๒ บิท ก็จะมีค่า ตั้งแต่ 0 ถึง 3 ดังนี้น่ะ

00 = 0
01 = 1
10 = 2
11 = 3

ขอให้สังเกตุค่าต่างๆของเลขฝั่งขะซ้ายมือไว้ด้วย มันสวย เป็นระเบียบดี

ทีนี้ ๓ บิท หละครับ จะมีค่าจากไหน ไปถึงไหนมั่ง ลองๆนึกดูซิ

000 = 0
001 = 1
010 = 2
011 = 3
100 = 4
101 = 5
110 = 6
111 = 7

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

อ้อ ยังคงใช้ได้น่ะ ที่ว่า ถ้าเป็น 0 คือ ปิด ถ้าเป็น 1 คือ เปิด

เอาล่ะ เรามา เล่น อะไรกันสนุกสักนี้ดหนึ่งน่ะ ในกลุ่ม ๓ บิท นั้น เราแทนตำแหน่ง จากซ้ายไปขวา ด้วย rwx ตามลำดับไป ดังนี้

rwx


แล้วให้ลองกำหนดว่า ถ้าอันไหน เปิด ให้เป็น 1 อันไหน ปิด ให้เป็น 0 ลองดูน่ะครับว่า ถ้าเป็น 755 ละครับ ลองเขียนออกมาเป็น pattern ซิ จะเป็นอะไร, อ้อ ต้องสามกลุ่มน่ะ พักดื่มกาแฟรามัญ เกาะเกร็ด
แล้วทีนี้ ลองอีกเที่ยว โดยถ้าว่า อันไหน เปิด ให้ใช้ตัวอักษร ตัวนั้นไปเลย ไม่ต้องใช้เลขแล้ว ส่วนอันที่ ปิด ให้ใช้ ขีดขวาง - แทนเอา
ลองกับ 755 ดูว่า pattern เป็นยังไง
ลองดูซิว่า ถ้าเป็น rw-r--r-- จะ ได้เลขอะไร

เราพักกันตรงนี้ สักครู่น่ะ


หลวงปู่ขาว วัดพระบาทภูพานคำ
ม้ะ...เรามาไปกันต่อไป
ก็ไม่แน่ใจเหมือนกันว่า ที่ปล่อยให้ท่านได้พักนั้น ท่านจะพักจริง หรือว่่ามัวแต่ครุ่นคิด จนไม่ได้พักกันแน่ หากเป็นกรณีหลัง มะไฟ คงสร้างบาปกรรมขึ้น หวังว่าคงไม่ใช่น่ะ แลที่ว่า ๓ กลุ่ม นั้น ก็คงจะเข้าใจน่ะครับว่า หมายถึง กลุ่มของเลข ๓ บิทส์ ๓ กลุ่ม ซึ่งผลก็คือ เลข ๙ บิทส์ นั่นเอง
rwxrwxrwx
อย่างกับว่า ที่ว่า 755 นั้น เมื่อถอดออกมาก็ได้
rwxr-xr-x
และ ที่ทิ้งไว้ช่วงแรก rw-r--r-- นั้น เมื่อถอดออกมาเป็นเลข ๓ กลุ่ม กลุมล่ะ ๓ บิทส์ ก็คือ
644
โดยที่ 6 ตัวแรกซ้ายมือสุดนั้น ก็คือ ๓ บิทส์แรกที่มีค่าเป็น 110 ซึ่งสอดคล้องกับ สวิตช์ไฟ ๓ ตัวคือ rwx นั่นเอง แต่ ตัว x นั้นอยู่ในสถานะ ปิด จึงใช้ขีดขวาง - แทน ผลจึงได้เป็น rw- และ เลข 4 ตรงกลาง ก็มีกลุ่ม ๓ บิทส์ มีค่าเป็น 100 ซึ่งเมื่อเทียบกับ สวิตช์ไฟ ๓ ตัวแล้ว ก็ได้ผลเป็น r-- นั้นเอง

ก็คงไม่มีปัญหากับ 4 ตัวสุดท้ายตรงตำแหน่งขวาสุด และคงกระจ่างว่า ทำไม rw-r--r-- จึงมีค่าเป็น 644

ทำไมต้อง ๓ กลุ่ม และความหมายของ r, w, x คืออะไร ได้เคยบอกไว้แล้วใน FreeBSD: file ในที่นี้ ใคร่ขอเน้นให้เชื่อมโยงเลขฐานสอง กับความหมายต่างๆ ที่ใช้งานในชีวิตประจำวัน เป็นเบื้องต้น

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

อีกอย่างหนึ่ง ที่อยากให้คิดต่อคือ ในกลุ่ม ๒ บิทส์ ค่าที่ได้ มีตั้งแต่ ๐ ถึง ๓ รวมเป็น ๔ ค่า ในกลุ่ม ๓ บิทส์ ค่าที่ได้มีตั้งแต่ ๐ ถึง ๗ รวม ๘ ค่า แล้ว ในกลุ่ม ๔ บิทส์หละ สมควรเดาออกได้น่ะครับ ในกลุ่ม ๓ บิทส์นั้น ทำให้เราได้สัมผัสกับเลขฐานแปด, octal, ไปโดยไม่รู้ตัว

ดังนี้แล้ว ถ้าเราจะมอง file permission เป็นเลข octal ก็จะทำให้ทำงานได้ง่ายขึ้น สะดวกขึ้น และ รวดเร็วขึ้นด้วย

การเปลี่ยน permission เราเรียกว่า เป็นการเปลี่ยน mode และ คำสั่งที่เกี่ยวข้องคือ chmod(1) และการกำหนดให้ใครเป็น owner นั้นกระทำโดยคำสั่ง chown(1)

หวังว่า ข้อเขียนเกี่ยวกับเรื่องของ แฟ้ม จะพอมีสาระ มาบ้าง และก็หวังว่า คงช่วยให้ท่านได้ทำงาน หรือ ใช้งาน FreeBSD ได้คล่องขึ้น

View My Stats