Showing posts with label /usr/ports. Show all posts
Showing posts with label /usr/ports. Show all posts

Thursday, May 24, 2012

FreeBSD: สภาวะแวดล้อมการทำงาน single user mode

จากลำดับของเรื่องรวที่ผ่านมา บางท่านอาจจะสงกาว่า ก็ในเมื่อเรายังไม่เริ่มสู่สภาวะปกติ แล้ว network interface จะทำงานได้อย่างไร

อันนี้ ก็อย่างกังวลมากไปนัก ในสาระบบแฟ้ม /etc/rc.d/ นั้นมี ๒ แฟ้ม สำหรับ เริ่ม ให้ network ทำงานได้ คือ

/etc/rc.d/netif
/etc/rc.d/routing

ลำพังหากท่านใช้งานที่บ้าน ซึ่งเรียกผ่าน ADSL model แล้ว เพียงเรียก

# /etc/rc.d/netif start

ก็ได้ทั้งการต่อเชื่อมกับ ISP และได้ default route มาด้วยไปในคราเดียว (ได้ความรู้นี้จาก โฟรัม )

โดดเดี่ยวเดียวดาย ไม่ไร้เพื่อน
ซีงิต ในสภาพโดดเดี่ยวเดียวดาย แต่ยังสามารถต่อกับ internet ได้ ก็หรูแล้ว  สำคัญ ท่านอย่าได้ละทิ้ง console เป็นอันขาด ต้องประจำอยู่ที่หน้าจอนั่นแหละ น่ะครับ ไม่งั้นคนจะมาเปลี่ยนระหัสลับของ root เข้า แล้วจะเสียใจเอาทีหลัง

ขอให้โชคดีในการทำงานใน single user mode น่ะครับ  .... รูป จากแฟ้มตัวอย่างของ epix ข้างล่างนี้ไงครับ

Wednesday, May 23, 2012

FreeBSD: ports --> graphics --> epix

epix เป็นอีกหนึ่งโปรแกรม ที่ทำให้เราเขียนกราฟที่ยุ่งยากให้ง่ายเข้า แต่ งวดนี้แตกต่างจาก gnuplot ที่ว่า ต้องอาศัยเครื่องมือของ TeX เป็นหลัก นั่นก็หมายถึงว่า ผู้ใช้ ก็ต้องเป็นผู้ที่รู้เรื่อง TeX ดีพอตัว

ไปลงจาก ports ใน category graphics ครับ ชื่อก็ epix  ไม่ต้องกังวลเรื่องการใช้งาน เขามีคู่มือมาให้ในรูปแฟ้ม .pdf อ่านกันสบายๆ

Riemann
ข้อที่ถือว่าดี ควรค่าแก่การแนะนำคือ สามารถผลิต animation เล็กๆ ออกมาได้  แต่ทั้งนี้ ก็อย่างที่ว่า ผู้ใช้งานต้องมีพื้นความรู้พอตัว ไม่ว่าจะเป็นในเรื่องของการเขียนโปรแกรมด้วยภาษา C/C++ หรือ การใช้งาน LaTeX ที่ค่อนข้างยุ่งยากเอาการอยู่ เป็นเรื่องที่ ต้องมีไว้ รวมไปถึงการใช้งาน macro ยักษ์ อย่าง emacs ด้วย โดยเฉพาะอย่างยิ่ง อันหลังนี้ถือว่า เป็นหัวใจ ในการเขียนฟังก์ชั่น สำหรับผลิตกราฟที่เราต้องการออกมา แม้จะเป็น editors แต่ก็ได้รับการ ปรับ มาให้เป็นการจำเพาะแล้ว ต้องรู้จักด้วย ไม่งั้น  เอาไม่อยู่ แน่แน่

การใช้งานก็ง่าย
๑) เขียนแฟ้มสำหรับเขียนกราฟขึ้นมา ซึ่งไวยากรณ์คือ ภาษา C/C++
๒) เรียก script ที่เขาทำมาให้เพื่อมา process แฟ้มที่เขียนขึ้น
๓) เอากราฟไปใช้งาน

