Někdy, zejména při upgradu systému, se vám v terminálu může zobrazit chyba GPG, což znamená, že došlo ke změně klíčů u některých repozitářů nebo že samotný repozitář je nedostupný či má jiný nedostatek. V dnešním krátkém tutoriálu si ukážeme, jak tento problém rychle a elegantně vyřešit.
Vzorová situace může vypadat nějak takto:
Po zadání příkazu pro aktualizaci databáze softwaru:
Příkaz terminálu: |
---|
sudo apt-get update |
se objeví následující chybová zpráva:
W: GPG error: http://ppa.launchpad.net trusty Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY D35164147CA69FC4
Jak tedy tuto chybu opravit?
Existují 3 způsoby, a my si je zde postupně představíme.
První způsob
Najděte si ve výstupním textu hodnotu NO_PUBKEY, v našem vzorovém případu je tato hodnota D35164147CA69FC4 a tuto hodnotu pak přidejte do systému pomocí příkazu:
Příkaz terminálu: |
---|
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys D35164147CA69FC4 |
Druhý způsob
Otevřete terminál a zadejte následující příkaz:
Příkaz terminálu: |
---|
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com `sudo apt-get update 2>&1 | grep -o '[0-9A-Z]\{16\}$' | xargs` |
Tento příkaz by měl automaticky najít a přidat chybějící bezpečnostní klíč k danému repozitáři.
Třetí způsob
Zkuste použít některý z výkonnějších správců softwaru, např. Y PPA Manager, který si představíme v některém z příštích článků.
Opět zde poukazuji na sílu příkazové řádky a na podchycení alespoň jejich základů. Věřte, že se vám to vyplatí. 🙂
ja pouzivam skriot
#!/bin/bash
for i in `sudo aptitude update 2>&1 | grep NO_PUBKEY | awk ‚{print $NF;}’`;
do sudo apt-key adv –keyserver keyserver.ubuntu.com –recv-keys $i;
done