【Scripts】input GPG key for Debian/Ubuntu

凍仁每次安裝 Debian 以及 Ubuntu 時,多少都會使用到第三方 (third-party) 的套件來源,而一般的都會多簽署個 GPG 金鑰 (key) 來驗證,但要是沒手動匯入 key,則每次更新時皆會有「NO_PUBKEY? Add GPG key for apt-get update」的錯誤訊息。指令不難只是很煩,寫個 scripts 就來處理就省事些。

1. 程式主體:keyring.debian.org, keyserver.ubuntu.com 請自行依版本更換。
jonny@lucid:~$ vi gpg-input.sh [Enter]
 1 #!/bin/bash
 2 # FileName: gpg-input.sh
 3 
 4 for KEY in $@; do
 5     PUBKEY=$(echo $KEY | sed -e 's/^........//')
 6 
 7     # 若已裝 apt-key 只需一行指令,但這只適合 Debian/Ubuntu 使用。
 8     #apt-key adv --recv-keys --keyserver keyring.debian.org $KEY
 9 
10     # get key.
11     echo "gpg --keyserver keyserver.ubuntu.com --recv-keys $PUBKEY" | bash
12 
13     # input key.
14     echo "gpg --export --armor $PUBKEY | sudo apt-key add -" | bash
15 done

2. 增加執行權限。
jonny@lucid:~$ chmod a+x gpg-input.sh [Enter]

3. 使用 gpg-input.sh 匯入 GPG key。
jonny@lucid:~$ ./gpg-input.sh 5044912E \ 0C5A2783 0624A220 98AB5139 [Enter]
# 最多可一次匯入 9 組。
# 感謝 Solomon 分享,現在可一次匯入 N 組 key 了 :P

留言

  1. Hi,

    $1 $2 $3 $4 $5 $6 $7 $8 $9;

    這一串可以換成 $@ 直接吃全部的參數喔。
    FYI

    回覆刪除
  2. 感謝分享,shell scripts 真的很方便呢:P

    回覆刪除

張貼留言

喜歡這篇文章嗎?歡迎在底下留言讓凍仁知道。😉

Popular Articles

MySQL 語法匯整