Tag Archive linux

WSL: Remove links shortcut

การนำ link ออกโดยไม่เป็นการลบไฟล์ข้างในออก ทำได้โดย

  1. cd ไปที่ parent path ที่ต้องการจะนำ linlk ออกก่อน เช่น ทำ links ไว้ที่ /var/www/prototypes_laravel/www ก็จะเป็น /var/www/prototypes_laravel

    cd /var/www/prototypes_laravel
  2. list รายการที่เป็น link โดย

    ls -l

    จะเห็นข้อมูลประมาณ
    total 0
    lrwxrwxrwx 1 root root 48 Jul 5 10:40 www -> /mnt/c/UsersDatas/var/www/prototypes_laravel/www
    list รายการที่เป็น link โดย

    ls -l

    จะเห็นข้อมูลประมาณ

    total 0
    lrwxrwxrwx 1 root root 48 { เวลา } www -> /mnt/c/UsersDatas/var/www/prototypes_laravel/www

    โดยหลังเวลาจะเห็นส่วนที่เป็น link คือ www
  3. นำลิงค์ออกไปโดยคำสั่ง sudo unlink { link } เช่น

    sudo unlink www

path /var/www/prototypes_laravel จะไม่มี folder www ให้เห็นแล้ว แต่ใน /mnt/c/UsersDatas/var/www/prototypes_laravel/www จะยังมีไฟล์ต่าง ๆ อยู่ครบเหมือนเดิม

WSL: Creating links shortcut

การสร้าง hard link หรือ Symbolic link ใน linux จะคล้าย ๆ การทำ shortcut ให้สามารถเข้าไปใช้ไฟล์หรือfolder ได้ง่าย ๆ เหมือน windows shortcut

การใช้ command นี้มีรูปแบบ ln source_file target_file เช่น ต้องการทำ shortcut ให้ /mnt/c/UsersDatas/var/www/prototypes_laravel/www สามารถเรียกใช้ได้จาก /var/www/prototypes_laravel/www ใน linux จะใช้คำสั่ง

sudo ln -s /mnt/c/UsersDatas/var/www/prototypes_laravel/www /var/www/prototypes_laravel/www

ทดสอบโดยใช้ คำสั่งเช่น cd /var/www/prototypes_laravel/www
ls
จะเห็นว่าสิ่งที่อยู่ด้านในจะเหมือนกับที่อยู่ใน /mnt/c/UsersDatas/var/www/prototypes_laravel/www หรือ C:\UsersDatas\var\www\prototypes_laravel\www

ดูเพิ่มเติม

WSL: mkdir สร้าง windows folder ใหม่

วิธีสร้าง folder ใหม่โดยปกติจะมีรูปแบบ mkdir { folder path } ใน wsl สามารถสร้าง folder ในวินโดว์ได้โดยใช้รูปแบบ sudo mkdir /mnt/{ drive letter }/{ folder path } เช่น จะสร้าง C:\UsersDatas\var\www\prototypes_laravel จะใช้ จะใช้ command
sudo mkdir /mnt/c/UsersDatas/var/www/prototypes_laravel
แต่ถ้าหากไม่มี folder C:\UsersDatas\var\www มาก่อนจะมี error แสดง
mkdir: cannot create directory ‘/mnt/c/UsersDatas/var/www/prototypes_laravel’: No such file or directory
แก้ได้โดยใช้ parameter -p เช่น

sudo mkdir -p /mnt/c/UsersDatas/var/www/prototypes_laravel

ก็จะสร้าง C:\UsersDatas\var\www\prototypes_laravel ตามที่ต้องการ

อ่านเพิ่มเติม WSL: Creating links shortcut


Linux: ติดตั้งฟอนต์ภาษาไทย

วิธีติดตั้งฟอนต์ภาษาไทยหลังจากที่ลง Linux ทำแค่ขั้นตอนที่ 1 จริงๆ ก็ทำให้อ่านเว็บภาษาไทยได้แล้ว แต่ถ้าอยากให้เห็นเหมือนที่ดูใน windows อาจจะทำขั้นตอนอื่น ๆ เพิ่ม

  1. ติดตั้ง Fonts-TLWG
    sudo apt install fonts-thai-tlwg
  2. ติดตั้ง SiPA thai fonts
    sudo wget ftp://ftp.psu.ac.th/pub/thaifonts/sipa-fonts/*ttf -P /usr/share/fonts/truetype/thai
  3. ติดตั้ง xfonts-thai
    sudo apt install xfonts-thai
  4. ติดตั้งหลาย ๆ ตัวพร้อมกัน
    sudo apt-get install fonts-thai-tlwg xfonts-thai xfonts-thai-etl xfonts-thai-manop xfonts-thai-nectec xfonts-thai-poonlap xfonts-thai-vor
  5. ติดตั้งของ MicroSoft ( มีลิขสิทธ์นะ )
    sudo apt-get install msttcorefonts

