728x90

배경 : 

환경변수 설정 전에 백그라운드 실행(nohup) 한 스크립트가, 환경변수 설정을 여전히 적용하지 못함

 

 

해결 : 

 

환경변수 설정 후에는 반드시 스크립트를 재실행해야 그 환경변수가 적용된다.
이전에 nohup으로 실행한 스크립트는 당시의 환경변수로만 작동하며, 환경변수를 변경해도 이미 실행 중인 프로세스에는 반영되지 않는다.

1. 환경변수 적용 시점

스크립트에서 사용하는 환경변수는 스크립트 실행 당시의 쉘 환경에 따라 결정된다.

nohup을 통해 백그라운드에서 스크립트를 실행했을 때, 그 스크립트는 당시 실행된 쉘에서 설정된 환경변수를 그대로 사용한다.

2. 백그라운드에서 실행된 스크립트

백그라운드에서 실행된 스크립트는 실행 시점의 환경변수를 참조한다.

즉, nohup으로 실행한 스크립트는 실행 당시의 환경을 복사하여 사용.

그 후에 환경변수를 수정하더라도 이미 실행 중인 프로세스에는 그 변경 사항이 반영되지 않는다.

예를 들어:

  • nohup으로 스크립트를 실행할 당시, Hive 환경변수가 설정되어 있지 않았다면 그 스크립트는 환경변수가 없는 상태에서 실행되며, 이후 환경변수를 설정해도 이미 실행 중인 스크립트에는 영향을 주지 않음.
  • 다시 말해, 그 스크립트는 이전에 설정되지 않은 환경변수를 계속 사용.

3. 해결 방법

환경변수를 적용한 후에 스크립트를 제대로 실행하려면, nohup으로 다시 실행.

환경변수 변경 후에 실행하지 않으면, 스크립트는 이전에 적용된 상태로만 실행!

스크립트를 재실행하지 않는다면, 그 스크립트는 여전히 이전 환경에서 작동할 것이므로 hive -e 명령이 실패하거나, 올바른 Hive 설정을 찾지 못할 수 있다

728x90

du

현재 디렉토리 기준으로 하위 디렉토리의 용량을 확인하는 명령어

 

 

 

옵션

-a : 모든 파일표시

-b : 표시단위 (Byte)

-k : 표시단위 (KB)

-h : 사용량을 K(키로바이트), M(메가바이트), G(기가바이트) 등의 형태로 보여준다

-s : 총 사용량만 표시한다

 

 

 

 

자주 사용하는 옵션

du -sh ./*

: 하위 모든 디렉토리의 총 사용량을 표시단위까지 출력

728x90

su (switch user) 명령어

현재 계정을 로그아웃을 하지 않고 다른 계정으로 전환하는 명령어

 

 

 

su: Authentication failure 는 root 비밀번호를 설정하지 않아서 생기는 오류이다.

 

 

 

 

sudo passwd root 명령어를 사용해 비밀번호를 지정해주면

 

 

root 계정으로 전환된 것 확인할 수 있다.

728x90

먼저 docs.conda.io/en/latest/miniconda.html 에 가서 (이 주소는 미니콘다 용. 아나콘다는 아나콘다용 다운로드 페이지로! )  리눅스용 파일에 오른쪽 커서를 누르고 주소 복사 한 후 

 

wget 주소붙여넣기 해준다.

 

그 다음  $ bash ./Miniconda3-latest-Linux-x86_64.sh  누르면 설치 시작!

 

 

그 후 conda --version 를 누르면.. 

conda command not found

 

라고 떠서 아주 당황하고 속상했다. 

초코에몽 한입 먹어주고,

 

그 이유는 $export PATH=~/miniconda3/bin:$PATH  라고 path 에 등록 해줘야 하기 때문 ㅎㅎ

 

등록 해주고 다시 버전 확인 해주면 

설치 완료 된 것을 볼 수 있다!

+ Recent posts