ubuntu 18.04 server setting

Mondeique의 기술 블로그를 쓰기 시작할 때 어떤 글이 첫 글이 되어야 할까라는 고민을 했습니다. 엄청난 고민 끝에 ubuntu 18.04 를 설치했을 때 가장 먼저 해야 할 일인 server setting 에 대해서 서술해보자! 라는 마음을 가졌습니다. 비개발자의 경우 ubuntu 라는 OS에 익숙하지 않기에 이 글이 도움이 많이 될 것이라고 생각합니다. ubuntu setting은 아래의 순서로 진행되며 mondeique ubuntu server 의 관리자들은 모두 숙지하고 있어야 합니다,

  1. Basic Package Installation
  2. default user setting
  3. Nvidia Driver Installation
  4. CUDA, cudnn Installation
  5. Anaconda 3 Installation
  6. ubuntu static IP setting
  7. openssh Installation + port setting
  8. ufw (ubuntu firewall) setting
  9. sudo adduser 및 admin permission setting


Basic Package Installation

제일 먼저 기본적인 package 를 설치해야 합니다.

$ sudo apt-get update
$ sudo apt-get install vim 
$ sudo apt-get install curl 

추가로 기본적으로 깔아야 하는 package 가 있다면 sudo apt-get install command 를 이용해 설치하시면 됩니다.

default user setting

처음에는 root 계정밖에 존재하지 않는데 이 루트 계정에 관한 기본적인 default setting 이 필요합니다.

$ sudo passwd root
Enter new UNIX passwordt:
Retype new UNIX password:
passwd: password updated successfully

root 계정의 암호를 설정하였으니, 일반 사용자 계정에서 root 계정으로 변환해보도록 하겠습니다, Ubuntu 기준으로 터미널 창에 있는 $ 표시는 현재 터미널에 접속 중인 일반 사용자를 나타내며 root@ubuntu 가 실제 root 계정입니다.

$ su
암호:
root@ubuntu: /home/ubuntu# exit
exit


Nvidia Driver Installation

ubuntu-drivers로 드라이버를 자동으로 설치할 수 있습니다. ubuntu-drivers autoinstall command 를 이용하면 알아서 적당한 드라이버를 골라서 설치 해줍니다, 만약 특정 드라이버를 설치하고 싶다면 해당 방법으로는 설치하시면 안됩니다.

repository를 먼저 업데이트 해주시고 autoinstall 을 입력하면 됩니다, 그 후 reboot 해주세요.

$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt update
$ sudo ubuntu-drivers autoinstall
$ sudo reboot

# 만약 기존에 설치된 드라이버와 충돌될 경우 관련 프로그램을 삭제합니다.
$ sudo apt --purge autoremove nvidia*  

특정 드라이버를 설치하고 싶은 경우 아래의 순서로 드라이버를 설치합니다.

$ systemctl isolate multi-user.target : DisplayManager 비활성
$ sudo apt --purge autoremove nvidia* 
$ chmod +x ./NVIDIA-Linux-x86_64-xxx.xx.run
$ sudo sh ./NVIDIA-Linux-x86_64-xxx.xx.run
$ systemctl start graphical.target
$ sudo reboot

설치 확인은 $ nvidia-settings 로 확인합니다.

nvidia-settings

CUDA, cudnn Installation

본 글에서는 AI 와 관련된 setting 에 대해서는 서술하지 않고, 다음 포스트에서 추후 서술하도록 하겠습니다.

Anaconda 3 Installation

아나콘다는 가상환경을 만들기 위한 python package 입니다. 각 유저별로 만들어도 됩니다. 먼저 아나콘다 홈페이지에 접속해서 다운로드 링크를 복사합니다.

$ cd /home/ubuntu/Downloads
$ curl -O https://xxx 
$ bash Anaconda-xx 
$ source ~/.bashrc
(base) $ conda create -n mondeique python=3.7.9
(base) $ conda info --envs : 가상환경 목록 확인
(base) $ conda activate mondeique : 가상환경 활성화
(mondeique) $ conda deactivate : 가상환경 비활성화


ubuntu static IP setting

ubuntu 18.04 부터는 interface가 아닌 netplan 으로 설치해야 합니다. 일단 가장 먼저 net-tools를 설치해야 합니다.

$ sudo apt-get install net-tools

다음으로 netplan file 에서 vim 으로 해당 파일을 편집합니다,

$ sudo vim /etc/netplan/01-xxx-yml

해당 게이트웨이와 DNS 정보의 경우 eren 혹은 victor에게 문의하세요!

network:
	version: 2
	renderer: NetworkManager
		ethernets:
			(our network driver name):
				address:
					- (사용할 ip)
				gateway4: (게이트웨이)
				nameservers:
					addresses: [(DNS),(보조DNS)]
$ sudo netplan apply


openssh Installation + port setting

ssh 접속을 위해 openssh 를 설치합니다.

$ sudo apt-get install openssh-server

이후 ssh를 위한 port 를 설정합니다. (2222)

$ sudo vim /etc/ssh/sshd_config 


ufw (ubuntu firewall) setting

$ sudo vim /etc/ssh/sshd_config 
sudo ufw allow 2222/tcp 및 7000:7999/t 
sudo ufw allow 443 및 80 (base)
sudo ufw deny 22/tcp (기본 포트의 경우 해킹 위험이 있어서 해제하는 것이 좋습니다)


sudo adduser 및 admin 권한 부여

$ sudo adduser [ID]
$ sudo usermod -aG sudo [ID] : sudo 권한 부여 


mondeique의 기본적인 ubuntu 18.04 setting 에 대한 설명을 마치도록 하겠습니다. 기술 블로그의 많은 post를 기대해주세요! 감사합니다 😊