Category: Operating System

  • สร้าง Bootable USB Drive ด้วยโปรแกรม Rufus for Windows

    บทความนี้แนะนำวิธีติดตั้งซอฟต์แวร์ระบบปฏิบัติการด้วย USB Drive ที่ลงโปรแกรมให้สามารถ Boot ตอนนี้เป็นเวอร์ชั่น 3.13 แล้ว ก็มาอัปเดตอีกสักครั้ง ตัวอย่างนี้คือทำ Bootable USB Drive Ubuntu 20.04 Desktop 64 bit ครับ

    ขั้นตอน

    1. ดาวน์โหลดโปรแกรมจากเว็บไซต์นี้ https://rufus.ie/
    2. ได้ไฟล์ rufus-3.13.exe มา ให้คลิกเปิด (Open)
    3. จะมีถามย้ำจาก Windows ให้ยืนยัน Yes
    4. จะมีถามจากโปรแกรมว่าจะยอมให้มีการตรวจเช็คเวอร์ชั่นใหม่ ๆ หรือไม่ ให้ยืนยัน No ไม่จำเป็น
    5. จะได้หน้าต่างโปรแกรม หากเสียบ USB Drive ไว้ ก็จะแสดงรายการขึ้นมาว่า เดิมเป็นอะไร
    6. ให้คลิก SELECT เพื่อเลือก .iso file เช่น ubuntu-20.04.1-desktop-amd64.iso
    7. ให้คลิก START เพื่อทำการสร้าง Bootable USB Drive ในตัวอย่างคือ Ubuntu 20.04 Desktop 64 bit
    8. ไฟล์ rufus-3.13.exe จะอยู่ใน Downloads จะใช้ครั้งต่อไปก็แค่คลิกเปิด (Open) หรือจะย้ายไปไว้ใน Desktop ก็ได้

  • ซอฟต์แวร์สำหรับการโคลนนิ่งวินโดวส์ในห้องบริการคอมพิวเตอร์

    นำเรื่องนี้มาแนะนำกันอีกสักครั้ง เผื่อว่าใครกำลังมองหาซอฟต์แวร์ฟรีไว้ใช้ในการโคลนนิ่งฮาร์ดดิสก์ของเครื่องคอมพิวเตอร์ในห้องบริการคอมพิวเตอร์ ผมเพิ่งมีเวลาอัปเดตเป็นเวอร์ชั่นล่าสุด มีอยุ่ 2 ตัว เอาไปทดลองใช้ดูได้ครับ

    PSU12-Sritrang Server

    ผมได้พัฒนาชุดจัดการโคลนนิ่งวินโดวส์ในห้องบริการคอมพิวเตอร์ มีคณะ/หน่วยงานในม.อ. ใช้งานชุดนี้กันอยู่ ชุดนี้มีชื่อเรียกว่า PSU12-Sritrang Server เหมาะสำหรับโคลนนิ่งเครื่องวินโดวส์แบบธรรมดาทั่วไป ใช้ BIOS MBR ควบคุมการทำงานด้วย dialog menu เป็น Text-based

    แบบที่ 1 ดาวน์โหลด .ISO มาเขียนลง USB Drive เพื่อใช้เป็นตัวติดตั้งที่ทำขั้นตอนติดตั้ง Ubuntu Server พร้อมโปรแกรม

    ขั้นตอน

    1. ดาวน์โหลดโปรแกรมชื่อ Rufus
    2. ดาวน์โหลด .ISO ชื่อ psu12-sritrang-server-latest.iso
    3. รันโปรแกรม Rufus เพื่อเขียน .ISO ลง USB Drive
    4. นำ USB Drive ไปบูตที่เครื่อง Server
    5. ทำตามคำแนะนำโปรแกรมในขณะติดตั้ง
      อ่านเพิ่มเติม

    แบบที่ 2 มีอยู่แล้วหรือต้องการติดตั้ง Ubuntu Server เอง ดาวน์โหลด shell scripts เพื่อติดตั้งโปรแกรมเพิ่ม

    ขั้นตอน

    1. login และ เข้าทำงานด้วยสิทธิ root
      sudo su –
    2. ดาวน์โหลด shell script
      wget ftp.psu.ac.th/pub/psu-installer/psu12-sritrang_setup.sh
    3. เริ่มขั้นตอนติดตั้งด้วยคำสั่ง
      bash psu12-sritrang_setup.sh
      อ่านเพิ่มเติม

    PSU12-Fog Server

    ชุดที่สองนี้ ผมได้นำ FogProject มาใส่ใน Ubuntu Server และ ตั้งชื่อว่า PSU12-Fog Server เหมาะสำหรับโคลนนิ่งเครื่องวินโดวส์ได้ทุกแบบ ทั้งแบบ BIOS MBR, BIOS GPT และ UEFI GPT ควบคุมการทำงานทางหน้าเว็บเพจของ FogProject

    แบบที่ 1 ดาวน์โหลด .ISO มาเขียนลง USB Drive เพื่อใช้เป็นตัวติดตั้งที่ทำขั้นตอนติดตั้ง Ubuntu Server พร้อมโปรแกรม

    ขั้นตอน

    1. ดาวน์โหลดโปรแกรมชื่อ Rufus
    2. ดาวน์โหลด .ISO ชื่อ psu12-fog-server-latest.iso
    3. รันโปรแกรม Rufus เพื่อเขียน .ISO ลง USB Drive
    4. นำ USB Drive ไปบูตที่เครื่อง Server
    5. ทำตามคำแนะนำโปรแกรมในขณะติดตั้ง
      อ่านเพิ่มเติม

    แบบที่ 2 มีอยู่แล้วหรือต้องการติดตั้ง Ubuntu Server เอง ดาวน์โหลด shell scripts เพื่อติดตั้งโปรแกรมเพิ่ม

    ขั้นตอน

    1. login และ เข้าทำงานด้วยสิทธิ root
      sudo su –
    2. ดาวน์โหลด shell script
      wget ftp.psu.ac.th/pub/psu-installer/psu12-fog_setup.sh
    3. เริ่มขั้นตอนติดตั้งด้วยคำสั่ง
      bash psu12-fog_setup.sh
      อ่านเพิ่มเติม

    References:

  • Grid infrastructure 18c ตอน 1

    รอบนี้จะมาติดตั้ง Oracle grid infrastructure 18c กัน

    สิ่งที่ต้องเตรียม

    • Vmware 2 เครื่อง โดยแต่ละเครื่องมีคุณสมบัติดังนี้ (ปรับลดตามความเหมาะสมได้)
      • 2 CPU 64 core
      • 128 GB Memory
      • HDD 2 ลูก
        • 300GB
        • 1TB
      • Shared Storage ครั้งนี้เลือกใช้ iSCSI 6 ลูกลูกละ 1TB
      • Network Card 3 ใบ
      • IP address โดย 4 IP วงเดียวกัน 3 IP สำหรับชื่อเรียกใน DNS วงเดียวกันกับ 4 IP แรก 2 IP คนละวง
        • rac1 1 IP สำหรับการ์ดใบแรก เป็น IP ประจำเครื่อง หรือเรียก Public IP (ens192)
        • rac2 1 IP สำหรับการ์ดใบแรก เป็น IP ประจำเครื่อง หรือเรียก Public IP (ens192)
        • rac1-vip 1 IP เป็น virtual IP ไม่ต้องใส่ในการ์ดแลน วงเดียวกันกับ IP ประจำเครื่อง เรียก Virtual IP
        • rac2-vip 1 IP เป็น virtual IP ไม่ต้องใส่ในการ์ดแลน วงเดียวกันกับ IP ประจำเครื่อง เรียก Virtual IP
        • rac-scan 3 IP ต้องจดชื่อนี้ใน DNS ด้วยโดยจดเป็น round robin วงเดียวกันกับ IP ประจำเครื่อง เรียก Scan name
        • rac1-priv 1 IP สำหรับการ์ดใบที่สอง เป็น IP สำหรับคุยกันเองใน cluster คนละวงกับ IP ประจำเครื่อง เรียก Private IP (ens224) วงเดียวกับ rac2-priv
        • rac2-priv 1 IP สำหรับการ์ดใบที่สอง เป็น IP สำหรับคุยกันเองใน cluster คนละวงกับ IP ประจำเครื่อง เรียก Private IP (ens224) วงเดียวกับ rac1-priv
        • rac1-storage 1 IP สำหรับเชื่อมต่อ iSCSI ติดต่อผู้ดูแล iSCSI (ens256)***
        • rac2-storage 1 IP สำหรับเชื่อมต่อ iSCSI ติดต่อผู้ดูแล iSCSI (ens256)***
    • Download Software
    • Oracle Enterprise Linux 7.9
      • เลือกติดตั้งดังรูปได้แก่
        • Date & Time เลือก Timezone ที่ถูกต้อง Asia/Bangkok
        • Keyboard English (US), Thai
        • Software Selection เลิอกเป็น Server with GUI
        • KDUMP เลือก Disabled
        • Security Policy เลือก ปิด เป็น No profile selectd
        • ตั้งค่า network ตามที่เขียนข้างบน
    • ขั้นตอนแบ่งดิสก์
    • เริ่มการจัดการ iSCSI ในขั้นตอนนี้
    Device Selection
    • กด Add a disk
    Add iSCSI
    • กด Add iSCSI Target…
    • ใส่ IP Address ของ iSCSI และ iSCSI Initiator Name ที่ได้จาก iSCSI Admin
    ADD iSCSI STORAGE TARGET
    • กด Start Discovery
    • ทำเครื่องหมายถูกหน้าดิสก์ที่ขึ้นมาทั้งหมด
    ADD iSCSI STORAGE TARGET
    • กด Log In จะได้
    Installation Destination
    • กดเลือกทั้งหมดแล้วกด Done จะได้
    INSTALLATION DESTINATION
    • เลือกเฉพาะ disk ขนาด 300GB และเลือก I will configure partitioning กด Done
    INSTALLATION DESTINATION
    • ตอนแบ่ง Partition เลือกเป็น LVM
      • /boot 1GB file
      • /boot/efi 200MB (default) เนื่องจากเลือก boot แบบ efi
      • / 282.8 GB file system ext4
      • swap 16GB
    Manual Portioning
    • กด Done ได้ดังรูป
    • กด Accept Changes
    • กด Begin Installation
    • ขั้นตอนสร้าง User สร้างตามรูป
    Configuration 
    • คลิก Advanced…
    • คลิกถูกในช่องสี่เหลี่ยมทั้งสองช่อง พิมพ์ 54321 ทั้งสองช่อง
    • ในช่อง Add user to the following groups: เปลี่ยนเป็นดังนี้
    wheel,oinstall(54321),oper(54322),dba(54323),backupdba(54324),dgdba(54325)
    ,kmdba(54326),asmdba(54327), asmoper(54328),asmadmin(54329),racdba(54330)
    • รอจนติดตั้งเสร็จ reboot ทำแบบเดียวกันที่ rac2
    • เริ่มการตั้งค่าที่ rac1
    • ล็อคอินด้วยผู้ใช้ oracle เปิด terminal แล้วพิมพ์คำสั่งต่อไปนี้ จะขึ้นให้ใส่ password ให้ใส่ password ของ oracle
    sudo -i
    • แก้ไขไฟล์ host ด้วยคำสั่ง
    vi /etc/hosts
    • แก้ไขให้อยู่ดังรูป
    <IP-address>  <fully-qualified-machine-name>  <machine-name>
    • ปิด selinux แก้ไขแฟ้ม /etc/selinux/config
    vi /etc/selinux/config
    • เปลี่ยน SELINUX=enforcing เป็น SELINUX=permissive
    • บันทึกแล้วออกมารันคำสั่ง
     setenforce Permissive
    • ปิด firewall ด้วยคำสั่ง
    systemctl stop firewalld
    systemctl disable firewalld
    • เปิดการทำงานของ NTP
    systemctl enable chronyd
    systemctl restart chronyd
    chronyc -a 'burst 4/4'
    chronyc -a makestep
    • ติดตั้งซอฟท์แวร์ที่จำเป็นสำหรับ Oracle 18c
    yum install oracle-database-preinstall-18c -y
    yum install binutils -y
    yum install compat-libstdc++-33 -y
    yum install compat-libstdc++-33.i686 -y
    yum install gcc -y
    yum install gcc-c++ -y
    yum install glibc -y
    yum install glibc.i686 -y
    yum install glibc-devel -y
    yum install glibc-devel.i686 -y
    yum install ksh -y
    yum install libgcc -y
    yum install libgcc.i686 -y
    yum install libstdc++ -y
    yum install libstdc++.i686 -y
    yum install libstdc++-devel -y
    yum install libstdc++-devel.i686 -y
    yum install libaio -y
    yum install libaio.i686 -y
    yum install libaio-devel -y
    yum install libaio-devel.i686 -y
    yum install libXext -y
    yum install libXext.i686 -y
    yum install libXtst -y
    yum install libXtst.i686 -y
    yum install libX11 -y
    yum install libX11.i686 -y
    yum install libXau -y
    yum install libXau.i686 -y
    yum install libxcb -y
    yum install libxcb.i686 -y
    yum install libXi -y
    yum install libXi.i686 -y
    yum install make -y
    yum install sysstat -y
    yum install unixODBC -y
    yum install unixODBC-devel -y
    yum install zlib-devel -y
    yum install zlib-devel.i686 -y
    • ปรับปรุงรุ่นของ software
    yum update -y
    • ยกเลิก virbr0 interface
    systemctl stop libvirtd.service
    systemctl disable libvirtd.service
    • จัดการกับ disk ลูก 1TB
    fdisk /dev/sdb
    • กด n แล้ว enter แล้วกด enter 4 ครั้ง
    • กด t แล้ว enter แล้วเลือก 31 กด enter
    • กด w enter
    • สร้าง sdb1 ให้เป็น LVM Physical volume
    pvcreate /dev/sdb1
    • สร้าง LVM volume group ชื่อ vg_u01
    vgcreate vg_u01 /dev/sdb1
    • สร้าง LVM logical volume group ชื่อ lv_u01 ใน volume group ที่ชื่อ vg_u01 โดยให้มีขนาดทั้งหมดที่มีอยู่ใน vg_u01
    lvcreate -n lv_u01 -l 100%FREE vg_u01
    • format LVM logical volume group lv_u01 เป็นแบบ ext4 มี Label ว่า u01
    mkfs.ext4 -L u01 /dev/vg_u01/lv_u01
    • สร้าง /u01
    mkdir /u01
    • แก้ไขแฟ้ม /etc/fstab เพิ่มบรรทัดต่อไปนี้ต่อท้าย
    LABEL=u01               /u01                    ext4    defaults        1 1
    • สั่งให้ mount /u01 ด้วยคำสั่ง
    mount -a
    • ตรวจสอบว่า mount ได้หรือไม่
    df -h
    • ได้ผลประมาณว่า
    • จบการจัดการ disk 1TB
    • ต่อมาสร้างโฟลเดอร์ ที่จำเป็นสำหรับ grid infrastructure และ oracle database
    mkdir -p /u01/app/18.0.0.0/grid
    mkdir -p /u01/app/oracle/product/18.0.0.0/db_1
    chown -R oracle:oinstall /u01/app
    chmod -R 775 /u01/app
    • พิมพ์ logout เพื่อออกจาก user root แล้วกลับเป็น user oracle
    • สร้างโฟลเดอร์ /home/oracle/scripts
    mkdir -p /home/oracle/scripts
    • สร้างแฟ้ม /home/oracle/scripts/setEnv.sh มีข้อความว่า โดย rac1.x.x.x คือชื่อเต็มของ rac1 หรือ rac2 ตามเครื่องที่ทำ ORACLE_SID ก็ต้องเป็น regist1 สำหรับ rac1 และ regist2 สำหรับ rac2
    cat > /home/oracle/scripts/setEnv.sh <<EOF
    # Oracle Settings
    export TMP=/tmp
    export TMPDIR=\$TMP
    export ORACLE_HOSTNAME=rac1.x.x.x  #เปลี่ยน   
    export ORACLE_UNQNAME=regist   #เปลี่ยน
    export ORACLE_BASE=/u01/app/oracle
    export GRID_HOME=/u01/app/18.0.0.0/grid
    export DB_HOME=\$ORACLE_BASE/product/18.0.0.0/db_1
    export ORACLE_HOME=\$DB_HOME
    export ORACLE_SID=regist1 #เปลี่ยน
    export ORACLE_TERM=xterm
    export BASE_PATH=/usr/sbin:\$PATH
    export PATH=\$ORACLE_HOME/bin:\$BASE_PATH
    export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib
    export CLASSPATH=\$ORACLE_HOME/JRE:\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib
    alias grid_env='. /home/oracle/scripts/grid_env'
    alias db_env='. /home/oracle/scripts/db_env'
    EOF
    • เพิ่ม script /home/oracle/scripts/setEnv.sh ให้ทำงานทุกครั้งที่ Login
    cat >> /home/oracle/.bashrc <<EOF
    . /home/oracle/scripts/setEnv.sh
    EOF
    • สร้างแฟ้ม /home/oracle/scripts/grid_env และแฟ้ม /home/oracle/scripts/db_env ด้วยคำสั่ง
    cat > /home/oracle/scripts/grid_env <<EOF
    export ORACLE_SID=+ASM1
    export ORACLE_HOME=\$GRID_HOME
    export PATH=\$ORACLE_HOME/bin:\$BASE_PATH
    export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib
    export CLASSPATH=\$ORACLE_HOME/JRE:\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib
    EOF
    
    cat > /home/oracle/scripts/db_env <<EOF
    export ORACLE_SID=regist1
    export ORACLE_HOME=\$DB_HOME
    export PATH=\$ORACLE_HOME/bin:\$BASE_PATH
    export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib
    export CLASSPATH=\$ORACLE_HOME/JRE:\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib
    EOF
    • reboot ด้วยคำสั่งต่อไปนี้ หากขึ้นให้ใส่ password ให้กรอก password ของ oracle
    sudo reboot
    • ทำซ้ำที่ rac2 อีกเครื่อง
    https://sysadmin.psu.ac.th/2021/01/18/grid-infrastructure-18c-2/

  • เรื่องเล่าจากการทำ ubuntu do-release-upgrade

    มี ubuntu server 18.04.5 ที่มี open source software ชื่อ fogproject เวอร์ชั่นที่ใช้คือ 1.5.8 ซึ่งใช้สำหรับการ cloning Windows ในห้องบริการคอมพิวเตอร์ บางคนคงได้ใช้งานอยู่ และก็มี freeradius 3.0 ติดตั้งไว้ด้วย

    อยากจะขยับ ubuntu server จาก 18.04.5 ไปเป็น 20.04 ก็เลยทำคำสั่ง do-release-upgrade ในเครื่องทดสอบ ทำจนเสร็จได้ ubuntu 20.04 สมใจ ในระหว่างขั้นตอนการทำ upgrade นั้นก็จะมีหน้าคำถามว่า จะใช้ไฟล์คอนฟิกของโปรแกรมที่ตรวจพบว่าเรามีการไปแก้ไขไว้ จะเลือกที่ใช้อยู่ปัจจุบัน หรือ จะใช้ของใหม่ตาม package ก็เลือกว่า ใช้ของที่ใช้อยู่ ซึ่งก็ค่อยมาแก้ไขว่า ของใหม่มีอะไรใหม่บ้าง ให้ดูเทียบกับ ไฟล์.dpkg-list

    ตอนนี้เราได้ ubuntu 20.04 แล้ว ลองตรวจสอบดูสิว่า fogproject กับ freeradius ใช้งานได้มั้ย เอาหละสิ fogproject รันไม่ขึ้น ลอง reinstall ด้วยคำสั่ง ./installfog.sh -y ก็เจอฟ้องว่า “Stopping web service failed ค้นหาใน google ก็พบคำตอบว่า fogproject รุ่น 1.5.8 ไม่รองรับ ubuntu 20.04 ซึ่งหากใครเจอปัญหาตอนที่ fogproject 1.5.9 ยังไม่ออกมาให้ใช้ –มีหนาวแน่นอน– เพราะมันจะรันไม่ได้เลย ตรงนี้น่ากังวลมาก ๆ และควรระวังมาก ๆ แต่บังเอิญว่า ตอนเวลานี้ fogproject รุ่น 1.5.9 ออกมาเพื่อแก้ปัญหาใช้กับ ubuntu 20.04 ได้แล้ว พร้อมให้ download แล้วที่เว็บไซต์

    จะมีปัญหาเกี่ยวกับ php ด้วย คือ มันจะไม่ได้ php7.4 โดยทันที ซึ่งเป็นรุ่นที่มาพร้อมกับ ubuntu 20.04 หากต้องการลงเพิ่มด้วยคำสั่ง apt install php7.4 อันนี้อยากบอกว่า ซอฟต์แวร์ของคุณอาจจะต้องใช้ php เวอร์ชั่นเก่า ก็ควรระมัดระวังด้วย

    หลังจากนั้นก็ไปเอา fogproject 1.5.9 มาติดตั้ง จะทำการติดตั้ง php7.4 ให้อัตโนมัติหากยังไม่มี php7.4 ซึ่งก็ทำให้ใช้งาน fogproject ได้ดังเดิม

    ต่อมาตรวจสอบ freeradius ก็พบว่ามีการเปลี่ยนเวอร์ชั่นขึ้นเล็กน้อยเช่นกัน และในขั้นตอน upgrade นั้น เราก็เลือกว่าจะใช้ไฟล์คอนฟิกที่เราแก้ไขไว้ ผลคือ ม้นไม่สร้าง symbolic link file ไปยังไดเรกทอรี /etc/freeradius/3.0/sites-enabled ซึ่งจะต้องมี 2 ไฟล์คือ defaults กับ inner-tunnel ซึ่งก็จะสร้างได้ด้วยคำสั่ง ln -s โดยเราต้องสร้างไดเรกทอรีนั้นขึ้นมาก่อน แล้ว cd เข้าไปในไดเรกทอรีนั้น แล้วใช้คำสั่ง ln -s ../sites-available/default default และ ln -s ../sites-available/inner-tunnel inner-tunnel

    ตอนนี้ก็ start service freeradius ได้แล้ว

    มาลองทดสอบ freeradius user ผ่าน webservice ก็เจอว่า SoapClient error เนื่องจากไม่มี php7.4-soap ก็ติดตั้งด้วยคำสั่ง apt install php7.4-soap ทดสอบอีกทีด้วย username กับ password ของมหาวิทยาลัย ใช้กับ freeradius ได้

    (มาเล่าต่อจากเมื่อวาน)

    พอจะใช้งาน PXE boot เอ้าเจอปัญหา Windows Client เปิดเครื่องขึ้นมาแล้ว Boot from network ติดต่อกับ server เราไม่ได้ เกิดอะไรขึ้น ก็ไปเช็คดู dhcp server ในเครื่องซิว่าทำงานมั้ย ด้วยคำสั่ง service isc-dhcp-server status ก็โอเค เช็คดู dnsmasq ที่ทำหน้าที่เป็น proxy dhcp ซิ ด้วยคำสั่ง service dnsmasq status มัน error ต้องออกแรงค้นหาอีกแล้ว ก็ไปเจอเรื่องแรก ตอนที่ทำ do-release-upgrade จะมีคำถามว่า ใน ubuntu 20.04 นี้ จะเปลี่ยนเวอร์ชั่นของ LXD ก็มีบรรทัด recommended ก็เลือกตามนั้น แล้วมันก็ส่งผลมามี symbolic link file ใน /etc/dnsmasq.d/lxd ซึ่งชี้ไปยังไฟล์ที่ไม่มีอยู่จริง แสดงว่ามีการเปลี่ยนแปลงอะไรสักอย่างแล้ว ก็ลบไฟล์ lxd นี้ออก ก็ยังรันไม่ได้ ก็กลับไปดูว่าใน server เวอร์ชันก่อนหน้าที่จะทำ do-release-upgrade นั้น ข้างในไฟล์ lxd เขียนไว้ว่าอย่างไร ก็พบว่ามี 2 บรรทัดคือ

    bind-interfaces
    except-interface=lxdbr0

    ผมก็สร้างไฟล์ชื่อ etc.conf ที่มี 2 บรรทัดนั้น แล้วก็ start dnsmasq ด้วยคำสั่ง service dnsmasq start ก็ผ่าน ใช้งานได้

    เล่นเอาเหนี่อย เพราะว่า options ชื่อ bind-interfaces ทำให้ dnsmasq ทำงานได้ปรกติ มันมาพร้อม lxd ใน ubuntu 18.04 นั่นเอง แต่ใน ubuntu 20.04 เหมือนว่า lxd จะเปลียนอะไรบางอย่าง จริง ๆ lxd เราก็ไม่ได้ใช้นะ ลบออกได้

    (จบส่วนที่มาเพิ่มในวันที่ 2)

    จะเห็นได้ว่า การทำ ubuntu do-release-upgrade นั่น อาจเจออะไรแบบที่เล่ามานี้ครับ ขอให้ระมัดระวังกันด้วยนะ

    สรุปว่าได้ ubuntu 20.04.1, fogproject1.5.9, php7.4, freeradius 3.0.20

    เพจที่บอกว่า fogproject 1.5.8 ไม่รองรับ ubuntu 20.04
    https://forums.fogproject.org/topic/14440/stopping-web-service-failed

    ขอบคุณครับ

  • แก้ปัญหาอัปโหลด Android App ไม่ผ่านเพราะเปลี่ยนคนอัปโหลด

    เคยไหมที่ฝากทีมอื่นที่เขามี account google play console อยู่แล้ว เพื่อฝากอัพเดทแอปที่เราเพิ่ม feature ใหม่ๆของแอปที่เราพัฒนา ตอนนั้นก็ได้ลองผิดลองถูกกันไปเรื่อยๆ เพราะว่าตอนที่เรา build app มันจะสร้าง signing key ในการอัปโหลดที่ผูกติดกับ user ดังนั้นเมื่อเปลี่ยน user ในการอัปโหลดก็ต้องอัปโหลด signing key ใหม่

    วันนี้จะมา KM การเปลี่ยน signing key เผื่อใครเคยเจอปัญหาเดียวกัน

    หน้าจอแสดงการอัปโหลด Android app ไม่ผ่าน เพราะ signing key ไม่ตรงกับ user เก่า

    โดยเข้าที่เมนู App signing เพื่อดูรายละเอียดเพิ่มเติม

    หน้าจอแสดงรายละเอียด signing key ที่สามารถอัปโหลดจะเห็นได้ว่า SHA ผูกติดกับ user เก่า ดังนั้นเพื่อแก้ปัญหานี้ เราต้อง Upload certificate ใหม่

    โดยที่เราต้องไปที่ project ของเราเพื่อดึงค่า key store ใหม่ โดยใช้คำสั่ง expo fetch android:keystore (คำสั่งขึ้นอยู่กับ project ว่าใช้ Tool อะไร ถ้าใช้ Expo ใช้คำสั่งนี้) ก็จะเห็นค่า Key password ที่เราตั้งไว้ (ขั้นตอนนี้จะได้ไฟล์ .jks)

    การสร้าง signing key ใหม่ โดยใช้คำสั่ง expo fetch android:upload-cer (ขั้นตอนนี้เราจะได้ไฟล์ .pem)

    จากนั้นเราเราก็ส่งข้อมูลไฟล์ .pem โดยคลิก https://support.google.com/googleplay/android-developer/contact/key อัปโหลดไฟล์ .pem ใหม่ จากนั้นก็รอ mail แจ้งกลับจาก Google play console เมื่อ approved เรียบร้อยแล้ว เราก็จะอัปโหลดแอปได้ตามปกติ

    ที่มา : https://support.google.com/googleplay/android-developer/answer/9842756

  • Word : การปรับรูปแบบ font สารบัญตามที่เราต้องการ

    กลับมาอีกครั้งกับเรื่อง Word สืบเนื่องมาจาก Blog ที่แล้วที่กล่าวถึงเรื่องการได้มีส่วนช่วยเพื่อนร่วมงานในการทำคู่มือ จึงได้มีโอกาสในการใช้งาน Word ซึ่งปัญหาที่พบอีกเรื่องก็คือ Font สารบัญ ไม่ใช่รูปแบบ Font ที่ต้องการคือ TH SarabunPSK ผู้เขียนจึงได้เขียนเรื่องนี้ขึ้นมาเพื่อที่ผู้อ่านจะสามารถนำไปใช้งานได้

    ตัวอย่าง ผู้เขียนได้ทำการสร้างเนื้อหาทดสอบ ใน Style Heading และใส่สารบัญเรียบร้อย ดังภาพ จะเห็นได้ว่า Font ในเนื้อหา เป็น TH SarabunPSK ตามที่ตั้งค่าใน Style Heading1 ไว้ตามที่ต้องการ แต่ส่วนสารบัญนั้นเป็น Font แปลก ๆ ไม่ใช่ Font ที่เราต้องการ

    เริ่มทำการเปลี่ยน Font โดยไปที่ที่เราเลือกสารบัญแบบอัตโนมัติมาใส่ คือไปที่ Menu References -> Table of Contents -> Custom Table of Contents…

    จะพบหน้าต่าง Modify Style ที่ส่วนล่างซ้าย เลือก Format -> Font

    ที่หน้าต่าง Table of Contents มุมล่างขวา เลือก Modify… เพื่อเข้าไปแก้ไขรูปแบบ Font

    จากนั้นหน้าต่าง Style เลือก Level สารบัญที่ต้องการแก้ไขรูปแบบ ในที่นี้เลือกแก้ไขสารบัญ Level 1 จากนั้นกดปุ่ม Modify

    เรื่องน่ารู้

    TOC ย่อมาจาก Table of Contents ซึ่งก็คือ สารบัญนั่นเอง

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

    แก้ไขให้เป็น Font ที่เราต้องการทั้ง 2 จุด คือ Latin Text และ Conplext scripts จากนั้น กดปุ่ม OK ออกมาเรื่อย ๆ

    กลับออกมาจนเกือบจะถึงขั้นตอนสุดท้าย จะมีหน้าต่างถามว่า จะเปลี่ยนจริง ๆ ละนะ จะทับของเดิมละนะ ตอบ Yes ไปเล้ย

    แถ่นแท๊นนน ผลลัพธ์สุดท้าย สวยงามอย่างที่เราต้องการ เย้!

    หวังว่าเนื้อหาเรื่องนี้คงจะมีประโยชน์ต่อผู้อ่านไม่มากก็น้อยนะคะ ขอบคุณค่าา 😀😍

  • Word : การใส่รูปแบบเลขหน้าที่ต่างกันในไฟล์เดียวกัน

    เคยไหมที่เวลาผู้อ่านจะสร้างคู่มือหรือเอกสารที่ต้องมีคำนำ สารบัญ ต่อด้วยเนื้อหา อาจจะจบด้วยภาคผนวก

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

    แต่ส่วนเนื้อหาใช้ตัวเลขอารบิค

    ในช่วงนี้ ผู้เขียนได้มีการช่วยเหลือเพื่อนร่วมงานในเรื่องนี้ในการทำคู่มือจึงได้นำลงมาใส่ไว้ใน Blog เผื่อเป็นประโยชน์แก่ท่านผู้อ่าน

    ตัวอย่าง ผู้เขียนสร้างเนื้อหามา 2 บรรทัดเพื่อเป็นเนื้อหาทดสอบในการใส่เลขหน้า

    จากนั้นทำการใส่ตัวแบ่งหน้า โดยเลือกเป็น Section Breaks -> Next Page

    จากนั้นใส่เลขหน้าเป็นเลขอารบิคปกติ เลขหน้าจะเริ่มที่หน้าที่ 1 และ 2 ไปเรื่อย ๆ

    จากนั้นผู้อ่านของดูที่แถบ Ribbon ใน Tab Header & Footer และพบเมนู Link to Previous ซึ่งจะเป็นว่าเมนูนี้ถูกไฮไลท์อยู่

    นั่นคือ เลขหน้าจะต่อเนื่องจาก Section ก่อนหน้า ให้เลือกเมนูนี้อีกครั้ง เพื่อเอาการ Link กับ Section ก่อนหน้าออก

    จากนั้นลบเลขหน้าที่หน้าที่ 2 ออก จากนั้นไปที่เมนู Page Number -> Format Page Number เพื่อทำการเลือกรูปแบบตัวเลขที่ต้องการใส่ใหม่ ในที่นี้ต้องการใส่เลขหน้าเป็นตัวอักษรภาษาไทย

    เมื่อพบหน้าต่าง Page Number Format ให้ทำการเลือกรูปแบบเลขหน้าที่ Number format จากนั้น ที่ Page numbering ในเลือกเป็น Start at โปรแกรม Word จะเลือกค่าโดยปริยายเป็น “ก” มาให้

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

    ผู้เขียนหวังว่าเนื้อหาเรื่องนี้จะเป็นประโยชน์ต่อผู้อ่านไม่มากก็น้อย ขอบคุณค่ะ 😀😍

  • รู้ยัง? สแกนเอกสารด้วย PC หรือ NoteBook ก็ได้นะ!!! (Office Lens ภาคต่อ)

    จากบทความที่แล้ว “เปลี่ยนมือถือ เป็นเครื่องสแกนเอกสารด้วย Office Lens”

    นอกจาก Office Lens จะมี Application ที่ใช้งานบน Moblie Device ต่าง ๆ บนระบบปฏิบัติการต่าง ๆ ได้แล้ว ยังสามารถทำงานบนเครื่องที่ลง Windows 10 ทั้ง PC และ Tablet โดยใช้งานร่วมกับเว็บแคมในการสแกนเอกสารที่ต้องการ ทั้งยัง สนับสนุนการใช้งานบัญชี Office 365 ของที่ทำงานหรือมหาวิทยาลัย

    ถึงแม้ว่าการใช้ Office Lens บนโทรศัพท์มือถือนั้นจะสะดวกสบายก็ตาม แต่ถ้าถึงคราวจำเป็นที่เรามีเพียง PC หรือ Note book เพียงเครื่องเดียวในการทำงาน ก็ไม่เป็นอุปสรรคในการสแกนภาพเอกสาร

    Office Lens มีการใช้งานคล้ายๆ กับ Mobile App Cam scanner แต่ใช้งานง่ายและหลากหลายกว่า รวมทั้งไม่จำกัดรูปแบบการแชร์

    Office Lens มีขั้นตอนการใช้งานบนเครื่อง PC หรือ Notebook ดังนี้

    1. เปิด Microsoft Store ดาวน์โหลด Office Lens App ลงที่เครื่องคอมพิวเตอร์ PC พร้อมติดตั้ง
    2. เปิด App Office Lens ตั้งค่ากล้องแสกนเนอร์
    3. จับภาพ และการครอบตัดรูปภาพ
    4. บันทึกภาพ สามารถเลือกเพื่อแปลงภาพเป็นไฟล์ Word (.docx), PowerPoint (.pptx) หรือ PDF (.pdf) ที่จะได้รับการบันทึกไปยัง OneDrive โดยอัตโนมัติ

    Office Lens ช่วยทำสำเนาดิจิทัลของเอกสารฉบับพิมพ์ ตัดแต่งได้อย่างแม่นยำ แม้จะวางเอกสารต้นฉบับเอียง
    และ ช่วยแก้ปัญหาการใช้งานเครื่องแสกนที่ติดตั้งไดร์เวอร์ภาษาอื่น ที่ไม่ใช่ภาษาไทยหรืออังกฤษ
    หากต้องการให้ได้ภาพที่คมชัดขึ้นควร “ตั้งค่า Resolution” ของภาพให้ความละเอียดมากขึ้นและ
    เวลาถ่ายภาพเอกสาร นอกจากใจนิ่ง ๆ ร่ม ๆ แล้ว “มือ ต้อง นิ่ง”นะคะ

    Download Office Lens on PC

    ขอบคุณ : Bblogdit : CCTC Tech Talk : คุยเฟื่องเรื่องเทคโนโลยีกับ สถช., www.microsoft.com,

  • เปลี่ยนมือถือ เป็นเครื่องสแกนเอกสารด้วย Office Lens

    เพียงแค่คุณมีมือถือ ก็สามารถสแกนเอกสารได้โดยไม่ต้องวิ่งหาเครื่องสแกนอีกต่อ!!!

    Office Lens เป็น Free Application จาก Microsoft Corporation สามารถใช้งานบน Mobile Device
    รองรับทั้งระบบ Windows Phone, Android และ iOS

    รูปหน้าจอสำหรับดาวน์โหลด Application Office Lens บน iOS และ Adriod

    การใช้งาน Office Lens
    ข้อดี ของตัวแอปพลิเคชันนี้คือไม่มี โฆษณา หรือ Ad โผล่ขึ้นมา ให้กวนใจเวลาใช้งานและใช้งานไม่ยาก
    สามารถแปลงรูปที่สแกนให้เป็นไฟล์เอกสาร Microsoft Office ได้ ไม่ว่าจะเป็น Word , PowerPoint,ไฟล์รูป .JPG หรือแม้แต่ .PDF ก็สามารถทำได้

    Office Lens มี 4 โหมดในการถ่าย คือ

    • Whiteboard : กระดาน Whiteboard
    • Document : หน้าเอกสาร,โปสเตอร์
    • Business Card : นามบัตร
    • Photo : ถ่ายรูปทั่วไป
      โดยมันจะปรับรูปภาพที่ถ่ายสแกนมาให้เหมาะสมกับชนิดของเอกสารที่สแกนมา

    Office Lens ขั้นตอนการใช้งานบน Mobile Device ดังนี้

    1. เปิด App Office Lens จับภาพ
    2. เลือกโหมดการถ่าย รอกรอบครอบตัดรูปภาพ กด “ถ่าย”
    3. ปรับแต่งภาพ ตามเครื่องมือที่ App จัดเตรียมไว้
    4. บันทึกภาพ สามารถเลือกการบันทึกเป็น OneNote, ไฟล์ JPG หรือบันทึกชุดไฟล์ภาพเป็น PDF
    รูปขั้นตอนการใช้งาน Office Lens บน Mobile Device

    รูปไฟล์ PDF ที่ได้จาก Application Office Lens

    Office Lens สามารถใช้แบบออฟไลน์ (Offline) ได้
    ผู้ใช้งานสามารถใช้ Office Lens ได้แม้ว่าจะไม่ได้เชื่อมต่ออินเทอร์เน็ตได้ โดยบันทึกไฟล์ JPG, PDF ลงเครื่อง โดยไม่ต้อง Login และไม่ต้องเชื่อมต่อกับ Internet
    เมื่อใช้ Office Lens บน iOS และ Android App ถ่ายภาพ แล้วแปลงเป็นเอกสาร สามารถเลือกบันทึกเอกสารที่อยู่ในรูปแบบไฟล์ JPG, PDF เข้าตัวอุปกรณ์โดยตรง ไม่ถูกจำกัดว่าจะต้องบันทึกเข้า OneDrive ที่ผู้ใช้งานต้อง Login Microsoft accont เชื่อมต่อ Internet จัดเก็บไว้ที่ OneDrive

    หวังว่าบทความนี้จะมีช่วยให้ทุกท่านสะดวกในการ จัดการเอกสารที่ต้องการได้ ไม่มากก็น้อยนะคะ

    ขอบคุณ : ครูหนึ่งสอนดี, THAIWERE