Category: Operating System

  • [บันทึกกันลืม] วิธีหาไฟล์ที่มีคำที่ต้องการ โดยแสดงเฉพาะ ชื่อไฟล์เท่านั้น

    โจทย์ ต้องการหาไฟล์ที่มีคำว่า text_pattern จากทุกไฟล์ในไดเรคทอรี่ /path/to/ ที่มีนามสกุล .ipynb แต่ต้องไม่มีคำว่า checkpoint ใน path หรือชื่อไฟล์

    find /path/to -name "*.ipynb" ! -name "*checkpoint*" -type f -print0 | while read -r -d '' i; do
        if grep -q "text_pattern" "$i"; then
             echo "$i"  # Output only the filename if the pattern is found
        fi;
    done
  • Mail merge ด้วย Excel Online และ Power Automate

    สิ่งที่ต้องมี

    1. เมล์มหาวิทยาลัยที่ใช้งานที่ http://email.psu.ac.th
    2. Browser เช่น Edge, Firefox ฯลฯ

    Optional

    1. Office 365 Desktop แต่บทความนี้จะไม่ใช้นะครับ

    เริ่มได้

    1. ล็อคอินเข้าระบบที่ http://email.psu.ac.th
    2. คลิกปุ่ม 9 จุดมุมบนซ้าย เลือก Excel คลิก Blank workbook
    1. คลิกที่คำว่า Book1 เพื่อเปลี่ยนชื่อไฟล์ และเลือกโฟลเดอร์บน Onedrive สำหรับเก็บไฟล์นี้ให้เรียบร้อย
    1. กรอกข้อมูลที่จะใช้ส่งอีเมล เช่น
    1. เลือกข้อมูลทั้งหมดตั้งแต่ A1 ถึง B3 แล้วคลิกที่ Insert เลือก Table และคลิกที่ My table has headers แล้วคลิก OK
    1. ได้ดังภาพ
    1. จากนั้นคลิกที่ Automate แล้วคลิกที่ Automate Work
    1. ได้ดังภาพ
    1. ให้เลื่อนช่องด้านขวาลงมาล่างสุดจนเห็นคำว่า See all templates
    1. คลิก See all templates จะได้หน้าต่างใหม่ดังภาพ
    1. พิมพ์ต่อท้ายคำว่า Excel ว่า send แล้วกดปุ่ม enter บนคีย์บอร์ดจะเจอ Send an email for a selected row ให้คลิกที่ช่องนั้นได้เลย
    1. จะได้หน้าตาประมาณนี้
    1. คลิก Continue จะได้
    1. ในส่วนของ For a selected row เลือกข้อมูลให้ถูกต้องดังนี้ ซึ่งในบทความนี้จะเซฟไฟล์ไว้ใน OneDrive เลยดังนั้นเลือกเป็นดังภาพ ช่อง Table สำคัญมากคือ Table1
    1. ในส่วนของ Send an email ในช่อง To ให้ลบของเก่าออกแล้วเลือกชื่อฟิลด์ email ของเราที่กรอกเตรียมไว้แล้วใน excel
    1. Subject พิมพ์ตามต้องการ และ Body ก็จะเป็นเนื้อหาที่ต้องการส่งให้ผู้รับอ่านสามารถกรอกได้เลย สามารถเลือกฟิลด์ต่าง ๆ ใน excel มาใช้งานได้
    1. เมื่อเสร็จสิ้นแล้วกด Save
    2. กลับมาที่ excel กดปุ่ม Automate Work อีกครั้ง จะเห็นว่าหัวข้อเพิ่มขึ้นมาคือ Flows in this workbook
    1. ให้เลือกแถวที่ต้องการส่งอีเมล (A2-A3) แล้วไปคลิกที่จุดสามจุดหลังชื่อ Flows ดังภาพ
    1. คลิก Run
    1. คลิก Run flow จะได้ดังภาพ เมล์จะถูกส่งไปเรียบร้อย คลิก Done เพื่อจบการทำงาน
    1. เมื่ออีเมลถูกส่งไปค่าต่างๆ ในไฟล์ excel และเราได้ใส่ในเนื้อเมล์จะถูกแทนที่ให้อัตโนมัติ
    1. จบขอให้สนุก
  • Hard links and junctions

    ntfs file system

    • NTFS สนับสนุนการ file links 3 แบบ
      • Hard links
      • Junctions
      • Symbolic
    • เราจะพูดถึง Hard links และ Junctions

    Hard links

    • ใช้แสดงถึงไฟล์เดียวกัน ในไดรฟ์เดียวกัน (same volume) ที่อยู่หลายโฟลเดอร์ (path)
    • แก้ไขไฟล์เดียวกันนี้ที่ใดที่หนึ่งก็จะเปลี่ยนแปลงทุกที่
    • ตัวอย่างที่ทำได้
    C:\dira\ethel.txt ชี้ไปที่ C:\dirb\dirc\lucy.txt
    
    D:\dir1\tinker.txt ชี้ไปที่ D:\dir2\dirx\bell.txt
    C:\diry\bob.bak ชี้ไปที่ to C:\dir2\mina.txt
    C:\a\1.txt ชี้ไปที่ C:\a\11.txt
    • ตัวอย่างที่ทำไม่ได้
    C:\dira ชี้ไปที่ to C:\dirb #โฟลเดอร์ทำ Hard link ไม่ได้
    C:\dira\ethel.txt ชี้ไปที่ to D:\dirb\lucy.txt #ชี้ไฟล์ที่อยู่คนละไดรฟ์ไม่ได้
    • สามารถลบไฟล์ใดไฟล์หนึ่งที่ชี้ไปก็ได้ โดยที่เนื้อหาข้างในจะยังคงอยู่ในไฟล์ที่เหลืออยู่

    วิธีสร้าง Hard links

    • ต้องใช้ cmd บน Windows 11 หรือ cmd ของ administrator บน Windows 10
    mklink /H ปลายทาง ต้นทาง
    • ตัวอย่างเช่น ต้องการทำ Hard link ชื่อ cadabra.txt ในโฟลเดอร์ dirb ชี้ไปที่ไฟล์ adabra.tx ในโฟลเดอร์ dira
    mklink /H c:\dirb\cadabra.txt c:\dira\adabra.txt
    • ดังภาพ

    Junction

    • เรียกอีกอย่างว่า Soft links ต่างจาก Hard links ตรงที่ใช้เชื่อมโยงโฟลเดอร์ ภายในเครื่องคอมพิวเตอร์เครื่องเดียวกัน
    • ตัวอย่างที่เป็นไปได้
    C:\dira ชี้ไปที่ C:\dirb\dirc
    
    C:\dirx ชี้ไปที่ D:\diry
    • ตัวอย่างที่เป็นไม่ได้
    C:\dira\one.txt ชี้ไปที่ C:\dirb\two.txt #ใช้ Junction กับไฟล์ไม่ได้
    
    C:\dir1 ชี้ไปที่ Z:\dir2 
    #ไดรฟ์ Z โดยทั่วไปหมายถึงเน็ตเวิร์คไดรฟ์ ต้องเป็นโฟลเดอร์ในเครื่องคอมพิวเตอร์เครื่องเดียวกัน

    วิธีสร้าง Junction

    • เหมือนที่ผ่านมาต้องทำใน cmd บน Windows 11 หรือ cmd ของ administrator บน Windows 10
    mklink /J ปลายทาง ต้นทาง
    • ตัวอย่างต้องการสร้าง c:\dirx ชี้ไปที่ c:\dira\dirc
    • ดังภาพ สังเกตว่าตรง dirx จะเห็นเป็น <JUNCTION>
    • การลบ junction สามารถลบได้เลยโดยที่ต้นทางจะไม่ถูกลบด้วย
  • เปลี่ยน iPad เป็นหน้าจอเสริมไร้สายสำหรับ PC/Notebook (Windows)

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

    แล้วถ้าเราสามารถเอา iPad มาใช้ประโยชน์เพิ่มเป็นจอเสริมพกพา เชื่อมต่อแบบไร้สาย มีแบตเตอรี่ในตัวใช้งานได้สบายๆ หลายชม.แบบไม่ต้องเสียบสายชาร์จ แถมยังใช้ความสามารถขอจอทัชสกรีน apple pencil ได้ น่าจะใช้งานได้คุ้มค่ามากยิ่งขึ้น

    ถ้าทำงานในฝั่งของ Mac OS สามารถใช้งาน iPad เป็นจอเสริมได้ทันทีโดยไม่ต้องติดตั้งโปรแกรมเพิ่มเติม แต่ถ้าฝั่งของ Windows เราจำเป็นต้องติดตั้งโปรแกรมเพิ่มเติม(Freeware) ที่ชื่อว่า “ Spacedesk “ โดยจะต้องติดตั้งทั้งใน Notebook และ iPad

    Download Spacedesk : https://www.spacedesk.net/

    โปรแกรมรองรับการใช้งานบน Windows 8.1/10/11

    Notebook/PC

    เมื่อทำการติดตั้งโปรแกรมบน Windows แล้วให้เปิดโปรแกรม Spacedesk จากช่อง Search หรือจาก Taskbar ก็ได้

    ให้ตรวจสอบ IP ที่ Notebook ทำการเชื่อมต่อ WIFI (เนื่องจากทั้ง Notebook และ iPad ต้องเชื่อมต่ออยู่บนเครือข่ายเดียวกัน)

    iPad/Tablet

    เมื่อติดตั้ง Spacedesk บน iPad แล้วให้กดเพิ่ม IP ของ Notebook ตามรูป

    เมื่อตรวจสอบที่โปรแกรมฝั่ง Notebook จะแสดงสถานะการเชื่อมต่อดังรูป

    และข้อดีอีกอย่างของการใช้งาน iPad เป็นจอเสริมคือคือการใช้ความสามารถของการ Touch Screen และ Apple Pencil บน Windows ได้

  • Install from scratch – licensing (1)

    ติดตั้งปรับแต่ง Ubuntu 22.04 เพื่อเตรียมสำหรับติดตั้ง WordPress บน apache2 และติดตั้ง WordPress

    Host setting
    1. เครื่อง Server มี 2 ชื่อ A record เป็น server-name1.psu.ac.th Cname เป็น server-name.psu.ac.th
    2. ติดตั้ง Ubuntu 22.04 ข้ามเรื่องการติดตั้ง Ubuntu ไปนะครับ
    3. จะได้ username: group ที่สามารถเรียกใช้ sudo ได้ตั้งแต่เริ่มต้นตามที่ติดตั้ง
    4. sudo apt update && sudo apt dist-upgrade -y && sudo apt autopurge -y เพื่อปรับปรุง software ต่าง ๆ ให้เป็นรุ่นปัจจุบัน
    5. sudo reboot ในกรณีที่มี kernel ใหม่ต้องรีบูตเพื่อเปลี่ยน kernel
    6. sudo apt install mysql-server apache2 php libapache2-mod-php php-mysql php-gd php-imagick php-xml php-curl php-mbstring php-intl php-zip unzip php-apcu
    7. sudo a2enmod ssl rewrite headers
    8. เปลี่ยนเป็น user root ด้วยคำสั่ง sudo -i
    9. cd /etc/ssl/private
    10. cp /home/username/certificate/* . (ต้องได้รับไฟล์ certificate มาเรียบร้อยแล้วนะครับ ขอข้ามไปเรื่องการจัดเตรียมไฟล์ certificate) ในตัวอย่างนี้จะมีไฟล์เดียวคือ star.psu.ac.th-combined.crt
    11. openssl dhparam -out /etc/ssl/private/dhparams_4096.pem
    12. /etc/apache2/sites-available
    13. vi default-ssl.conf
    <IfModule mod_ssl.c>
    SSLUseStapling On
    SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"
    <VirtualHost _default_:443>
    ServerAdmin someone@somedomain.com
    ServerName server-name1.psu.ac.th

    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    SSLEngine on

    SSLCertificateFile /etc/ssl/private/star.psu.ac.th-combined.crt

    SSLOpenSSLConfCmd DHParameters "/etc/ssl/private/dhparam.pem"
    SSLOpenSSLConfCmd ECDHParameters brainpoolP512r1
    SSLOpenSSLConfCmd Curves brainpoolP512r1:sect571r1:secp521r1:secp384r1

    #A+
    SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
    SSLHonorCipherOrder on
    SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS
    SSLCompression off
    #Header add Strict-Transport-Security "max-age=15768000;includeSubDomains"
    Header always set Strict-Transport-Security "max-age=63072000"

    <FilesMatch "\.(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory /usr/lib/cgi-bin>
    SSLOptions +StdEnvVars
    </Directory>

    </VirtualHost>
    </IfModule>
    1. vi licensing.conf
    <virtualHost *:80>
        Documentroot /var/www/html/lsc
        ServerName server-name.psu.ac.th
        ErrorLog ${APACHE_LOG_DIR}/licensing_error_log
        CustomLog ${APACHE_LOG_DIR}/licensing_access_log common
        Options -Indexes
        RewriteEngine On
        RewriteRule (.*) https://server-name.psu.ac.th
        RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) [NC]
        RewriteRule ^.* - [F]
    </virtualhost>
    1. vi licensing-ssl.conf
    <IfModule mod_ssl.c>
    SSLUseStapling On
    SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"
            <VirtualHost *:443>
                    ServerAdmin someone@somedomain.com
                    ServerName server-name.psu.ac.th
                    DocumentRoot /var/www/html/lsc

                    LogLevel info
                    ErrorLog ${APACHE_LOG_DIR}/lsc-ssl-error.log
                    CustomLog ${APACHE_LOG_DIR}/lsc-ssl-access.log combined

                   SSLEngine on

                    SSLOpenSSLConfCmd DHParameters "/etc/ssl/private/dhparams_4096.pem"
                    SSLOpenSSLConfCmd ECDHParameters brainpoolP512r1
    SSLOpenSSLConfCmd Curves brainpoolP512r1:sect571r1:secp521r1:secp384r1

                    SSLCertificateFile /etc/ssl/private/star.psu.ac.th-combined.crt

    #A+
    SSLProtocol all -SSLv2 -SSLv3
    SSLHonorCipherOrder on
    SSLCipherSuite TLSv1.3 TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384
    SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS
    SSLCompression off
    Header always set Strict-Transport-Security "max-age=63072000"

                    RewriteEngine on
                    RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) [NC]
                    RewriteRule ^.* - [F]

                    Options -Indexes

                    <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                    SSLOptions +StdEnvVars
                    </FilesMatch>

                    <Directory /var/www/html/lsc>
                            Options FollowSymLinks
                            AllowOverride All
                    </Directory>

                    <Directory /usr/lib/cgi-bin>
                                    SSLOptions +StdEnvVars
                    </Directory>
            </VirtualHost>
    </IfModule>
    1. a2ensite licensing.conf licensing-ssl.conf default-ssl.conf
    2. a2enmod headers
    3. systemctl restart apache2
    4. mysql
    CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
    create database licensing;
    GRANT ALL PRIVILEGES ON licensing.* TO 'username'@'localhost' WITH GRANT OPTION;
    quit
    1. cd /var/www/html
    2. wget https://wordpress.org/latest.zip
    3. unzip latest.zip
    4. rm latest.zip
    5. mv wordpress lsc
    6. chmod -R username:www-data .
    7. cd lsc
    8. chmod g+w .
    9. logout
    10. จบส่วนการตั้งค่า Host เพื่อเตรียมติดตั้ง WordPress
    11. เปิด browser ไปที่เว็บ http://licensing.psu.ac.th ซึ่งจะถูก redirect ไปที่ https://licensing.psu.ac.th โดยอัตโนมัติ
    12. กรอกข้อมูลสำหรับเชื่อมต่อให้เรียบร้อย และติดตั้ง wordpress ให้เรียบร้อย
    13. กลับมาที่ console หรือ terminal
    14. cd /var/www/html/lsc
    15. chmod og-w .
    16. sudo chown username:www-data .htaccess wp-config.php
    17. chmod og-w .htacess wp-config.php
    18. vi wp-config.php เพิ่มข้อความว่า
    /** Direct install plugin **/
    define('FS_METHOD', 'direct');
    1. cd /var/www/html/lsc/wp-content
    2. mkdir uploads upgrade languages
    3. sudo chown -R username:www-data uploads upgrade languages themes plugins
    4. chmod -R g+w uploads upgrade languages themes plugins เพื่อให้สามารถติดตั้ง plugin theme และ upload ไฟล์ขึ้นเว็บได้ เมื่อติดตั้ง themes และ plugins ได้จนพอใจแล้วสั่งคำสั่งต่อไปนี้ chmod -R g-w upgrades languages themes plugins
    5. จบส่วนติดตั้ง WordPress
  • วิธีการติดตั้ง Chat GPT บน Windows

    ChatGPT คืออะไร มาจากไหน

    ChatGPT คือโปรแกรม AI ประเภทแชทบอท (Chatbot) หรือที่เข้าใจง่ายๆ ก็คือโปรแกรมโต้ตอบที่มีการผสมผสานเทคโนโลยี AI เข้าไปด้วย ซึ่งเจ้า ChatGPT นั้นถูกพัฒนาโดยองค์กร OpenAI ที่เคยฝากผลงาน AI เจ๋งๆ มาแล้วทั้ง DALL-E จิตรกร AI ที่เคยสร้างกระแส AI Art ในช่วงแรกๆ และ OpenAI Five เกมมิ่งบอทของ DOTA 2 ที่เคยล้มโปรเพลเยอร์ระดับโลกมานับไม่ถ้วน โดย ChatGPT คือผลงานชิ้นล่าสุดที่เปิดตัวไปเมื่อปลายปี 2022 นี้เอง ซึ่งเป้าหมายหลักของ ChatGPT นั้นคือการเป็นโปรแกรมแซตบอทที่เป็นมิตร เข้าถึงได้ และตอบโจทย์การทำงานของมนุษย์ให้มากที่สุด

    ChatGPT ใช้ทำอะไรได้บ้าง

    ถ้าให้นึกถึงโปรแกรมแชทบอทที่หลายๆ คนพอนึกภาพออกนั้น ก็คงจะไม่พ้น Simsimi แชทบอทที่เคยฮิตฮอตในบ้านเราเมื่อหลายสิบปีก่อน แล้วลองจินตนาการว่า Simsimi ผสมกับ Google แล้วจะออกมาเป็นอะไร นั่นแหละคือสิ่งที่ใกล้เคียงกับ ChatGPT มากที่สุด เพราะความเจ๋งของ ChatGPT นั้นไม่ใช้ความสามารถในการโต้ตอบประโยคพูดคุยทั่วๆ ไป แต่ความสามารถที่แท้จริงของ ChatGPT คือการตอบคำถามที่ซับซ้อนกว่านั้นหลายเท่า อย่างเช่นการสั่งให้เขียนบทความทั้งชิ้นขึ้นมา เขียนคำสั่งสำหรับงานโปรแกรมมิ่ง หาบัคในโค้ดโปรแกรม หาคำตอบให้กับการบ้านที่เรากำลังทำอยู่ การสรุปข้อมูลยากๆ เหล่านี้ให้กลายเป็นคำตอบที่เข้าใจได้ง่าย ใช้ภาษาที่มีความเป็นมิตร เสมือนกับมีมนุษย์ตัวเป็นมานั่งตอบคำถามอยู่ตรงหน้าเลยทีเดียว แถมยังใช้เวลาโต้ตอบเพียงมีกี่วินาทีเท่านั้น และด้วยความสามารถเหล่านี้เองที่ทำให้ ChatGPT นั้นกลายเป็นกระแสไวรัลในปัจจุบัน

    วิธีการติดตั้ง Chat GPT บน Windows

    1. ดาวน์โหลดโปรแกรม ChatGPT_0.11.0_windows_x86_64.msi 

    2. เป็น command line ด้วยการกด Windows+R หรือไปที่ช่อง Search แล้วพิมพ์ cmd 

    3. เปิด Directory อยู่ที่โปรแกรม ด้วยคำสั่ง

        cd %HOMEPATH%/Downloads

    4. ใช้คำสั่งในการติดตั้งโปรแกรม  โดยใช้คำสั่ง

          # install the latest version
          winget install –id=lencx.ChatGPT -e

                                หรือ

           # install the specified version
           winget install –id=lencx.ChatGPT -e –version 0.10.0

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

    อ้างอิง : https://github.com/lencx/ChatGPT

  • Ubuntu OVAL

    เครื่องมือตรวจสอบช่องโหว่สำหรับอูบุนตู

    เพิ่มเติม สำหรับ Ubuntu 24.04 10Jun2024

    เมื่อได้รับทราบข้อมูลช่องโหว่ของลีนุกซ์อูบุนตูที่ดูแลอยู่จากเว็บไซต์ให้บริการตรวจสอบช่องโหว่ในระบบได้ฟรีๆ ไม่มีค่าใช้จ่าย เช่น https://www.shodan.io/ ซึ่งบริการฟรี สถานะ Last Seen แสดงวันที่ Shodan แวะเวียนมาตรวจสอบให้ล่าสุด
    จึงเกิดคำถามว่า ถ้าเราได้อัพเดตส่วนประกอบพื้นฐานต่างๆ ที่ Ubuntu มีมาให้ด้วยคำสั่ง
    sudo apt update
    sudo apt dist-upgrade
    แล้วจะรู้ได้อย่างไรว่า ช่องโหว่ต่างๆ ได้ถูกปิดให้ปลอดภัยขึ้นแล้วตามคำแนะนำของ Ubuntu ที่มีประกาศข่าวเรื่องความปลอดภัยเกี่ยวกับอูบุนตูไว้ที่ https://ubuntu.com/security/notices

    อูบุนตูมี Ubuntu OVAL (Open Vulnerability and Assessment Language) ไว้ให้ใช้ตรวจสอบช่องโหว่ ซึ่งใช้โปรแกรมชื่อ OpenSCAP เพื่อทำรายงานช่องโหว่ให้ดูได้เอง ตามขั้นตอนต่อไปนี้

    1. Login เข้าไปที่เครื่องอูบุนตูที่ใช้อินเทอร์เน็ตได้
    2. Download ด้วยการใช้คำสั่ง
    wget https://security-metadata.canonical.com/oval/com.ubuntu.$(lsb_release -cs).usn.oval.xml.bz2

    หรือเลือก Download ให้ตรง Ubuntu Version จากตัวเลือกที่
    https://security-metadata.canonical.com/oval/
    โดยให้เลือกแบบ CVE เพื่อจะได้เปรียบเทียบรายการช่องโหว่กับรายงาน Nessus ที่แสดงด้วย CVE เช่นกัน
    1. คลายไฟล์ที่ถูกบีบอัดลดขนาดที่ Download มาได้ ด้วยการใช้คำสั่ง
    bunzip2 com.ubuntu.$(lsb_release -cs).usn.oval.xml.bz2
    1. ใช้โปรแกรม OpenSCAP เพื่ออ่านเงื่อนไขการตรวจสอบช่องโหว่ต่างๆ บนเครื่อง และสร้างไฟล์รายงานผลชื่อ report.html ด้วยการใช้คำสั่ง
    oscap oval eval --report report.html com.ubuntu.$(lsb_release -cs).usn.oval.xml
    1. เพิ่มเติม จากคุณ เกรียงไกร 15Feb2023 => บางเครื่องต้องติดตั้ง libopenscap8 ก่อนด้วยคำสั่ง sudo apt install libopenscap8 ไม่งั้นใช้ oscap ไม่ได้
    2. เพิ่มเติม สำหรับ Ubuntu 24.04 10Jun2024 => ต้องติดตั้ง openscap-scanner ด้วยคำสั่ง sudo apt install openscap-scanner ไม่งั้นใช้ oscap ไม่ได้
    3. ใช้โปรแกรม เว็บบราวเซอร์ เพื่อเปิดอ่านไฟล์รายงานผลชื่อ report.html

    ตัวอย่างการใช้งานจริงกับเครื่องบริการทดสอบความเร็วอินเทอร์เน็ต Ookla Server ซึ่งใช้เป็นตัวอย่างแสดง

    1. Ubuntu Server 20.04 5.4.0-121#137 15Jun2022 ก่อนจะใช้คำสั่ง sudo apt dist-upgrade เพื่อปรับปรุงความปลอดภัย
      ในรายงานแสดงจำนวน 14 #X ที่ยังมีช่องโหว่ พร้อมด้วยรายการช่องโหว่หมายเลข USN และ CVE ต่างๆ โดยละเอียดตามรูป
    2. Ubuntu Server 20.04 5.4.0-137#154 5Jan2023 เมื่อได้ใช้คำสั่ง sudo apt dist-upgrade ปรับปรุงความปลอดภัยและรีบูทเครื่องแล้ว
      ในรายงานแสดงจำนวน 2 #X ที่ยังมีช่องโหว่ พร้อมด้วยรายการช่องโหว่หมายเลข USN และ CVE ต่างๆ โดยละเอียดตามรูป
    3. เนื่องจากส่วนการปรับปรุงความปลอดภัยอีก 2 รายการที่ยังเหลืออยู่นั้นทาง Ubuntu จะมีบริการให้เฉพาะกับสมาชิก Ubuntu Pro https://ubuntu.com/pro เท่านั้น (จะเขียนคำแนะนำเพิ่มให้ครับ)
      ซึ่งหลังจากทำตามขั้นตอนใส่ คีย์ ของ Ubuntu Pro ลงบน เครื่องอูบุนตูของเราเรียบร้อย และอัพเดตความปลอดภัยเพิ่มจากสิทธิ์ Ubuntu Pro ในรายงาน OVAL จะได้รับการอัพเดตปิดกั้นช่องโหว่อย่างครบถ้วน ตามรูป
    4. ถึงแม้ว่าวันนี้ อูบุนตู ของท่านจะได้รับการอัพเดตล่าสุดแล้ว แต่ด้วยภัยคุกคามทางไซเบอร์มีการเปลี่ยนแปลงอยู่เสมอ ก็อย่าลืมติดตามอ่านข่าวสารเกี่ยวกับความปลอดภัยไซเบอร์ และหมั่นปรับปรุง อัพเดต อยู่เป็นประจำครับ
  • สร้าง chart ง่ายสุด ๆ ด้วย Power Point

    ตามหัวข้อเลยค่ะ อาจจะเป็นเรื่องที่ง่าย ๆ ที่บางคนรู้แล้ว แต่บางคนก็ยังไม่รู้ (รึปล่าว😁) เข้าเรื่องกันดีกว่าค่ะ👌 ปกติเราอาจจะใช้ word หรือลาก box ข้อความมา แต่วันนี้เราจะมาใช้ power point ทำแผนผังองค์กร หรือ chart อะไรก็ได้ ใช้เวลานิดเดียวและง่ายสุด ๆ เลยค่ะ สมมุติเรามีรายชื่อคนในองค์กร ตามตัวอย่าง

    จากนั้นจัดลำดับการเป็นหัวหน้าและลูกน้อง โดยใช้ปุ่ม Increase List Level

    หมายถึงรายชื่อที่เลือกเป็นลูกน้องของ ใบเฟิร์น สามารถเลือกรายชื่อที่ต้องการและคลิกปุ่ม Decrease List Level หรือ crease List Level เพื่อปรับลำดับตามต้องการ ดังรูป

    จากนั้นไปที่ Home –> Convert to SmartArt –> More SmartArt Graphics –> Hierarchy อยากได้ตัวไหนก็เลือกได้เลยค่ะ

    ก็จะได้ผังองค์กรทันทีเลย

    จากนั้นก็สามารถแก้ไข ปรับแต่งได้ คลิกเลือกที่รูปแล้วเลือกไฟล์รูปเพื่อปรับแต่ง คลิกที่ชื่อเพื่อปรับสี ขนาดตัวอักษรได้ ที่ “SmartArt Design” เราสามารถเลือกเปลี่ยน theme สีได้ที่ “Change Colors” แต่หากต้องการปรับแต่งเองให้คลิกที่ “Convert to Shapes” แต่ข้อควรระวังถ้าเลือก “Convert to Shapes” แล้วจะแก้กลับไม่ได้แล้วนะ แค่นี้เองค่ะ ง่ายมากเลยใช่มั๊ยหล่ะ😉 อ่านมาถึงแล้วก็ขอขอบคุณทุกกำลังใจ😍นะคะ

  • วิธีใช้ Power Query ดึงข้อมูลจาก PSU Web API

    PSU Web API เป็นเว็บที่ให้บริการข้อมูลในรูปแบบ JSON ทุกท่านที่มี PSU Passport สามารถสมัครเพื่อขอใช้บริการได้ที่เว็บไซต์ api.psu.ac.th โดยปัจจุบันข้อมูลที่เปิดให้บริการแล้วคือ ข้อมูลส่วนกลาง ข้อมูลระบบสารสนเทศนักศึกษา และข้อมูลระบบสารสนเทศบุคลากร สำหรับทุกท่านที่สนใจใช้บริการข้อมูลสามารถศึกษาวิธีการได้จากคู่มือของระบบค่ะ

    วันนี้จะขอนำเสนอวิธีการดึงข้อมูลจาก PSU Web API ที่ให้บริการออกมาเป็นรูปแบบตารางด้วย Power Query ใน Microsoft Excel 365 กันค่ะ ซึ่งการดึงข้อมูลด้วย Power Query นี้น่าจะเหมาะสำหรับคนที่ไม่ถนัดในการเขียนโปรแกรมเพื่อดึงข้อมูลมาใช้งานกันค่ะ

    STEP 1 : เชื่อมต่อกับแหล่งข้อมูล PSU Web API

    • คลิกเมนู Data –> Get Data –> From Other Sources –> From Web
    • ตัวอย่าง แสดงการดึงข้อมูลชื่อปริญญาที่ให้บริการจากระบบ PSU Web API
    • ป้อน URL ตามรูปแบบที่กำหนด ศึกษาได้จากคู่มือการใช้งานของระบบ (ตามตัวอย่างให้แสดงข้อมูล 100 รายการ)
    • คลิกปุ่ม OK

    STEP 2 : ตั้งค่า Power Query Editor

    • ระบบแสดงผลลัพธ์ข้อมูล 2 ส่วน คือส่วน paging ลักษณะข้อมูลเป็น Record และส่วนของ data ซึ่งจะมีลักษณะข้อมูลเป็น List ซึ่งภายใน List จะมี Record ซ้อนอยู่ข้างในอีกที
    • ตั้งชื่อ Query Name : Degree
    • คลิก Convert Into Table เพื่อแปลงผลลัพธ์ 2 ส่วนออกมาเป็นตาราง

    STEP 3 : ทำการ Transpose และแตก List ข้อมูล

    • คลิกเมนู Transpose –> Reverse Rows เพื่อสลับให้ paging เป็น First Row
    • คลิก Use First Row as Header เพื่อเตรียมแตก List ในคอลัมน์ data ออกมา
    • คลิกปุ่ม Expand ที่หัวตารางของคอลัมน์ Column2 แล้วคลิก Expand to New Rows เราก็จะได้ Record ออกมาในแต่ละบรรทัด
    • คลิกปุ่ม Expand ที่หัวตารางของคอลัมน์ Column2 อีกครั้ง
    • สามารถคลิกเลือกหรือไม่เลือกคอลัมน์ที่ต้องการหรือไม่ต้องการได้
    • คลิกไม่เลือก Use original column name as prefix
    • คลิกปุ่ม OK ระบบแสดงข้อมูลจำนวน 100 รายการตามที่กำหนดจาก PSU Web API
    • คลิกเมนู Home –> Close & Load เพื่อเสร็จสิ้น

    STEP 4 : Power Query ดึงข้อมูลจาก PSU Web API มาแสดงเป็นตารางเรียบร้อยแล้วค่ะ

    ^_^ หวังว่าโพสนี้จะเป็นประโยชน์ต่อผู้อ่านไม่มากก็น้อยนะคะ แล้วพบกันใหม่ค่ะ