在 CloneZilla 中看到 zstd 這個壓縮工具,其演算法由 Facebook 開發,速度和壓縮比介於 gzip 和 bzip2 之間,且支援 multi-thread,打包大量資料時蠻好用的。
使用 tar
時,使用 -I
參數來使用 zstd
:
tar -I zstdmt -cf pack.tar.zst logs/
備註:zstdmt
是 zstd -T0
的 alias
軟體開發、伺服器和生活瑣事
在 CloneZilla 中看到 zstd 這個壓縮工具,其演算法由 Facebook 開發,速度和壓縮比介於 gzip 和 bzip2 之間,且支援 multi-thread,打包大量資料時蠻好用的。
使用 tar
時,使用 -I
參數來使用 zstd
:
tar -I zstdmt -cf pack.tar.zst logs/
備註:zstdmt
是 zstd -T0
的 alias
wait-for-it 是個 shell script 撰寫的工具,會等待並檢查目標是否可以進行 TCP 連線。
例如等待 mysql 啟動:
$ wait-for-it 127.0.0.1:3306 wait-for-it: waiting 15 seconds for 127.0.0.1:3306
可以在 docker 中檢查其他 container / service 是否啟動,可以的話才繼續執行:
# wait for MySQL to initialize wait-for-it db:3306 # run DB migration php artisan migrate
VMware Workstation 跑 Windows 11 慢到一個不可思議,VM host 的處理器顯視為滿載,但 VM guest 卻一直卡住不會動。追了很久,才發現是 Slimbook Battery 調整過顯卡的參數,導致 VMware 無法正常模擬顯卡。
解法有二個,最直接的方法就是關閉 Slimbook Battery 的省電功能;另一個是暫時將 VM host 的 3D accelerator 功能關閉。
以下方法僅適用於 UbuntuMate 22.04,其他版本可能無法使用相同的方法修改。
開啟系統設定檔 /usr/share/glib-2.0/schemas/30_ubuntu-mate.gschema.override
,應該可以在檔案前半段找到系統預設使用的背景圖片檔 Jammy-Jellyfish_WP_4096x2304_Green.png
。
把這個設定改為自己要使用的檔案即可:
background=/home/zeroplex/圖片/login.png
修改完成以後,打開終端機,輸入以下指令:
sudo glib-compile-schemas /usr/share/glib-2.0/schemas/
重新開機以後,登入畫面應該就會更新。
參考資料:How to change login screen background in Ubuntu Mate 21.04?
透過 bash 中的 $?
來讀取前一個指令的狀態 (exit code)。一般來說,正常執行的 exit code 會是 0
,若有發生錯誤或其他狀況,exit code 則會是 1
– 255
之間。
正常結束的 exit code:
ls /var echo $? 0
若發生錯誤,則有其他 exit code:
ls /not-exsit echo $? 2
在 shell script 中用 if 判斷程式是否要繼續執行:
curl -s https://test.com/install.sh -o install.sh if [ @? -ne 0 ]; then echo "download failed" exit fi # run install