Category Archive Linux

Byphunsanit

Linux: แก้ขนาด Swap!

โดยปกติตัว swap จะกั้นพื้นที่ไว้ 1 GB แต่ถ้าหากใช้จริง ๆ แล้วเจอว่าพื้นที่ที่จองเอาไว้มีไม่พอหรือจับจองไว้มากเกินไป ก็สามารถเปลี่ยนพื้นที่ได้เหมือน Virtual Memory ใน windows เรียกว่า

  1. ปิดการใช้ swap ก่อนโดยคำสั่ง
    sudo swapoff -a
  2. เปลี่ยนขนาดพื้นที่โดยคำสั่ง
    fallocate -l 5G /swapfile
    เปลี่ยน 5G เป็นขนาดที่ต้องการ
  3. ทำให้ไฟล์เป็น swap space โดยคำสั่ง
    sudo mkswap /swapfile
  4. ทำให้ไฟล์เป็น swap space โดยคำสั่ง
    sudo swapon /swapfile
  5. ตราจสอบ RAM และ swap ที่ว่างโดยคำสั่ง
    free -h
Byphunsanit

Linux: แรมน้อยก็ต้อง Swap!

เวลาเช่า Virtual Private Servers (VPS) ทำ hosting ไว้วางระบบที่ไม่มีใน host สำเร็จรูป ส่วนใหญ่ราคาที่ต่ำที่สุดที่มีจะให้แรม แค่ 1GB แต่แค่ใน Basic installation | Ubuntu ก็เขียนไว้ว่าต้องการ RAM: 1 gigabyte or more แล้ว แบบนี้จะไม่ทำให้ทำงานช้าได้ยังไง การที่ ram จะเต็มมีอีเมล์ DigitalOcean monitoring resolved: Memory Utilization is running high มาเยือนบ่อย ๆ แก้ได้ง่าย ๆ โดยการกันพื้นที่ hard disk มาแทนแรมเหมือนที่ windows เรียกว่า Virtual Memory นั่นเอง แค่ linux เรียก swap space

  1. เช็คดูก่อนว่าลินุกซ์ของเรามีการตั้ง swap โดยคำสั่ง
    sudo swapon –show
    ถ้าไม่เห็น output กลับมาแสดงว่าไม่ได้มีการใช้ swap ไว้
  2. การทำ swap จะเป็นต้องกันพื้นที่ไว้ใช้แทน ram เราจำเป็นต้องดูก่อนว่าที่ HHD / SSD เหลือให้ใช้อยู่เท่าไหร่ โดยคำสั่ง
    df -h
    จะมี output พื้นที่ให้ใช้งานได้ออกมา
  3. การที่จะต้องใช้พื้นที่เท่าไหร่ดีในการใช้มาเป็นแรมถึงจะพอ Ubuntu แนะนำไว้ใน SwapFaq ให้มีอย่างน้อยเท่ากับจำนวน RAM ไปจนถึง 2 เท่าของ RAM ส่วน Red Hat ได้ทำตารางไว้ ได้ทำตารางไว้ Chapter 15. Swap Space
    แรมที่มีพื้นที่ swapพื้นที่ swap และ Hibernation
    ⩽ 2 GB2 เท่าของแรม3 เท่าของแรม
    > 2 GB – 8 GBเท่ากับแรม2 เท่าของแรม
    > 8 GB – 64 GBอย่างน้อย 4GB1.5 เท่าของแรม
    > 64 GBอย่างน้อย 4GBไม่แนะนำให้ทำ Hibernation
    Recommended System Swap Space
  4. สร้าง swap file โดยคำสั่ง
    sudo fallocate -l 2G /swapfile
  5. ตรวจสอบพื้นที่โดย
    ls -lh /swapfile
    จะมีการตอบกลับมาเช่น
    -rw-r–r– 1 root root 1.0G Mar 9 07:00 /swapfile
  6. ให้ root สามารถใช้ swap file โดย
    sudo chmod 600 /swapfile
  7. ตรวจสอบ permissions โดยคำสั่ง
    ls -lh /swapfile
    จะมีการตอบกลับมาเช่น
    -rw——- 1 root root 2.0G Mar 9 07:03 /swapfile
  8. ทำให้ไฟล์เป็น swap space โดยคำสั่ง
    sudo mkswap /swapfile
  9. ตรวจสอบโดยคำสั่ง
    sudo swapon –show
    จะมีการตอบกลับมาเช่น
    /swapfile file 2G 271.2M -2
  10. ตราจสอบ RAM และ swap ที่ว่างโดยคำสั่ง
    free -h
  11. ทำให้ swap ถาวรหลังจาก shutdown, restart และ reboot
    • backup /etc/fstab โดยคำสั่ง
      sudo cp /etc/fstab /etc/fstab.bak
    • เพิ่มบรรทัดสุดท้ายในไฟล์ /etc/fstab โดยคำสั่ง
      echo ‘/swapfile none swap sw 0 0’ | sudo tee -a /etc/fstab

