2020년 7월 14일 화요일

[LINUX] R 설치(Jupyter Notebook LAB 기반)

R은 뉴질랜드에서 만든 다소 특이한 이력을 가진 언어로써 통계학과 데이터 처리에 특화된 역시 특이한 언어이며 근래에 와서는 역시나 자기 특기에 점점 더 특화되어 가는 모습을 보이는 언어이다. 
 오픈 소스에 무료로 배포되고 있으니 써보지 않을 이유가 없고 아나콘다를 통해 쉽게 설치할수 있으니 꼭 써보자.

참조 URL : 
https://anaconda.org/conda-forge/r-base
https://projectosyo.wixsite.com/datadoubleconfirm/single-post/2019/09/15/Installing-R-kernel-in-Jupyter

1. 일단 conda를 설치

    conda install -c conda-forge r-base

일단 여기까지만 해도 설치는 되고 커널에 R이 뜨기는 하는데 곧 죽는다...

2. 여기서 다시한번 해줘야 할 일이 있다. 

(base)에서
    which 명령어로 R의 위치부터 확인해 보자

    which R
            /home/(유저명)/(miniconda or anaconda)/bin/R

이라고 뜨면 정상적으로 뜬 것이고

    R

이라고 명령을 내려 R콘솔로 들어가서
    
    install.packages('IRkernel')
    IRkernel::installspec()

이렇게 하고 쥬피터 노트북의 커널을 R로 바꾸어주면 이번에는 커널이 죽지 않는다.

2020년 7월 1일 수요일

[LINUX MINT] 민트 <-> 우분투 대응표 링크

별거 아니긴 하지만, 민트가 기반으로 하는 우분투 대응표 링크를 걸어 둔다. 가끔 쓰다보면 찾게 되더라.

https://www.linuxmint.com/download_all.php

[LINUX MINT] LINUX MINT 20 snap 설치 방법

스냅은 리눅스 배포판에 상관없이 사용 가능한 아주 유용한 패키지 관리 툴이나, 이상하게도 오늘 새롭게 설치 테스트를 해본 민트 20은 스냅이 설치가 않된다.(apt 명령어를 쳐봐도 답이 없음)

그래서 구글링를 해본 결과는 어떤 종류의 문제가 있어서 않되는 것이고 그에 대한 해결책은 다음과 같다.
참조 URL : https://fossbytes.com/how-to-enable-snap-and-install-snap-packages-on-linux-mint-20/

1. 우선은 다음과 같이 스냅을 쓰지 못하게 하는 파일을 삭제한다
    sudo rm /etc/apt/preferences.d/nosnap.pref

2. 그후 스냅 데몬 설치
    sudo apt install snapd

그러면 설치가 된다.

2020년 6월 26일 금요일

[LINUX MINT] QEMU-KVM 설치

참조 URL : 
https://linuxconfig.org/install-and-set-up-kvm-on-ubuntu-18-04-bionic-beaver-linux
https://www.linuxsecrets.com/discussions/8839-error-opening-spice-console-spiceclientgtk-missing


1. 해당 라이브러리 설치
    sudo apt install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virt-manager

2. 네트워크 브리지 설정
    iface eth0 inet manual
    iface br0 inet dhcp
    bridge_ports eth0

3. 권한 설정
    sudo adduser username libvirt
    sudo adduser username libvirt-qemu

4. qemu 관련 라이브러리 설치(이거 설치 않하면 하드 이미지 생성이 않음)
    sudo apt-get install qemu-utils

4. 화면 관련 라이브러리 설치
    apt-get install gir1.2-spice-client-gtk-3.0

2020년 6월 21일 일요일

[LINUX MINT] 리눅스 민트에서 docker(도커) 설치하기

도커는 리눅스 환경을 아주 유동적으로 사용 가능한 유용한 도구이지만 이상하게도 리눅스 민트에서는 표준적으로 제공해 주는 설치 스크립이 제대로 작동하지 않는다. 이렇게 된 데에는 리눅스 민트가 우분투를 변경 사용하지만 문제는 자기 시스템명을 민트 코드로 반납해서 도커 서버에는 자기에 맞는 바이너리가 없는 것으로 나오기 때문이다. 그래서 이 점을 설치 명령어에 반영해 주지 않으면(즉 우분투 코드로 바꾸어주지 않으면) 설치가 되지 않는 것이다.

