board_FAQ custom_top_html:no
default debug random = 2 / type = READ / detected = READ / doc_Srl = 2395534

단축키

Prev이전 문서

Next다음 문서

크게 작게 댓글로 가기 위로 아래로

단축키

Prev이전 문서

Next다음 문서

크게 작게 댓글로 가기 위로 아래로

 

우분투 리눅스 + NVidia 그래픽 카드 환경에서 채굴기 설정하기

2016년 2월경에 @atomrigs 님이 올리신 우분투 + AMD 그래픽 환경에 대한 글이 있지만, 약간 낡았고

NVidia 그래픽카드를 사용할 경우에 대한 문서가 많지 않은 관계로 이 글을 작성하려고 합니다.

 

AMD 그래픽카드를 쓰시는 분들은 atomrigs님의 글 https://www.ddengle.com/1111776 를 같이 참조하시기 바랍니다.

 

@네온 님이 쓰셨던 글도 같이 참고하시기 바랍니다. https://www.ddengle.com/1843423

(이 글 역시 리눅스 + Nvidia에 대한 내용을 담고 있습니다. 다만 이 글은 리눅스에 대한 배경지식을 가정하고 있기때문에

자세한 설치방법에 대한 내용은 없으며, 이 글의 댓글도 같이 참고하시기 바랍니다.)

 

우분투 설치하기

우분투 리눅스 운영체제를 다운로드 받아서 설치합니다.

우분투는 데비안 계열의 리눅스 배포판으로서 최근에 가장 유명한 배포판이기도 하며, LTS(Long Term Support)버전을 설치하면 최장 5년동안 보안 업데이트등등의 지원을 받을 수 있습니다.

 

우분투 리눅스 iso 이미지는 https://www.ubuntu.com/download 링크에서 받을 수 있습니다.

우분투 데스크탑용을 다운로드 받기 위해서 https://www.ubuntu.com/download/desktop 링크로 가면 (하단 스크린샷 참고)

2017년 7월을 기준으로 가장 최신 버전 16.04.2 LTS 버전을 받을 수 있습니다.

(다운로드 링크를 누르면 Paypal로 기부하라는 내용이 나오지만 무시하면 됩니다. 우분투는 완전한 무료소프트웨어입니다.)

 

ubuntu-site.png

 

ISO 이미지는 데스크탑/서버/클라우드 등등의 몇가지 버전을 선택할 수 있는데,

그래픽 드라이버를 통한 GPU 오버클럭 등을 설정을 하기 위해서는 X11 윈도우 환경을 써야 하므로, Server버전을 설치하지 말고 Desktop 버전을 설치하셔야 합니다. (본인은 Server 버전을 설치했다가, X11 윈도우 관련 패키지를 다시 받아야 하는 수고를 하였습니다. 서버/데스크탑/클라우드 등등의 각 버전별 차이는 근본적으로 없고, 추가로 설치되는 패키지 리스트가 각각 다릅니다.)

 

데스크탑용 64비트 iso파일 직링크: http://releases.ubuntu.com/16.04.2/ubuntu-16.04.2-desktop-amd64.iso

 

※팁: http://releases.ubuntu.com/16.04.2/ 혹은 http://releases.ubuntu.com/ 사이트로 가면 보다 최신을 찾을 수 있습니다.

최신을 받으실때에 주의하실 점은 반드시 LTS 버전을 받으라는 것입니다.

예를 들어 17.04 버전은 LTS 버전과는 다르게 지원 기간이 짧습니다.

단, 최신 배포판의 경우 커널을 보다 최신을 쓸 수 있고, 리눅스의 최신 기능을 사용하는 것이 가능합니다.

설치용 USB로 만들기 및 설치

iso 파일을 다운로드 받은 것을 사용하여 설치용 USB로 만들어줍니다.

본인의 경우에는 rufus를 사용하여 만들었습니다. 자세한 내용은 https://rufus.akeo.ie/ 사이트를 참조하세요.

(iso이미지를 이용해 설치용 USB를 만드는 다양한 소프트웨어가 존재합니다. 따라서 이 부분은 설명서마다 차이가 있을 수 있습니다.)

예를 들어, https://www.ddengle.com/1111776 글을 참조하여 설치용 USB 스틱을 만들 수도 있습니다.

 

USB 설치용 스틱을 만들었으면 이를 채굴기에 꼽은 후에 설치합니다. 설치는 매우 간단하며, 구글에서 "우분투 설치하기" 검색어로 검색을 하면 나오는 문서를 여러 문서 가운데 몇개를 참조하시면 됩니다.

 

설치할 때에 주의하실 점

- 설치용 USB로 부팅되지 않는 경우에는 BIOS 설정을 만져줘야 할 수 있습니다.

- 설치시 랜선을 꼽아두면 자동으로 DHCP 인터넷 설정이 적용됩니다. (꼽아두지 않으면 나중에 수동으로 랜설정을 해야 합니다.)

- 사용자명(username)은 공백없이 알파벳+숫자조합으로 만든다. 예를 들어 miner, ubuntu, jymoon 등등

- 이때 설정해 둔 사용자 비번을 잊지 말아야 합니다.

- 비번을 너무 쉽게 만들지 말아야 합니다: 특문+숫자등을 적당히 섞어서 만들어 줍니다.

 팁: 영문 자판으로 한글을 치고 중간에 특문을 섞어준다.

  예: "땡글^^ 아자 아자 화이팅==3" => "Eodrmf^^ dkwk dkwk ghkdlxld==3"

- 홈 디렉토리 폴더는 암호화시키지 않습니다. (홈 디렉토리를 암호화 한다는 옵션을 건드리지 않으면 됩니다.)

- 중간에 사용자가 추가로 설치하는 패키지를 직접 고를 수도 있습니다.

 - 나중에 사용자가 직접 설치하려 하면 sudo apt-get install package이름

 

설치가 다 되면 자동으로 재부팅됩니다.

 

※참고 영상 : 10여분짜리 우분투 설치 동영상으로, 다운받기 및 USB설치스틱 만들어 설치하는 내용이 나와있습니다.

https://youtu.be/c_Ja2PRt0cc

 

※우분투 최소한으로 설치하기 : 우분투 리눅스 설치 크기를 최소한으로 줄이려면 다음과 같이 할 수 있습니다.

방법 #1

https://xubuntu.org/getxubuntu/ 사이트에서 xubuntu ISO이미지를 받아서 설치합니다.

 

방법 #2

1. Desktop 버전을 설치하지 말고 그 대신에 우분투 Server 버전 ISO 이미지를 받아서 설치한다.

2. 우분투 데스크탑의 최소 버전은 xfce4 버전의 xubuntu-desktop, xfce4, xfce4-goodies를 설치한다. 즉,

 $ sudo apt-get install xubuntu-desktop xfce4 xfce4-goodies

 

위 두 방법은 실질적으로 다를 것이 없습니다만, 방법 #2를 사용하는 경우, xubunt-desktop 가상 패키지를 설치하는 대신에 꼭 필요한 패키지만을 골라서 설치할 수도 있습니다. (https://packages.ubuntu.com/xenial/xubuntu-desktop 에서 볼 수 있는 것처럼 xubunt-desktop은 가상 패키지이며, 이 패키지를 설치하는 경우,  이 패키지에 의존성이 걸린 패키지를 자동으로 같이 설치해주는 역할을 합니다.)

우분투 설치 후 문제 해결(Trouble shooting)

Q: 재부팅했는데 화면이 뜨지 않습니다.

A: Nvidia 그래픽카드를 사용하는 환경에서 설치 후 재부팅할때에 화면이 먹통이 되는 경우가 있습니다. 이 경우 "nomodeset"을 GRUB 설정에 넣어주어야 합니다. 참고: http://reachlab-kr.github.io/linux/2015/09/13/Ubuntu-Nvidia-nomodeset.html

 

Q: X11(X윈도우 혹은 Xorg) 그래픽 환경 말고 일반 리눅스 콘솔을 사용할 수는 없나요?

A: Control-Alt-F1 혹은 Control-Alt-F2 키를 누르면 리눅스 가상 콘솔이 뜹니다.

가상 콘솔은 Alt-F1, Alt-F2 ... Alt-F6까지 6개를 쓸 수 있고, Alt-F7을 누르면 그래픽 환경으로 돌아갑니다.

참고: X11이란 - 유닉스에서 지원하는 그래픽 유저 인터페이스를 X11이라고 부릅니다. 지금은 Xorg라는 프로젝트가 유명합니다~

Nvidia CUDA 패키지 드라이버 설치하기

Nvidia에서 제공하는 CUDA 독점 드라이버를 설치합니다. CUDA 패키지 드라이버는 오픈소스가 아니라서 우분투 운영체제에 기본으로 포함되어있지 않습니다. 그 대신에 어느정도 시간이 지나면 우분투 restricted 레포지터리에 등록이 됩니다. ccminer 혹은 ethminer를 직접 컴파일해서 사용하는 경우에 CUDA 드라이버 및 개발용 라이브러리 파일이 필요합니다.

(claymore 등등의 마이닝 프로그램만을 사용할 경우에는 필요하지 않습니다.)

 

