레이블이 Ubuntu인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Ubuntu인 게시물을 표시합니다. 모든 게시물 표시

2023년 1월 5일 목요일

[pytorch]CUDA11.2, CuDNN8.1.1, Ubuntu 20.04LTS에 pytorch 설치

 * CUDA11.2 버전에 적합한 pytorch를 설치해야 GPU 사용 가능

    - https://pytorch.org/get-started/locally/

    - 접속해서 아래와 같이 선택

    - 현재 서버의 CUDA 버전은 (nvcc -V 로 확인) 11.2 이지만 11.2에 적합한 pytorch는 몇몇 블로그를 확인해보니 아래와 같이 설치하라고 되어있음

pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 -f https://download.pytorch.org/whl/torch_stable.html

    - 하지만 위와 같이 해보니 pytorch를 불러오지 못함

    - 따라서 아래와 같이 CUDA 11.6 버전용 pytorch를 설치하고 기도메타 수행

1
 conda install pytorch torchvision torchaudio pytorch-cuda=11.6 -c pytorch -c nvidia
     - python 실행 후 cuda가 연결되었는지 확인, True 로 나옴




또는

pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 -f https://download.pytorch.org/whl/torch_stable.html
와 같이 11.0에 맞는 pytorch 버전을 설치해도 됨 (현재 상태)
 - PIL 설치, numpy 버전 업을 추가로 수행해야 할 수도 있음


2021년 12월 7일 화요일

[RTX3090, Keras]RTX3090으로 Keras 사용하기

* Tensorflow 2.7 설치 

- RTX3090은 CUDA 11버전 이상만 사용 가능, 따라서 Tensorflow 2.5 버전 이상만 사용 가능

- 현재 출시된 Tensorflow 버전은 

https://www.tensorflow.org/install/source_windows#tested_build_configurations 에서 확인

- 2.7버전이 위 페이지에서는 확인 불가능하지만 실제 릴리즈되었으므로 2.7버전으로 설치

- Tensorflow 2.5버전은 Keras와 호환 문제가 있으며 Tensorflow 2.6버전은 업데이트 시기에 따라 Keras 2.6또는 2.7과 호환됨 (중간에 호환성 관련 오류를 수정하면서 버전이 서로 안 맞게 된 듯...)

- Tensorflow 2.7은 Keras 2.7과 호환되므로 Tensorflow 2.7을 설치

pip install tensorflow-gpu==2.7

- 위와 같이 설치하면 Keras 2.7도 함께 설치됨

- 케라스로 작성된 프로그램 실행 결과 아래와 같이 GPU를 사용하는 것으로 확인됨



참고: https://velog.io/@skyfishbae/RTX3090-2%EB%8C%80-Ubuntu-18.04-%EB%94%A5%EB%9F%AC%EB%8B%9D-%ED%99%98%EA%B2%BD-%EA%B5%AC%EC%B6%95-2-Anaconda-Tensorflow-keras-%EC%84%A4%EC%B9%98


[RTX3090, Ubuntu]Nvidia 드라이버, cuda-toolkit, cuDNN 설치

 * Nvidia driver 설치
ubuntu-drivers devices
로 설치 가능한 driver 버전 확인
 
sudo apt install nvidia-driver-460
460버전 설치


* cuda-toolkit 설치

- RTX 3090은 CUDA 11 이상에서만 동작

- 12/8 현재 11.5 까지 출시되었지만 안정성을 고려하여 11.2.1을 설치함