หลังจากนี้เมื่อ RAM ถูกใช้เกินที่มีจะถูกเขียนลงใน HHD / SSD แทนแรมที่มีไม่พอ พวก service ที่ขัดข้อง stop จะน้อยลง

Byphunsanit

Linux: upgrade PHP version ล่าสุด

php ก็เหมือนโปรแกรมอื่น ๆ จะมีการอัพเดต อัพเกรดเวอร์ชั่นเป็นระยะเพื่อเพิ่มความสามารถและความปลอดภัย การอัพเดตใน linux และ wsl สามารถทำได้ง่าย ๆ

  1. Update ระบบโดยรวมก่อน

    sudo apt update && sudo apt -y upgrade
  2. เพิ่ม Surý PHP APT repository

    sudo apt update

    sudo apt install -y lsb-release gnupg2 ca-certificates apt-transport-https software-properties-common

    sudo add-apt-repository ppa:ondrej/php
  3. ติดตั้ง PHP ตัวล่าสุด

    sudo apt install php8.2
  4. เช็ค php version โดย

    php -v
  5. ติดตั้ง extension เพิ่มเติม เช่น

    sudo apt-get install -y libapache2-mod-php8.2 libphp8.2-embed mcrypt openssl php-bcmath php-cli php-common php-curl php-fpm php-gd php-gmp php-intl php-mbstring php-mysql php-tokenizer php-xml php-xmlrpc php-zip php8.2 php8.2-bcmath php8.2-cgi php8.2-cli php8.2-common php8.2-curl php8.2-dev php8.2-fpm php8.2-gd php8.2-imagick php8.2-imap php8.2-mbstring php8.2-mysql php8.2-phpdbg php8.2-soap php8.2-xml php8.2-xmlrpc php8.2-zip
  6. ผูก Apache และ PHP

    sudo apt install apache2 php-fpm

ดูเพิ่มเติม How To Install PHP 8.2 on Ubuntu 22.04|20.04|18.04

Byphunsanit

WSL: ติดตั้ง firefox

ต้องการติดตั้ง firefox ไว้เทสงานโดยเฉพาะ เลยติดตั้งใน wsl (Windows Subsystem for Linux)

sudo snap remove firefox
sudo apt remove firefox
sudo add-apt-repository ppa:mozillateam/ppa

# สร้างไฟล์ใหม่ว่าง ๆ
sudo nano /etc/apt/preferences.d/mozillateamppa

# ใส่เนื้อหา
Package: firefox*
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 501

# save file แล้ว
sudo apt update
sudo apt install firefox #หรือ firefox-esr

เรียกใช้โดยคำสั่ง firefox มันจะเปิดขึ้นมาแบบเป็น gui สวยงามเหมือนที่อยู่ในลินุกซ์แท้ ๆ เลย แต่ถ้าลองเปิดเว็บไทยแล้วอ่านไม่ออกให้ติดตั้งฟอนต์ไทยก่อน ตามวิธี Linux: ติดตั้งฟอนต์ภาษาไทย

Cr. How do I install Firefox in WSL, when it requires snap, but snap doesn’t work?

Byphunsanit

WSL: ปิดการทำงาน

เพราะว่าไม่ได้ใช้งาน wsl ตลอดเวลา การจะเปิดให้มันทำงานไว้ ก็จะหนักเครื่องเปล่า ๆ ไม่ใช้ก็ “ปิด” ซิครับ

  1. เปิดตัว command prompt / dos / Windows Terminal / Window PowerShell ที่มีอยู่
  2. หารายชื่อตัว wsl ที่กำลังทำงานอยู่โดยใช้
    wsl.exe --list --running
  3. จะเห็นรายชื่อที่ทำงานอยู่เช่น Ubuntu (Default)
  4. ปิดการทำงานโดยคำสั่ง
    wsl --terminate <DistributionName>
    เช่น
    wsl –terminate ubuntu

Cr. Terminate Running WSL Linux Distro in Windows 10