2부를 시작하겠습니다. 여기서부터는 제가 쓰는 글들을 유의깊게 보셔야 합니다. 그리고, SSH설정까지만 이미지로 처리하고, 그 이후는 모두 텍스트 처리를 하였습니다. 제 글을 그대로 쫓아하면 채굴기가 완성이 되지만 최소한의 설정은 변경 하셔야 합니다. 이글 처음부터 끝까지 쫓아 하시면 제 계좌로 이더리움 보내게 됩니다. ㄷㄷㄷ 죽쒀서 저 주시려면 마음대로 하세요~!!! 향후 고난이도의 작업을 위해서는 각 종 커뮤니티에서 고수님들의 글을 학습하셔야 합니다. 더불어 리눅스 환경에서는 최소한의 에디터(윈도우로 치면 메모장)에 대한 사용법을 공부하셔야 합니다. 저는 VI에디터를 사용하지만 추천드리지 않습니다. nano에디터 사용법을 구글링 해서 습득하세요. 아주 편하다고 들었습니다.
1. 설치를 마치고 재부팅을 하게 되면, miner001 login:
이 나옵니다. 설치시 만들었던, 사용자계정/비밀번호 를 입력하고 로그인을 합니다.
2. 로그인을 하자마자 root 비밀번호 부터 설정을 합니다. sudo passwd root
처음에 물어보는 패스워드는 로그인 했던 사용자( robotstory)의 패스워드 이며, 그 후에 나오는 패스워드는 새로 설정할 root의 패스워드를 두번 입력하게 됩니다. root 패스워드가 설정이 잘 끝나면, 로그인한 사용자(robotstory)를 로그아웃 시킵니다. exit 엔터
3. 그리고, root로 로그인 합니다. miner001 login: root 엔터 Password: 비번치고 엔터
4. SSH접속 설정을 위해 nano에디터를 사용하여 다음과 같이 입력합니다.
nano /etc/ssh/sshd_config
5. 그리고 그림과 같이 "PermitRootLogin prohibit-password"라고 되어있던 부분을 "PermitRootLogin yes"로 고칩니다.
CTRL + X를 눌러서 끝내기를 하고, 세이브 할거냐고 물으면 세이브 하시면 됩니다.
6. NANO에디터를 빠져 나오셨으면, SSH서버를 재시작합니다. "systemctl restart sshd.service" 엔터
여기까지가 사전 준비 입니다. 이제부터 본격적인 세팅에 들어갑니다. 이제부터는 이미지가 아닌 텍스트 형태로 설명을 드립니다.
7. ifconfig를 치면, 이더넷인터페이스(랜카드)의 ip가 나옵니다. 채굴기가 공유기 밑에 있는걸로 가정하면 192.168.X,X가 보이실 겁니다.
8. putty와 같은 접속 프로그램을 다운받고 서버에 접속합니다. putty는 http://www.putty.org에 가서 다운 받을 수 있습니다. 그리고 파일 첨부도 하겠습니다.
9. putty등과 같은 프로그램을 이용하여 서버에 root로 접속합니다. 만약 접속프로그램이 익숙하지 않으시면, 구글링을 통해서 사용법을 숙지 하세요. (아주 간단합니다.)
10. 패키지 업데이트 합니다. root@miner001:~# apt-get update 기존:1 http://kr.archive.ubuntu.com/ubuntu xenial InRelease 기존:2 http://kr.archive.ubuntu.com/ubuntu xenial-updates InRelease 기존:3 http://kr.archive.ubuntu.com/ubuntu xenial-backports InRelease 받기:4 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB] 내려받기 102 k바이트, 소요시간 1초 (66.1 k바이트/초) 패키지 목록을 읽는 중입니다... 완료
11. 패키지 업그레이드를 합니다.
root@miner001:~# apt-get dist-upgrade -y 패키지 목록을 읽는 중입니다... 완료 의존성 트리를 만드는 중입니다 상태 정보를 읽는 중입니다... 완료 업그레이드를 계산하는 중입니다... 완료 다음 새 패키지를 설치할 것입니다: libpython3.5 linux-headers-4.4.0-78 linux-headers-4.4.0-78-generic linux-image-4.4.0-78-generic linux-image-extra-4.4.0-78-generic 다음 패키지를 업그레이드할 것입니다: accountsservice apparmor apport apt apt-transport-https apt-utils base-files bash bash-completion bind9-host bsdutils cloud-initramfs-copymods cloud-initramfs-dyn-netconf command-not-found command-not-found-data console-setup console-setup-linux curl dbus dh-python distro-info-data dmidecode dnsmasq-base dnsutils dosfstools dpkg eject fuse gcc-5-base git git-man gnupg gpgv grep grub-legacy-ec2 ifupdown init init-system-helpers initramfs-tools initramfs-tools-bin initramfs-tools-core iproute2 isc-dhcp-client isc-dhcp-common kbd keyboard-configuration klibc-utils krb5-locales language-selector-common less libaccountsservice0 libapparmor-perl libapparmor1 libapt-inst2.0 libapt-pkg5.0 libbind9-140 libblkid1 libc-bin libc6 libcurl3-gnutls libdbus-1-3 libdns-export162 libdns162 libdrm2 libevent-2.0-5 libexpat1 libfdisk1 libfuse2 libgcrypt20 libglib2.0-0 libglib2.0-data libgnutls-openssl27 libgnutls30 libgssapi-krb5-2 libhogweed4 libicu55 libidn11 libisc-export160 libisc160 libisccc140 libisccfg140 libk5crypto3 libklibc libkrb5-3 libkrb5support0 libldap-2.4-2 liblwres141 liblxc1 libmount1 libnettle6 libp11-kit0 libpam-systemd libpci3 libplymouth4 libprocps4 libpython3.5-minimal libpython3.5-stdlib librtmp1 libsmartcols1 libssl1.0.0 libstdc++6 libsystemd0 libtasn1-6 libudev1 libuuid1 libxml2 linux-firmware linux-generic linux-headers-generic linux-image-generic locales login logrotate lsb-base lsb-release lshw lxc-common lxcfs lxd lxd-client makedev mdadm mount mtr-tiny multiarch-support nano ntfs-3g open-iscsi open-vm-tools openssh-client openssh-server openssh-sftp-server openssl overlayroot passwd pciutils plymouth plymouth-theme-ubuntu-text procps python3-apport python3-commandnotfound python3-distupgrade python3-problem-report python3-software-properties python3-update-manager python3-urllib3 python3.5 python3.5-minimal resolvconf shared-mime-info snapd software-properties-common sosreport sudo systemd systemd-sysv tar tcpdump tzdata ubuntu-core-launcher ubuntu-release-upgrader-core udev uidmap unattended-upgrades update-manager-core update-notifier-common util-linux uuid-runtime vim vim-common vim-runtime vim-tiny vlan wget zlib1g 175개 업그레이드, 5개 새로 설치, 0개 제거 및 0개 업그레이드 안 함. 188 M바이트 아카이브를 받아야 합니다. 이 작업 후 376 M바이트의 디스크 공간을 더 사용하게 됩니다. 받기:1 http://kr.archive.ubuntu.com/ubuntu xenial-updates/main amd64 base-files amd64 9.4ubuntu4.4 [60.2 kB] 받기:2 http://kr.archive.ubuntu.com/ubuntu xenial-updates/main amd64 bash amd64 4.3-14ubuntu1.2 [583 kB] 받기:3 http://kr.archive.ubuntu.com/ubuntu xenial-updates/main amd64 bsdutils amd64 1:2.27.1-6ubuntu3.2 [51.8 kB] 받기:4 http://kr.archive.ubuntu.com/ubuntu xenial-updates/main amd64 dpkg amd64 1.18.4ubuntu1.2 [2,085 kB] 받기:5 http://kr.archive.ubuntu.com/ubuntu xenial-updates/main amd64 grep amd64 2.25-1~16.04.1 [153 kB] 받기:6 http://kr.archive.ubuntu.com/ubuntu xenial-updates/main amd64 init-system-helpers all 1.29ubuntu4 [32.3 kB] . . . 줄줄줄 시간 좀 걸립니다. 완료 됩니다.
12. 이제 본격적인 세팅을 합니다. 제가 사용하는 AMD 드라이버와 OpenCL 프로그램은, amdgpu-pro-17.10-414273.tar.xz 드라이버파일과
AMD-APP-SDKInstaller-v3.0.130.136-GA-linux64.tar.bz2 SDK설치프로그램입니다.
이 부분이 가장 설명하기가 난해합니다. 이 두 파일들은 용량도 커서 첨부를 할 수가 없었습니다. 수단 방법을 가리지 마시고, 두 파일을 서버의 /root 밑으로 넣으세요. 만약 이게 힘들면, 로봇스토리 회원가입하신 후, 밑에다 댓글로 요청 해주세요. 그러면 제가 다운로드 방법을 알려드리겠습니다.
이제부터는 12번에서 했던 작업이 완료 되어서 /root 밑에 amdgpu-pro-17.10-414273.tar.xz AMD-APP-SDKInstaller-v3.0.130.136-GA-linux64.tar.bz2 두 파일이 있다는 가정하에 설명드립니다.
13. 경로를 확인하고 파일을 확인합니다.
경로 확인 root@miner001:~# pwd /root
파일 확인 root@miner001:~# ls -al 합계 309960 drwx------ 4 root root 4096 6월 5 17:10 . drwxr-xr-x 23 root root 4096 6월 5 16:34 .. -rw-r--r-- 1 root root 3106 10월 23 2015 .bashrc drwx------ 2 root root 4096 6월 5 15:51 .cache drwxr-xr-x 2 root root 4096 6월 5 15:57 .nano -rw-r--r-- 1 root root 148 8월 18 2015 .profile -rw------- 1 root root 924 6월 5 15:51 .viminfo -rw-r--r-- 1 root root 195996744 6월 5 16:57 AMD-APP-SDKInstaller-v3.0.130.136-GA-linux64.tar.bz2 -rw-r--r-- 1 root root 121371564 6월 5 16:57 amdgpu-pro-17.10-414273.tar.xz
amdgpu-pro-17.10-414273.tar.xz 드라이버 파일과 AMD-APP-SDKInstaller-v3.0.130.136-GA-linux64.tar.bz2 SDK 파일이 /root 밑에 잘 있습니다.
14. 드라이버 압축을 풀고, 설치디렉토리로 들어갑니다.
root@miner001:~# xz -d amdgpu-pro-17.10-414273.tar.xz root@miner001:~# tar xvf amdgpu-pro-17.10-414273.tar root@miner001:~# cd amdgpu-pro-17.10-414273/
15. 드라이버 설치를 실행합니다. (시간 좀 걸립니다. 기다리세요.) root@miner001:~/amdgpu-pro-17.10-414273# ./amdgpu-pro-install -y
16. SDK를 설치합니다.
드라이버 설치 디렉토리 밖으로 나감
root@miner001:~/amdgpu-pro-17.10-414273# cd ..
SDK설치를 위한 디렉토리 생성 root@miner001:~# mkdir SDK
SDK설치파일을 디렉토리 밑으로 이동 root@miner001:~# mv AMD-APP-SDKInstaller-v3.0.130.136-GA-linux64.tar.bz2 SDK/
SDK 디렉토리로 들어감 root@miner001:~# cd SDK/
SDK설치파일 압축해제 root@miner001:~/SDK# tar jxvf AMD-APP-SDKInstaller-v3.0.130.136-GA-linux64.tar.bz2
SDK설치 실행 root@miner001:~/SDK# ./AMD-APP-SDK-v3.0.130.136-GA-linux64.sh
Do you accept the licence (y/n)? 나오면 y 엔터
Enter the Installation directory. Press ENTER for choosing the default directory: [/opt] 나오면 그냥 엔터
17. SDK의 라이브러리 등등을 OS에 링크 합니다. root@miner001:~# ln -s /opt/AMDAPPSDK-3.0/ /opt/AMDAPP root@miner001:~# ln -s /opt/AMDAPP/include/CL /usr/include root@miner001:~# ln -s /opt/AMDAPP/lib/x86_64/* /usr/lib/ root@miner001:~# ldconfig
18. root계정을 video그룹에 넣습니다. root@miner001:~# usermod -a -G video root
19. root에 환경변수 입렵합니다. 이번에도 NANO에디터를 사용합니다. root@miner001:~# nano /root/.bashrc
제일 아래로 이동하여 다음을 입력 export GPU_FORCE_64BIT_PTR=1 export GPU_MAX_HEAP_SIZE=100 export GPU_USE_SYNC_OBJECTS=1 export GPU_MAX_ALLOC_PERCENT=100 export GPU_SINGLE_ALLOC_PERCENT=100
또 CTRL키 + x를 누르고, 변경한 버퍼를 저장할까요 ("No"라고 하시면 모든 변경을 취소합니다) ? 나오면, Y누릅니다.
저장할 파일 이름: /root/.bashrc 나오면, 그냥 엔터
20.재부팅 합니다. root@miner001:~/SDK# reboot
21. root로 재접속 합니다.
22. 지금 까지의 작업을 검수 합니다.
환경변호 검수 root@miner001:~# export | grep GPU declare -x GPU_FORCE_64BIT_PTR="1" declare -x GPU_MAX_ALLOC_PERCENT="100" declare -x GPU_MAX_HEAP_SIZE="100" declare -x GPU_SINGLE_ALLOC_PERCENT="100" declare -x GPU_USE_SYNC_OBJECTS="1"
root 그룹 검수 root@miner001:~# groups root video
23. CURL 라이브러리를 설치합니다. root@miner001:~# apt-get install libcurl3
24. 마이닝프로그램을 다운 받습니다.(Claymore dual miner) root@miner001:~/miner# wget https://github.com/nanopool/Claymore-Dual-Miner/releases/download/v7.3/Claymore.s.Dual.Ethereum.Decred_Siacoin_Lbry.AMD.NVIDIA.GPU.Miner.v7.3.-.LINUX.tar.gz
25. 마이닝프로그램 디렉토리를 생성합니다. root@miner001:~# mkdir miner
26. 마이닝프로그램을 디렉토리로 이동합니다. root@miner001:~/miner# mv Claymore.s.Dual.Ethereum.Decred_Siacoin_Lbry.AMD.NVIDIA.GPU.Miner.v7.3.-.LINUX.tar.gz miner
27. 디렉토리로 이동합니다. root@miner001:~# cd miner/
28. 마이닝프로그램 압축을 풀어줍니다. root@miner001:~/miner# tar zxvf Claymore.s.Dual.Ethereum.Decred_Siacoin_Lbry.AMD.NVIDIA.GPU.Miner.v7.3.-.LINUX.tar.gz
29. 마이닝을 실행합니다. root@miner001:~/miner# ./ethdcrminer64 -epool asia.ethash-hub.miningpoolhub.com:20535 -ewal robotstory.001 -esm 2 -etha 2 -epsw x -allpools 1 -mode 1
주의 : 위 문구에 robotstory는 1부에서 설명드린 마이닝풀허브의 가입 아이디 입니다. 그리고 001은 1부에서 설명드린 마이닝풀허브에서 생성했던 마이너 입니다. -epsw x에서 x는 마이닝풀허브에서 만들었던 마이너에 대한 비번 입니다.
30. 채굴이 시작되었습니다.
31. 마이닝풀허브에 들어가서 상태를 봅니다. 여기 보면, 해시파워가 실제로 돌고 있는 파워보다 덜 나옵니다.
아마도 마풀허(마이닝풀허브)가 실시간 해시를 계산하는 것이 아니다보니 오차가 있지만, 실제로 채굴에 지장은 없는 것으로 알고 있습니다. 컨펌은 안되었지만 채굴에 대한 보상도 들어오고 있네요. ㅎㅎㅎ
|