ตัวอย่างที่แสดงให้ดูนั้น แฟ้มในข้อ ๑) เป็นดังนี้
/* -*-ePiX-*- */
#include "epix.h"
using namespace ePiX;

P F(double t, double r, double theta)
{
  return P(r*r*Cos(2*theta),
           r*r*Cos(t)*Sin(2*theta) + r*Sin(t)*Sin(theta),
           r*Cos(theta));
}

domain R(P(0,0,0), P(1, 1.5, 1), mesh(24, 8, 32), mesh(24, 40, 80));

int main(int argc, char* argv[])
{
  if (argc == 3)
    {
      char* arg;
      double temp1, temp2;
      temp1=strtod(argv[1], &arg);
      temp2=strtod(argv[2], &arg);

      tix()=temp1/temp2;
    }

  domain R1(R.slice1(tix()));

  picture(P(-4,-4),P(4,4), "5x5in");

  begin();
  revolutions();

  grid(1,1);

  const P ctr(3.25,-3.25); // "clock" center
  bold();
  circle(ctr, 0.5);        // clock face

  line(ctr, ctr+polar(0.4, tix())); // hands
  label(ctr+polar(0.6, tix()), "$y$");

  line(ctr, ctr+polar(0.4, tix()+0.25));
  label(ctr+polar(0.6, tix()+0.25), "$w$");

  viewpoint(4,5,3);
  camera.range(20);

  line(P(0,0,0), P(3,0,0));
  line(P(0,0,0), P(0,3,0));
  line(P(0,0,0), P(0,0,2));

  plain(Red());
  plot(F, R1.resize3(0, 0.5));

  blue();
  plot(F, R1.resize3(0.5, 1));

  bold(Magenta());
  plot(F, R.slice3(0));
  plot(F, R.slice3(0.5));

  black();
  masklabel(P(3,0,0), "$x$");
  masklabel(P(0,3,0), "$y$");
  masklabel(P(0,0,2), P(-4,0), "$z=\\textrm{Re}\\,\\sqrt{x+iy}$", tr);

  end();
}

แฟ้มนี้ชื่อ riemann.flx ซึ่งเมื่อ process โดย script ที่ชื่อ flix แล้ว ก็ได้ผลที่แสดงมาให้ดูนั่นแหละ

% flix  --gif  riemann.flx

ผลลัพธ์ที่ได้ สามารถนำไปใช้งานร่วมกับ latex ได้เลย ในการผลิตเอกสารต่างๆ ที่ต้องการรูป ที่ยุ่งๆ

% epix  riemann.flx

เราจะได้แฟ้ม riemann.eepic ซึ่งมาสามารถนำไปรวมในแฟ้มที่เตรียมโดย LaTeX ได้ทันที
script ที่ให้มา เขาว่ามีอยู่ ๔ แต่เห็นใช้งานจริงตอนนี้เพียง epix, flix และ elaps  ซึ่งหากเราใช้กับแฟ้มตัวอย่าง ข้างบนนั้น ยกเว้น flix ที่ให้ผลลัพธ์มาเลยแล้ว ก็จะเป็นดั่งนี้

% epix  riemann.flx
% elaps riemann

คำสั่งสุดท้าย จะให้แฟ้ม riemann.eps ออกมาเป็นผลลัพธ์

ไม่ต้องตกอกตกใจอะไรกับสาระในแฟ้ม ขอให้ท่านลงโปรแกรม แล้วอ่านข้อความท้ายๆ ทำตามนั้น เวลาจะเขียนแฟ้ม ก็ให้กระทำผ่าน emacs ท่านก็จะได้ template มา พร้อมที่จะเติมไปทีละคำสั่ง ทีละคำสั่ง

คำสั่งที่ท่านต้องเติม ก็อยู่ระหว่าง begin();  และ  end(); นั่นหละ ค่อยๆอ่านจาก เอกสารที่เขาให้มา แล้วดูแฟ้มตัวอย่างจาก sample files ที่เขาให้มา ไม่นานนักก็คงบรรลุธรรม

พาดพิงถึง LaTeX แล้วคิดถึงเจ้าปลิวแฮะ

Saturday, August 13, 2011

README.html