(https://developer.nvidia.com/cuda-toolkit-archive)













- 11.2.1을 찾아 들어가서 환경에 맞게 선택하면 wget으로 다운 받는 방법과 설치 방법이 나와있음


wget https://developer.download.nvidia.com/compute/cuda/11.2.1/local_installers/cuda_11.2.1_460.32.03_linux.run

sudo sh cuda_11.2.1_460.32.03_linux.run

- Driver 설치 할거냐고 나오면 x 제거해주면 됨 (위에서 이미 설치함)


* cuDNN 설치

https://developer.nvidia.com/rdp/cudnn-archive#a-collapse811-111

에 들어가서 다운 가능한 cuDNN 버전 확인 (11.2에 맞는 8.1.1으로 다운받음)


- 다운 받은 tar 파일을 압축 해제하고 
tar -xvf cudnn-11.2-linux-x64-v8.1.1.33.tgz

cuda 디렉토리로 파일 이동 후 사용 권한 변경하기
sudo cp cuda/include/cudnn*.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

cudnn 버전 확인 (CUDNN_MAJOR 8 MINOR 1 출력 되어야 함)
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2


* 환경변수 설정

.bashrc에 아래 환경변수 추가

export PATH=/usr/local/cuda-11.1/bin
export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64:$LD_LIBRARY_PATH

참고: https://velog.io/@skyfishbae/RTX3090-2%EB%8C%80-Ubuntu-18.04-%EB%94%A5%EB%9F%AC%EB%8B%9D-%ED%99%98%EA%B2%BD-%EA%B5%AC%EC%B6%95-1-Nvidia-driver-Cuda-cuDNN-%EC%84%A4%EC%B9%98

2021년 12월 6일 월요일

[Ubuntu]iptime 공유기로 포트포워딩

* iptime 공유기로 포트포워딩 하여 ssh 접속하기

- https://kithub.tistory.com/entry/Network-port-forwarding 참조

- iptime 로그인 (192.168.0.1)

- '인터넷 연결 설정' 에서 네트워크 관련 세부내용 확인

- 발급 받은 고정 ip 입력 (ex. 120.111.111.10)

- '고급설정'-'NAT/라우터관리'-'포트포워드 설정에서

   > 규칙 이름 입력, 내부 ip 주소: 192.168.0.5 (원하는 것 입력)

   > 프로토콜: TCP, 외부포트: 8022 (원하는 포트, 다른 포트랑 안겹치게), 내부포트: 22

   > 적용하면 외부에서 ssh를 이용해 8022포트로 접속 시 내부 192.168.0.5 port22로 접속됨

- 리눅스 머신(a)에 랜 연결 후 ip, 게이트웨이 등 설정 (192.168.0.5)

- port 22번 열기 (netstat -nap 후 tcp에 0.0.0.0:22 LISTEN이라고 되어 있으면 열린 것)


- 다른 머신(b)에서 ssh -X id@120.111.111.10 -p 8022 입력하면 외부로 열려있는 8022포트를 이용해서 내부 22번 포트로 접속함


- 혹시 오류 메시지가 나오면 

  a 머신의 방화벽 문제일 수 있으니 ufw 에 22번 포트 열어주는 설정 하고 ufw 재시작

  a 머신에 openssh가 제대로 설치 안되어 있을 수도 있으니 openssh 제거 후 다시 설치

 


2021년 6월 22일 화요일

[Ubuntu]콘솔에서 상대 경로 표시

 * Ubuntu 설치 후 콘솔을 보면 기본적으로 해당 폴더의 절대 경로를 표시해줌

   폴더 경로가 길어지면 콘솔을 보기가 불편함

   따라서 필요하다면 상대 경로로 표시 할 필요가 있음


 * ~/.bashrc 를 수정해야 함

 



bashrc의 절대 경로 표시 부분 (소문자 w로 적힌 부분)








bashrc에서 소문자 w를 대문자 W로 변경 (60줄, 62줄 모두 변경)

bashrc 저장 후 source .bashrc 해주면 됨 (또는 로그아웃 후 재로그인)


2020년 8월 24일 월요일

[Linux] SSH Port 변경 (22->8022)

1. ssh 서비스 포트 번호 확인

netstat -nltp

- 22번 포트가 열려있는 것을 확인할 수 있음

2. ssh 서비스 포트 변경

sudo vi /etc/ssh/sshd_config

Port 22를 comment out 하고 Port 8022를 입력 후 저장 (빨간 박스)


3. ssh 서비스 재시작 및 포트 변경 확인

sudo /etc/init.d/ssh restart

- 포트가 8022로 변경된 것을 확인


4. 다른 서버에서 변경된 포트를 통해 접근

ssh -X 계정명@서버명(또는ip) -p 8022


출처: http://iic.hanyang.ac.kr/documents/34173/42814/9.pdf/ce98d628-29a3-4475-af69-60ce400b9750


2019년 12월 18일 수요일

[ubuntu] Ubuntu 무한 로그인 오류

* 워크스테이션 위치를 이동하기 위해 워크스테이션 종료 후 재부팅시 무한로그인 문제 발생
* ctrl+alt+f1~f6 중 아무거나를 누르면 터미널 화면 (tty) 으로 바뀌고 터미널 상에서는 로그인 되며 다른 컴퓨터를 이용하여 워크스테이션으로 접속도 가능 함
* 하지만 GPU를 이용하는 연산이 수행되지 않음...
* 로그인 후 nvidia-smi 실행시

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

라는 에러 메시지 나옴

(참고로 터미널 모드 종료하려면 ctrl+alt+f7 을 누르면 됨)


문제: 

* GUI상에서는 어떤 계정으로 로그인을 시도해도 다시 로그인 화면만 나오며 터미널을 이용해 로그인 해도 GPU를 전혀 쓸 수 없음
* lightdm 문제이거나 nvidia driver 버전 문제일 가능성이 있음


해결:

1. lightdm을 재설치

ctrl+alt+f1~f6 중 아무거나 눌러서 터미널 화면으로 접속 후 로그인

$ sudo apt-get remove --purge -y lightdm
$ sudo apt-get autoremove --purge -y

디스플레이를 lightdm으로 출력할지 다른 방식으로 할지 선택하라는 화면이 나오기도 함
이 때 lightdm으로 선택

$ sudo apt-get install lightdm -y
$ sudo systemctl start lightdm.service
$ sudo reboot

이렇게 수행하면 되는 경우도 있고 안되는 경우도 있음
내 경우는 이렇게해도 무한로그인 문제가 해결되지 않음


2. Nvidia 드라이버 재설치

ctrl+alt+f1~f6 중 아무거나 눌러서 터미널 화면으로 접속 후 로그인

$ sudo ubuntu-drivers list

실행하면 설치가능한 nvidia driver 목록이 나옴

$ sudo ubuntu-drivers autoinstall
$ sudo systemctl restart lightdm.service
$ sudo reboot

* 위 방법을 통해 문제를 해결
* GUI를 통해 로그인이 잘 되며 nvidia-smi 실행시 GPU가 상태가 잘 보임
* 단, 원래는 nvidia 410 버전이 설치되어있었으나 위 방법을 수행하니 nvidia 440 버전으로 업데이트 되었음
* 현재 Machine learning 코드들은 문제 없이 수행 됨

참조: https://brunch.co.kr/@laviande22/6

2019년 9월 25일 수요일

[Ubuntu] ubuntu에서 logitech unifying 사용하기

sudo add-apt-repository ppa:daniel.pavel/solaar

sudo apt-get update

sudo apt-get install solaar 


출처: https://jungmonster.tistory.com/247 [JMob]

2019년 8월 21일 수요일

[Ubuntu] error while loading shared libraries: libXm.so.4: cannot open shared object file: No such file or directory 에러 해결

* SEP 프로그램 중 Ricksep을 3차원 binary file 출력에 많이 사용 함

* SEP를 다 설치하는 것 보다 Ricksep 실행파일만 가져와서 실행하는게 간편함(...)

* Ricksep을 원하는 리눅스 환경에 가져와서 실행해보면 실행이 되는 경우도 있고 안되는 경우도 있음

* 안되는 경우 아래와 같은 에러가 주로 발생 함
Ricksep: error while loading shared libraries: libXm.so.4: cannot open shared object file: No such file or directory

* 이 때 libmotif4를 설치해주면 됨

* 하지만 아래와 같이 바로 설치하면 에러가 발생 함
sudo apt-get install libmotif4

E: Package 'libmotif4' has no installation candidate

* 해결 방법:
아래를 차례로 실행하면 됨

sudo su

echo 'deb http://cz.archive.ubuntu.com/ubuntu trusty main universe' >> /etc/apt/sources.list.d/extra.list

apt-get update

apt-get install libmotif4


2019년 8월 13일 화요일

[Linux] Cannot connect to display localhost 에러 해결 방법

1. export $DISPLAY 이용

echo $DISPLAY

실행하면 localhost:11.0 등의 결과가 나옴

이 때 에러 메시지에 나온 localhost:10.0 과 echo $DISPLAY의 localhost:11.0 이 서로 다름
따라서

export $DISPLAY=localhost:10.0 를 실행하면 문제 해결 됨

또는 export $DISPLAY="126.10.3.249" 와 같이 x11을 실행시킬 pc 주소를 넣어도 됨

2. 간단한 방법
cd ~

rm -rf .Xauthority

로그 아웃 후 다시 로그 인 하면 .Xauthority 가 다시 생성 되고 ximage 등이 현재 pc에 제대로 출력 됨

2019년 7월 15일 월요일

[Python] Anaconda 설치 후 command line 에 (base) 라고 나올 경우

* Anaconda 설치 후 command line 에 (base) 라고 기본 가상 환경 이름이 출력되는 경우가 있음



그냥 둬도 상관없지만 없애보기로 함

conda config --show 
라고 실행해보면

auto_activate_base: True 로 설정되어 있을 것임. auto_activate_base를 False로 변경해주어야 함

conda config --set auto_activate_base False 
라고 실행하면 command line에 더 이상 (base)가 자동으로 실행되지 않음

(base) 가상환경을 매뉴얼로 실행하고자하면 conda activate base 를 입력하면 됨


출처:https://askubuntu.com/questions/1026383/why-does-base-appear-in-front-of-my-terminal-prompt

2019년 7월 7일 일요일

[Linux] valgrind를 이용한 메모리 누수 확인

* valgrind는 memory leak을 확인하는데 유용하게 쓰이는 프로그램

* 다운로드
   sudo apt-get install valgrind

* 설치
   ./configure --prefix=/설치하고싶은위치

   make

   make install

* 사용법
  icc -g test.c -o test.e 로 컴파일 후 (icc 대신 gcc도 가능)

  valgrind --leak-check=yes ./test.e 로 실행 함

* 실행하면 leak 이 발생하는 위치와 메모리를 확인할 수 있음

<실행 후 출력된 결과, main (test2.c:10)을 통해서 test2.c의 10번째 줄 main함수 에서 메모리 누수가 발생했음을 알 수 있음>



2019년 7월 2일 화요일

[Ubuntu] FTP server 설치 및 포트 열기

1. Ubuntu에 vsftpd 설치:
 
   sudo apt-get install vsftpd

2. 환경설정해주기
 
   sudo vi /etc/vsftpd.conf  열고
 

   * 추가
   listen_port=21    (line 15에 추가)

   * 주석 해제
   anonymous_enable=NO  (익명의 사용자 접속 차단)
   local_enable=YES           (local user가 접속할 수 있게 허용)
   write_enable=YES          (FTP로 파일 쓸 수 있게 허용)
   chroot_local_user=YES    (local user가 자신의 home 상위로 이동할 수 있게 허용)
   chroot_list_enable=YES   (list에 있는 user가 home 상위로 이동할 수 있게 허용, 이 부분을 활성화 해야 xftp를 이용한 접속이 가능해짐 (이유는 모르겠음))
   chroot_list_file=/etc/vsftpd.chroot_list (상위 폴더로 이동 가능하게 할 user 이름)

3. vsftpd.chroot_list 파일 생성 및 설정
 
   sudo vi /etc/vsftpd.chroot_list  파일 생성하고

   root
   허용할username1
   허용할username2
    ....

    이렇게 허용할 user name을 적어줌

4. FTP 재시작

   sudo service vsftpd restart

5. FTP 접속 디렉토리 변경

   usermod -d  폴더위치 유저이름

   (이 때 변경할 유저로 접속하면 안되고 root로 접속해야 함)
 
 
 
 

2018년 12월 11일 화요일

[Ubuntu] 16.04 한글 입력 설정


Ubuntu 한글 설치는 fcitx 한글팩을 설치하는 부분과 한영 전환을 설정하는 부분으로 나뉨

1. 한글 설치

sudo apt-get install fcitx-hangul 

System settings->Language Support 선택

최초 실행시설치가 덜 된 언어팩을 자동으로 설치함 (아마도..)

Keyboard input method system: fcitx 로 변경
(이전 Ubuntu에서는 iBus로 한글을 입력했으나 16.04 버전부터는 fcitx로 변경된듯 함)


 재부팅

2. 한영 전환

System settings->Keyboard->shortcuts->typing 선택

모두 다 Disable로 변경 (클릭하고 backspace 누르면 Disable로 변경됨)

Compose Key만 클릭해서 Right Alt로 변경

Switch to next source 를 Multikey (한/영키) 로 변경

settings 종료


오른쪽 상단 상태바에서 키보드그림 클릭

Configure Current Input Method 클릭

+ 누르고 Only show current language 해제한 후 Hangul 추가 

Global Config tab에서 Trigger Input Method를 Multikey 로 설정,

Extrakey for trigger input method는 Disable 로 변경 (왜?)

Share State Among Window는 all로 선택

3. 로그아웃 후 로그인
--> 한/영 키로 한영 전환 가능한지 확인



 

[Ubuntu] Nvidia GPU 드라이버 설치

bios 설정에서 secure boot를 disable로 바꿔주고 설치를 진행해야 한다

* nouveau kernel driver 차단: https://eee2.tistory.com/10

sudo vi /etc/modprobe.d/blacklist.conf

마지막줄에 아래 값 추가

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

*NVIDIA 드라이버 설치: https://hiseon.me/2018/02/17/install_nvidia_driver/

*CUDA 설치: https://hiseon.me/2018/03/11/cuda-install/


* 설치 후 테스트:

/usr/local/cuda-10.0/samples 로 이동해서

sudo make 실행

cd 1_Utilities/deviceQuery
./deviceQuery 실행

result=PASS 결과 출력되면 테스트 끝.


[Luinux] 시스템 종료, 재시작, 종료 예약

1. 시스템 종료
halt                - 시스템 종료
halt -f             - 시스템 강제 종료

2. 재시작
reboot             - 재시작
reboot -f          - 강제 재시작

3. 종료 예약
shutdown -h now      - 즉시 시스템 종료
shutdown -h 5          - 5분 후 시스템 종료
shutdown -h 13:20     - 13시 20분에 시스템 종료 (hh:mm)

-h 대신 -r 옵션을 사용하면 종료 대신 재시작 됨

shutdown -c              - 예약된 shutdown 명령 취소




참조: https://rootblog.tistory.com/1

[Ubuntu] E: Problem executing scripts APT::Update::Post-Invoke-Success 에러 해결 방법

Ubuntu에 package를 apt-get으로 설치하다가 아래와 같은 에러 발생
에러 메시지는

E: Problem executing scripts APT::Update::Post-Invoke-Success 'if /usr/bin/test -w /var/cache/app-info -a -e /usr/bin/appstreamcli; then appstreamcli refresh > /dev/null; fi'
E: Sub-process returned an error code


해결방법:

sudo apt-get remove libappstream3

참조: https://blog.inidog.com/p/20171030500

[Linux, Ubuntu] Ubuntu에서 재부팅 시 Raid 구성 하드 언마운트 현상

워크스테이션 재부팅시 Raid5로 구성한 하드디스크가 언마운트되는 현상이 발생함

워크스테이션은 특별한 경우를 제외하고는 계속 켜놓기 때문에 별 문제는 없으며

mount /dev/md127 /data/ 

로 매번 mount 시켜주면 되긴 함

하지만 혹시나 해서 방법을 찾아 봄

1. Raid 구성된 하드의 uuid 확인

ll /dev/disk/by-uuid/



2. fstab 수정

vi /etc/fstab 
으로 fstab을 열고 제일 아래줄에 정보 추가

UUID=하드디스크uuid입력    하드디스크경로    파일시스템   defaults  0    0


 (블록으로 드래그한 부분이 추가 한 정보)

* 파일 시스템 확인법

df -Th

결과 정보 화면에 Type 부분이 파일 시스템

-----------------------------------------------------------------------------------------------------------------------

이대로 했을 경우 어째선지 reboot 할 때 문제가 발생

문제해결 방법은 우분투 리커버리모드로 진입 후 루트 계정을 선택하고 커맨드라인에서 /etc/fstab을 수정하면 됨

1. 우분투 리커버리모드
부팅 시 shift 버튼 누름 -> Advanced option for ubuntu 를 선택 -> ....(recovery mode) 선택

2. /etc/fstab 수정
리커버리 모드에서 root 선택 후 커맨드 라인에
mount -o remount,rw /
입력. 그냥 fstab을 열면 read only 로 열려서 수정이 안됨

vi /etc/fstab 
으로 fstab 열고 수정했던 부분 코멘트 처리 후 저장
리부팅 수행

참조: https://m.blog.naver.com/PostView.nhn?blogId=watney0813&logNo=221017927194&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F

http://ngee.tistory.com/592

[Python] Anaconda 가상 환경 만들기

Anaconda의 장점 중 하나는 가상 환경을 만들어 사용할 수 있다는 점임

conda create -n py36 python=3.6 anaconda

- py36 이라는 이름의 가상 환경 생성
- python3.6 버전을 사용
- 제일 마지막 anaconda는 anaconda의 패키지들을 모두 포함시켜서 py36 가상 환경을 생성하겠다는 의미 (anaconda를 생략하고 나중에 필요한 패키지들만 직접 설치해줘도 됨)


가상 환경 실행: conda activate py36 또는 source activate py36
가상 환경 종료: conda deactivate
가상 환경 리스트 확인: conda info --envs

가상 환경 삭제conda remove --name py36 --all

[Ubuntu] Anaconda 설치

아나콘다 다운로드:
https://www.anaconda.com/download/

sh Anaconda3-5.3.1-Linux-x86_64.sh

실행 후 yes 또는 no를 적절히 입력.

설치 위치를 물어보면 원하는 위치를 입력
(Z8의 경우 /home/jhg1026/lib 에 설치)

.bahsrc에 아나콘다 설정을 자동으로 입력할지 선택해야 함 (yes)

VSCode를 설치 여부 물어봄 (yes)