มีหลายท่านที่ได้ช่วยเขียนคู่มือแบบละเอียดไว้ให้

Linux: reinstall Ubuntu

อยู่ ๆ อูบุนตูมันเป็นตู่อะไรก็ไม่รู้ รวน ๆ แปลกอยากจะลงใหม่แต่ว่าไม่อยากที่จะทำอะไรมาก ขี้เกียจจะลงอะไรใหม่ ไปเจอวิธีที่ซ่อมให้กลับมาใช้ได้

  1. sudo apt-get clean
  2. สร้างไฟล์ reinstall_all.sh เช่น nano reinstall_all.sh แล้วใส่เนื้อหา
    #!/bin/bash
    for pkg in dpkg --get-selections | awk '{print $1}' | egrep -v '(dpkg|apt|mysql|mythtv)' ; do apt-get -y –force-yes install –reinstall $pkg ; done
  3. sudo chown root:root reinstall_all.sh
  4. sudo chmod 755 reinstall_all.sh
  5. sudo ./reinstall_all.sh
  6. รอตอบคำถามบางอย่าง

ดูจากเวลาแล้วใช้เวลาเยอะอยู่เหมือน แต่ก็ดีกว่ามาไล่เซ็ตหลาย ๆ อย่างใหม่ตั้งแต่ต้น ขอบคุณ
Force reinstall of all Ubuntu packages

แก้เข้า linux / windows แล้วเวลาเปลี่ยน

ถ้าเครื่องลง dual boot หลังไปใช้ linux แล้วกลับมาบูทเข้า windows จะพบว่าเวลามันจะเปลี่ยนไปหลายชั่วโมง โดยที่ไม่ได้ตั้งเวลาใหม่แต่อย่างใด ทั้ง ๆ ที่ตอนใช้ลินุกซ์เวลาก็ถูกต้องนะ

ปัญหาแบบนี้สามารถแก้ได้ง่าย ๆ โดยพิมพ์ใน terminal ด้วยสิทธิ์ root

timedatectl set-local-rtc 1

จากนั้นปัญหานี้จะหมดไปละ

สาเหตุ ในคอมพิวเตอร์มีนาฬิกาอยู่ 2 ตัว คือ 1 นาฬิกาบนแมนบอร์ด ( bios / cmos / uefi ) 2 นาฬิกาบนระบบปฏิบัติการ โดยค่าตั้งต้น linux จะคิดว่านาฬิกาบนเมนบอร์จะเป็นเวลาตาม UTC ไม่ใช่เวลาท้องถิ่น แต่วินโดวน์จะคิดว่าเป็นเวลาท้องถิ่น เวลาที่เราใช้ linux หรือ windows ต่างก็ sync เวลาใหม่ลงไปที่นาฬิกาบนแมนบอร์ด แต่เพราะว่าทั้งสองตัวเข้าใจว่าเป็นจึงเห็นเวลาเปลี่ยนไป เปลี่ยนมา

ขอบคุณวิธีและคำอธิบายจาก Wrong Time Displayed in Windows-Linux Dual Boot Setup? Here’s How to Fix it

สร้าง USB Boot ง่ายๆ กับ ventoy

นอกจากลง windows ผ่าน usb ที่ microsoft จะทำตัวติดตั้งให้โหลดจากเว็บตัวเองแล้วลง usb ไม่ต้องใช้ cd dvd เหมือนสมัยก่อนแล้ว แต่ถ้าจะลง windows หลาย version หรือจะลง linux จะลงตัวสแกนไวรัส ปกติมันก็ใช้ flash drive ตัวละอัน รกกว่า dvd หลายอีก

