環境:樹莓派4B,respberrypi系統(64位)
1、修改軟件源
輸入如下命令修改軟件源配置文件
sudo nano /etc/apt/sources.list
將原始內容注釋掉,修改為如下內容:(中科大軟件源)
deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi deb-src http://mirrors.ustc.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
輸入如下命令修改另一個軟件源文件
sudo nano /etc/apt/sources.list.d/raspi.list
將原始內容注釋掉,修改為如下內容:(中科大軟件源)
deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/ stretch main ui
2、修改軟件源后執行更新命令報錯
更新命令如下:
sudo apt-get update
報錯如下:
獲取:1 http://mirrors.ustc.edu.cn/raspbian/raspbian stretch InRelease [15.0 kB] 命中:2 http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian stretch InRelease 錯誤:1 http://mirrors.ustc.edu.cn/raspbian/raspbian stretch InRelease 由於沒有公鑰,無法驗證下列簽名: NO_PUBKEY 9165938D90FDDD2E 正在讀取軟件包列表... 完成 W: GPG 錯誤:http://mirrors.ustc.edu.cn/raspbian/raspbian stretch InRelease: 由於沒有公鑰,無法驗證下列簽名: NO_PUBKEY 9165938D90FDDD2E E: 倉庫 “http://mirrors.ustc.edu.cn/raspbian/raspbian stretch InRelease” 沒有數字簽名。 N: 無法安全地用該源進行更新,所以默認禁用該源。 N: 參見 apt-secure(8) 手冊以了解倉庫創建和用戶配置方面的細節。 N: 鑒於倉庫 'http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian stretch InRelease' 不支持 'arm64' 體系結構,跳過配置文件 'main/binary-arm64/Packages' 的獲取。 N: 鑒於倉庫 'http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian stretch InRelease' 不支持 'arm64' 體系結構,跳過配置文件 'ui/binary-arm64/Packages' 的獲取。
錯誤信息大致意思為沒有找到對應的公鑰,所以軟件源地址不被信任。
(注意這里提示的不支持arm64架構,是因為我安裝的是64位的系統,目前似乎國內的幾個軟件源都還不支持arm64,我后面在使用apt-get安裝軟件的時候,會出現無法安裝依賴的問題,應該是這個原因導致的,所以如果使用64位樹莓派系統,目前建議先使用默認的軟件源,等后面國內的軟件源更新支持了之后再做修改。)
3、導入對應倉庫的公鑰
命令格式如下:(注意:實際填寫時,不輸入尖括號)
apt-key adv --keyserver <KeyServer> --recv-keys <公鑰簽名> gpg --export --armor <公鑰簽名> | sudo apt-key add -
其中<KeyServer>
,key服務器,可以填 keyserver.ubuntu.com(即使你使用的是樹莓派的原生系統,也可以用這個key服務器,不知道為啥)
其中<公鑰簽名>,就填寫報錯時顯示的那段字符,比如我這里就是:9165938D90FDDD2E
導入公鑰成功會輸出類似如下的信息:
Executing: /tmp/apt-key-gpghome.FN33J57BVM/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys 6AF0E1940624A220 gpg: 密鑰 6AF0E1940624A220:公鑰 “Launchpad PPA for TualatriX” 已導入 gpg: 處理的總數:1 gpg: 已導入:1
4、再執行sudo apt-get update,問題解決