※ 세부사항 및 부연설명: CUDA-8.0 패키지 드라이버는 cuda 빌드툴 + nvidia-375 드라이버가 통합되어 있습니다. 따라서 레포지터리에 포함되어있는 cuda-8-0 가상 패키지를 설치하는 경우에는 nvidia-375 패키지가 함께 설치되기 때문에 nvidia-384 드라이버를 설치하고자 하는 경우 cuda-8-0 가상 패키지를 설치하면 안됩니다. 즉, P106-100 GPU그래픽카드는 nvidia-384 버전 이상의 드라이버가 필요한데, 이 경우에는 cuda-8-0 가상 패키지를 설치해버리면 nvidia-384가 자동으로 제거되고 P106을 지원하지 않는 nvidia-375가 설치되어 버립니다.

반면, nvidia-384 드라이버를 설치하는 경우에는 cuda용 런타임라이브러리(libcuda 384용)를 별도로 함께 설치하기만 하면 cuda-8-0 가상 패키지를 을 설치하지 않아도 claymore, ethminer 등등을 실행시킬 수 있습니다.

 

※ 포인트: P106-100 그래픽 카드를 설치하는 경우에는 nvidia-384 드라이버 + libcuda1-384 패키지를 설치한다.

 

CUDA-8.0 패키지 드라이버 = cuda개발용 빌드 툴 + nvidia-375 드라이버 + 여러가지 의존성 걸린 패키지로 구성됩니다. cuda-8-0이라는 이름의 가상 패키지를 설치하면 cuda 샘플 예제, cuda 개발 툴과 함께 nvidia-375 드라이버가 함께 설치됩니다. ethminer/ccminer를 직접 컴파일하는 경우에 CUDA 개발용 패키지를 필요할 수 있습니다. 이 경우에는 cuda-8-0 가상 패키지를 설치하는 대신에, cuda-minimal-build-8-0 패키지를 설치해야 합니다.

 

설치하기

먼저 다음의 다운로드 링크로 가서 CUDA 드라이버를 다운로드 받을 수 있습니다.

https://developer.nvidia.com/cuda-downloads

 

붉은색으로 밑줄친 부분을 클릭하면 다운로드 받을 수 있는 링크가 뜨게 됩니다.

 

ubuntu-cuda.png

링크를 누르면 cuda-repo-ubuntu1604_8.0.61-1_amd64.deb 라는 이름의 작은 설치파일이 다운로드 되며, 다음의 명령을 통해서 CUDA-8.0 드라이버가 설치됩니다. (sudo 명령를 사용하면 사용자의 비밀번호를 물어보게 되며, 사용자 비번을 입력하면 설치됩니다.)

(주의: $는 명령 프롬프트입니다. $는 입력하지 않습니다)

  1. $ sudo dpkg -i cuda-repo-ubuntu1604_8.0.61-1_amd64.deb (cuda 드라이버의 레포지터리 설치 및 자동설정)
  2. $ sudo apt-get update (cuda 레포지터리 업데이트)
  3. $ sudo apt-get install cuda (cuda 패키지 설치)

참고문서: https://askubuntu.com/questions/799184/how-can-i-install-cuda-on-ubuntu-16-04

 

부연설명 #1: sudo 명령은 사용자를 잠깐동안 수퍼유저(root) 사용자로 스위치하게 만드는 명령입니다.

명령 프롬프트가 $인 경우는 일반 사용자를 가리킵니다. 일반 사용자 상태에서 root 사용자로 스위치한 후에 계속 root사용자로 남아있으려면 $ sudo -s 명령을 내립니다. 그러면 명령 프롬프트가 #로 바뀌며 sudo를 쓰지 않고 곧바로 시스템 수퍼유저만이 쓸 수 있는 명령을 사용할 수 있습니다.

 

부연설명 #2: 우분투 공식 레포지터리에는 우분투 배포판에서 설치할 수 있는 각종 패키지가 들어있습니다.

이러한 공식 레포지터리를 통해서 우분투에 여러 프로그램을 편리하게 설치할 수 있는데,

공식 레포지터리 외에도 우분투에서 쓸 수 있는 여러가지 설치파일을 자체 제작하여 배포하는 여러 사이트가 있으며,

이러한 비공식 레포지터리를 운영체제에 등록해두면 우분투의 설치 자동화 툴 apt를 사용하여 편리하게 설치/제거 및 관리할 수 있습니다.

우분투 공식 레포지터리는 /etc/apt/sources.list 파일에 등록되어 있으며, 추가적으로 설치된 여러 비공식 레포지터리는 /etc/apt/sources.list.d/ 디렉토리 아래에 등록되어 있음을 확인할 수 있습니다.

 

Nvidia 그래픽 드라이버 설치하기

NVidia 독점 그래픽 최신 드라이버를 설치해줍니다. NVidia 독점 그래픽 드라이버는 오픈소스가 아니고, 이 역시 우분투 운영체제에 포함되어 있지 않습니다. 따라서 엔비디아에서 제공하는 nvidia-settings를 사용해서 오버클럭 등을 설정하기 위해서는 반드시 엔비디아 그래픽 드라이버를 설치해야 합니다.

 

※참고한 문서: https://askubuntu.com/a/851144

주의사항: 위 참고문서를 따라하면 엉뚱한 커널 모듈을 설치하게 되고, 드라이버가 작동하지 않습니다.

자신의 커널 버전과 일치하는 nvidia그래픽 드라이버를 설치해야만 제대로 작동하지 주의하시기 바랍니다.

 

2017/8/1 현재 시점에서 가장 최신의 안정버전 nvidia 그래픽 드라이버는 375.66입니다. (개발 버전 최신은 nvidia-384)

 

Nvidia 독점 드라이버를 설치하려면 몇가지 패키지를 우선 설치해야 합니다.

(주의: $는 명령 프롬프트입니다. $는 명령 입력할 때에 입력하지 않습니다)

$ sudo apt-get install build-essential

여기에 추가적으로 현재 사용중인 커널의 리눅스 커널 헤더를 설치해야 합니다.

$ uname -r
4.10.0-30-generic # 커널 버전. 커널 버전은 사용자에 따라서 다를 수 있음
$ sudo apt-get install linux-header-4.10.0-30-generic

혹은

$ sudo apt-get install linux-header-`uname -r`

부연설명: 위 명령이 실행이 완료되면 리눅스 커널의 헤더파일 및 gcc 등등의 리눅스 커널을 컴파일할 수 있는 컴파일러가 함께 설치됩니다.

여기서 `uname -r` 줄에서 보이는 따옴표는 일반 홑따옴표 "'"가 아니고 역따옴표 "`"입니다. 역따옴표의 역할은 역따옴표로 감싼 명령의 실행 결과값을 돌려주는 역할을 하며 uname -r 명령의 결과값, 여기서는 4.10.0-30-generic 값을 돌려주는 역할을 합니다.

설치방법 #1

최신 우분투의 경우 기본적으로 nvidia 독점 드라이버가 설치되어 있지는 않으나, 사용자가 쉽게 설치할 수 있도록 이미 배포판에 별도로 패키징 되어 있습니다. 다음의 명령으로 nvidia 최신 드라이버 375 버전을 설치할 수 있습니다. (대부분의 사용자는 이 방식으로 설치할 수 있습니다.)


$ sudo apt-get update

$ sudo apt-get install nvidia-375

설치방법 #2

최신 그래픽카드를 장착한 경우에 우분투 공식 레포지터리에는 없으나 별도의 레포지터리를 통해 nvidia 독점 드라이버를 설치할 수 있습니다. 이 경우 Nvidia 드라이버를 지원하는 별도의 레포지터리는 다음과 같이 추가할 수 있으며, 등록된 레포지터리를 통해서 손쉽게 설치할 수 있습니다. 대부분의 사용자는 설치방법 #1 또는 #2를 통해서 드라이버를 설치할 수 있을 것입니다.

 

부연설명: PPA(Personal Package Archive) 개인적 패키지 저장소라는 뜻의 우분투용 패키지 레포지터리. 엔비디아 그래픽 드라이버는 ppa:graphics-drivers/ppa라는 이름으로 apt 레포지터리 관리 프로그램에 등록되어 있습니다. https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa 사이트로 가면 이 레포지터리에 대한 자세한 설명을 볼 수 있습니다.

 

$ sudo add-apt-repository ppa:graphics-drivers/ppa # 레포지터리 추가.

$ sudo apt-get update # 추가된 레포지터리의 패키지 목록을 업데이트

$ sudo apt-get install nvidia-375 # 최신 그래픽 카드가 지원되는 드라이버 버전은 375버전보다 높을 수 있을 것입니다.

설치방법 #3

그래픽 카드가 너무 최신인 경우에는 아직 우분투 공식 레포지터리에도 없고, 별도의 레포지터리에도 패키징이 안되어 있을 수도 있습니다.

이러한 경우에는 Nvidia 사이트에 직접 가서 최신의 독점 드라이버를 설치해야 합니다.

 