หลังจากลองมาหลายตัวอย่าง Rufus, YUMI จนได้เจอกับตัวที่ถูกใจ ใช้ง่ายมากๆ คือ ventoy ที่ตอบโจทย์มากๆ คือ ลงได้หลาย os หลาย iso โดยใช้แค่ usb อันเดียว เพิ่มลด iso แค่ลบ วาง ไม่ต้องทำอะไรพิเศษ จะทำใน windows ก็ได้ windows พังก็ใช้ linux ทำก็ได้

  1. โหลดตัวติดตั้งได้จากเว็บ https://www.ventoy.net/en/download.html โดยมีให้เลือก windows / linux / live cd
  2. โหลด windows 10, xp, 7 ตัวที่ชอบ, linux, Hiren’s BootCD PE, ตัวแสกนไวรัส อะไรก็แล้วแต่ไปพลางๆ ขอแค่เป็นไฟล์ iso เป็นอันใช้ได้
  3. หา usb flash drive sd card หรือ harddisk ที่ชะตาขาดเพราะว่ามันจะต้องโดนลบข้อมูลข้างในทั้งหมด เลือกเอาที่มันจุหน่อย ตอนนี้ตัว 32GB ไม่กี่ร้อยละ จะได้ลงได้หลายๆ ตัว เสียบเข้าเครื่องรอเอาไว้
  4. แตก zip ไฟล์ออกมาทั้ง folder
  5. ดับเบิลคลิกตรง Ventoy2Disk จะเห็นโปรแกรมหน้าตาบ้านๆ ไม่มีอะไรเลยจริงๆ เพราะมันใช้ง่ายมาก
  6. เลือก device ( usb ) อันโชคร้ายของเรา ( เลือกให้ถูกนะเพราะมันจะโดนลบเกลี้ยง ) ถ้าไม่เห็นคลิกวงเขียวๆ ด้านหลัง
  7. กด Install แค่นี้ละ
  8. หลายคนคงจะงงแล้วที่โหลด windows เอาไว้ละ เปิดดูใน File Explorer จะเห็น drive ใหม่ชื่อ Ventoy เพิ่มขึ้นมาให้เอา iso ที่โหลดเอาไว้ทั้งหมด วางไว้ในนี้เป็นอันเสร็จ

ทดสอบโดยการตั้งให้เครื่องของเรา boot จาก usb อันที่ทำไว้ จะเห็นชื่อไฟล์ iso ที่เราโหลดมา เลือกตัวที่ต้องการจะใช้ติดตั้งได้เหมือน usb แยกเฉพาะตัวเลย

ความดีงามของ Ventoy คือเวลา windows ออกเวอร์ชั่นใหม่ขึ้นมา ก็แค่โหลด iso ตัวใหม่มาวางใน dirve เดิม ถ้ามันเก่าแล้วหรือพื้นที่ไม่พอแล้วก็แค่ลบอันที่ไม่ใช้ออก ไม่ต้องทำอะไรเป็นพิเศษ ไม่ต้องใช้ Ventoy มาทำอะไรด้วยซ้ำไป

ลง google chrom บน linux kali

ถึง kali จะมี firefox esr (Firefox Extended Support Release) แถมมาให้แต่ยังไงบางอย่างใช้ Google Chrome กับ extension บางอย่างมันสดวกกว่าอยู่ดี แต่ kali ลงยากเย็นกว่าปกติเลยลงวิธีติดตั้งไว้หน่อย

  1. ทำตามประเพณีก่อน
    sudo apt-get update
  2. โหลดตัวติดตั้งมาจาก google โดยตรง
    sudo wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
  3. เพราะว่าเป็นตัวติดตั้งของ debian จึงต้องลง gdebi package manager มาช่วย
    sudo apt-get install gdebi -y
  4. เริ่มติดตั้งกันซะที
    sudo gdebi google-chrome-stable_current_amd64.deb
  5. เปิด program โดย
    google-chrome
    สำหรับ user ทั่วไป
    google-chrome -no-sandbox
    สำหรับ root (อันตรายเพราะไปปิดการกักกันไม่ให้เว็บสามารถเข้าไปใช้ส่วนอื่นของเครื่องได้)

ตั้งให้เข้า windows แทน linux

หลังจากลง linux แล้วมันจะจัดการให้เข้ามาใช้ linux เป็นค่าเริ่มต้น แต่ถ้าเราใช้ windows เป็นหลักมันจะสดวกกว่าถ้า grub มันจะ boot เข้า windows ไปเองถ้าเราไม่ได้เลือก

สาย gui อาจจะใช้ Grub Customizer แต่จริงๆแล้วไม่จำเป็นต้องลงโปรแกรมตัวนี้เลย แค่เข้าไปแก้ตัวเลขตัวเดียวเท่านั้นเอง ( แถม linux อย่าง kali ยังไม่ยอมให้ลงอีกตะหาก )

  1. จำว่าเมนู windows มันอยู่ลำดับที่เท่าไหร่ แต่เริ่มนับจาก 0 นะ
  2. สำรอง config ไว้ก่อนโดยใช้ sudo cp /etc/default/grub /etc/default/grub.bak
  3. เปิด grub มาแก้โดยsudo vim /etc/default/grub หาบรรทัด GRUB_DEFAULT=0 เปลี่ยนตัวเลขเป็นลำดับเมนูของ windows ย้ำอีกทีว่านับจาก 0 ( ถ้าเป็น linux บางตระกูลให้ใช้ nano แทน vim )
  4. แก้เวลารอโดยเปลี่ยน GRUB_TIMEOUT=5 เป็น 3 ก็พอ
  5. บันทึกโดยกด
    1. Esc
    2. :qw
  6. ทำการ update grub โดย sudo update-grub

จะเห็นว่าจริงๆก็ไม่ยากเลย อ่านเพิ่มเติม How do I change the GRUB boot order?