본문 바로가기
카테고리 없음

(에러 해결) E212: Can't open file for writing

by yororing 2024. 4. 8.

01 상황

  • 리눅스 서버에서 Confluent (Kafka) 설치 시 zookeeper 등을 설치하려 dataDir을 잡아주는 설정 파일을 만들고자 함
  • vi 명령어 사용
vi /opt/CONFLUENT-5.2.1_RHEL7.6/confluent-5.2.1/etc/kafka/zookeeper.properties

 

  • 파일 내용 작성 후 :wq!로 저장하려 할 때 아래와 같은 에러가 남
~
~
~
"confluent-5.2.1/etc/kafka/zookeeper.properties"
"confluent-5.2.1/etc/kafka/zookeeper.properties" E212: Can't open file for writing
Press ENTER or type command to continue

 

  • 여기서 ENTER를 누르면 파일이 생성되지 않고 다시 파일 내용 작성하는 화면으로 감

 

02 에러 이유

1. root 아닌 다른 사용자로 접속한 경우

  • 파일을 생성할 권한이 없기 때문 (보통 root 사용자에게 파일 생성 권한이 있음)

2. 존재하지 않는 경로에 파일을 생성하려고 하는 경우

 

03 해결 방안

에러 이유 1 (root 아닌 다른 사용자로 접속한 경우)

  • 방법 1: 파일 생성 시 "sudo vi 새파일명"으로 생성
    • 즉, 앞에 "sudo" 붙여주므로서 파일을 생성할 권한이 있는 사용자로 파일 생성하기
  • 방법 2: 파일 생성 후 저장 시 ":w !sudo tee % > /dev/null"로 저장하기

에러 이유 2 (존재하지 않는 폴더에 파일을 생성하려고 하는경우)

  •  방법 1: 폴더 먼저 생성한 후 그 안에 파일 생성하기

참조

  1. https://iamrealizer.tistory.com/47
  2. https://stackoverflow.com/questions/8253362/etc-apt-sources-list-e212-cant-open-file-for-writing 
  3.