참조 URL : 
https://linuxhint.com/install_docker_linux_mint
https://subicura.com/2017/01/19/docker-guide-for-beginners-2.html
https://github.com/NVIDIA/nvidia-docker

1. 예전에 설치된 도커 패키지가(만약에 있다면) 삭제해 준다

    sudo apt remove docker docker-engine docker.io containerd runc

2. 업데이트와 필요 패키지 설치
    
    sudo apt update
    sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

3. 키를 추가하고 이를 확인한 뒤, 저장소를 추가다(여기가 중요)

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    sudo apt-key fingerprint 0EBFCD88
    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"

4. 다시 업데이트
    
    sudo apt update

5. 드디어 도커를 설치한다

    sudo apt install docker-ce docker-ce-cli containerd.io

이렇게 복잡하게 설치 했지만 제일 간단한 방법은 내 리눅스 배포판에 맞는 설치 패키지를 다운 받아 설치하는게 제일 쉬울 것이다.(응?)
(19.3 버전 기준으로 https://download.docker.com/linux/ubuntu/dists/bionic/pool/stable/amd64/ 에서 다운 받으면 된다)

민트 대비 우분투 비교표 : https://linuxmint.com/download_all.php
도커 deb설치 파일 : https://download.docker.com/linux/ubuntu/dists/

그 뒤 도커 유저를 추가한다.

    sudo usermod -aG docker $USER
    sudo usermod -aG docker (사용자)

위의 명령어는 지금 사용자를 그 아래는 원하는 사용자를 추가한다.

6. 그리고 마지막으로 nvidia docker를 설치한다.(이걸 해줘야 nvidia GPU랑 도커 컨테이너 내부의 

    curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
    curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu18.04/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
    sudo apt update && sudo apt install -y nvidia-container-toolkit

사용법은 도커 구동시 --gpus 옵션을 붙여 주면 된다.(위의 nvidia URL을 참조할 것)

추가 사항 : 하다보니 usermod 를 추가해 주었는데도 작동 않는 경우가 있다.(내 경우는 sudo 권항을 가진 사용자 자신)
다음 링크 처럼 해보니 된다.(https://www.digitalocean.com/community/questions/how-to-fix-docker-got-permission-denied-while-trying-to-connect-to-the-docker-daemon-socket)

    sudo chmod 666 /var/run/docker.sock

조금 위험한 방법이지만 어째든 움직인다.

2020년 6월 20일 토요일

[LINUX] APT의 Proxy 설정

리눅스의 APT 어플리케이션을 사용하다 보면 내부 연산용으로만 사용하는 컴퓨터의 어플리케이션을 업데이트해주거나 새로 설치하여야 하나 내부 네트워크만으로는 그것이 안되는 경우가 많을 것이다. 이럴때 프록시를 통해 간접적으로 접근 가능하다면 관리의 편의성과 보안성을 부분적으로 지킬수 있을 것이다.

참조 URL : https://www.serverlab.ca/tutorials/linux/administration-linux/how-to-set-the-proxy-for-apt-for-ubuntu-18-04/

1. 다음과 같이 파일 생성

    sudo touch /etc/apt/apt.conf.d/proxy.conf

2. 이 파일을 열고 다음과 같이 입력한다.

    Acquire::http::Proxy "http://유저명:암호@주소:포트/";
    Acquire::https::Proxy "http://유저명:암호@주소:포트/";

혹은 아래와 같이 단순히 설정 하는 것도 가능하다고 하다.(해본적 없음)
    Acquire {
        HTTP::proxy "http://유저명:암호@주소:포트/";
        HTTPS::proxy "http://유저명:암호@주소:포트/";
}

이렇게 하면 정말로 프록시를 통해 다운 받는다.

2020년 6월 15일 월요일

[LINUX] 다중 IP설정

이젠 설명하기 귀찮으니 그냥 핵심만 적겠다.

참조 URL : https://idchowto.com/?p=18397


/etc/network/interfaces  의 파일 열어서

다음과 같이 추가(NIC이름이 enp0s3 라고 가정)


auto enp0s3
iface enp0s3 inet dhcp

auto enp0s3:1
iface enp0s3:1 inet static
address x.x.x.2
netmask 255.255.255.0

auto enp0s3:2
iface enp0s3:2 inet static
address x.x.x.3
netmask 255.255.255.0

이렇게 하면 하나의 네트워크 카드에 dhcp, xxx.2 , xxx.3 이렇게 3개의 IP를 설정이 가능함.