http://www.nvidia.co.kr/Drivers 혹은 http://www.geforce.com/drivers 링크를 통해서 다운로드할 파일을 찾아볼 수 있습니다.

2017/7월 기준 최신 리눅스 드라이버는 http://www.nvidia.com/download/driverResults.aspx/118290/en-us 링크를 통해 받을 수 있습니다.다운로드 받은 파일의 이름은 "NVIDIA-Linux-x86_64-375.66.run" 인데, 이를 설치하려면 다음의 명령을 실행합니다. 이 명령이 실행되는 동안 NVIDIA의 커널 모듈이 컴파일 링크되면서 리눅스 커널에서 사용할 수 있는 Nvidia 커널 모듈이 함께 설치됩니다.

 

$ sudo sh NVIDIA-Linux-x86_64-375.66.run

(중간중간에 라이선스 동의 등등을 물어보고 답해야 하는 것이 있으니 설치가 진행되지 않고 멎어있는 경우 잘 살펴보시기 바랍니다)

 

위와 같은 명령 대신에 다음 명령을 입력하면 아무것도 묻지 않고 조용히 설치됩니다.

 

$ sudo sh NVIDIA-Linux-x86_64-375.66.run -a -s -q

 

부연설명NVIDIA-Linux-x86_64-375.66.run 파일은 쉘스크립트와 설치 파일이 묶여진 형태의 설치용 스크립트 파일로서,

sh NVIDIA-Linux-x86_64-375.66.run -h 명령을 내리면 좀 더 자세한 설치 옵션을 볼 수 있습니다.

-a 옵션은 라이선스를 동의한다는 옵션이며, -s 옵션은 조용하게(silent) 설치하라는 것이며, -q 옵션은 사용자에게 물어보지 말고 yes 혹은 기본값으로 자동으로 응답하고 설치하라는 뜻입니다. 이 경우 중간 중간에 발생할 수 있는 오류가 무시되기때문에 문제의 원인을 파악하기 위해서 재 설치를 하는 경우라면 -a -s -q 옵션을 사용해서는 안됩니다.

 

위의 설치방법 #1, #2, #3중에 하나의 방식을 통해서 Nvidia 독점 드라이버가 설치되면 nvidia-settingsnvidia-smi, nvidia-xconfig, OpenCL 커널 모듈용 소스파일 등등의 여러 파일이 함께 설치됩니다. (nvidia 커널 모듈 소스 파일은 /usr/src/nvidia-375-375.66/ 아래에 함께 설치됨)

 

Nvidia 드라이버 설치시 문제점 해결방법

Q: 드라이버를 설치하고 난 후에 무한 로그인 오류가 걸렸습니다.

A: 이 경우 드라이버를 설치하는 중간에 오류가 났다거나, 드라이버 버전이 맞지 않는다거나 하여 X11 윈도우로 제대로 진입하지 못하고 나타나는 오류입니다. 이 경우는 드라이버를 제거하고 이에 맞는 드라이버를 설치하거나 해야 합니다.

1. 가상 콘솔로 빠져나온다: 디스플레이 매니져 상태 혹은 로그인이 제대로 안되고 있는 상태에서는 작업을 할 수 없으므로 가상 콘솔로 빠져나옵니다. 가상 콘솔로 빠져나오려면 Ctrl-Alt-F1, Ctrl-Alt-F2 등을 눌러줍니다. 그러면 검정색 바탕 화면의 리눅스 가상콘솔로 빠져나옵니다. 빠져나온 후에 일반 사용자로 로그인합니다.

2. 디스플레이 메니져를 종료시킴: sudo service lightdm stop 명령을 내려 디스플레이 매니져를 종료시킵니다.

3. Nvidia 독점 드라이버 재설치: 위의 세가지 설치방법중에 하나의 방법으로 다시 설치합니다. 이 경우 중간에 오류가 없는지를 유심히 살펴보셔야 합니다.

 - apt-get 명령으로 설치했을 경우에는 apt-get --reinstall install 패키지이름...

 - NVIDIA-Linux-x86_64-xxx.yy.run 파일로 직접 설치한 경우에는 sudo sh NVIDIA-Linux-x86_64-xxx.yy.run --uninstall 명령으로 삭제한 후에 재설치합니다.

 

Q: 오래된 그래픽카드의 경우 드라이버가 제대로 작동하지 않습니다.

A: 오래된 그래픽카드를 쓰는 경우에는 그래픽 드라이버를 낮은 버전으로 설치해야 합니다.

이 경우 현재 사용중인 드라이버를 제거하고 그래픽 카드에 맞는 드라이버를 재설치합니다.

보다 자세한 내용은 다음 링크를 참조하세요.

https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa

Nvidia-settings를 사용하기 위한 그래픽 카드 재설정

오버클럭을 위해서는 nvidia-settings를 사용해야 하는데, 이를 위해서 다음과 같은 명령을 실행해서 오버클럭이 가능하도록 설정해주어야 합니다.

 

참조 문서: https://askubuntu.com/questions/859218/nvidia-1070-overclocking-help-needed

 

다음과 같은 명령을 실행합니다.

 

$ sudo nvidia-xconfig -a --cool-bits=28 --allow-empty-initial-configuration (-a 옵션으로 모든 그래픽 카드를 등록, coolbits를 28로 세팅하여 오버클럭이 가능하도록 함)

 

※참고: coolbits 28의 의미는 4(팬 속도 조절) + 8(퍼포먼스 레벨 및 오버클럭:PowerMizer) + 16(기기에 따라 전압 업 지원(CLI 모드에서만 지원함)) = 28

 

$ sudo service lightdm stop (X 윈도우 디스플레이 매니져 정지시킴)

 

만약 Nvidia 드라이버를 업데이트 하려 하는 경우에는 그 다음의 업데이트 작업을 수행해 줍니다. 업데이트가 끝난 후에 다음 명령을 실행시켜 디스플레이 매니져를 재시작합니다.

 

$ sudo service lightdm start (재시작)

 

이제 nvidia-settings 명령을 실행하여 오버클럭 및 팬 속도 조절을 사용할 수 있습니다.

nvidia-settings.png

여기서 주의할 것은, 메모리 Transfer Rate Offset 값이 200으로 설정하면 M$ 윈도우에서 100으로 한 것과 같다는 것입니다.

따라서 M$윈도우상에서 메모리 Transfer Rate 오프셋을 200으로 했다면 우분투에서는 400을 입력해주어야 합니다.

 

Q: 오버클럭한 설정값을 어떻게 보존시키나요?

A: 매번 nvidia-settings를 실행하지 않고 설정값을 보존하려면 다음 명령을 스크립트 파일로 만들어서 실행시켜 주어야 합니다.

#!/bin/sh

nvidia-settings -a [gpu:0]/GPUGraphicsClockOffset[3]=100 # 코어 클럭 오프셋을 100으로
nvidia-settings -a [gpu:0]/GPUMemoryTransferRateOffset[3]=800 # 메모리 transfer rate 오프셋을 400으로
nvidia-settings -a [gpu:0]/GpuPowerMizerMode=1 # 퍼포먼스 레벨을 최고로,
nvidia-settings -a [gpu:0]/GPUFanControlState=1 # 수동 팬 콘트롤
nvidia-settings -a [fan:0]/GPUTargetFanSpeed=80 # 80% 팬속도

 

그런데 여기서 [3]이라는 값은 performance level을 뜻하며, GPU에 따라 달라질 수 있습니다.

예를 들어 GTX1060의 경우는 [3]이 변경가능한 최대 퍼포먼스 레벨이며, GTX1050/P106-100의 경우 [2]가 최대 퍼포먼스레벨입니다.

 

위의 내용을 /etc/X11/xinit/xinitrc.d/nv-config.sh 이름으로 저장한 후에, 퍼미션을 실행가능으로 고쳐두면,

X11로 사용자가 로그인을 하면 자동으로 위의 설정으로 오버클럭 및 팬 속도가 적용됩니다.

 

그래픽 카드가 여러개인 경우에는 다음과 같은 식으로 스크립트를 만들어줍니다.

nvidia-settings -a [gpu:0]/GPUGraphicsClockOffset[3]=100
nvidia-settings -a [gpu:0]/GPUMemoryTransferRateOffset[3]=800
nvidia-settings -a [gpu:0]/GpuPowerMizerMode=1
nvidia-settings -a [gpu:0]/GPUFanControlState=1
nvidia-settings -a [fan:0]/GPUTargetFanSpeed=80

nvidia-settings -a [gpu:1]/GPUGraphicsClockOffset[3]=100
nvidia-settings -a [gpu:1]/GPUMemoryTransferRateOffset[3]=800
nvidia-settings -a [gpu:1]/GpuPowerMizerMode=1
nvidia-settings -a [gpu:1]/GPUFanControlState=1
nvidia-settings -a [fan:1]/GPUTargetFanSpeed=80
...

 

혹은 더 간단하게 다음과 같이 할 수 있습니다. (단, 이 경우 6개의 모든 그래픽 카드의 오버클럭 및 세팅값 동일하게 세팅됨.)

