:: linux

linux :: apt update 시 NO_PUBKEY, 'NOSPLIT' 에러 해결

토람이 2022. 2. 23. 13:33

우분투에서 패키지 설치를 위해 apt(Advance Packaging Tools) 를 많이 사용한다.

이 때, 설치할 수 있는 패키지 목록을 최신화해주기 위해 다음 명령어를 사용한다.

 

apt update

 

그런데 apt update 를 시도할 때

다음과 같이 NO_PUBKEY, 'NOSPLIT' 등의 에러가 발생하는 경우가 있다.

 

Err:10 https://packagecloud.io/github/git-lfs/ubuntu xenial InRelease
  The following signatures couldn't be verified because the public key is not available: 
  NO_PUBKEY {KeyID}
Reading package lists... Done

W: GPG error: https://packagecloud.io/github/git-lfs/ubuntu xenial InRelease: 
  The following signatures couldn't be verified because the public key is not available: 
  NO_PUBKEY {KeyID}
E: The repository 'https://packagecloud.io/github/git-lfs/ubuntu xenial InRelease' is not signed.

 

Err:11 https://packagecloud.io/github/git-lfs/ubuntu xenial InRelease
  Clearsigned file isn't valid, got 'NOSPLIT' (does the network require authentication?)
Reading package lists... Done

E: Failed to fetch https://packagecloud.io/github/git-lfs/ubuntu/dists/xenial/InRelease  
  Clearsigned file isn't valid, got 'NOSPLIT' (does the network require authentication?)
E: Some index files failed to download. They have been ignored, or old ones used instead.

 

최신 패키지 리스트를 받아오기 위해서는 네트워크 통신이 필요한데

이 때 필요한 인증(authentication)에서 문제가 발생한 것으로 보인다.

 

이 경우, 다음과 같이 key 서버에 public key 를 등록해주면 해결된다.

 

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys {PUB_KEY 혹은 GPG_KEY}

 

여기서의 PUB_KEY 는 위에 에러(Err:10) 문구에 있는

NO_PUBKEY {KeyID}  <-- 이 KeyID 를 복사해서 쓰면 된다.

이후 apt update 를 다시 시도해보면 정상 동작할 것이다.

300x250