Author: wiboon.w

  • การทำแผ่นดีวีดี linux mint ฉบับติดตั้งโปรแกรมเพิ่มแล้ว

    ผมแจกฟรีแผ่น DVD linux mint 17 ฉบับติดตั้งโปรแกรมเพิ่ม ที่ห้องโถงอาคารศูนย์คอมพิวเตอร์ ผมก็คิดว่าน่าจะนำความรู้มาเผยแพร่ไว้ตรงนี้ด้วย ลองอ่านดูนะครับ

    free-linuxmint-17-psu-cc-32bit

    เริ่มต้น ผมก็ไปเอาไฟล์ linuxmint-17-mate-dvd-32bit.iso จากเว็บไซต์ https://licensing.psu.ac.th/linux-mint-17-qiana-released/ ซึ่งไฟล์ที่วางไว้ในเว็บไซต์นี้ก็ไป download มาจากของแท้ที่เมืองนอกนะครับ นำมาติดตั้งเป็น Virtual Machine ในโปรแกรม Oracle VM VirtualBox โดยสร้าง username คือ mint password คือ mint และตั้งให้ auto login

    จากนั้นก็ปรับแต่งการอัปเดตเวอร์ชั่นให้อัปเดตจากเซิร์ฟเวอร์ในมหาวิทยาลัย (ในเมืองไทย) โดยการแก้ไขที่ไฟล์ official-package-repositories.list ด้วยคำสั่งดังนี้
    sudo vi /etc/apt/sources.list.d/official-package-repositories.list
    โดยเปลี่ยน 2 แห่ง คือ
    1.เปลี่ยนจาก archive.ubuntu.com เป็น th.archive.ubuntu.com
    2.เปลี่ยนจาก packages.linumint.com เป็น mirrors.psu.ac.th/linuxmint-packages

    ต่อไปก็ตั้งค่า time zone ดังนี้
    Menu > Administration > Time and Date > Click to make changes
    Time zone: Asia/Bangkok

    ต้องการให้ผู้ได้รับแผ่นดีวีดีนี้ไปใช้งานได้สะดวก จึงเพิ่มคำสั่งนี้เพื่อให้ไม่ต้องถาม password ทุกครั้งที่จะเพิ่มโปรแกรม
    sudo sh -c “echo ‘mint ALL=NOPASSWD: ALL’ >> /etc/sudoers”

    ผู้ใช้งานส่วนใหญ่จะใช้ฟอนต์ภาษาไทย TH SarabanPSK ผมก็ช่วยลงให้ซะเลย
    sudo wget ftp://ftp.psu.ac.th/pub/thaifonts/sipa-fonts/*ttf -P /usr/share/fonts/truetype/thai

    ติดตั้งโปรแกรมต่างๆเพิ่มดังนี้
    สำหรับแสดงรายชื่อ hardware
    sudo apt-get install lshw-gtk
    สำหรับตรวจเช็คสถานะ LAN card
    sudo apt-get install ethtool
    สำหรับดึงข้อมูลเว็บเพจมาดำเนินการ
    sudo apt-get install curl
    สำหรับใช้งานเบราว์เซอร์ google chrome
    sudo touch /etc/default/google-chrome
    แล้วไป download จากเว็บไซต์ของ google อาจทำด้วยคำสั่งข้างล่างนี้

    wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - 
    sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' 
    sudo apt-get update 
    sudo apt-get install google-chrome-stable

    ติดตั้งโปรแกรมต่างๆ ผ่านทาง Menu > Software Sources
    1. Tuxmath  : เกมส์คิดเลขเร็ว
    2. Tuxpaint  : เด็กหัดใช้เมาส์วาดภาพและตัวปั้มหมึก
    3. Shutter  : screen capture tool
    4. RecordMyDesktop and gtk-recordmydesktop  : บันทึกหน้าจอเป็นวิดีโอ
    5. winff  : แปลงชนิดไฟล์ของไฟล์เสียง
    6. audacity  : ตัดหรือต่อไฟล์เสียง
    7. gparted  : สร้างหรือเปลี่ยนแปลง disk partition
    8. openshot  : ตัดหรือต่อวิดีโอ ไฟล์เสียง เพื่อทำเป็นวิดีโอ
    9. libavcodec-extra-54  :  เพื่อให้ใช้ codec ได้มากชนิด
    10. filezilla  :  โปรแกรม ftp/ftps/sftp/ client
    11. inkscape :  โปรแกรมทำสื่อสิ่งพิมพ์ จัด art work หน้ากระดาษ (แทน ilustrator)

    ติดตั้งโปรแกรม ffDiaporama ต้องใช้ command line เพื่อเอาเวอร์ชั่นล่าสุด
    12.ffdiaporama  : โปรแกรมนำไฟล์รูปภาพมาจัดทำเป็น Movie พรีเซ็นเตชั่นมีเพลงประกอบได้
    sudo add-apt-repository ppa:ffdiaporamateam/stable
    sudo apt-get update
    sudo apt-get install ffdiaporama
    sudo apt-get install ffdiaporama-texturemate
    sudo apt-get install ffdiaporama-openclipart

    ติดตั้งโปรแกรมที่ต้องใช้ ผ่านทาง Menu > Package Manager
    1. frei0r-plugins
    2. frei0r-plugins-doc

    สร้าง shortcut icon ที่ desktop
    1. TV (ดูทีวีฟรี)
    2. Tux Math
    3. Tux Paint
    4. Google Chrome
    5. version.txt

    ติดตั้ง shell script สำหรับทำงานเฉพาะอย่าง
    1. hardware-list.sh
    2. myjob.sh
    3. nic-led.sh
    และทุกไฟล์ใส่ ได้ set ค่า flag เป็น executable

    ตอนนี้ก็มาถึงความต้องการโปรแกรมที่ใช้ในการทำแผ่นดีวีดีขึ้นมาใหม่ เรียกว่า remastersys โดยติดตั้งตามคำสั่งดังนี้
    wget -N -P /tmp http://ftp.psu.ac.th/pub/psu-remastersys/psu-remastersys.tgz
    tar -zxpvf /tmp/psu-remastersys.tgz -C /tmp
    cd /tmp/psu-remastersys
    sudo sh install-psu-remastersys.sh
    wget -O – http://www.remastersys.com/ubuntu/remastersys.gpg.key | sudo apt-key add –
    แก้ไขค่า option ให้เหมาะสม
    sudo vi /etc/remastersys.conf
    ================================
    LIVEUSER=”mint”
    LIVECDLABEL=”Linux Mint 17 PSU CC”
    CUSTOMISO=”linuxmint-17-psu-cc-32bit.iso”
    BACKUPSHOWINSTALL=”1″
    ================================

    แล้วก็มาถึงขั้นตอนสุดท้าย คือ สั่งสร้าง linuxmint-17-psu-cc-32bit.iso ดังนี้
    เข้าไปที่ Menu > Administration > Remastersys
    แล้วก็รอสัก 15 นาที
    จากนั้นให้เข้าไปเอาไฟล์ไปใส่ใน ftp server
    เข้าไปที่ Menu > Terminal
    cd /home/remastersys/remastersys/
    scp linuxmint-17-psu-cc-32bit.iso user@your_ftp_server

    ทั้งหมดก็มีเรื่องราวประมาณนี้ครับ ขอแถมสักนิดว่า หากจะทำเป็นแผ่นที่บูตแล้วแสดง presentation ก็ให้นำไฟล์ไปวางไว้ใน /home/mint/.config/autostart/
    เช่น
    mint@mint-PSU ~ $ ls -l /home/mint/.config/autostart/
    total 12
    -rw-r–r– 1 mint mint  88 มิ.ย.   5 13:23 myjob.desktop
    -rw-r–r– 1 mint mint 487 มิ.ย.   5 13:23 myjob.sh

    mint@mint-PSU ~ $ cat /home/mint/.config/autostart/myjob.desktop
    [Desktop Entry]
    Type=Application
    Name=myjob
    Exec=/home/mint/.config/autostart/myjob.sh

    mint@mint-PSU ~ $ cat /home/mint/.config/autostart/myjob.sh
    #!/bin/bash
    sleep 3
    SOURCE_FILE=”prstart.sh”
    TEMP1=”/tmp/myjob-temp1.$$”
    wget http://ftp.psu.ac.th/pub/custom/${SOURCE_FILE} -O ${TEMP1}
    if [ -s ${TEMP1} ] ; then
    exec sh ${TEMP1}
    fi

    คิดว่าท่านจะสามารถอ่านและทำได้ครับ ขอบคุณครับ

  • แก้ปัญหา ubuntu server 14.04 เปลี่ยน eth0 เป็น em1

    เรื่องมีอยู่ว่า ผมและวิศิษฐ ช่วยกันทำต้นฉบับ PSU12-Sritrang ใหม่เมื่อมี ubuntu 14.04 ออกมาแล้ว เดิมใช้ ubuntu 12.04 มาโดยตลอด ปัญหานี้เกิดขึ้นตั้งแต่ ubuntu เปลี่ยนเวอร์ชั่นเป็น 13.04 แล้ว คือ เมื่อ clone ไปแล้ว บูต server แล้วจะไม่เห็น eth0

    เมื่อตรวจสอบด้วยคำสั่ง dmesg | grep eth0 ก็พบว่าบรรทัดที่มีข้อความว่า renamed eth0 to em1

    วิศิษฐ ค้นเจอว่า หากต้องการบังคับให้ใช้แบบเก่า คือ ใช้ eth0 จะต้องแก้ไขไฟล์
    /etc/default/grub ทำดังนี้

    หากใช้ editor vi คล่อง ก็ใช้คำสั่งนี้
    sudo vi /etc/default/grub
    หากไม่คล่อง ก็ใช้ดังนี้
    sudo nano /etc/default/grub

    ในไฟล์ /etc/default/grub ให้หาบรรทัด
    GRUB_CMDLINE_LINUX_DEFAULT=””
    แก้ไขเป็น
    GRUB_CMDLINE_LINUX_DEFAULT=”net.ifnames=1 biosdevname=0″

    จากนั้นให้สั่งคำสั่งนี้ด้วย
    sudo update-grub

    เท่าที่ทดสอบผลกับเครื่องที่มีปัญหา สามารถบังคับให้ใช้ eth0 ได้ครับ ยังไม่พบว่าวิธีการนี้จะใช้ไม่ได้เมื่อมีการ update versions ของ ubuntu ยังคงต้องตรวจสอบในเวอร์ชั่นต่อไป

     

    อัปเดตข้อมูล (17 มี.ค. 2559)

    ใน ubuntu 16.04 server ผมกลับพบว่า คำสั่งนี้ใช้ไม่ได้

    GRUB_CMDLINE_LINUX_DEFAULT=”net.ifnames=1 biosdevname=0″

    แต่คำสั่งข้างล่างนี้ใช้ได้

    GRUB_CMDLINE_LINUX_DEFAULT=”net.ifnames=0″

    ทำให้ใช้ eth0 ได้

    ซึ่งการกำหนดค่า net.ifnames=0 นี้นำมาจากเอกสารที่อ้างอิง [1] ข้างล่างนี้ ผมเลือกใช้ option ที่ 3

     

    และมีคำอธิบายในเรื่องความเปลี่ยนแปลงในการใช้ชื่อ network interface name ใน [2]

     

    Reference:
    [1] http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/

    [2] https://lists.ubuntu.com/archives/ubuntu-devel/2015-May/038761.html

     

  • เรียนรู้ด้วยตนเอง Linux System Administration I และ II

    linux-tutorial

    ขอแนะนำแหล่งความรู้สำหรับทุกท่านที่ต้องการเรียนรู้ Linux ซึ่งผมและอาจารย์ฉัตรชัย จันทร์พริ้ม ได้รวบรวมเขียนไว้และจัดอบรมไปแล้ว 1 รุ่น ใน Workshop I สอนด้วย Ubuntu 12.04 และใน Workshop II Ubuntu 14.04 ออกมาพอทันให้ได้ใช้กันครับ

    Workshop Linux System Administration I
    (http://opensource.cc.psu.ac.th/WS-LSA1)
    เนื้อหา
    เป็นการให้ความรู้ในการทำหน้าที่ system administrator เพื่อดูแลระบบปฏิบัติการ Linux โดยจะใช้ Ubuntu ซึ่งปัจจุบันมีผู้ใช้งานกันมาก โดยจัดเนื้อหาเป็น 2 ตอน ในตอนแรกนี้จะเป็นความรู้จำเป็นที่จะเป็นพื้นฐานไปสู่การเป็นมืออาชีพที่สามารถดูแล server ด้วยตนเองต่อไปได้อย่างมั่นใจ โดยใช้เวลา 2 วัน

    LSA-I

    Workshop Linux System Administration II
    (http://opensource.cc.psu.ac.th/WS-LSA2)
    เนื้อหา
    เป็นการให้ความรู้ในการทำหน้าที่ system administrator เพื่อดูแลระบบปฏิบัติการ Linux โดยจะใช้ Ubuntu ในตอนที่ 2 นี้จะเป็นความรู้ในการติดตั้ง server การดูแล server การป้องกันและตรวจสอบความปลอดภัย server และ web application ที่ติดตั้งในเครื่อง โดยใช้เวลา 2 วัน

    LSA-II

    วิธีการเรียนใน workshop ผู้เรียนจะได้ฝึกปฏิบัติด้วย Ubuntu server ที่ติดตั้งใน Oracle VM Virtualbox ซึ่งเป็นโปรแกรมในการจำลองเครื่องเสมือนจริง

    สำหรับเพื่อนๆที่ไม่ได้เข้า workshop ลองเข้าไปอ่านกันได้นะครับ และเพื่อนๆที่เข้า workshop ก็ทบทวนได้เมื่อต้องการเรียนรู้ด้วยตนเองเกี่ยวกับ Linux System Administration I และ II

  • วิธีตั้งค่า Apache web server 2.4.x แตกต่างจาก 2.2.x

    asf_logo_wide
    เก็บตกจากวันวานเปิดอบรม Workshop Linux System Administration II (WS-LSA2) ที่ศูนย์คอมฯ 2 วัน ผมเตรียมเอกสาร workshop วิธีตั้งค่าหลายๆเรื่องบน ubuntu 12.04 แต่พอดีกับที่ ubuntu 14.04 ออกมาแล้ว จึงนำ ubuntu 14.04 มาให้ผู้เรียนใช้ติดตั้ง มันก็ไม่มีอะไรแตกต่างไปจาก ubuntu 12.04 ตั้งแต่เริ่มต้น installation จนกระทั่งมาถึงเรื่องที่เราจะตั้งค่าเกี่ยวกับ Apache web server ซึ่งทำให้ต้องแก้ไขเอกสารประกอบการสอนกันสดๆตอนนั้นเลย (ฮา)

    เพราะว่า Apache Web Server ที่อยู่ในแผ่น ubuntu 14.04 นั้นเป็นเวอร์ชั่น 2.4.7 ซึ่งมี Default Document Root อยู่ที่ /var/www/html ต่างจาก Apache Web Server เวอร์ชั่นก่อนหน้านี้ (2.2.x) ที่มี Default Document Root อยู่ที่ /var/www เป็นต้น

    พอจะสรุปได้ดังนี้

    Apache Web Server 2.2.x ทำแบบนี้
    1.พื้นที่ default ของ Apache Web Server คือไดเรกทอรี /var/www
    หากจะติดตั้ง Joomla CMS เราจะเตรียมพื้นที่สำหรับติดตั้ง joomla ไว้ที่ไดเรกทอรี /var/www/testjoomla ด้วยคำสั่ง sudo mkdir -p /var/www/testjoomla

    2.website config file จะอยู่ที่ไดเรกทอรี /etc/apache2/sites-available
    จะมีไฟล์ชื่อ default และ default-ssl มาให้
    และหากจะสร้าง VirtualHost pma.example.com เราก็สร้าง config file ที่มีชื่อไฟล์อย่างไรก็ได้ เช่น /etc/apache2/sites-available/pma หลังจากนั้นเราก็ enable VirtualHost นี้ จาก config ที่เราสร้างขึ้นใหม่ โดยการใช้คำสั่ง sudo a2ensite pma แล้วก็สั่ง restart apache

    3.เมื่อเข้าไปดูในไฟล์ default
    DocumentRoot จะอยู่ที่ /var/www

    4.Apache2 config file จะอยู่ที่ /etc/apache2/conf.d
    สมมติว่าต้องการเพิ่มการป้องกัน joomla web server ด้วย config file ชื่อ jce จะต้องทำดังนี้
    สร้างไฟล์ที่จะมีชื่ออย่างไรก็ได้ เช่น /etc/apache2/conf.d/jce แค่นี้ก็ได้แล้ว แล้วก็สั่ง restart apache และเมื่อจะไม่ใช้ config file jce นี้แล้ว ก็แค่ลบไฟล์นี้ทิ้ง

    แต่สำหรับ Apache Web Server 2.4.x วิธีการจะแตกต่างไป ดังนี้
    1.พื้นที่ default ของ Apache Web Server คือไดเรกทอรี /var/www/html
    หากจะติดตั้ง Joomla CMS เราจะต้องเตรียมพื้นที่สำหรับติดตั้ง joomla ไว้ที่ไดเรกทอรี /var/www/html/testjoomla ด้วยคำสั่ง sudo mkdir -p /var/www/html/testjoomla

    2.website config file จะอยู่ที่ไดเรกทอรี /etc/apache2/sites-available
    จะมีไฟล์ชื่อ 000-default และ default-ssl มาให้ (ต่างจาก 2.2.x)
    และหากจะสร้าง VirtualHost pma.example.com เราก็ต้องสร้าง config file ที่มี .conf ต่อท้ายชื่อไฟล์ด้วย เช่น /etc/apache2/sites-available/pma.conf
    หลังจากนั้นเราก็ enable VirtualHost นี้ จาก config ที่เราสร้างขึ้นใหม่ โดยการใช้คำสั่ง
    sudo a2ensite pma แล้วจึงจะสั่ง restart apache สำเร็จ

    3.เมื่อเข้าไปดูในไฟล์ default
    DocumentRoot จะอยู่ที่ /var/www/html

    4.Apache2 config file จะอยู่ที่ไดเรกทอรี /etc/apache2/conf-available และต้องสั่ง enable config file ที่ต้องการใช้งานก่อนจึงจะใช้งานได้ แล้วจะเกิดไฟล์ขึ้นอยู่ที่ไดเรกทอรี /etc/apache2/conf-enabled
    สมมติว่าต้องการเพิ่มการป้องกัน joomla web server ด้วย config file ชื่อ jce จะต้องทำดังนี้ เราต้องตั้งชื่อให้มี .conf ต่อท้ายด้วยคือ /etc/apache2/conf-available/jce.conf
    และใช้คำสั่งเพื่อ enable config file ดังนี้ sudo a2enconf jce แล้วก็สั่ง restart apache จึงจะสำเร็จ และเมื่อจะไม่ใช้ config file นั้น ก็จะต้องสั่งดังนี้ sudo a2disconf jce แล้วก็สั่ง restart apache จึงจะสำเร็จ

    ก็หวังว่าบทความนี้จะเป็น guide ให้แอดมินคิดออกว่า “เอ๊ะ! ทำไมเราตั้งค่าไม่ได้ทั้งๆที่เคยทำได้และทำอยู่บ่อยๆด้วย”

    ขอบคุณครับ

  • Short Note on Workshop “Web Application Development Workflow”

    ผมชวนเพื่อนๆ CoP PSU IT ซึ่งเป็นรุ่นน้องชื่อคุณราชศักดิ์ บูรณะพาณิชย์กิจ และพัฒนาวดี ศิวติณฑุโก อยู่ที่คณะวิศวกรรมศาสตร์ มาจัด Workshop ใช้เวลา 1 วัน เรื่อง Web Application Development Workflow
    git.6

    วิทยากรเตรียม slide ที่นี้ครับ http://bratchasak.github.io/slide/
    คร่าวๆ คือ แนะว่า Web Application Development Workflow คืออะไร อธิบายว่าขั้นตอนของการพัฒนาและเครื่องมือที่ใช้ในการทำงาน ก็คือ Chrome Browser และ Sublime Text และติดตั้งโปรแกรม Git ใช้งานแบบ command line และ github for Windows แบบ GUI และสมัครบริการที่จำเป็นต้องใช้ก็คือ GitHub web เครื่องมือทั้งหมดนี้ก็จะสร้างระบบ Version control สำหรับการพัฒนาด้วย Git ได้แล้ว

    การเตรียมเครื่องมือสำหรับทำงาน
    1.เกี่ยวกับ Chrome Browser (google chrome)
    ต้องลงชื่อเข้าใช้ google เพื่อทำงานได้ครบทุก Feature
    เข้าเว็บหน้านี้ https://www.google.com/intl/th/chrome/browser/ จะเห็นตัวอย่างชัดๆในการตรวจสอบด้วย Developper Tools
    เปิดหน้าต่าง Developper Tool ด้วย Ctrl+Shift+i
    คลิกเลือกไอคอน แว่นขยาย เพื่อส่องดูโค้ดได้
    นอกจากนี้ก็มีแท็บน่าสนใจคือ แท็บ Console สำหรับ debug และ แท็บ Network สำหรับดู latency load time

    เปิดดูการทำงาน เมนูที่ใช้ใน workshop คือ คลิกปุ่มกำหนดค่าและควบคุม (มุมบนขวา) > เครื่องมือ > ตัวจัดการงาน

    ติดตั้งส่วนขยาย LiveReload
    www.google.com > search คำว่า livereload > เลือก Chrome Web Store – LiveReload
    คลิกปุ่มกำหนดค่าและควบคุม (มุมบนขวา) > เครื่องมือ > ส่วนขยาย > เลือกตัวเลือก อนุญาตให้เข้าถึงไฟล์ URL

    2. ติดตั้งโปรแกรม Sublime Text 3 for Windows
    git.5
    www.google.com > search คำว่า sublime
    เลือกเวอร์ชั่นให้ตรงกับ Windows OS ที่ใช้
    ตาม slide หน้านี้ http://bratchasak.github.io/slide/#sublimetext_package

    ติดตั้ง package เพิ่มลงใน Sublime
    กดแป้น Ctrl+Shift+p > search คำว่า package > เลือก Package Control: Install Package
    > search คำว่า emmet > คลิกเลือก emmet
    > search คำว่า livereload > คลิกเลือก LiveReload
    > search คำว่า syntax คลิกเลือก Syntax Manager

    ต่อมา วิทยากรอธิบาย Software configuration management ว่ามี 3 model คือ Local data model, Client-server model และ Distributed model เช่น Git
    “Git is a free and open source distributed version control system.”
    git.2

    3. ติดตั้ง Git
    เข้าไปเว็บไซต์ http://git-scm.com/ และดาวน์โหลดเวอร์ชั่นสำหรับวินโดวส์ จะได้ไฟล์ Git-1.9.0-preview20140217.exe
    คลิก Run เพื่อติดตั้ง แต่ไม่คลิก Next ทั้งหมด
    ในหน้า Select Components เลือก Simple context menu
    ในหน้า Adjusting your PATH environment เลือก Run Git from the Windows Command Prompt
    ในหน้า Configuring the line ending conversions เลือก Checkout Windows-style,commit Unix-style line endings

    ต่อจากนั้น วิทยากรอธิบายเกี่ยวกับ Git – File Status Lifecycle
    ดูที่ http://bratchasak.github.io/slide/#gitstatus
    git.1

    เริ่มต้นเข้าสู่การใช้งาน Git
    แบบที่ 1 เรียนรู้การทำงานในแบบ command line
    สร้างโฟลเดอร์ที่จะเป็น Repository (ก็คือ project)
    คลิกปุ่ม Start > พิมพ์ cmd
    cd \
    mkdir test
    cd test
    git init
    จะเกิดโฟลเดอร์ชื่อ .git

    ตรวจสอบสถานะ
    git status

    เริ่มต้นด้วยการกำหนดชื่อ identity เจ้าของ repository
    git config –global user.name “Wiboon Warasittichai”
    git config –global user.email “wiboon080808@gmail.com”

    ตรวจสอบรายการในไฟล์ config
    git config –list

    นำไฟล์ index.html เข้าใน project หรือเรียกว่า repository
    git add index.html

    เปลี่ยนเข้าสู่สถานะ staged
    git commit -m “initial commit”

    ตรวจดูรายการแก้ไข
    git log
    หรือ
    แสดงผลแบบ 1 บรรทัดพร้อมด้วยตัวชี้(pointer)
    git log –graph –decorate –all –pretty –oneline

    การแตก branch เพื่อใช้ทำงานเขียนโปรแกรม แทนการแก้ไขที่ master
    git branch feat_test

    เข้าแก้ไขใน branch
    git checkout feat_test

    เปิดหน้า sublime แล้วลองเพิ่ม 1 บรรทัดลงใน index.html

    ต่อไปทำซ้ำรอบในการทำงาน คือนำไฟล์ index.html เข้าใน project (จะเรียกว่า repository)
    git add index.html

    เปลี่ยนเข้าสู่สถานะ staged อีกครั้งแต่รอบนี้เป็นการแก้ไขที่ branch
    git commit -m “1st edit – add 1 line”

    แสดงผลแบบ 1 บรรทัดพร้อมด้วยตัวชี้(pointer)จะเห็นว่า pointer อยู่ที่ branch ชื่อ feat_test
    git log –graph –decorate –all –pretty –oneline

    กลับไปที่ master
    git checkout master

    ดูที่ sublime text editor จะเห็นว่าเป็น index.html ก่อนการเพิ่มอีก 1 บรรทัด
    (แสดงผลที่แตกต่างทันทีจากที่เพิ่ม package ชื่อ LiveReload ลงใน sublime text)

    ต้องการ merge ไฟล์ index.html ของ branch ชื่อ feat_test เข้ากับ branch ชื่อ master
    git merge feat_test

    ตรวจสอบสถานะ
    git status

    สมัครสมาชิก GitHub web เพื่อใช้เป็นที่เก็บ repository ของเราเพื่อเผยแพร่สาธารณะ
    เข้าไปที่ https://github.com/
    git.3

    แบบที่ 2 เรียนรู้การใช้งาน Git แบบ GUI
    git.4
    ต่อไปจะเป็นการใช้ GitHub for Windows (เรียกว่า Client) ให้ดาวน์โหลดที่นี่ http://windows.github.com
    ติดตั้งใช้เวลานิดนึง เพราะไฟล์ขนาด 41.8MB เมื่อเสร็จจะมีหน้าต่าง Welcome เพื่อให้ login
    ก็ใส่ e-mail และ password ที่สมัคร
    ต่อไปจะอยู่ที่ขั้นตอน configure ให้คลิก Next
    อยู่ที่ขั้นตอน repositories ให้คลิก dashboard
    จะเปิดหน้าต่าง ให้เราลาก โฟลเดอร์ชื่อ test มาใส่ที่ local – repositories
    แล้วคลิกลูกศรชี้ขวาที่บรรทัด test จะเป็นคำว่า Open this repo
    คลิก publish
    เมื่อมีการแก้ไข branch master หรือ branch feat_test ก็คลิก Sync

    ในทางกลับกัน หากสร้าง repository จากหน้า GitHub web ก็สามารถ clone ลงไปที่ Windows ได้เช่นกัน
    กลับไปที่ GitHub web โดยเข้าไปที่ https://github.com/
    คลิก New repository
    ตั้งชื่อ Repository name ตั้งว่า ztest แล้วคลิก Create repository
    คลิกปุ่ม Set up in Desktop มันจะมาสร้างไดเรกทอรีที่ c:\My Documents\GitHub\ztest
    Google chrome จะถามอะไรสักอย่าง ก็ให้ตอบ “เปิดใช้งานแอปพลิเคชัน”
    เราก็เริ่มทดสอบสร้างไฟล์ my.html ไว้ที่นี่ แล้ว publish กลับไปที่ GitHub web ได้เมื่อต้องการ

    เรื่องสุดท้าย GitHub – Features อันแรก Collaborators คือ การอนุญาต user บน GitHub ให้ร่วมแก้ไขไฟล์ด้วยกันได้ และอีกอัน Fork & Pull Request คือ เอาไปทั้งหมดแยกกันไปทำแล้วค่อยมารวม และ GitHub Pages คือ การสร้าง web page บน GitHub

    การสร้าง web page บน GitHub ทำดังนี้
    หากเราสร้าง repository ด้วยการตั้งชื่อด้วยข้อความ username.github.io ก็จะได้ web page ไว้ใช้งานด้วย
    ซึ่งสร้างอย่างง่ายๆด้วย Automatic Page Generator (https://help.github.com/articles/creating-pages-with-the-automatic-generator) หลังจากสร้างเสร็จต้องรอ 10 นาที web page ก็จะใช้งานได้
    ทดสอบด้วยการพิมพ์ว่า http://username.github.io ตัวอย่างเช่น http://wiboon.github.io/

    ทั้งหมดนี้ผมก็ฟังไปจดไปในกระดาษ แล้วก็กลับมาลองทำเองดูในวันนี้ แล้วก็เขียนลง sysadmin blog ที่นี้ไว้เผื่อเพื่อนๆด้วยครับ

  • ลดขนาดไฟล์เมื่อจะทำ export virtual machine ของ virtualbox

    เมื่อจะ export Virtual Machine ใน Oracle VM VirtualBox ควรจะลบไฟล์ที่เกิดจากการใช้งานหรือ การเปลี่ยนแปลงรายการไฟล์ใน VM เช่น การลบไฟล์ หรือ ก๊อปปี้ไฟล์ใหม่ใส่ลงไป เป็นต้น เสร็จแล้วจึงใช้คำสั่ง Export Appliance จะช่วยให้ลดขนาดไฟล์ลงได้ เช่น ไฟล์ VM ชื่อ ubunturouter.ova มีขนาด 4.5GB หลังจากทำคำสั่งนี้ไฟล์มีขนาดลดลงเหลือ 3.4GB อ้อ ลืมบอกไปเป็นเนื้อหาเกี่ยวกับ ubuntu server ครับ

    เมื่อมีการสั่งอัปเดต

    sudo apt-get update
    sudo apt-get dist-upgrade

    เมื่อมีการเปลี่ยนแปลงไฟล์ เช่น

    sudo rm -f psu12-sritrang.tgz

    เมื่อเราคิดว่า VM นี้จะ export ออกไปเป็นไฟล์ .ova ให้คนอื่นเอาไปใช้ ให้ทำคำสั่งเหล่านี้

    sudo apt-get clean
    sudo truncate -s0 /var/log/*.log
    sudo rm /var/log/*gz
    sudo rm /var/log/*/*gz
    dd if=/dev/zero of=tmpfile
    rm -f tmpfile

    Reduce_Export_Oracle_VM_File_Size

    เสร็จแล้วก็ปิดเครื่อง VM

    sudo poweroff

    แล้วจึงทำขั้นตอน export ที่โปรแกรม Oracle VM VirtualBox

    File > Export Appliance…
    Menu_Export_VM

    คิดว่าน่าจะมีประโยชน์กับเพื่อนๆนะครับ

  • Workshop “PSU12-Sritrang Server for Cloning PC”

    กลุ่มงานวิจัยและพัฒนา ศูนย์คอมพิวเตอร์ จัดอบรมเชิงปฏิบัติการ เรื่อง “PSU12-Sritrang Server for Cloning PC”

    วันที่ 8 พ.ย. 56 เวลา 09.00-16.00น. ที่ห้อง Training Room ชั้น 3 ตึก LRC ม.อ.หาดใหญ่

    เหตุผล
    1.เพื่อเผยแพร่เทคนิคในการ Cloning PC ในห้องบริการคอมพิวเตอร์ ด้วยชุดโปรแกรมชื่อว่า PSU12-Sritrang ซึ่งพัฒนาโดยกลุ่มงานวิจัยและพัฒนาร่วมกับงานเทคโนโลยีสารสนเทศ คณะทันตแพทยศาสตร์ ซึ่งเป็น server ที่ทำจาก Linux Ubuntu Server และเขียนโปรแกรมเพิ่มเพื่อให้ผู้ดูแลระบบทำงานได้ สะดวก ง่ายขึ้นมากๆ ด้วยเทคนิคการใช้โปรแกรม Dialog และเพิ่มเติมระบบอัตโนมัติในการติดตั้ง PSU12-Sritrang Server ด้วยแผ่นติดตั้ง ทำให้ผู้ดูแลระบบติดตั้งเสร็จในเวลาอันรวดเร็ว
    2.เพื่อค้นหา Bug ก่อนที่จะนำไปเผยแพร่ในงานประชุม WUNCA28 ในเดือนมกราคม 2557

    กลุ่มเป้าหมาย
    ผู้ดูแลระบบที่ดูแลห้องบริการคอมพิวเตอร์ของคณะทุกวิทยาเขตของม.อ. จำนวน 25 คน

    ลักษณะของ workshop
    1.เรียนรู้วิธีการติดตั้ง PSU12-Sritrang Server โดยการใช้เครือข่ายจำลอง (ติดตั้งลงไปใน Oracle VM Virtualbox บนระบบปฏิบัติการ Windows ของเครื่อง PC ในห้อง Training Room)
    2.เรียนรู้วิธีการตั้งค่าทำเครื่อง Windows 7 ต้นฉบับ
    3.เรียนรู้วิธีการ Cloning PC และควบคุมเครื่อง PC ในห้องบริการคอมพิวเตอร์

    วิทยากร
    1.นายวิบูลย์ วราสิทธิชัย นักวิชาการคอมพิวเตอร์ชำนาญการพิเศษ ศูนย์คอมพิวเตอร์ มหาวิทยาลัย สงขลานครินทร์
    2.นายเกรียงไกร หนูทองคำ นักวิทยาศาสตร์ ศูนย์คอมพิวเตอร์ มหาวิทยาลัยสงขลานครินทร์
    3.นายวิศิษฐ โชติอุทยางกูร นักวิชาการคอมพิวเตอร์ชำนาญการพิเศษ คณะทันตแพทยศาสตร์ มหาวิทยาลัยสงขลานครินทร์ (อาหารมังสวิรัติ)

    ผู้สนใจให้อีเมลแจ้งเข้าร่วมที่ wiboon.w@psu.ac.th ครับ

    รายชื่อผู้แจ้งเข้าร่วม

    1. โฆษิต ช่วยชูฤทธิ์  ศูนย์คอมพิวเตอร์ ม.อ.
    2. ธีรพงศ์ ชื่นจิตร  ศูนย์คอมพิวเตอร์ ม.อ.
    3. ศุภกร เพ็ชรรัตน์  คณะทันตแพทยศาสตร์
    4. ชัยวัฒน์ ศรีจันทร์กุล  คณะวิทยาการจัดการ
    5. ทวีศักดิ์ รักษ์สุวรรณ  สถาบันทรัพยากรทะเลและชายฝั่ง
    6. โกศล โภคาอนนต์  ศูนย์คอมพิวเตอร์
    7. นิติ โชติแก้ว  คณะการแพทย์แผนไทย
    8. ธีรเดช เขมะธีรรัตน์  คณะทันตแพทยศาสตร์
    9. บัณฑิต ชนะถาวร  คณะทันตแพทยศาสตร์
    10. จรัล บูลวิบูรณ์  คณะศิลปศาสตร์
    11. ศิริพงษ์ ศิริวรรณ  คณะเภสัชศาสตร์
    12. ธีรวัฒน์  แตระกุล  คณะเภสัชศาสตร์
    13. ธีรพันธุ์ บุญราช  คณะเภสัชศาสตร์
    14. นิรุตต์ เจริญพร  ม.อ.สุราษฎร์ธานี
    15. ขวัญยืน ปานโม  ม.อ.สุราษฎร์ธานี
    16. สมพงศ์ หุตะจูฑะ  สำนักทรัพยากรการเรียนรู้คุณหญิงหลงฯ
    17. เอกภพ ถาวรจิตร  สำนักทรัพยากรการเรียนรู้คุณหญิงหลงฯ (อาหารมังสวิรัติ)
    18. กิตติพัฒน์ อุบลกาญจน์  สำนักทรัพยากรการเรียนรู้คุณหญิงหลงฯ (อาหารมังสวิรัติ)
    19. วสันต์ แซ่แยะ  นักศึกษาฝึกงาน สำนักทรัพยากรการเรียนรู้คุณหญิงหลงฯ
    20. อาทิตย์ อรุณศิวกุล  คณะศิลปศาสตร์
  • WordPress theme – responsive web design

    WordPress theme มีหลากหลายให้เลือก สำหรับเว็บ sysadmin.psu.ac.th ที่ผ่านมาใช้ Default theme และถัดมาก็เปลี่ยนมาใช้ WordPress theme ชื่อ toothpaste ของ SiteOrigin ซึ่งก็สวยแบบเรียบๆ แต่เมื่อลองเปิดด้วย smart phone พบว่าส่วนเมนูตอนบนจะแสดงผลไม่ดีนัก จึงได้ความช่วยเหลือจากเพื่อนร่วมงาน แนะนำ WordPress Theme: Catch Evolution

    Theme นี้ เมื่อเปิดดูหน้าเว็บบน notebook จะแสดงผลแบบนี้

    web-page-theme-catch-evolution

    Theme นี้ เมื่อเปิดดูหน้าเว็บบน smart phone ของผม ซึ่งเป็น android 2.3.6 จะแสดงเป็นปุ่มให้เลือกเมนู แบบนี้

    SC20131011-113257

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

    SC20131011-122152

    ผมว่ามันดีกว่า theme เดิม จึงได้เปลี่ยน และเพื่อนๆลองเปิดดูด้วย smart phone ดูนะครับ