for x in 0 1 2 3 4 5; do
  nvidia-settings -a [gpu:$x]/GPUGraphicsClockOffset[3]=100
  nvidia-settings -a [gpu:$x]/GPUMemoryTransferRateOffset[3]=800
  nvidia-settings -a [gpu:$x]/GpuPowerMizerMode=1
  nvidia-settings -a [gpu:$x]/GPUFanControlState=1
  nvidia-settings -a [fan:$x]/GPUTargetFanSpeed=80
done

그밖에 문제 해결(Trouble shooting)

Q: 파워 제한 설정하는 방법은?

A: nvidia-smi 명령을 이용하여 다음과 같은 명령을 내려줍니다.

$ sudo nvidia-smi -pl 100 # 100와트로 파워 리미트를 설정합니다. %값으로 지정하는 것이 아닌 절대값으로 지정.(기본 값은 120W)

그런데 기본적으로 이 명령이 제대로 작동하려면 다음 명령을 통해서 GPU를 persistence 모드로 변경해주어야 합니다. 그래야만 설정값이 보존이 됩니다.

$ sudo nvidia-smi -pm 1

 

Q: 위 설정을 시스템 부팅 후에 자동으로 적용하게 하려면?

A: 다음의 내용을 쉘 스크립트 파일로 만들어서 /etc/X11/xinit/xinitrc.d/nv-power.sh같은 식으로 이름을 지어 넣어두고, 퍼미션을 실행가능하도록 바꿔두면, 사용자가 X11로 로그인 하는 경우 자동으로 파워 제한이 적용됩니다.

 

#!/bin/sh

nvidia-smi -pm 1

nvidia-smi -pl 80 # 80와트로 파워 리미트를 설정. (기본 값은 120W)

 

※팁: 위의 설정은 /etc/rc.local 등에 넣으면 그 값이 제대로 적용되지 않으며, 우분투의 기본 윈도우 디스플레이 메니져인 lightdm이 실행된 후에 바로 적용되게 하려면 다음과 같이 설정해줍니다.

※팁: 각 GPU별로 팬속도를 세팅하려면 nvidia-smi -i 3 -pl 80 즉, 3번(4번째 그래픽 카드) 카드를 80W로 파워 제한.

 

/etc/lightdm/lightdm.conf.d/nv.conf 파일의 내용을 다음과 같이 만들어 저장

 

[SeatDefaults]
display-setup-script=/etc/X11/xinit/xinitrc.d/nv-config.sh

# 다음과 같이 디스플레이 설정 스크립트(display-setup-script)를 더 추가할 수 있다.

display-setup-script=/etc/X11/xinit/xinitrc.d/nv-power.sh

# 파일 끝

 

Q: 파워 소모 상태 확인하는 방법은?

A: nvidia-smi -q 명령 혹은 nvidia-smi -q -d POWER 명령 옵션으로 파워 소모 상태를 확인할 수 있습니다.

온도도 함께 보려고 하면 nvidia-smi -q -d POWER,TEMPERATURE 명령 옵션을 사용합니다. (자세한 설명은 -h 옵션으로 볼 수 있음)

 

Q: 모니터 없이 사용하려면?

A:

방법 #1

엔비디아의 경우 다음 명령을 이용해서 display-device를 사용하지 않음 옵션을 주어 간편하게 설정할 수 있습니다.

(그러나 다음의 방법을 쓰면 GPU 퍼포먼스가 심하게 저하되어 채굴이 제대로 되지 않음을 확인함)

$ sudo nvidia-xconfig -a --cool-bits=28 --use-display-device=None --virtual=1920x1200

방법 #2

위 방법은 제대로 작동하지 않음이 확인되었습니다.

(다음은 구글로 검색해서 찾을 수 있는 그래픽 카드에 상관 없이 쓸 수 있는 일반적인 방법입니다.)

더미터미널을 사용하면 되지만, 더미터미널이 없다 하더라도 dummy X서버를 설치하여 모니터를 붙이지 않은 채로사용할 수 있습니다.

다음 방법을 쓰는 경우에도 일부 동작 문제가 발견되었습니다.

의도대로 작동하지 않는 경우에는 /etc/X11/xorg.conf를 지운 후에 nvidia-xconfig 명령을 사용하여 /etc/X11/xorg.conf를 원상복구 하시기 바랍니다)

 

1) 다음의 명령으로 더미 X11 서버를 설치합니다.

$ sudo apt-get install xserver-xorg-video-dummy

 

2) /etc/X11/xorg.conf를 보존합니다.

$ cp /etc/X11/xorg.conf xorg.save.conf

 

혹은 xorg.conf를 지우고 다시 생성시킵니다.

$ sudo rm /etc/X11/xorg.conf

$ sudo nvidia-xconfig --allow-empty-initial-configuration -a --cool-bits=28

 

3)  /etc/X11/xorg.conf를 편집해서 드라이버를 dummy를 쓰도록 수정해 줍니다.

(파란색 줄을 추가해줍니다)

 

Section "ServerLayout"
    Identifier     "Layout0"

    Screen      0  "DummyScreen0" # 추가. 기본 스크린을 dummy로 바꿈.

    Screen      1  "Screen0" 0 0 # 변경

    Screen      2  "Screen1" 0 0 # 변경.

...
#    Screen      0  "Screen0" # 삭제 혹은 커멘트 처리

#    Screen      1  "Screen1" RightOf "Screen0" # 삭제 혹은 커멘트 처리

#    Screen      2  "Screen2" RightOf "Screen1" # 삭제 혹은 커멘트 처리

...
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

....

 

# 더미 디바이스 추가.

Section "Device"
    Identifier  "DummyDevice0" # 디바이스 이름
    Driver      "dummy"
EndSection

 

# 더미 스크린 추가

Section "Screen"
    Identifier     "DummyScreen0" # 스크린 이름
    Device         "DummyDevice0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

 

Section "Screen"

    Identifier     "Screen0"
    Device         "Device0"

...

이하 생략

...

# xorg.conf 끝.

 

4) xorg.conf 수정이 완료되었으면 lightdm을 재시작하고, 잘 작동하는지 확인합니다.

$ sudo service lightdm restart

별다른 오류가 나오지 않고 정상 작동한다면 모니터 케이블을 뽑은 후에 재부팅을 하고 정상 작동하는지 확인합니다.

$ shutdown -r now

오류가 없다면 X 더미 서버가 실행된 것이며, 채굴 프로그램을 돌려보아서 오버클럭 상태가 여전히 작동하는지 확인해봅니다.

xorg.conf의 오류가 없는지 확인하기

제대로 세팅한 것 같은데 재부팅 이후에 제대로 작동하지 않고 있는 경우에는 다음의 사항을 살펴봅니다.

1. nvidia-xconfig -t 명령을 사용하여 /etc/X11/xorg.conf가 정확히 수정되었는지 오류가 없는지 확인해본다.

2. Xorg가 제대로 실행되고 있는지 확인한다. (ps aux |grep Xorg)

3. /etc/X11/xorg.conf가 원상복구 된 것은 아닌지 확인해본다. (그래픽 카드를 추가하면 xorg.conf 세팅이 변경됨)

4. /var/log/Xorg.0.log 로그파일에 오류가 남아있는지 확인해 본다.

 

Q: X윈도우로 로그인하지 않고 터미널에서 nvidia-settings를 실행하는 방법?

A: 다음과 같이 하면 X윈도우로 로그인하지 않더라도 ssh로 접속하여 터미널을 통해 nvidia-settings를 실행할 수 있습니다.

 

1. /etc/X11/Xwrapper.config 를 편집하여 allowed_users=console 줄을 찾아 allowed_users=anybody로 바꿔준다.

nano/vi 등등의 편집기를 사용하여 Xwrapper.config에서 allowed_users 설정을 바꿔줍니다.

이렇게 고쳐야만 일반 터미널에서도 X서버를 실행시킬 수 있습니다.

...
# /etc/X11/Xwrapper.config 파일의 내용
allowed_users=anybody
# 끝

2. nvidia-settings를 실행할 때에 다음과 같이 실행한다.

예를 들어 nvidia-settings -q all 명령을 실행하려고 한다면 다음 명령과 같이 xinit 명령을 통해서 nvidia-settings를 실행시킵니다.

$ xinit /usr/bin/nvidia-settings -q all -- :1 -once # DISPLAY=:1에 X서버를 실행시키고 nvidia-settings -q all을 실행시킨 후 종료.

여기서 주의할 것은 nvidia-settings의 전체 경로를 모두 써야 한다는 점입니다.

※부연설명: X서버를 실행시키는 두가지 방법이 있는데, 첫째는 xdm/gdm/lightdm등과 같은 디스플레이 매니져를 통해 실행하는 방법과, xinit을 통해 X윈도우 서버를 단독으로 실행시키는 방법입니다. 이 경우 xinit을 통해 Xorg 메인 서버프로그램을 단독으로 실행시킨 후에 nvidia-settings X클라이언트 프로그램을 실행시키고 곧바로 종료(-once)시키는 방법입니다.

 

xinit을 사용하면 다음과 같은 방식으로 팬속도/오버클럭 조정등을 할 수 있습니다.

