기준 환경
- Ubuntu 20.04 LTS
- Anaconda 사용자: 멀티 유저 고려
- Base Python version: 3.8 (TF2.2이상, TF-gpu2.4이상 사용 가능)
멀티 유저를 고려하여 Anaconda 설치를 진행한다.
Anaconda old package lists
https://docs.anaconda.com/anaconda/packages/oldpkglists/
Anaconda package archive
https://repo.anaconda.com/archive/
python3.9 기반 anaconda가 나와있지만 TF2.2 까지 커버가 가능한 python3.8을 설치하는 것이 더 나은 선택으로 보여 3.8을 기준으로 anaconda 설치시 고려한다. (TF GPU 버전은 Driver 및 CUDA 버전 이슈로 TF2.4 이상만 사용 가능하다)
Anaconda Env를 사용하기에 python version에 큰 영향을 받지는 않지만 conda base 환경에서 편이상 구동하게 될 job이 있을 수도 있어서 안정화된 3.8을 고집해본다.
Target anaconda 버전
https://repo.anaconda.com/archive/Anaconda3-2021.05-Linux-x86_64.sh
모든 사용자를 위한 anaconda 설치로
sudo
권한을 사용한다.
# download
wget https://repo.anaconda.com/archive/Anaconda3-2021.05-Linux-x86_64.sh
# start install process
sudo bash Anaconda3-2021.05-Linux-x86_64.sh
Anaconda3 will now be installed into this location:
/root/anaconda3
- Press ENTER to confirm the location
- Press CTRL-C to abort the installation
- Or specify a different location below
[/root/anaconda3] >>>
opt/ usr/ 같은 곳에 적절히 설치해주면 된다. 이번에는 /usr/anaconda3
에 설치한다.
installation finished.
Do you wish the installer to initialize Anaconda3
by running conda init? [yes|no]
[no] >>>
sudo 로 설치했기 때문에 root에 대해 conda init 설정을 할 것인지 묻는 부분이며 root도 conda 환경을 initailize 하기 원한다면 yes
를 선택한다. 이부분이 필요없어진다면 /root/.bashrc
의 마지막 부분에 >>> conda initailize >>>
를 찾아서 제거 하면 된다.
각 사용자는 최초 anaconda를 initialize하기 위해 다음 명령어를 입력 해야 한다. conda init
은 /home/{user}/.bashrc
에 conda를 초기화 하는 과정을 추가한다.
source /usr/anaconda3/bin/activate
conda init
source ~/.bashrc
conda 환경의 자동 activation은 다음의 명령을 통해 조절 할 수 있다.
# conda 환경 자동 활성화 (초기 설정)
conda config --set auto_activate_base True
# conda 환경 자동 활성화 해제
conda config --set auto_activate_base False
설치된 anaconda를 multi-user가 접근하기 위해 몇가지 사항을 수행해야 한다.
Anaconda - Installing for multiple users
sudo groupadd {mygroup}
# Change the group ownership to “mygroup”
sudo chgrp -R {mygroup} /usr/anaconda3
# Set read and write permission for root and mygroup only
sudo chmod 770 -R /usr/anaconda3
# Add users to a group
sudo adduser {username} {mygroup}
추후 anaconda를 사용하게 될 유저가 추가된다면 이 단계에서 생선한 group으로 해당 사용자를 추가해야 한다.
다양한 conda 환경을 생성하고 conda package를 설치하고 지우기를 반복하면 {anaconda 설치 위치}/pkgs/
에 불필요한 패키지 캐시가 쌓이게 되고 용량이 문제가 될 수 있다.
du -h -s --apparent-size /usr/anaconda3/pkgs/
# print result
# 95G /usr/anaconda3/pkgs
이 영역을 임의로 삭제하지 말고 conda 명령어를 통해 cleaning 한다.
conda clean -p
conda package cleaning 이후에 conda가 정상적으로 동작하지 않는 경우 아래와 같이
-all
옵션을 추가하여 index cache, lock files, unused cache packages, tarballs 모두 제거 해준다.conda clean -all