README.html ของ ports กลับมาใช้ได้อีกครั้งแล้ว หลังจากที่เพียรอ่าน เพียรสร้างมาหลายหร หลายเดือน แต่ก็ไม่สำเร็จ ถามไปที่ forum เขากลับว่า เอามาทำไม

เรื่องเบี่ยงเบนประเด็นเนี่ย อย่านึกว่าจะมีแต่คนไทยเน้อ ... ไปไหนมา สามวาสองศอก

ทีแรก ก็ไม่รู้หรอกว่า อะไรคือปัญหา แต่ วานนี้เองไปดูใน freshports.org เขาบอกว่า แก้ไข Tools/make_readmes ... ประดานี้ เลยจำเป็นต้อง cvsup เอา ports tree มาใหม่ แล้วจากนั้น

# cd /usr/ports
# make readmes

และเมื่อจบขบวนการแล้ว อ่านแฟ้ม README.html ของแต่ละ category แต่ละ ports ในแต่ละ category ได้ดังเดิม

บางท่าน อาจจะมองไม่เห็นประโยชน์ แต่ลองนึกดูว่า หน้าฝนยังงี้ ไปไหนไม่ได้

อืมม ลองดูทีซิว่า ใน ports มีอะไรมั่ง

แล้วมันจะดูได้รึ ฝนก็ตก เน้ตก็ตัด  ยามนี้แหละ ที่ชุดของ README.html ที่สร้างขึ้นมา จะก้าวเข้ามาแก้ปัญหานี้ของท่านได้
ประโยชน์ จะมากขึ้น เมื่ออ่านควบคู่กับ /usr/ports/UPDATING

Thursday, March 12, 2009

ไกลปืนเที่ยง: FreeBSD --> disk layout(3)


สารบบคำอธิบายของสารบบ หรือ ความหมายในสารบบ
/mnt/สารบบว่างๆ สำหรับงานของผู้บริหารระบบใช้งาน กับระบบแฟ้มอื่นๆ
/proc/ระบบแฟ้มที่กำลังดำเนินการ กรุณาดู procfs(5) และ mount_procfs(8)
/rescue/โปรแกรมสำหรับกู้ระบบยามฉุกเฉิน กรุณาดู rescue(8)
/root/บ้านของ root
/sbin/โปรแกรมระบบ และ โปรแกรมอรรถประโยชน์ ที่เป็นพื้นฐานทั้งในสภาวะ ผู้ใช้งานคนเดียว และ ผู้ใช้งานหลายคน
/tmp/แฟ้มชั่วคราวต่างๆ สิ่งที่อยู่ในนี้ , /tmp, ไม่สามารถเก็บไว้ได้ จะถูกลบทิ้งเสมอ เมื่อเครื่องบูตใหม่ และ ระบบแฟ้ม ที่เกี่ยวโยงกับหน่วยความจำ จะถูกแขวน ไว้ที่นี่เสมอ กรุณาดู rc.conf(5) และ /etc/fstab และ mdmfs(8)
/usr/อรรถประโยชน์ และ โปรแกรม ของผู้ใช้งาน จะอยู่ที่นี่
/var/แฟ้ม log ทั่วไป แฟ้มชั่วคราวอื่นๆ แฟ้มเขียนอ่านระยะเวลาสั้นๆ ระบบแฟ้ม ที่เกี่ยวโยงกับหน่วยความจำ ก็มักจะแขวนไว้ที่นี่ด้วย ซึ่งสามารถกำหนดให้ แขวน หรือ วางไว้โดยอัตโนมัติ ทุกครั้งไปด้วยตัวแปร varmfs ในแฟ้ม rc.conf(5)

อนึ่ง สำหรับรายละเอียดของ สารบบ ที่ไม่ได้แปลจากต้นฉบับ ไว้ ณ ที่นี้ ไม่ว่าจะเป็น ตอนนี้, 2, 1 คงต้องรบกวนให้ ไปศึกษาเอาเองจาก hier(7) ซึ่งจะมีมากกว่า โดยเฉพาะอย่างยิ่ง สนธยามาเยือน /usr/local, /usr/ports, /usr/src

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

ก็หวังว่า คงได้ประโยชน์บ้างพอสมควร

View My Stats