$ xinit /usr/bin/nvidia-settings -a [gpu:0]/GPUFanControlState=1 -a [fan:0]/GPUTargetFanSpeed=85 -- :1 -once

마이닝하기

1. 마이닝풀 선택 : 우선 마이닝풀을 선택합니다. 땡글 사용자가 많이 사용하는 마이닝풀허브(이하 마풀허)는 사용하기 쉬우므로 마풀허를 사용하고 있다고 가정합니다.

2. 채굴할 코인 선택

3. 채굴기 설치 : 각 코인마다 암호 알고리즘이 다르고 채굴 프로그램이 다를 수 있습니다. 채굴할 코인에 따라서 바뀔 수 있으나, 대표적인 채굴 프로그램을 위주로 설명하도록 하겠습니다.

ethminer-genoil 사용하기

ethereum.org에서 개발한 공식 채굴 프로그램인 cpp-ethminer의 변형판으로서 Genoil이라는 개발자가 많은 기여를 해서 만든 리눅스/윈도우에서 많이 쓰이는 채굴 프로그램입니다. cpp-ethminer의 GPU 채굴기능은 최근 버전에서 아예 삭제되어서 더이상 쓸 수 없게 되었으나, ethminer-genoil이라는 별칭으로도 불리는 변형판 채굴 프로그램이 여전히 개발중이라서, 땡글 게시판에서 보이는 ethminer에 대한 내용의 거의 대부분은 바로 ethminer-genoil을 가리킵니다. 프로그램 소스가 공개되어있고 무료로 사용가능한 자유소프트웨어입니다.

 

개발 사이트: https://github.com/ethereum-mining/ethminer

 

프로그램 다운받기: https://github.com/ethereum-mining/ethminer/releases (여기서 리눅스용 실행 파일을 함께 다운받을 수 있습니다)

 

설치: 압축 파일을 풀면 실행 파일인 ethminer가 들어있습니다. 이를 ~/bin/ 디렉토리에 넣고 퍼미션을 실행가능으로 바꿔줍니다.

 

예) mkdir ~/bin (~는 사용자 홈 디렉토리를 가리킵니다. 보통은 /home/사용자ID가 됩니다. 예를 들어 사용자 아이디가 foobar인 경우 홈 디렉토리는 /home/foobar/가 됩니다. mkdir ~/bin 명령을 내리면 /home/foobar/bin/ 디렉토리가 생성됩니다.)

 

일반사용자 뿐만 아니라 모든 사용자가 사용할 수 있도록 /usr/bin 혹은 /usr/local/bin 하위 디렉토리에 설치해두면 좀 더 편리할 수 있습니다.

 

 

실행: 다음과 같은 형태의 쉘 스크립트(윈도우즈에서 배치파일에 대응)를 만들어줍니다.

 

#!/bin/sh

ethminer -U -S asia.ethash-hub.miningpoolhub.com:20535 -FS exit -O 사용자.워커이름:비번

# 끝

 

이 내용으로 eth.sh 라는 이름으로 쉘 스크립트 파일을 만들었다면, 이를 실행하려면 sh eth.sh라고 실행시킵니다.

혹은 eth.sh 스크립트에 실행 퍼미션을 주어 실행시킵니다. 즉,

$ chmod +x eth.sh

$ ./eth.sh

 

부연설명: 유닉스/리눅스의 경우 보안상의 이유로 현재 디렉토리 "."는 실행 PATH에 잡혀있지 않으므로 반드시 경로명에 현재 디렉토리 "."를 붙여서 "./실행파일이름"이라고 써줘야 합니다.

 

※보충설명: 초기의 cpp-ethminergeth를 통해서 DAG파일을 생성하고, ethminer 마이닝용 메인프로그램이 별도로 실행되는 등 조금 복잡한 실행 방식이었으나, 최근의 ethminer-genoil는 임시로 DAG파일을 생성시키지 않고, 곧바로 GPU메모리에 DAG파일을 생성시킵니다.

