Debian Linux 升級 Buster 強制移除套件來安裝 Percona MySQL 5.7

Debian Linux 由 Stretch 升級到 Buster 後,原本 Stretch 的 Percona MySQL 是使用 5.7,但是升級到 Buster 後,Percona Stable 預設是 5.6,於是就遇到套件卡關,5.6、5.7 都裝不起來,要怎麼 強制解除安裝再來重新安裝呢?

閱讀全文〈Debian Linux 升級 Buster 強制移除套件來安裝 Percona MySQL 5.7〉

Linux grep 結果不要秀 路徑 與 檔名

Linux 若想要多檔案、目錄要 grep 內容,可以使用 -r,但是出來的結果都會有檔名、路徑,不要呈現要怎麼做呢?

Linux grep 結果不要秀 路徑 與 檔名

Linux 的 grep 通常後面會 Pipe 接很多的處理,結果有檔名、路徑等資料,反而會造成後續的困擾。

可以使用 -h 來決定檔名路徑是否要呈現

  • -h, --no-filename
  • -H, --with-filename
    • 通常使用 -H 的話,還會搭配 -n 顯示行數
  • 範例:grep -r -h "match keyword" *

CVE-2021-3156 Sudo 安全漏洞

Linux 的 sudo 安全漏洞的問題,這次比較麻煩,只要能登入本機的,都有可能能得到 root 的權限。

  • sudo 影響的版本
    • Sudo versions 1.8.2 through 1.8.31p2 and 1.9.0 through 1.9.5p1 are affected.

閱讀全文〈CVE-2021-3156 Sudo 安全漏洞〉

於 Linux 使用 Docker 執行 Freemind GUI

Freemind 在 Ubuntu Linux 要直接執行,都會卡住,無法正常執行,主要是 Java (JRE) 的問題,只能讓 Freemind 跑在舊版的 Java。

於是最好的方式,就是使用 Docker 來執行 Freemind。

閱讀全文〈於 Linux 使用 Docker 執行 Freemind GUI〉

Linux cp 檔案、目錄強制覆蓋的參數

Linux cp 是一定會使用到的命令,Debian / Ubuntu Linux 都會對 cp 做 alias:

  • alias cp='cp -i' # 若檔名重複會進入 interactive,詢問是否要覆蓋

下述是寫成 shell script,遇到檔名相同的情況,會直接略過不覆蓋,也沒有出現任何訊息。

  • cp -r dir-1 dir-2 # 若裡面檔案重複,是不會蓋掉的

想要對檔案、資料夾都強制覆蓋,可以怎麼做呢?

閱讀全文〈Linux cp 檔案、目錄強制覆蓋的參數〉