Майнинг монеро на CPU под GNU/Linux.

Тема в разделе "Майнинг", создана пользователем LindonPool, 1 окт 2017.

  1. LindonPool

    Команда форума Редактор

    Регистрация:
    5 сен 2017
    Сообщения:
    53
    Симпатии:
    9
    Я буду рассматривать майнинг на Ubuntu/Debian, как мэйнстримных дистрибутивах, так же инструкции подойдут к их производным(Mint и ко).


    1. Используем xmrig, майнер разработан русскоязычным разработчиком, автор присутствует на xmr.ru, есть тема на форуме про его майнер, где он отвечал комментаторам


    Варианты где взять:

    a) https://lindon.pw/files/xmrig-linux.tar.bz2 собранный мной для Ubuntu 16.04, можно просто взять, подправить конфиг и использовать

    Последовательность действий:

    Скачиваем собранный майнер:
    Код:
    wget https://lindon.pw/files/xmrig-linux.tar.bz2
    Разархивируем архив с майнером и конфигом
    Код:
    tar xjf xmrig-linux.tar.bz2
    Копируем майнер в /usr/local/bin/
    Код:
    sudo cp ./xmrig/xmrig /usr/local/bin/
    Создаем пользователя под которым будет работать майнер
    Код:
    sudo useradd miner -s/bin/bash -m
    Создаем директорию где будет хранится конфиг майнера
    Код:
    sudo mkdir /home/miner/config
    Копируем образец конфига майнера на место конфига
    Код:
    sudo cp ./xmrig/config.json /home/miner/config/
    Выставляем пользователя владельцем файлов
    Код:
    sudo chown -R miner /home/miner/
    Скачиваем системд-юнит, который будет запускать майнер при загрузке
    Код:
    sudo wget https://gist.githubusercontent.com/Ernillew/38762b95432b05194d06dd7d208624a0/raw/749c42cfafb9faca951e6176543d038870e82fd7/xmrig.service -O /lib/systemd/system/xmrig.service
    Перечитываем юниты
    Код:
    sudo systemctl daemon-reload
    Временно становимся пользователем под которым работает майнер
    Код:
    sudo su - miner
    Правим конфиг майнера, указываем нужный нам пул, наш кошелек и «пароль» к майнеру, подробней описание ниже
    Код:
    nano config/config.json
    Сохраняем файл и выходим (F2, Y, Enter)

    Прекращаем быть пользователем miner
    Код:
    exit
    добавляем в загрузку майнер
    Код:
    sudo systemctl enable xmrig
    запускаем майнер
    Код:
    sudo systemctl start xmrig
    смотрим, что у нас есть процесс xmrig
    Код:
    ps aufxw|grep xmrig

    Код:
    tail -f /home/miner/xmrig.log
    что бы посмотреть логи майнера(Ctrl+C что бы прервать просмотр)

    На выходе получаем, что у нас майнер запускается автотматически при загрузке компьютера/сервера, не от нашего основного и не от root, и максимально использует 75% CPU(О некоторых параметрах конфига в конце). Для просмотра логов майнера в любой момент можно использовать

    Код:
    sudo tail -f /home/miner/xmrig.log
    Минус данного способа: майнер гарантированно работает только под Ubuntu 16.04 LTS и его производных, в иных версиях может не работать(а может и работать) и я достаточно редко обновляю собранный, из варианта «б» версия будет свежей


    б) собрать из исходных кодов у себя на компьютере/сервере(проверено на Ubuntu 16.04, должно работать на Debian 8/9)

    Сборка:
    Становимся рутом
    Код:
    sudo su -
    Обновляем кэш пакетов и систему
    Код:
    apt update
    apt -y dist-upgrade
    Ставим необходимые для сборки зависимости
    Код:
    apt -y install git build-essential cmake libuv1-dev libmicrohttpd-dev
    
    Переходим в место где правильно хранить и собирать исходники
    Код:
    cd /usr/src
    Забираем код xmrig из репозитория
    Код:
    git clone https://github.com/xmrig/xmrig.git
    Собираем xmrig
    Код:
    cd xmrig/
    mkdir build
    cd build
    cmake ..
    make
    Сборка закончена, копируем исполняемый файл в /usr/local/bin/
    Код:
    cp ./xmrig /usr/local/bin
    Добавляем пользователя под которым будет работать майнер
    Код:
    useradd miner -s/bin/bash -m
    Скачиваем юнит при помощи которого будет запускаться майнер
    Код:
    wget https://gist.githubusercontent.com/Ernillew/38762b95432b05194d06dd7d208624a0/raw/749c42cfafb9faca951e6176543d038870e82fd7/xmrig.service -O /lib/systemd/system/xmrig.service
    Перечитываем юниты
    Код:
    systemctl daemon-reload
    Становимся на время пользователем miner, что бы создать конфиг для майнера
    Код:
    su - miner
    Создаем директорию где будет храниться конфиг
    Код:
    mkdir config
    Создаем конфиг для xmrig
    Код:
    nano config/config.json
    Вставляем содержимое конфига
    Код:
    {
       "algo": "cryptonight",
       "av": 0,
       "background": true,
       "colors": true,
       "cpu-affinity": null,
       "cpu-priority": null,
       "donate-level": 1,
       "log-file": null,
       "max-cpu-usage": 75,
       "print-time": 60,
       "retries": 5,
       "retry-pause": 5,
       "safe": false,
       "syslog": false,
       "threads": null,
       "pools": [
           {
               "url": "monero.lindon-pool.win:5555",
               "user": "4FRyuEftwbeGToYJY6hcmTeFCEQufop63QDLPpabYcx9Ju78jqKdNvS99QNmWryLdobo1o7XocACES84LHzN8Guj5H7bKqdkMXZ559cLAj",
               "pass": "cpu:ergil@lindon-pool.win",
               "keepalive": true,
               "nicehash": false
           }
       ]
    }
    В url указываем адрес и порт пула который мы выбрали для майнинга, в user наш кошелек, в pass для пулов monero.lindon-pool.win и minemonero.pro(а так же иных на nodejs-pool) указываем имя нашего майнера и через двоеточие от него наш e-mail(он будет использован как пароль для входа в «кабинет» на веб-интерфейсе пула и в качестве адреса для извещений, что наш майнер прекратил работу). В примере использован Integrated address моего кошелька(замените, если не хотите майнить для меня) и использован Monero Lindon Pool в качестве пула.

    Прекращаем быть пользователем miner
    Код:
    exit
    Запускаем майнер
    Код:
    systemctl enable xmrig
    systemctl start xmrig
    смотрим, что у нас есть процесс xmrig
    Код:
    ps aufxw|grep xmrig

    Код:
    tail -f /home/miner/xmrig.log
    что бы посмотреть логи майнера


    На выходе получаем, что у нас майнер запускается автотматически при загрузке компьютера/сервера от отдельного пользователя, не от нашего основного и не от root, и максимально использует 75% CPU(О некоторых параметрах конфига чуть ниже). Для просмотра логов майнера в любой момент можно использовать
    Код:
    sudo tail -f /home/miner/xmrig.log
    По параметрам конфига на что стоит обратить внимание:

    "max-cpu-usage" — максимальное использование процессора, в примерах 75%

    "donate-level" — время в процентах сколько майнер будет работать в пользу автора майнера, в 0 ставить бесполезно и даже вредно, ни человек за работу не получит ничего, ни вы не сэкономите. Я ставлю 1%

    "threads" — количество запускаемых тредов, можно оставить null, майнер сам решит сколько запустить, можно указать вручную по количеству ФИЗИЧЕСКИХ ядер процессора

    "cpu-affinity" — привязка к конкретным ядрам, если не понимаете что это и зачем оставьте все, как есть.

    Используйте либо вариант а, либо вариант б для получения майнера, оба сразу использовать не нужно.

    Если статья оказалась для вас полезна, то вы можете сказать «Спасибо» автору послав донат на его кошелек XMR.
     
    #1 LindonPool, 1 окт 2017
    Последнее редактирование: 26 ноя 2017
  2. s212

    s212 Piconero

    Регистрация:
    18 окт 2017
    Сообщения:
    5
    Симпатии:
    0
    сборка обновляется?
    уже новые версии выходят
     
  3. АВТОР
    АТ
    LindonPool

    Команда форума Редактор

    Регистрация:
    5 сен 2017
    Сообщения:
    53
    Симпатии:
    9
    Спасибо, что напомнили, на днях обновлю. Я извиняюсь, я тут переезжал из Нижнего Новгорода в Кёнигсберг и за всеми своими делами слегка подзабил на форум и сборки всего, что собираю. Уже обустроился на новом месте, так что скоро обновлю
     
    Sainy нравится это.
  4. Sainy

    Sainy Piconero

    Регистрация:
    8 дек 2017
    Сообщения:
    5
    Симпатии:
    0
    Дня доброго, подскажите пжлст, что я делаю не так и как это исправить?
    Код:
    sainy@I:~$ sudo systemctl start xmrig                                                                                                                                                         
    Job for xmrig.service failed because the control process exited with error code. See "systemctl status xmrig.service" and "journalctl -xe" for details. 
    Код:
    sainy@I:~$ systemctl status xmrig.service                                                                                                                                                     
    ● xmrig.service - XMRig Daemon                                                                                                                                                                 
       Loaded: loaded (/lib/systemd/system/xmrig.service; enabled; vendor preset: enabled)                                                                                                         
       Active: inactive (dead) (Result: exit-code) since Пт 2017-12-08 12:58:17 MSK; 2min 51s ago                                                                                                 
      Process: 3470 ExecStart=/usr/local/bin/xmrig -c /home/miner/config/config.json -l /home/miner/xmrig.log -B (code=exited, status=127)                                                         
                                                                                                                                                                                                  
    дек 08 12:58:17 I systemd[1]: Failed to start XMRig Daemon.                                                                                                                                   
    дек 08 12:58:17 I systemd[1]: xmrig.service: Unit entered failed state.                                                                                                                       
    дек 08 12:58:17 I systemd[1]: xmrig.service: Failed with result 'exit-code'.
    дек 08 12:58:17 I systemd[1]: xmrig.service: Service hold-off time over, scheduling restart.
    дек 08 12:58:17 I systemd[1]: Stopped XMRig Daemon.
    дек 08 12:58:17 I systemd[1]: xmrig.service: Start request repeated too quickly.
    дек 08 12:58:17 I systemd[1]: Failed to start XMRig Daemon.
    sainy@I:~$
    
     
  5. MoneroRus

    Команда форума Редактор

    Регистрация:
    30 ноя 2017
    Сообщения:
    30
    Симпатии:
    8
    А /home/miner/xmrig.log тут что?
     
  6. Sainy

    Sainy Piconero

    Регистрация:
    8 дек 2017
    Сообщения:
    5
    Симпатии:
    0
    я в замешательстве, у меня не создалось ни этой папки, ни файла, хотя делал все пошагово, кропотливо копируя каждую строчку поста к себе в терминал

    извиняюсь! папка есть, но внутри лога нет, только папка конфига, внутри файл конфига (в скрытых файлах лога нет)
     
    #6 Sainy, 8 дек 2017
    Последнее редактирование: 8 дек 2017
  7. AJIekceu4

    Команда форума Администратор

    Регистрация:
    17 авг 2017
    Сообщения:
    57
    Симпатии:
    14
    Видимо, xmrig постоянно перезапускается из-за чего то. Можно попробовать запустить просто в консоли, с теми же параметрами, с которыми systemd его запускает, кроме параметра -B и поглядеть на что он жалуется:


    Временно становимся пользователем под которым работает майнер:
    Код:
    sudo su - miner

    Запускаем майнер прямо в консоли от имени пользователя miner:
    Код:
    /usr/local/bin/xmrig -c /home/miner/config/config.json -l /home/miner/xmrig.log
    Смотрим, на что он там ругается при запуске в консоли, либо в логе /home/miner/xmrig.log, если он создастся.


    Прекращаем быть пользователем miner:
    Код:
    exit
    Проверить возможности нет, так что, возможно, и накосячил ;)
     
    #7 AJIekceu4, 8 дек 2017
    Последнее редактирование: 8 дек 2017
  8. Sainy

    Sainy Piconero

    Регистрация:
    8 дек 2017
    Сообщения:
    5
    Симпатии:
    0
    Код:
    root@I:/home/sainy# sudo su - miner
    miner@I:~$ /usr/local/bin/xmrig -c /home/miner/config/config.json -l /home/miner/xmrig.log
    /home/miner/config/config.json:11: The document root must not be followed by other values.
    /usr/local/bin/config.json:11: The document root must not be followed by other values.
    No pool URL supplied. Exiting.
    miner@I:~$ exit
    выход
    root@I:/home/sainy#
    
    файл лога по прежнему не создается т_Т
     
  9. AJIekceu4

    Команда форума Администратор

    Регистрация:
    17 авг 2017
    Сообщения:
    57
    Симпатии:
    14
    Содержимое файла config.json сюда можно скопипастить целиком (как оно есть, без редактирования). Майнер его не может распарсить правильно, где то ошибка.
     
  10. MoneroRus

    Команда форума Редактор

    Регистрация:
    30 ноя 2017
    Сообщения:
    30
    Симпатии:
    8
    Синтаксическая ошибка возле 11 строки в конфиге
     
    Sainy нравится это.
  11. Sainy

    Sainy Piconero

    Регистрация:
    8 дек 2017
    Сообщения:
    5
    Симпатии:
    0
    "algo": "cryptonight",
    "av": 0,
    "background": false,
    "colors": true,
    "cpu-affinity": null,
    "cpu-priority": null,
    "donate-level": 1,
    "log-file": null,
    "max-cpu-usage": 75,
    "print-time": 60,
    "retries": 5,
    "retry-pause": 5,
    "safe": false,
    "syslog": false,
    "threads": null,
    "pools": [
    {
    "url": "monero.lindon-pool.win:3333",
    "user": "[реквизит моего кошелька]",
    "pass": "worker1:[сокрыто в целях безопасности]@gmail.com",
    "keepalive": true,
    "nicehash": false
    }
    ]
    }
     
  12. Sainy

    Sainy Piconero

    Регистрация:
    8 дек 2017
    Сообщения:
    5
    Симпатии:
    0
    все заработало, но немного по другому:
    1. скачал заного по прямой ссылке без использования терминала
    2. распаковал в эту же папку
    3. изменил в конфиге 2 строчки касаемо личных данных
    4. запустил в папке терминал (проводник дельфи) и набрал в нем команду ./xmrid
    5. сделал скрин и отправил в переписку помогающему мне человеку
    6. ушел за бухлом
     
  13. AJIekceu4

    Команда форума Администратор

    Регистрация:
    17 авг 2017
    Сообщения:
    57
    Симпатии:
    14
    Как минимум в первой строчке не хватает ковычки открывающей "{":
    Код:
    {
    "algo": "cryptonight",
    ...
     
    Sainy нравится это.
  • О нас

    Наш сайт является одним из уникальных мест, где русскоязычное сообщество Monero может свободно общаться на темы, связанные с этой криптовалютой. Мы стараемся публиковать полезные мануалы и статьи (как собственные, так и переводы с английского) о криптовалюте Monero. Если вы хорошо владеете английским (или можете писать собственные статьи/мануалы) и хотите помочь в переводах и общем развитии Monero для русскоязычной аудитории - свяжитесь с одним из администраторов.