ubuntu的apt與gpg

最近因為在 Ubuntu 更新的時候,老是出現 gpg pub key 錯誤,有問題的套件庫是 hashicorp 跟 yarn 的套件庫,今天終於下定決心處理。

第一個找到的是這篇:How to configure HashiCorp repository

處理方法是這樣的,先下載 gpg key,然後用 sudo gpg 匯入

wget --quiet --output-document - https://apt.releases.hashicorp.com/gpg | \
  sudo gpg --no-default-keyring --keyring gnupg-ring:/usr/share/keyrings/hashicorp-archive-keyring.gpg --import

然後檢查 /usr/share/keyrings/hashicorp-archive-keyring.gpg

ls -l /usr/share/keyrings/hashicorp-archive-keyring.gpg

permission 結果應該要是 644 。

接著檢查 source list 檔案,裏面會有 signed-by 的字串

deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com jammy main

基本上這樣就解決了,yarn 的處理方式也一樣。

wget --quiet --output-document - https://dl.yarnpkg.com/debian/pubkey.gpg | sudo gpg --no-default-keyring --keyring gnupg-ring:/usr/share/keyrings/yarnkey.gpg --import

只是這邊做完,還是有問題,後來才靈機一動想到要檢查 /usr/share/keyrings/yarnkey.gpg 的 permission,發現是 600,用 chmod 改為 644 以後,apt update 就沒問題了。

[Linux]加入多個使用者到指定群組

要把使用者加入群組裡,可以用 usermod -aG group1 user1

那要一次把多個使用者加入群組的話,有什麼指令可以使用呢?這時候可以使用 gpasswd

gpasswd -M user1,user2,user3 group1

這樣子就可以了。

參考資料來自這裡:https://unix.stackexchange.com/questions/248426/

這串討論裡還有提到使用 for loop + usermod 的解決方法,但都不如上面那行來的簡潔、有力。

以後就知道可以用 gpasswd 了。