/usr/bin/apt-key: 57: cannot create /dev/null: Permission denied 해결 🔐

2021-08-24

/usr/bin/apt-key: 57: cannot create /dev/null: Permission denied 해결 🔐

/usr/bin/apt-key: 57: cannot create /dev/null: Permission denied 해결 🔐 ■ apt-get update 명령시 에러 발생 # /usr/bin/apt-key: 57: cannot create /dev/null: Permission denied 에러가 발생되는 /dev/null 시도 # rm -f /dev/n

/usr/bin/apt-key: 57: cannot create /dev/null: Permission denied 해결 🔐

/dev/null은 리눅스에서 출력을 버릴 때 쓰는 특수 파일인데, 이게 없거나 권한이 잘못 설정되어 있으면 apt-get update 같은 패키지 관리 명령어가 중간에 실패한다. 주로 도커 컨테이너나 chroot 환경에서 이 파일이 날아가 있거나 권한이 꼬여 있을 때 발생한다.

■ apt-get update 명령시 에러 발생

code snippet
# /usr/bin/apt-key: 57: cannot create /dev/null: Permission denied

처음엔 /dev/null 자체를 지우고 다시 apt-key를 리스트하는 방법을 시도했다.

  • /dev/null 삭제 후 재시도
code snippet
# rm -f /dev/null; apt-key list

여전히 에러코드가 발생하였다. 이 방법은 /dev/null을 재생성하지 않기 때문에 근본 해결이 안 된다.

/dev/null을 정상적으로 재생성하려면 mknod -m 666 /dev/null c 1 3 명령어를 사용해야 한다. 단, 도커 환경에서는 호스트에서 컨테이너를 재시작하는 편이 빠르다.

  • 재부팅 후 업데이트 시도

시스템 재부팅 시 커널이 /dev 장치 파일을 다시 마운트하면서 /dev/null도 정상 상태로 복구된다.

업데이트가 정상적으로 진행되었다. 급하면 재부팅이 제일 확실한 해결책이긴 하다.