keybase / keybase/keybase-issues
keybase-installer cannot update client when private key is not stored in Keybase
- Dominant language
- No language data
- Stars
- 899
- Forks
- 40
- PR merge metrics
- No merged PRs in 30d
Description
I tried updating my Keybase client today, as I am currently running 0.7.7. However, when I go to update my software, I receive the exit codes 2 and 254.
```
$ sudo keybase update
warn: No config file found; tried '/root/.config/keybase/config.json'
info: Computed npm install prefix: /
info: Found keybase-installer: keybase-installer v1.0.0
info: Detected custom path '/.'; preserving it!
info: Attempting software upgrade.....
info: Running `keybase-installer -g gpg2 --prefix /.`
info: Made temporary directory: /tmp/keybase_install_aBW6rS7IBK_bsf0EU2sPmw
info: Using keyset version v1
info: Fetching URL https://dist.keybase.io/sig/files/1/index.asc
info: cleaning up tmpdir /tmp/keybase_install_aBW6rS7IBK_bsf0EU2sPmw
error: exit code 2
warn: gpg: key 7F9E8BFA: public key "Keybase.io Index Signing (v1) " imported
warn: gpg: failed to create temporary file '/root/.gnupg/.#lk0x0000000001036ec0.justin-w-florys-desktop.7697': No such file or directory
warn: gpg: can't connect to the agent: No such file or directory
warn: gpg: Total number processed: 1
warn: gpg: imported: 1
warn: gpg: no ultimately trusted keys found
error: exit code 254
```
It seems that when running this under root privileges, it cannot detect my local cached private key to successfully update Keybase? I'm unsure what to make of this.
For testing purposes, I tried copying my `config.json` file from my user directory to the root directory `/root/.config/keybase/config.json`, but all this did was eliminate the exit code 254. I still ran into exit code 2 and the update process failed.
Is there any way to update Keybase without storing your private key in the cloud?
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing `sudo keybase update` with the reported `keybase-installer -g gpg2 --prefix /.` path and inspect how the installer uses `/root/.config/keybase/config.json` and GnuPG temporary files. Compare behavior with the user's configuration and permissions; done means updates succeed without requiring the private key to be stored remotely.
Written by the indexing model from the issue text.
Assessment
- Domain
- cli, release
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100