따라서 ethminer 채굴 방법을 검색하면 상당히 오래된 내용이 많아서 (그 예로 https://www.ddengle.com/1045342 문서.) 초급 마이너에게 혼동을 줄 수 있고, 최신 ethminer-genoil은 실행 방법이 너무 쉽기때문에 구체적인 문서가 아예 없다시피 한 것이 흠일 정도입니다.

ccminer 사용하기

ccminer는 여러가지 암호화 알고리즘을 지원하는 만능 채굴 프로그램으로, ethminer와 마찬가지로 자유소프트웨어이며 무료로 사용할 수 있습니다. 상당히 다양한 변형 프로그램(fork)가 존재하지만 게중에 제일 많이 사용되는 fork는 tpruvot개발자가 관리하는 ccminer입니다.

사이트: https://github.com/tpruvot/ccminer

다운로드: https://github.com/tpruvot/ccminer/releases (윈도우용 실행파일만 다운받을 수 있음)

빌드 및 설치: ccminer는 리눅스용 실행 바이너리를 별도로 배포하지 않고 있으므로 직접 컴파일해서 사용합니다.

컴파일 절차가 조금 복잡해보일 수 있으므로 이해되지 않는다면 다음으로 넘어가시기 바랍니다.

- 컴파일에 필요한 빌드환경 만들기 : git, gcc, automake, autoconf 등등 설치

- Nvidia CUDA 개발환경 확인 : nvcc 컴파일러가 제대로 작동하는지 확인

- ccminer 컴파일 및 실행.

 

조금 낡은 문서지만 다음 링크를 함께 참조하실 수 있습니다. http://thecryptoworld.org/comment-compiler-ccminer-sur-ubuntu

1. 컴파일 환경 설정

apt-get install git automake autoconf gcc+

컴파일이 제대로 안된다면 필요한 라이브러리 혹은 패키지가 제대로 설치되지 않은 것일 수 있습니다.

2. ccminer 소스코드 다운로드 받기

ccminer의 소스코드를 다운로드 받습니다. ccminer의 가장 많이 쓰이는 버전인 tpruvot개발자 버전 https://github.com/tpruvot/ccminer 을 다운로드 받습니다.

$ mkdir src

$ cd src

$ git clone https://github.com/tpruvot/ccminer

....

$ cd ccminer

3. 컴파일 설정 및 컴파일

최근의 ccminer 소스는 다음의 명령을 통해서 자동으로 컴파일이 됩니다. (아래 세부 내용은 ccminer 개발이 진행됨에 따라 변경될 수 있으니 주의하시기 바랍니다.

$ sh build.sh

중간에 오류가 나거나, configure 단계에서 오류가 난다면 컴파일에 필요한 패키지 혹은 라이브러리가 설치되지 않은 것입니다.

이 경우 apt-file 명령을 통해서 필요한 패키지를 알아내고 설치해야 합니다. (자세한 내용 추가 예정)

4. ccminer 실행하기

예를 들어 ccminer를 사용해서 cryptonight 암호화 알고리즘을 선택하여 모네로 코인을 채굴한다고 하면 다음과 같은 명령을 실행해야 합니다.

 

$ ccminer -a cryptonight -o stratum+tcp://asia.cryptonight-hub.miningpoolhub.com:20580 -u 사용자.워커이름 -p x

claymore 사용하기

claymore는 독점 소프트웨어입니다. 자유소프트웨어가 아니고, 오픈소스도 아니어서 프로그램의 소스를 들여다 볼 수 없으나, 듀얼마이닝 기능 및 사용자가 사용하기 편리한 점이 많아서 상당히 인기있는 채굴 프로그램이며, 이더리움코인 및 Zcash코인 채굴용 프로그램이 별도로 배포되고 있고, 프로그램이 자동으로 2% 정도의 GPU 혹은 쉐어를 개발자에게 돌리도록 하는 devFee 기능이 들어있습니다. (정확히 어떤 방식으로 개발자에게 돌아가는지 알려지지는 않음)

 

claymore는 윈도우용 및 리눅스용 실행 바이너리 파일을 함께 배포하고 있습니다.

 

claymore는 이더리움채굴기 버전 및 Zcash 채굴기 버전 두가지가 별도로 있습니다.

https://bitcointalk.org/index.php?topic=1433925.0 이더리움 버전

https://bitcointalk.org/index.php?topic=1670733.0 ZEC 버전 (AMD만 지원)

 

여기서는 이더리움채굴 버전으로 설명합니다.

claymore 다운로드 받기

위의 이더리움 버전 링크로 가서, 구글드라이브 혹은 메가드라이브 링크를 통해 다운로드 받습니다. 리눅스용 버전은 확장자가 tar.gz로 되어 있으며 "LINUX"라는 이름이 붙여있어 구분하기 어렵지 않습니다.

압축 풀기

tar.gz 압축 파일의 압축을 풀어줍니다.

 

$ mkdir claymore # /home/사용자명/claymore라는 경로가 생성되는 것으로 생각합니다.

$ pwd # 현재 경로를 확인합니다.

$ cd claymore # claymore 디렉토리로 옮깁니다.

$ tar xzvf ../Claymore\'s\ Dual\ Ethereum+Decred_Siacoin_Lbry_Pascal\ AMD+NVIDIA\ GPU\ Miner\ v9.7\ -\ LINUX.tar.gz # 바로 상위 디렉토리에 있는 압축파일을 풀어줍니다.

...

$ ls # 압축이 제대로 풀렸는지 ls 명령으로 확인합니다.

Claymore...

 

이렇게 하면 경로명이 Claymore....로 시작하는 디렉토리가 생성되고 그 아래에 claymore 실행파일 및 여러가지 파일이 풀려있습니다.

경로명이 너무 복잡하므로 다음 명령으로 바꿔두면 편리합니다. (경로명을 Claymore 버전명칭으로 바꿔서 붙여줍니다)

 

$ mv Claymore* v9.7

(부연설명: 여기서 claymore/ 하위 디렉토리에 단 하나의 경로만 존재하므로 Claymore*라고만 입력해도 되는 경우입니다)

※팁: 파일 이름에 공백 혹은 ' 문자와 같은 특수 문자가 들어있는 경우에는 입력이 번거로울 수 있습니다. 이 경우

tar xzvf Claymore\'까지 터미널에 입력한 후에 탭키를 두번 누르면 자동으로 파일 이름을 완성시켜줍니다.

 

※팁: tar 최신의 경우에는 z 옵션을 추가하지 않고 tar xvf 압축파일.tar.gz 파일명 해도 압축이 해제됩니다.

압축을 해제하지 않고 압축된 파일 리스트를 보고싶은 경우에는 tar tvf 압축파일.tar.gz 명령을 사용합니다.

 

스크립트 만들기 및 실행하기

(여기서 압축이 풀린 경로를 /home/사용자명/claymore/v9.7이라고 한다면)

압축이 풀린 경로로 가면 start.bash 라는 이름의 스크립트 샘플 파일이 있습니다. 이를 변형해서 스크립트 파일을 만들어줍니다.

 

$ pwd # 현재 경로 확인

$ ls # 현재 디렉토리 내의 파일 리스트 확인

$ cp start.bash test.sh # start.bash 파일을 test.sh 이름으로 복사

 

편집기로 test.sh 파일을 편집합니다. 보통 리눅스에서는 vim을 많이 쓰나 사용법이 생소할 수 있어서 nano편집기 같은 손쉬운 편집기를 사용합니다.

 

$ nano test.sh

 

마풀허 기준으로 다음과 같은 내용이 들어가게끔 편집합니다. 편집이 끝나면 Ctrl-X 키를 눌러 저장하고 빠져나옵니다.

 

#!/bin/sh

./ethdcrminer64 -epool asia.ethash-hub.miningpoolhub.com:20535 -ewal 사용자ID.워커이름 -epsw x -dpool stratum+tcp://hub.miningpoolhub.com:20550 -dwal 사용자ID.시아코인워커 -dpsw x -dcoin sc -esm 2 -allpools 1

# 내용 끝

 

스크립트가 완성되었으면 시험삼아 실행시켜 봅니다.

 

$ sh test.sh 

 

클레이모어를 시스템이 시작되면 자동으로 실행시키기

방법 #1: 클레이모어 출력을 로그파일 cm.log로 저장하고자 하는 경우.

다음과 같은 내용의 실행 스크립트를 만들어서 claymore-local.sh라는 이름으로 저장합니다.

여기서 사용자 이름을 foobar라고 하는 경우, 설치된 경로를 /home/foobar/claymore/v9.7이라고 하면 다음과 같이 편집해서 저장합니다.

 

#!/bin/sh

# claymore-local.sh

./ethdcrminer64 -epool asia.ethash-hub.miningpoolhub.com:20535 -ewal 사용자ID.워커이름 -epsw x -dpool stratum+tcp://hub.miningpoolhub.com:20550 -dwal 사용자ID.시아코인워커 -dpsw x -dcoin sc -esm 2 -allpools 1 > cm.log

# 출력 로그를 cm.log로 저장합니다.

# 내용 끝

 

(※참고: 여기서 이더리움 전용 포트 20535를 사용하였으나, 이 포트 번호를 이더리움클래식을 위한 전용 포트로 바꾸거나, 혹은 채산성이 가장 높은 코인을 찾아서 알아서 바꿔서 캐게끔 하는 다른 포트를 사용할 수도 있습니다.)

이 파일은 /home/foobar/claymore/v9.7/claymore-local.sh 라는 경로에 저장되며, 이 파일의 퍼미션을 실행가능으로 바꿔줍니다.

$ chmod +x /home/foobar/claymore/v9.7/claymore-local.sh

 

그리고 /etc/init.d/claymore.sh 우분투용 데몬  스크립트를 다음과 같이 만들어줍니다.

 

#!/bin/sh
### BEGIN INIT INFO
# Provides:          claymore.sh
# Required-Start:    $all
# Required-Stop:
# Sould-Start:       lightdm
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Run Claymore
### END INIT INFO

# foobar 대신에 자신의 우분투 사용자 ID로 바꿔줍니다.
USERNAME=foobar
# PATH 설정이 필요한 경우에 다음 두줄을 추가.
#PATH=/home/$USERNAME/bin:$PATH
#export PATH

CLAYMORE=/home/$USERNAME/claymore/v9.7 # 클레이모어 설치 경로명.

start-stop-daemon --start --oknodo --user $USERNAME --background --name claymore \
                  --make-pidfile --pidfile /run/claymore.pid --chdir $CLAYMORE \
                  --exec claymore-local.sh \
                  --chuid $USERNAME
# END OF FILE

퍼미션을 실행가능으로 바꾼 후에 시스템 서비스로 등록합니다.

$ sudo chmod 755 /etc/init.d/claymore.sh

$ sudo update-rc.d claymore.sh defaults # /etc/rc*.d/ 스크립트 업데이트. 삭제할 때에는 update-rc.d claymore.sh remove

혹시 오류가 나면 스크립트에 문제가 없는지 잘 살펴보아야 합니다. 위의 두줄 명령이 정상 실행되면 데몬 등록이 정상적으로 완료된 것입니다.

 

테스트를 위해 데몬을 실행시킵니다. (아래의 명령은 중복 실행되면 안됩니다)

$ sudo service claymore.sh start

 

claymore.sh데몬을  자동으로 실행시키기 위해서 다음과 같은 명령을 실행합니다.

(claymore.sh 파일이 정확히 편집되었을 경우에는 아래의 명령이 필요없습니다.

아래 명령은 update-rc.d 명령에 의해서 서비스 등록 과정에서 자동으로 실행됩니다.)

 

$ cd /etc/rc5.d

$ ln -s ../init.d/claymore.sh S05claymore.sh

 

재부팅한 후에 실행이 되고있는지 확인해봅니다.

 

$ ps aux |grep ethdcr # ethdcr... 명령은 클레이모어 본체 실행파일 이름.

 

로그를 확인하려면 tail cm.log 명령을 사용합니다. 즉,

$ cd ~/claymore/v9.7 # claymore가 설치되어 있는 디렉토리로

$ tail cm.log # 출력 로그 확인.

$ tail -f cm.log # 출력 로그파일을 지속적으로 업데이트해서 보여줌. (^C를 눌러서 tail 명령 종료시킴)

 

방법 #2: screen 혹은 tmux를 실행시켜서 보기.

방법 #1의 경우 스크립트를 백그라운드로 실행시키고, 로그를 cm.log라는 파일로 저장시키게끔 하는 방법 대신에

screen 혹은 tmux 터미널로 출력시키는 방법입니다.

 

방법 #1과 거의 같으나, 1) cm.log로 출력시키지 않고 tmux/screen 터미널로 출력시키며, 2) 데몬에서 tmux/screen을 실행시키는 방법입니다.

 

#!/bin/sh

# claymore-local.sh

# tmux 혹은 screen 용 claymore-local.sh (/home/foobar/claymore/v9.7 아래에 둔다.

./ethdcrminer64 -epool asia.ethash-hub.miningpoolhub.com:20535 -ewal 사용자ID.워커이름 -epsw x -dpool stratum+tcp://hub.miningpoolhub.com:20550 -dwal 사용자ID.시아코인워커 -dpsw x -dcoin sc -esm 2 -allpools 1

# 출력 로그를 cm.log로 저장하지 않는다.

# 내용 끝

 

이 경우에는  /etc/init.d/claymore.sh를 다음과 같이 만들어줍니다.

 

#!/bin/sh
### BEGIN INIT INFO
# Provides:          claymore.sh
# Required-Start:    $all
# Required-Stop:
# Sould-Start:       lightdm
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Run Claymore
### END INIT INFO

# foobar 대신에 자신의 우분투 사용자 ID로 바꿔줍니다.
USERNAME=foobar
# PATH 설정이 필요한 경우에 다음 두줄을 추가.
#PATH=/home/$USERNAME/bin:$PATH #export PATH

CLAYMORE=/home/$USERNAME/claymore/v9.7 # 경로명.

start-stop-daemon --start --oknodo --user $USERNAME --name claymore \
                  --make-pidfile --pidfile /run/claymore.pid --chdir $CLAYMORE \
                  --chuid $USERNAME \
                  --exec /usr/bin/screen -- -dmS claymore ./claymore-local.sh
#                 --exec /usr/bin/tmux -- new-session -d -s claymore ./claymore-local.sh # tmux의 경우.
# END OF FILE

claymore.sh 데몬 스크립트를 update-rc.d 명령을 통해서 자동실행 데몬을 업데이트 하고, service claymore.sh enable 명령을 통해 자동 실행 등록을 합니다. 이 데몬 스크립트가 실행이 되면 screen -ls 명령 (tmux의 경우 tmux ls 명령)으로 살펴보면 가상 스크린이 생성되었음을 확인할 수 있으며,

screen -r (혹은 screen -r claymore) 명령으로 가상스크린에서 출력 결과를 확인하고, ^A-D를 입력하면 다시 가상 스크린을 빠져나올 수 있습니다. (tmux의 경우 tmux attach -t claymore. 빠져나갈때는 ^B-D)

EWBF-miner 사용하기 (Zcash)

EWBF 마이너는 비트코인포럼의 EWBF라는 개발자가 만든 CUDA용 Zcash 마이너입니다.

https://bitcointalk.org/index.php?topic=1707546.0

소스는 공개되어 있지 않으며, claymore와 비슷하게 개발자에게 fee를 주고 있습니다. 다만, 최근에는 -fee 옵션이 추가되어

개발자에게 fee를 주지 않을 수도 있으나, claymore의 경우 devfee를 꺼버리면 성능도 조금 떨어지게 설계된 것과는 다르게

fee를 주지 않는 경우에도 성능상 제약이 없습니다.

 

위의 링크 혹은 다음의 링크를 통해서 리눅스용 실행 파일을 다운로드 받을 수 있습니다.

https://github.com/nanopool/ewbf-miner/releases

 

압축을 풀면 도움말 파일과 실행파일 이름이 miner라고 이름붙여있으며, ~/bin/ 아래에 실행파일 하나만 있으면 실행이 가능합니다.

 

2017년 7월 현재 최신 버전은 0.3.4b 입니다.

 

사용방법은 마풀허 기준으로 다음과 같습니다.

 

$ miner --server asia.equihash-hub.miningpoolhub.com --user 사용자.워커 --pass 비번 --port 20570 --pec

 

포트 20570은 zcash를 캐기위한 포트주소이며, Zcash와 동일한 암호화 알고리즘의 ZenCash와 Zclassic 코인도 캘 수 있습니다.

(ZenCash는 마이닝풀허브에서 아직 미지원)

변경사항

- 7/11 claymore 자동실행 스크립트 추가.

- 7/12 EWBF-miner 설명 추가.

- 7/12 모니터 없이 dummy X서버 사용하는 방법 추가. (7/13 추가 수정.)

- 7/14 dummy X서버 세팅을 좀 더 쉽게 수정.

- 7/16 네온님의 글 링크 추가. GpuPowerMizerMode 옵션 빠졌던 것 추가.

 엔비디아의 경우 nvidia-xconfig 옵션을 이용하여 좀 더 간편하게 모니터 없이 사용 가능함 확인.

- 7/18 xinit을 사용한 nvidia-settings 실행방법 추가.

- 7/21 클레이모어 데몬 스크립트에 PATH 경로 추가.

- 8/3 nvidia-384를 설치하는 경우 CUDA-8.0을 설치하면 안됨.

- 8/12 nvidia-384를 설치하는 경우 cuda-8-0 가상 패키지를 설치하면 안됨. 이 경우에는 cuda-minimal-build-8-0을 설치하고  cuda 런타임라이브러리 libcuda1-384를 설치하면 됨 (cuda-minimal-build-8-0은 컴파일을 직접 해야 할 경우만 필요)

- 8/13 Coolbits의 16는 오버볼트 지원임. 상당수는 지원하지 않음에 유의할 것.

 

끝.

 

쓰다보니 양이 많아졌네요. 유닉스/리눅스 기초적인 부분에 대한 설명이 추가되면서 글도 길이 꽤 길어진 것 같습니다.

관리에 필요한 sshd 설정 및 채굴기 원격 관리 등등 기타 내용은 다음기회에 작성하도록 하겠습니다~

질문이나 잘못된 점은 댓글로 달아주시기 바랍니다~

 

문서 저작권: CC-BY-SA 3.0

140

ethminer님의 서명

profile

주업은 오픈소스 프로그래머

 

ESN 디스코드 - https://discord.gg/hqHm69E

ESN 텔레그램 - https://t.me/ethersocialofficial

 

ESN 주소: 0x0c74e46b115e19726997dd559d2b6ff1bfb79af6

ETH 주소: 0x89307cb2fa6b9c571ab0d7408ab191a2fbefae0a

댓글 162
  • ?
    뚱뚱한광부 2018.02.10 20:26
    @ethminer
    민트 리눅스 하모니카팩인데요...우분투기반이라고 해서요 해보겠습니다 ^^ 감사합니다 ^^
  • ?
    완쌉 2018.03.05 02:55
    16.04에서 와이파이 문제가 해결이 안되서 17.10 으로 갈아탔습니다.
    와이파이 설치까지는 되는데, 시스템 종료 할 때 에러가 발생하는 문제가 있었습니다.
    다이소에서 파는 5000원짜리 와이파이 동글 껴서 설치했더니 바로 인식하네요.
    17.10 에서는 nvidia 드라이버 설치하는데 애 많이 먹었습니다.
    아래 글 보고 겨우 해결했습니다.
    https://charlienewey.github.io/getting-nvidia-drivers-working-on-ubuntu-17-10/
    마침 3일 전에 ethminer 0.14.0.dev3 버전이 나와서 잘 돌리는 중입니다.
    ssh reverse 옵션 사용해서 공유기에서 포트 포워딩 하지 않아도 외부에서 채굴기 접속 할 수 있게 설정도 마쳤습니다.
    모든 뼈아픈 문제상황들을 해결하고 나니, 윈도보다 우분투가 채굴기 설치 할 때 유리한 점이 더 많아보입니다.
    ethminer 님 글 덕분에 여러가지 많이 도움됐습니다.
    감사합니다 ^^
  • ?
    파파실 2018.03.22 16:18
    열심히 삽질하여 채굴은 됩니다만
    오버클럭이 가능하게 하는 과정에서
    sudo service lightdm stop 명령을 주면
    화면이 까매지고 먹통이됩니다. 어찌하나요?
  • profile
    ethminer 2018.03.22 18:08
    @파파실
    원래 그 과정에 그렇게 됩니다. 비정상이 아니고요, 윈도우 매니져를 정지시키면 리눅스 일반 가상 콘솔만 쓸 수 있는 상태가 되는 것입니다.
    다시 재시작하면 즉, sudo service lightdm start 하면 됩니다. 물론 가상콘솔을 쓰려면 별도로 일반 유저로 로그인해야 하죠.
  • ?
    파파실 2018.03.23 09:51
    @ethminer
    감사합니다.
    재시작이 느린가요 2~3분 기다려되 부팅이 안되서 강제종료 했는데
    더 기다려 봐야 겠군요.
    아니면 가상콘솔로 전환해서 명령을 주면 될까요?
  • profile
    ethminer 2018.03.23 09:55
    @파파실
    가만히 기다리시면 안되고요...

    CTRL-ALT-1 누르면 가상콘솔이 나옵니다. ALT-1, ALT-2를 등을 누르면 여러개의 가상콘솔을 번갈아 쓸 수 있죠.
    sudo service lightdm restart를 실행하신다면 조금 기다리다가 떠야 정상이고요.
    이게 안될 때에 stop 시키고 가상콘솔로 전환해서 원인을 찾아봐야 겠죠.
  • ?
    따라가기 2018.03.27 01:53
    Q: 파워 제한 설정하는 방법은?

    A: nvidia-smi 명령을 이용하여 다음과 같은 명령을 내려줍니다.

    $ sudo nvidia-smi -pl 100 # 100와트로 파워 리미트를 설정합니다. %값으로 지정하는 것이 아닌 절대값으로 지정.(기본 값은 120W)

    그런데 기본적으로 이 명령이 제대로 작동하려면 다음 명령을 통해서 GPU를 persistence 모드로 변경해주어야 합니다. 그래야만 설정값이 보존이 됩니다.

    $ sudo nvidia-smi -pm 1



    Q: 위 설정을 시스템 부팅 후에 자동으로 적용하게 하려면?

    A: 다음의 내용을 쉘 스크립트 파일로 만들어서 /etc/X11/xinit/xinitrc.d/nv-power.sh같은 식으로 이름을 지어 넣어두고, 퍼미션을 실행가능하도록 바꿔두면, 사용자가 X11로 로그인 하는 경우 자동으로 파워 제한이 적용됩니다.



    이부분 질문드립니다 sudo nvidia-smi -pl 100 하여 100와트로 6개의 그래픽카드의 전력제한을 주었고 persistence enable 상태를
    만들었습니다. 그 후에 시스템 부팅후에 자동으로 적용하게 하려하는데 X11로 로그인 하는 경우 자동으로 파워 제한이 적용됩니다.'
    갑자기 이말이 튀어나오는데 x11이 무엇인지 모르겠습니다.. 관리자이름인거같은데 이름이 그냥x11이신건지..

    또한 위에적어주신 "Q: X11 그래픽 환경 말고 일반 리눅스 콘솔을 사용할 수는 없나요?

    A: Control-Alt-F1 혹은 Control-Alt-F2 키를 누르면 리눅스 가상 콘솔이 뜹니다.

    가상 콘솔은 Alt-F1, Alt-F2 ... Alt-F6까지 6개를 쓸 수 있고, Alt-F7을 누르면 그래픽 환경으로 돌아갑니다."

    라는말도 이해가 가질않습니다 ㅜㅜ X11이 무엇인지.. 모르겠습니다
  • ?
    crazyits 2018.04.18 18:50
    @따라가기
    x11 이라고 하는 것은

    리눅스에서 GUI 환경( 쉽게 말해서 윈도우 환경)을 말합니다.

    리눅스 부팅해서 GUI 상태에서 해당하는 키를 눌러보세요.. 그러면...

    로그인을 하라는 텍스트 메세지를 볼 수 있습니다.
  • ?
    대장개미 2018.04.09 21:30
    감사합니다ㅎㅎㅎ
  • ?
    방콕er 2018.04.12 13:22
    현재 윈도우 쓰고 있지만 우분투 고려중인데 정리 자료 감사합니다.
  • ?
    윈드서퍼 2018.04.18 18:45
    우분투 리눅스 엔비디아환경 채굴기 설정 ..따라해보겠습니다 감사합니다.
  • ?
    민기 2018.10.01 14:56
    좋은글 감사합니다~

땡글 FAQ

FAQ에 올라오는 문서중 FAQ에 맞지 않는 문서는 관리자에 의해 다른 곳으로 옮겨질 수 있습니다.

List of Articles
번호 제목 추천 수 조회 수 글쓴이 날짜
공지 이 게시판의 글 퍼감은 주의해주세요. 15 5 5931
쌍둥아빠
2017.08.28
공지 [땡글운영위] 이사진 구성원 변경 공지 7 file 13 727
땡글운영위
2019.09.03
공지 로그인이 안되시는 분은 문의해주시기 바랍니다. 3 4 1563
땡글개발자
2019.08.21
공지 개인 정보 유출에 따른 사과문 54 file 8 3387
땡글개발자
2019.08.21
40 리플에 대한 설명입니다. 7 file 4 6929
땡글IN
2017.08.17
39 비트코인 용어 사전 D - O 4 10 7451
땡글IN
2017.08.17
38 Teamviewer / Chrome 원격 사용법 정리 17 file 20 19535
땡글IN
2017.08.16
37 투자의 신이라면??? - 비트코인과 이더리움 수익률 7 file 3 6733
땡글IN
2017.08.16
36 비트코인 용어 사전 A - C 12 15 8758
땡글IN
2017.08.15
35 고장난 부품 AS 받는 방법입니다. (초보 사용자용) 6 file 13 11194
땡글IN
2017.08.14
34 크립토노트 Cryptonote 백서 번역 및 요약입니다. White Paper 2/2 1 file 3 2807
땡글IN
2017.08.11
33 NVIDIA 우분투 마이닝 FAQ 30 file 14 15779
ethminer
2017.08.10
32 애프터버너 초보 사용법입니다. 48 file 54 80049
땡글IN
2017.08.10
31 크립토노트 Cryptonote 백서 번역 및 요약입니다. White Paper 1/2 1 file 1 4229
땡글IN
2017.08.10
30 클레이모어 마이너 초보 이용법 53 file 65 31728
땡글IN
2017.08.09
29 블록체인 인포 웹지갑 만들기 blockchain.info 16 file 3 19491
쌍둥아빠
2017.08.07
28 뮤지코인 Musicoin 백서 번역 및 요약입니다. White Paper 22 file 26 11519
땡글IN
2017.08.06
27 비트코인 Electrum 지갑 만들기 24 file 13 11922
쌍둥아빠
2017.07.29
26 비트코인 코어 개인키 추출 복원하기 12 file 2 6644
쌍둥아빠
2017.07.27
25 블록체인과 코인은 무엇을 의미하는 것일까? 4 7 3015
바다바라기
2017.07.27
24 비트코인 코어 설정하기 (동기화꺼짐 방지) file 1 2961
쌍둥아빠
2017.07.27
23 비트코인 코어 지갑 백업/복구하기 1 file 4 11031
쌍둥아빠
2017.07.26
22 비트코인 코어 지갑 암호화하기 1 file 7 4498
쌍둥아빠
2017.07.26
21 비트코인 코어 설치하기 38 file 6 10354
쌍둥아빠
2017.07.26
20 검색창에서 '카드 인식' 관련 문제 내용 정리(초보자분들 저도 초보이지만 추천 ^^) 11 30 13166
앵두버리
2017.07.25
19 같은 주소를 동시에 다른 PC에서 사용하면 어떻게 되죠? 2 2 2777
쌍둥아빠
2017.07.25
18 다른 주소로 잘못 보냈어요. 어떻게 하죠? 2 5 6474
쌍둥아빠
2017.07.25
17 비트코인을 이체하는 데 시간이 왜 이렇게 오래 걸리나요? 10 7 4716
쌍둥아빠
2017.07.25
16 주소는 누가 만들어주나요? 1 4 3281
쌍둥아빠
2017.07.25
15 비트코인 지갑에는 어떤 종류가 있죠? 4 7 7081
쌍둥아빠
2017.07.24
14 그래픽카드 메모리 정보를 모아보는게 어떨까요? 14 4 5180
ethminer
2017.07.20
우분투 리눅스 + Nvidia 그래픽카드 환경에서 채굴기 설정하기   우분투 리눅스 + NVidia 그래픽 카드 환경에서 채굴기 설정하기 2016년 2월경에 @atomrigs 님이 올리신 우분투 + AMD 그래픽 환경에 대한 글이 있지만, 약간 낡... 162 file 106 78339
ethminer
2017.07.10
12 6Way, 7Way, 8Way 가능한 MSI 메인보드 11 2 5985
ethminer
2017.07.09
11 musicoin 캐보기 17 5 4883
ethminer
2017.07.06
10 zclassic 캐는 방법 11 6 6303
ethminer
2017.07.06
9 2. 채굴기 구상 하기 24 file 16 7624
땡글FAQ
2017.07.05
8 1. 채굴기 구성 요소 24 file 17 8781
땡글FAQ
2017.07.04
7 이엠텍 GTX1060 3G + 우분투 16.04.2 LTS + ethminer 0.11.0rc1 테스트 8 file 4786
ethminer
2017.06.29
6 비트코인 개념 이해하기(5) - 트랜잭션. 코인을 송금해보자. 20 12 19476
쌍둥아빠
2017.04.01
5 비트코인 개념 이해하기(4) - 블록의 구조 이해 7 7 10487
쌍둥아빠
2017.03.31
4 비트코인 개념 이해하기(3) - 제네시스블록 7 7 13963
쌍둥아빠
2017.03.31
3 비트코인 개념 이해하기(2) - 비트코인 주소 11 6 12442
쌍둥아빠
2017.03.30
2 비트코인 개념 이해하기(1) - 암호화함수 22 13 13602
쌍둥아빠
2017.03.30
1 비트코인 QT 지갑 사용법 완전 총정리[구버전] 47 file 11 18645
쌍둥아빠
2014.01.27
목록
Board Pagination Prev 1 2 Next
/ 2

개인 정보 유출에 따른 안내

개인정보 유출에 따른 사과문

https://www.ddengle.com/board_free/11420106

8월20일 땡글 해킹사고 경과 보고

https://www.ddengle.com/board_free/11420345

로그인이 안되시는 분

https://www.ddengle.com/board_free/11420465
8월18일~20일 해커에 의해 땡글 사이트에서 땡글 회원님들의 아이디 및 비밀번호가 유출되고 있음을 발견하였습니다.
더이상 피해가 발생하지 않도록 조치된 상태이나 일부 사용자의 개인정보가 유출되었으며, 해커는 추가적으로 사용자 정보를 불법적으로 공개하겠다고 합니다.
  • 최근에 접속한 사용자의 경우 ID와 비번이 유출되었을 가능성이 높습니다. 최대 비번을 꼭 바꿔주시기 바랍니다. (특히 8월부터 8월21일까지)
  • 최근에 접속하지 않은 사용자의 경우에도 해커는 사용자 정보를 입수하여 그 일부 정보를 불법적으로 공개하였습니다.
  • 해커에 의한 사용자 도용을 방지하고자, 최근 수개월간 비번 변경을 하지 않은 약 1만8천명의 사용자를 이용정지시켰습니다.
이 글을 보시는 땡글 유저분은 자신이 계정이 정지된 상태라면 [email protected] 혹은 [email protected] 으로 메일주셔서 자신임을 간단히 인증하여 다시 계정을 활성화시키는 해킹 안내메일을 받으시기 바라며, 혹은 기존 계정 삭제 요청을 해주시기 바랍니다.
Close