2022年7月30日 星期六

*** System restart required ubuntu ***

Ubuntu 20.04 server登入後,出現提示訊息:

  • 97 updates can be applied immediately.
  • 15 of these updates are standard security updates.
  • ......
  • *** System restart required ***

出現上面的訊息,代表著更新的套件有些需要重新開機才能夠作用,這些套件列在/var/run/reboot-required.pkgs裡面。若僅要確認更新standard security updates套件後是否要重開機,那就用指令:

  • grep --color -f <(apt-get -s dist-upgrade | grep "^Inst" | grep -i security | awk -F " " {'print $2'}) /var/run/reboot-required.pkgs 

2022年7月25日 星期一

Windows的本機搜尋工具Everything

Windows內建的檔案搜尋工具用Winkey-S快速鍵即可,但常找不到想要的檔案。如果搜尋的部分只限制在檔案名稱,那麼可以用voidtools的Everything,以下是幾個特點

  • 關鍵字找檔案或是資料夾爆快
    • 關鍵字之間的空格預設代表AND
    • 要使用OR用|,例如說同時找png與jpg檔案:
      .png | .jpg
    • 不要搜尋某關鍵字用!,例如檔名不要含有abc的png圖檔:
      !abc .png
    • * 代表很多個字元
    • ? 代表一個字元
  • 建立index爆快,新安裝的系統約莫一秒完成

2022年7月22日 星期五

Mac上rsync遇到檔名有空格的解決方法

用rsync備份很方便,之前寫過相關文章:


但rsync後面接的資料夾有空格的時候,指令會出問題。解決方法是用雙引號

LOCAL='/Volumes/Source'
REMOTE='/Volumes/Destination'
for FOLDER in 'folder with Space' 'folderWithoutSpace'
do
    echo "{FOLDER}
    /usr/bin/rsync -Cavubh --exclude='*~' --delete --delete-excluded "${LOCAL}/${FOLDER}" "${REMOTE}/"
done

2022年7月11日 星期一

用GCC編譯包含autogen.sh的軟體

以前使用GCC編譯的原始碼通常會是tarball,也就是用x.tar.gz包起來的樣子。解開以後會在資料夾裡面找到configure這個編譯前設定的腳本,完成後會產生Makefile,之後再用make來將軟體編譯出來。隨著軟體越來越大,configure之後又出現了automake,若在原始碼資料夾裡面看到autogen.sh這個檔案就是這種狀況。編譯這種軟體,首要先安裝auto相關工具:

  • sudo apt-get install autoconf automake libtool

其次用下面指令產生configure需要的相關檔案:

  • ./autogen.sh

2022年7月8日 星期五

Ubuntu 20.04安裝舊版GCC-5編譯器

Ubuntu 20.04預設的gcc版本是9.4.0,可用apt安裝gcc-8,但是gcc 7(含)以下就無法安裝。解決方法是先修改/etc/apt/sources.list,增加下面兩行:

deb http://dk.archive.ubuntu.com/ubuntu/ xenial main
deb http://dk.archive.ubuntu.com/ubuntu/ xenial universe

上面加入了Ubuntu 16.04 Xenial Xerus (好客的非洲地松鼠)的套件庫,完成後執行