systemd can be used to run your application as a daemon

A nice feature of systemd is the scripts could be daemonized without any modifications of the scripts like standard stdin, stdout, stderr to be redirected to null (and even in some languages is not that simple!).
So if you want to run your ordinary script as daemon under a systemd linux distro, create a systemd service file in

/etc/systemd/system/myscript.service

Replace “myscript” with the nme of your script.

[Install]
WantedBy=multi-user.target

[Unit]
Description=<my_script_description>
After=syslog.target
After=network.target

[Service]
Type=simple
User=<run_as_user>
Group=<run_as_group_group>
ExecStart=<your_path_and_script_name_here>

# Give the script some time to startup
TimeoutSec=300
#EnvironmentFile=/etc/<filename>

[Install]
WantedBy=multi-user.target

So change the following according your needs:

  • <my_script_description> – description of your script/program with couple of words
  • <run_as_user> – the user under which will be executed
  • <run_as_group_group> – the group under which will be executed
  • <your_path_and_script_name_here> – the absolute path and filename to the script or program to be executed
  • Uncomment “EnvironmentFile” line if you would like to have different environment file for your script

And then you can run it with

systemctl start myscript

And you can enable it to start at boot

systemctl enable myscript

And also you can see the output of the script on syslog or with

systemctl status myscript

Here is an example of running a python script as a daemon with systemd.
The python script is

/usr/local/bin/mypythonscript.py

and the service name is

/etc/systemd/system/mypythonscript.service

Description=My python script daemon
After=syslog.target
After=network.target

[Service]
Type=simple
User=root
Group=root
ExecStart=/usr/bin/python /usr/local/bin/mypythonscript.py

# Give the script some time to startup
TimeoutSec=300

[Install]
WantedBy=multi-user.target

And you can see handful of information for the state of your script with

systemctl status mypythonscript

The uptime of your script and output if any

* mypythonscript.service
   Loaded: loaded (/etc/systemd/system/mypythonscript.service; disabled; vendor preset: enabled)
   Active: active (running) since Thu 2018-01-04 13:58:34 UTC; 1 months 12 days ago
 Main PID: 29654 (python)
   CGroup: /system.slice/mypythonscript.service
           `-37421 /usr/bin/python /usr/local/bin/mypythonscript.py

Jan 12 10:05:21 srv.local systemd[1]: [/etc/systemd/system/mypythonscript.service:3] Assignment outside of section. Ignoring.
Jan 12 10:05:21 srv.local systemd[1]: [/etc/systemd/system/mypythonscript.service:1] Assignment outside of section. Ignoring.

Avoiding Esc (escape) key, a key combination to simulate it

Writing the last howto there was an idea: how to simulate the ESC key, when the key is not available in our keyboard, which is very often these days. Mobile traffic is the ruler coming from mobile devices, of course! So why to limit console users (probably mainly admins?) only to desktop or “qwerty” keyboards? The tables could weight under 500 grams and event smartphones could be used to ssh to a server and what if you do not have ESC key, but need to use it? You can try the following combination:

The escape key can be replaced with pressing and holding CTRL and pressing “[” (left square bracket) = “CTRL+[”

So next time when trying to use ssh or console under Android or iOS or any device try this combination at lease it could be faster than selecting a menu for a predefined keys like ESC key.

vim – edit, save and exit, it is too simple!

Do not blame admins (or in general users, too) of using nano (pico) it is away too simple for simple tasks, which are probably the most cases under console.

    • Save a file – press Esc key, then press and hold SHIFT and then press colons “:”, the bottom line of your screen will change and will start with colons “:”, then type the key “w” and then hit Enter key, so you’ve just saved the opened file.
        1. press Esc
        2. press and hold SHIFT
        3. press the key with colons “:
        4. type “w
        5. hit Enter key
    • Save a file and quit – press Esc key, then press and hold SHIFT and then press colons “:”, the bottom line of your screen will change and will start with colons “:”, then type the key “x” and then hit Enter key, so you’ve just saved the opened file.
        1. press Esc
        2. press and hold SHIFT
        3. press the key with colons “:
        4. type “x
        5. hit Enter key
    • Save all opened files – press Esc key, then press and hold SHIFT and then press colons “:”, the bottom line of your screen will change and will start with colons “:”, then type the key “wa” and then hit Enter key, so you’ve just saved the opened file.
        1. press Esc
        2. press and hold SHIFT
        3. press the key with colons “:
        4. type “wa
        5. hit Enter key
    • Quit without saving, just quit the vim – press Esc key, then press and hold SHIFT and then press colons “:”, the bottom line of your screen will change and will start with colons “:”, then type the key “q!” and then hit Enter key
        1. press Esc
        2. press and hold SHIFT
        3. press the key with colons “:
        4. type “q!
        5. hit Enter key
  • Enable auto save with two ESC keys – create or edit file

    ~/.vimrc

    Add the following line:

    map <Esc><Esc> :w<CR>
    

* The Esc can be avoided

The escape key can be replaced with pressing and holding CTRL and pressing “[” (left square bracket) = “CTRL+[” and if your “[” is hard typing, you can try CTRL plus “c” = “CTRL+c”, all this is needed to be sure you are not in vim’s insert mode. Avoiding Esc – escape button could be useful under not qwerty keyboards of the mobile devices – smartphones, tablets and so on.

How to proper enable the selinux in a CentOS7 installed server

These days many dedicated servers are offered with automation installation of operating systems and it have never been so easy and fast to pay a server and to get it up in minutes! Yes, we are talking for dedicated machines not virtual servers or cloud ones, but many cloud ones are in the same situation, when the host uses full virtualization.
It is fast, you can choose from many different linux distros and the installation is unattended and happens immediately, but in most cases the selinux is disabled, because is more easy for the support, for the user, for the admin, and for the offered preinstalled software…If you do not have some strange software in most cases it is advisable to enable the selinux, because it is of great security enhancement for your server and for the software in general. It is very simple to enable selinux, but there is an additional step, which if you omit, the server will probably get unusable (probably you won’t be able even to ssh it or login). These steps are tested under CentOS7, but probably works in all other distros, which support selinux!
So here are the steps:

STEP 1) Enable selinux in configuration

Edit the configuration file in

/etc/selinux/config

SELINUX=enforcing

STEP 2) relabel the file system

When using the selinux, there are labels (extended attributes of the file system), which are additional layer of security. Every system comes with prebuild rules instructing what label is set in which file or directory, so when you enable the selinux you must relabel the entire file system (or at least the root partition, to be able to boot normally). This is done with just a line of code below:

touch /.autorelabel

STEP 3) reboot

To take effect the changes made above the server must be rebooted.

reboot

The init process will find the file from step 2 “/.autorelabel” and will initiate a proper relabel according the current selinux rules file, then the server will be rebooted automatically again, the relabel could take time and it depends on the number of files you have in your server, just keep patient.
After the second reboot (which is automatically after the relabeling)

4) Recommendations

USE SELINUX, do not disable it! In most cases it is really simple to configure it in minutes for the need of your special software and for the generic one bet it there are rules offered in the distro’s packet system.

4) Post install check

You can check if the selinux is enabled with

[root@srv ~]# getenforce 
Enforcing
[root@srv ~]#

Install xmr-stak 2.2 in a machine with NVIDIA video card under Ubuntu 16.04 LTS (only commands , real output and benchmark)

Here is the Part 2 of the Install xmr-stak 2.2 in a machine with NVIDIA video card under Ubuntu 16.04 LTS. The Part 2 is just all executed commands, which could be put in a bash file to automate the installation of the machine and the compilation of the xmr-stak and the output for a much clear example with real life example with output. Here you’ll find no explanations, which are included in the “Part 1” (see link above).
So only three sections here, first the bash commands and then the output of executed commands, only the installation of the packets with apt-get is trimmed because of the long output! The example is executing first sudo su to get to the root user, if you do not feel good you can skip the root and adjust it to the user you like with sudo. The second is the output of the commands and the third is the benchmark and hardware information of the machine used for this howto.

1. Commands to execute

sudo su
cd
wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_9.1.85-1_amd64.deb
apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
dpkg -i /root/cuda-repo-ubuntu1604_9.1.85-1_amd64.deb
add-apt-repository -y ppa:graphics-drivers/ppa
apt-get update -y
apt-get -y install libboost-all-dev libleveldb-dev libcurl4-openssl-dev libmicrohttpd-dev libminiupnpc-dev libgmp-dev  cuda nvidia-opencl-dev libmicrohttpd-dev libssl-dev cmake build-essential
reboot
sudo su
cd
echo "termcapinfo xterm* ti@:te@" > /root/.screenrc
screen -R xmr-stak-mining
git clone https://github.com/fireice-uk/xmr-stak
mkdir -p /root/xmr-stak/build
cd /root/xmr-stak/build
export CFLAGS="-O2 -march=native -msse3 -fomit-frame-pointer -pipe"
export CHOST="x86_64-pc-linux-gnu"
export CXXFLAGS="${CFLAGS}"
export LDFLAGS="-Wl,-O1"
#cmake -DCUDA_ARCH=37 ../
cmake ../
make -j 8
cd /root/xmr-stak/build/bin
sysctl -w vm.nr_hugepages=128
export GPU_FORCE_64BIT_PTR=0
export GPU_MAX_HEAP_SIZE=100
export GPU_USE_SYNC_OBJECTS=1
export GPU_MAX_ALLOC_PERCENT=100
export GPU_SINGLE_ALLOC_PERCENT=100
./xmr-stak 

It’s worth mentioning the configuration of xmr-stak first run from Part 1:
Just enter your monero (or other cryptocurrency using cryptonight algorithm like Electoneum, Intensecoin and so on), follow the questions and in our case are shown below, the question start with “-” line and my answers are the next lines, yours will be different, especially in the part of the “Pool address”, which is the address of the pool you use, the username, which is the crypto currency public address you have (now, there is a fake address, DO NOT USE IT, you’ll mine and use your resources for nothing!!! Check your public address and put it there!), the Password, which is blank or your email (some pools’ software shows better statistics with your email, not required in most cases)

2. Here is the all real output (just the configuration of Pool address, Username and Password are changed for security reasons, use your own)

 

ubuntu@mylocal:~$ sudo su
root@mylocal:/home/ubuntu# cd
root@mylocal:~# wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_9.1.85-1_amd64.deb
--2018-02-15 02:22:19--  http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_9.1.85-1_amd64.deb
Resolving developer.download.nvidia.com (developer.download.nvidia.com)... 192.229.211.70, 2606:2800:21f:3aa:dcf:37b:1ed6:1fb
Connecting to developer.download.nvidia.com (developer.download.nvidia.com)|192.229.211.70|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2820 (2.8K) [application/x-deb]
Saving to: ‘cuda-repo-ubuntu1604_9.1.85-1_amd64.deb’

cuda-repo-ubuntu1604_9.1.85-1_amd64.deb    100%[========================================================================================&amp;gt;]   2.75K  --.-KB/s    in 0s      

2018-02-15 02:22:19 (422 MB/s) - ‘cuda-repo-ubuntu1604_9.1.85-1_amd64.deb’ saved [2820/2820]

root@mylocal:~# apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
Executing: /tmp/tmp.OWvP5bjT2q/gpg.1.sh --fetch-keys
http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
gpg: key 7FA2AF80: public key "cudatools &amp;lt;cudatools@nvidia.com&amp;gt;" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
root@mylocal:~# dpkg -i /root/cuda-repo-ubuntu1604_9.1.85-1_amd64.deb
Selecting previously unselected package cuda-repo-ubuntu1604.
(Reading database ... 51107 files and directories currently installed.)
Preparing to unpack .../cuda-repo-ubuntu1604_9.1.85-1_amd64.deb ...
Unpacking cuda-repo-ubuntu1604 (9.1.85-1) ...
Setting up cuda-repo-ubuntu1604 (9.1.85-1) ...
root@mylocal:~# add-apt-repository -y ppa:graphics-drivers/ppa
gpg: keyring `/tmp/tmptpad_2so/secring.gpg' created
gpg: keyring `/tmp/tmptpad_2so/pubring.gpg' created
gpg: requesting key 1118213C from hkp server keyserver.ubuntu.com
gpg: /tmp/tmptpad_2so/trustdb.gpg: trustdb created
gpg: key 1118213C: public key "Launchpad PPA for Graphics Drivers Team" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
OK
root@mylocal:~# apt-get update -y
Hit:1 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial InRelease
Get:2 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-updates InRelease [102 kB] 
Get:3 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-backports InRelease [102 kB]
Get:4 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB]             
Get:5 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial/main Sources [868 kB]              
Get:6 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial/restricted Sources [4,808 B]                                                                                  
Get:7 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial/universe Sources [7,728 kB]                                                                   
Ign:8 http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64  InRelease                                      
Get:9 http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64  Release [564 B]                                
Get:10 http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64  Release.gpg [801 B]                                  
Get:11 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu xenial InRelease [24.3 kB]                                                      
Get:12 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial/multiverse Sources [179 kB]                               
Get:13 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages [7,532 kB]                 
Get:14 http://security.ubuntu.com/ubuntu xenial-security/main Sources [110 kB]                                             
Get:15 http://security.ubuntu.com/ubuntu xenial-security/restricted Sources [2,116 B]                                  
Get:16 http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64  Packages [100 kB]                                             
Get:17 http://security.ubuntu.com/ubuntu xenial-security/universe Sources [50.4 kB]                                                            
Get:18 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial/universe Translation-en [4,354 kB]                           
Get:19 http://security.ubuntu.com/ubuntu xenial-security/multiverse Sources [1,516 B]                             
Get:20 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages [442 kB]                                                               
Get:21 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial/multiverse amd64 Packages [144 kB]                                                     
Get:22 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial/multiverse Translation-en [106 kB]                                            
Get:23 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-updates/main Sources [295 kB]                                                       
Get:24 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-updates/restricted Sources [2,524 B]                                        
Get:25 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-updates/universe Sources [191 kB]                                               
Get:26 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-updates/multiverse Sources [7,968 B]                              
Get:27 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [721 kB]                                 
Get:28 http://security.ubuntu.com/ubuntu xenial-security/main Translation-en [193 kB]                                           
Get:29 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-updates/main Translation-en [300 kB]          
Get:30 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-updates/restricted amd64 Packages [7,560 B]                    
Get:31 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-updates/restricted Translation-en [2,272 B]
Get:32 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages [585 kB]         
Get:33 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-updates/universe Translation-en [237 kB]
Get:34 http://security.ubuntu.com/ubuntu xenial-security/restricted amd64 Packages [7,224 B]                
Get:35 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-updates/multiverse amd64 Packages [16.2 kB]                
Get:36 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-updates/multiverse Translation-en [8,052 B]
Get:37 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-backports/main Sources [3,432 B]                 
Get:38 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-backports/universe Sources [4,904 B]      
Get:39 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-backports/main amd64 Packages [4,836 B]   
Get:40 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-backports/main Translation-en [3,220 B]    
Get:41 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-backports/universe amd64 Packages [6,628 B]      
Get:42 http://security.ubuntu.com/ubuntu xenial-security/restricted Translation-en [2,152 B]            
Get:43 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-backports/universe Translation-en [3,768 B]      
Get:44 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 Packages [205 kB]                    
Get:45 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu xenial/main amd64 Packages [11.9 kB]
Get:46 http://security.ubuntu.com/ubuntu xenial-security/universe Translation-en [105 kB]
Get:47 http://security.ubuntu.com/ubuntu xenial-security/multiverse amd64 Packages [3,208 B]                     
Get:48 http://security.ubuntu.com/ubuntu xenial-security/multiverse Translation-en [1,408 B]                 
Get:49 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu xenial/main Translation-en [4,224 B]                   
Fetched 24.9 MB in 3s (6,240 kB/s)                                        
Reading package lists... Done
root@mylocal:~# apt-get -y install libboost-all-dev libleveldb-dev libcurl4-openssl-dev libmicrohttpd-dev libminiupnpc-dev libgmp-dev  cuda nvidia-opencl-dev libmicrohttpd-dev libssl-dev cmake build-essential
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  adwaita-icon-theme apg aptdaemon aspell aspell-en at-spi2-core autotools-dev avahi-daemon avahi-utils bbswitch-dkms binutils bluez bluez-obexd ca-certificates-java
  cheese-common cmake-data colord colord-data cpp cpp-5 cracklib-runtime crda cuda-9-1 cuda-command-line-tools-9-1 cuda-compiler-9-1 cuda-cublas-9-1 cuda-cublas-dev-9-1
  cuda-cudart-9-1 cuda-cudart-dev-9-1 cuda-cufft-9-1 cuda-cufft-dev-9-1 cuda-cuobjdump-9-1 cuda-cupti-9-1 cuda-curand-9-1 cuda-curand-dev-9-1 cuda-cusolver-9-1
  cuda-cusolver-dev-9-1 cuda-cusparse-9-1 cuda-cusparse-dev-9-1 cuda-demo-suite-9-1 cuda-documentation-9-1 cuda-driver-dev-9-1 cuda-drivers cuda-gdb-9-1
  cuda-gpu-library-advisor-9-1 cuda-libraries-9-1 cuda-libraries-dev-9-1 cuda-license-9-1 cuda-memcheck-9-1 cuda-misc-headers-9-1 cuda-npp-9-1 cuda-npp-dev-9-1
  cuda-nsight-9-1 cuda-nvcc-9-1 cuda-nvdisasm-9-1 cuda-nvgraph-9-1 cuda-nvgraph-dev-9-1 cuda-nvml-dev-9-1 cuda-nvprof-9-1 cuda-nvprune-9-1 cuda-nvrtc-9-1
  cuda-nvrtc-dev-9-1 cuda-nvtx-9-1 cuda-nvvp-9-1 cuda-runtime-9-1 cuda-samples-9-1 cuda-toolkit-9-1 cuda-tools-9-1 cuda-visual-tools-9-1 cups-pk-helper dbus-x11 dconf-cli
  dconf-gsettings-backend dconf-service default-jre default-jre-headless desktop-file-utils dictionaries-common diffstat dkms dpkg-dev emacsen-common enchant
  evolution-data-server evolution-data-server-common evolution-data-server-online-accounts fakeroot fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-extra
  freeglut3 freeglut3-dev g++ g++-5 gcc gcc-5 gcc-5-base gcr geoclue geoclue-ubuntu-geoip gettext gir1.2-atk-1.0 gir1.2-freedesktop gir1.2-gdkpixbuf-2.0
  gir1.2-gnomekeyring-1.0 gir1.2-gtk-3.0 gir1.2-ibus-1.0 gir1.2-notify-0.7 gir1.2-packagekitglib-1.0 gir1.2-pango-1.0 gkbd-capplet glib-networking glib-networking-common
  glib-networking-services gnome-bluetooth gnome-desktop3-data gnome-keyring gnome-menus gnome-power-manager gnome-screensaver gnome-session-bin
  gnome-settings-daemon-schemas gnome-user-guide gnome-user-share gsettings-desktop-schemas gsettings-ubuntu-schemas gstreamer1.0-clutter-3.0 gstreamer1.0-plugins-base
  gstreamer1.0-plugins-good gstreamer1.0-x gvfs gvfs-backends gvfs-common gvfs-daemons gvfs-libs hardening-includes hicolor-icon-theme humanity-icon-theme hunspell-en-us
  hwdata ibus ibus-gtk ibus-gtk3 icu-devtools im-config indicator-applet indicator-application indicator-bluetooth indicator-datetime indicator-keyboard
  indicator-messages indicator-power indicator-session indicator-sound intltool-debian ippusbxd iputils-arping iw java-common lib32gcc1 libaa1 libaccount-plugin-1.0-0
  libaccount-plugin-generic-oauth libaccount-plugin-google libaccounts-glib0 libaccounts-qt5-1 libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl
  libappindicator3-1 libapt-pkg-perl libarchive-zip-perl libarchive13 libasan2 libasound2 libasound2-data libasound2-plugins libaspell15 libasprintf-dev libassuan0
  libasyncns0 libatasmart4 libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatomic1 libatspi2.0-0 libauthen-sasl-perl libavahi-client3 libavahi-common-data
  libavahi-common3 libavahi-core7 libavahi-glib1 libavc1394-0 libbluetooth3 libboost-atomic-dev libboost-atomic1.58-dev libboost-atomic1.58.0 libboost-chrono-dev
  libboost-chrono1.58-dev libboost-chrono1.58.0 libboost-context-dev libboost-context1.58-dev libboost-context1.58.0 libboost-coroutine-dev libboost-coroutine1.58-dev
  libboost-coroutine1.58.0 libboost-date-time-dev libboost-date-time1.58-dev libboost-date-time1.58.0 libboost-dev libboost-exception-dev libboost-exception1.58-dev
  libboost-filesystem-dev libboost-filesystem1.58-dev libboost-filesystem1.58.0 libboost-graph-dev libboost-graph-parallel-dev libboost-graph-parallel1.58-dev
  libboost-graph-parallel1.58.0 libboost-graph1.58-dev libboost-graph1.58.0 libboost-iostreams-dev libboost-iostreams1.58-dev libboost-iostreams1.58.0 libboost-locale-dev
  libboost-locale1.58-dev libboost-locale1.58.0 libboost-log-dev libboost-log1.58-dev libboost-log1.58.0 libboost-math-dev libboost-math1.58-dev libboost-math1.58.0
  libboost-mpi-dev libboost-mpi-python-dev libboost-mpi-python1.58-dev libboost-mpi-python1.58.0 libboost-mpi1.58-dev libboost-mpi1.58.0 libboost-program-options-dev
  libboost-program-options1.58-dev libboost-program-options1.58.0 libboost-python-dev libboost-python1.58-dev libboost-python1.58.0 libboost-random-dev
  libboost-random1.58-dev libboost-random1.58.0 libboost-regex-dev libboost-regex1.58-dev libboost-regex1.58.0 libboost-serialization-dev libboost-serialization1.58-dev
  libboost-serialization1.58.0 libboost-signals-dev libboost-signals1.58-dev libboost-signals1.58.0 libboost-system-dev libboost-system1.58-dev libboost-system1.58.0
  libboost-test-dev libboost-test1.58-dev libboost-test1.58.0 libboost-thread-dev libboost-thread1.58-dev libboost-thread1.58.0 libboost-timer-dev libboost-timer1.58-dev
  libboost-timer1.58.0 libboost-tools-dev libboost-wave-dev libboost-wave1.58-dev libboost-wave1.58.0 libboost1.58-dev libboost1.58-tools-dev libc-dev-bin libc6 libc6-dev
  libc6-i386 libcaca0 libcairo-gobject2 libcairo2 libcamel-1.2-54 libcanberra-gtk3-0 libcanberra-gtk3-module libcanberra-pulse libcanberra0 libcapnp-0.5.3 libcc1-0
  libcdio-cdda1 libcdio-paranoia1 libcdio13 libcdparanoia0 libcgi-fast-perl libcgi-pm-perl libcgmanager0 libcheese-gtk25 libcheese8 libcilkrts5 libclass-accessor-perl
  libclone-perl libclutter-1.0-0 libclutter-1.0-common libclutter-gst-3.0-0 libclutter-gtk-1.0-0 libcogl-common libcogl-pango20 libcogl-path20 libcogl20 libcolord2
  libcolorhug2 libcrack2 libcroco3 libcuda1-390 libcups2 libcurl3 libdaemon0 libdata-alias-perl libdatrie1 libdbusmenu-glib4 libdbusmenu-gtk3-4 libdconf1
  libdigest-hmac-perl libdouble-conversion1v5 libdpkg-perl libdrm-amdgpu1 libdrm-common libdrm-dev libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libdrm2 libdv4
  libebackend-1.2-10 libebook-1.2-16 libebook-contacts-1.2-2 libecal-1.2-19 libedata-book-1.2-25 libedata-cal-1.2-28 libedataserver-1.2-21 libegl1-mesa
  libemail-valid-perl libenchant1c2a libencode-locale-perl libepoxy0 libevdev2 libexif12 libexpat1-dev libexporter-tiny-perl libfakeroot libfcgi-perl libfcitx-config4
  libfcitx-gclient0 libfcitx-utils0 libfftw3-single3 libfile-basedir-perl libfile-fcntllock-perl libflac8 libfontconfig1 libfontenc1 libgbm1 libgcc-5-dev libgck-1-0
  libgcr-3-common libgcr-base-3-1 libgcr-ui-3-1 libgcrypt20-dev libgd3 libgdata-common libgdata22 libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgee-0.8-2 libgeoclue0
  libgeocode-glib0 libgeonames0 libgettextpo-dev libgettextpo0 libgif7 libgl1-mesa-dev libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libglib2.0-bin libglu1-mesa
  libglu1-mesa-dev libgmpxx4ldbl libgnome-bluetooth13 libgnome-desktop-3-12 libgnome-keyring-common libgnome-keyring0 libgnome-menu-3-0 libgnomekbd-common libgnomekbd8
  libgnutls-dev libgnutls28-dev libgnutlsxx28 libgoa-1.0-0b libgoa-1.0-common libgomp1 libgpg-error-dev libgphoto2-6 libgphoto2-l10n libgphoto2-port12 libgraphite2-3
  libgstreamer-plugins-base1.0-0 libgstreamer-plugins-good1.0-0 libgstreamer1.0-0 libgtk-3-0 libgtk-3-bin libgtk-3-common libgtk2.0-0 libgtk2.0-bin libgtk2.0-common
  libgtop-2.0-10 libgtop2-common libgudev-1.0-0 libgusb2 libgweather-3-6 libgweather-common libharfbuzz-icu0 libharfbuzz0b libhtml-parser-perl libhtml-tagset-perl
  libhttp-date-perl libhttp-message-perl libhunspell-1.3-0 libhwloc-dev libhwloc-plugins libhwloc5 libhyphen0 libibus-1.0-5 libibverbs-dev libibverbs1 libical1a
  libice-dev libice6 libicu-dev libidn11-dev libido3-0.1-0 libiec61883-0 libieee1284-3 libimobiledevice6 libindicator3-7 libinput-bin libinput10 libio-html-perl
  libio-pty-perl libio-socket-inet6-perl libio-socket-ssl-perl libio-string-perl libipc-run-perl libipc-system-simple-perl libisl15 libitm1 libjack-jackd2-0 libjansson4
  libjavascriptcoregtk-4.0-18 libjbig0 libjpeg-turbo8 libjpeg8 libjson-glib-1.0-0 libjson-glib-1.0-common libjsoncpp1 liblcms2-2 libldb1 libleveldb1v5
  liblightdm-gobject-1-0 liblist-moreutils-perl libllvm5.0 liblsan0 libltdl-dev libltdl7 liblwp-mediatypes-perl libmailtools-perl libmbim-glib4 libmbim-proxy
  libmicrohttpd10 libminiupnpc10 libmirclient9 libmircommon7 libmircore1 libmirprotobuf3 libmm-glib0 libmpc3 libmpx0 libmtdev1 libmtp-common libmtp-runtime libmtp9
  libnautilus-extension1a libndp0 libnet-dns-perl libnet-domain-tld-perl libnet-ip-perl libnet-libidn-perl libnet-smtp-ssl-perl libnet-ssleay-perl libnih-dbus1
  libnl-3-200 libnl-genl-3-200 libnm-glib4 libnm-gtk-common libnm-gtk0 libnm-util2 libnm0 libnma-common libnma0 libnotify4 libnspr4 libnss-mdns libnss3 libnss3-nssdb
  libnuma-dev liboauth0 libogg0 libopenmpi-dev libopenmpi1.10 libopus0 liborc-0.4-0 libp11-kit-dev libp11-kit-gnome-keyring libpackagekit-glib2-16 libpam-gnome-keyring
  libpanel-applet0 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpangoxft-1.0-0 libparse-debianchangelog-perl libpciaccess0 libpcre16-3 libpcsclite1
  libperlio-gzip-perl libpixman-1-0 libplist3 libprotobuf-lite9v5 libproxy1v5 libpthread-stubs0-dev libpulse-mainloop-glib0 libpulse0 libpulsedsp libpwquality-common
  libpwquality1 libpython-dev libpython-stdlib libpython2.7 libpython2.7-dev libpython2.7-minimal libpython2.7-stdlib libqmi-glib5 libqmi-proxy libqt5core5a libqt5dbus5
  libqt5gui5 libqt5network5 libqt5opengl5 libqt5printsupport5 libqt5qml5 libqt5quick5 libqt5sql5 libqt5sql5-sqlite libqt5svg5 libqt5webkit5 libqt5widgets5 libqt5xml5
  libquadmath0 libraw1394-11 librest-0.7-0 librsvg2-2 librsvg2-common libsamplerate0 libsane libsane-common libsecret-1-0 libsecret-common libsensors4 libshout3
  libsignon-extension1 libsignon-glib1 libsignon-plugins-common1 libsignon-qt5-1 libsm-dev libsm6 libsmbclient libsnappy1v5 libsndfile1 libsocket6-perl libsoup-gnome2.4-1
  libsoup2.4-1 libspeex1 libspeexdsp1 libssl-doc libssl1.0.0 libstdc++-5-dev libstdc++6 libsub-name-perl libtag1v5 libtag1v5-vanilla libtalloc2 libtasn1-6 libtasn1-6-dev
  libtasn1-doc libtdb1 libtevent0 libtext-levenshtein-perl libthai-data libthai0 libtheora0 libtiff5 libtimedate-perl libtimezonemap-data libtimezonemap1 libtool libtsan0
  libtxc-dxtn-s2tc0 libubsan0 libudisks2-0 libunistring0 libunity-control-center1 libunity-settings-daemon1 libupower-glib3 liburi-perl liburl-dispatcher1 libusbmuxd4
  libv4l-0 libv4lconvert0 libvdpau1 libvisual-0.4-0 libvorbis0a libvorbisenc2 libvorbisfile3 libvpx3 libwacom-bin libwacom-common libwacom2 libwavpack1 libwayland-client0
  libwayland-cursor0 libwayland-egl1-mesa libwayland-server0 libwbclient0 libwebkit2gtk-4.0-37 libwebkit2gtk-4.0-37-gtk2 libwebp5 libwebrtc-audio-processing-0 libx11-dev
  libx11-doc libx11-xcb-dev libx11-xcb1 libxau-dev libxaw7 libxcb-dri2-0 libxcb-dri2-0-dev libxcb-dri3-0 libxcb-dri3-dev libxcb-glx0 libxcb-glx0-dev libxcb-icccm4
  libxcb-image0 libxcb-keysyms1 libxcb-present-dev libxcb-present0 libxcb-randr0 libxcb-randr0-dev libxcb-render-util0 libxcb-render0 libxcb-render0-dev libxcb-shape0
  libxcb-shape0-dev libxcb-shm0 libxcb-sync-dev libxcb-sync1 libxcb-util1 libxcb-xfixes0 libxcb-xfixes0-dev libxcb-xkb1 libxcb1-dev libxcomposite1 libxcursor1
  libxdamage-dev libxdamage1 libxdmcp-dev libxext-dev libxfixes-dev libxfixes3 libxfont1 libxft2 libxi-dev libxi6 libxinerama1 libxkbcommon-x11-0 libxkbcommon0
  libxkbfile1 libxklavier16 libxmu-dev libxmu-headers libxmu6 libxnvctrl0 libxpm4 libxrandr2 libxrender1 libxshmfence-dev libxshmfence1 libxslt1.1 libxt-dev libxt6
  libxtst6 libxv1 libxxf86dga1 libxxf86vm-dev libxxf86vm1 libyaml-libyaml-perl libyelp0 lightdm lintian linux-libc-dev make manpages-dev mesa-common-dev
  mesa-vdpau-drivers mobile-broadband-provider-info modemmanager mountall mousetweaks mpi-default-bin mpi-default-dev nautilus-data nettle-dev network-manager
  network-manager-gnome network-manager-pptp notification-daemon nvidia-390 nvidia-390-dev nvidia-modprobe nvidia-opencl-icd-390 nvidia-prime nvidia-settings
  ocl-icd-libopencl1 opencl-headers openjdk-8-jre openjdk-8-jre-headless openmpi-bin openmpi-common p11-kit p11-kit-modules patchutils pinentry-gnome3 pkg-config
  policykit-1-gnome ppp pptp-linux pulseaudio pulseaudio-module-x11 pulseaudio-utils python python-dev python-minimal python-talloc python2.7 python2.7-dev
  python2.7-minimal python3-aptdaemon python3-aptdaemon.pkcompat python3-bs4 python3-cairo python3-cups python3-cupshelpers python3-defer python3-html5lib python3-lxml
  python3-xdg python3-xkit qttranslations5-l10n rtkit samba-libs screen-resolution-extra session-migration signon-keyring-extension signon-plugin-oauth2
  signon-plugin-password signon-ui signon-ui-service signon-ui-x11 signond sound-theme-freedesktop system-config-printer-common system-config-printer-gnome
  system-config-printer-udev t1utils ubuntu-mono ubuntu-system-service ubuntu-touch-sounds udisks2 unity-control-center unity-control-center-faces
  unity-control-center-signon unity-greeter unity-settings-daemon upower upstart usb-modeswitch usb-modeswitch-data usbmuxd vdpau-driver-all wamerican wireless-regdb
  wpasupplicant x11-common x11-utils x11-xkb-utils x11proto-core-dev x11proto-damage-dev x11proto-dri2-dev x11proto-fixes-dev x11proto-gl-dev x11proto-input-dev
  x11proto-kb-dev x11proto-xext-dev x11proto-xf86vidmode-dev xfonts-base xfonts-encodings xfonts-utils xorg-sgml-doctools xserver-common xserver-xorg xserver-xorg-core
  xserver-xorg-input-all xserver-xorg-input-evdev xserver-xorg-input-synaptics xserver-xorg-input-vmmouse xserver-xorg-input-wacom xserver-xorg-legacy xtrans-dev yelp
  yelp-xsl zlib1g-dev
Suggested packages:
  aspell-doc spellutils avahi-autoipd bumblebee binutils-doc codeblocks eclipse ninja-build colord-sensor-argyll cpp-doc gcc-5-locales default-java-plugin debian-keyring
  evolution evolution-data-server-dbg g++-multilib g++-5-multilib gcc-5-doc libstdc++6-5-dbg gcc-multilib autoconf automake flex bison gdb gcc-doc gcc-5-multilib
  libgcc1-dbg libgomp1-dbg libitm1-dbg libatomic1-dbg libasan2-dbg liblsan0-dbg libtsan0-dbg libubsan0-dbg libcilkrts5-dbg libmpx0-dbg libquadmath0-dbg gettext-doc
  autopoint apache2-bin libapache2-mod-dnssd samba-common hunspell openoffice.org-hunspell | openoffice.org-core ibus-clutter ibus-doc ibus-qt4 click powerd
  unity-system-compositor zenity unity-greeter-session-broadcast lrzip alsa-utils libgssapi-perl libboost-doc graphviz libboost1.58-doc gccxml libmpfrc++-dev libntl-dev
  xsltproc doxygen docbook-xml docbook-xsl default-jdk fop glibc-doc libcanberra-gtk0 libgles2-mesa | libgles2 cups-common libcurl4-doc libcurl3-dbg libkrb5-dev
  libldap2-dev librtmp-dev libdv-bin oss-compat libenchant-voikko fcitx libfftw3-bin libfftw3-dev libgcrypt20-doc libgd-tools gmp-doc libgmp10-doc libmpfr-dev gnutls-doc
  gnutls-bin guile-gnutls gphoto2 libvisual-0.4-plugins gstreamer1.0-tools libdata-dump-perl libhwloc-contrib-plugins libice-doc icu-doc libusbmuxd-tools jackd2
  liblcms2-utils leveldb-doc libtool-doc minissdpd avahi-autoipd | zeroconf opennmpi-doc opus-tools libhtml-template-perl libxml-simple-perl pcscd libqt5libqgtk2
  qt5-image-formats-plugins qtwayland5 libraw1394-doc librsvg2-bin hplip libsane-extras sane-utils lm-sensors libsm-doc speex libstdc++-5-doc automaken gfortran
  | fortran95-compiler gcj-jdk libwww-perl url-dispatcher libxcb-doc libxext-doc libxt-doc bindfs binutils-multiarch libtext-template-perl make-doc nautilus
  network-manager-openconnect-gnome network-manager-openvpn-gnome network-manager-vpnc-gnome network-manager-pptp-gnome icedtea-8-plugin fonts-ipafont-gothic
  fonts-ipafont-mincho fonts-wqy-microhei fonts-wqy-zenhei fonts-indic gfortran openmpi-checkpoint pinentry-doc pavumeter pavucontrol paman paprefs python-doc python-tk
  python2.7-doc binfmt-support python3-genshi python3-lxml-dbg python-lxml-doc python3-smbc reiserfsprogs exfat-utils libcanberra-gtk-module x11-xserver-utils
  lightdm-remote-session-freerdp lightdm-remote-session-uccsconfigure remote-login-service metacity | x-window-manager upstart-monitor comgt wvdial libvdpau-va-gl1
  nvidia-vdpau-driver nvidia-legacy-340xx-vdpau-driver wpagui libengine-pkcs11-openssl mesa-utils xfonts-100dpi | xfonts-75dpi xfonts-scalable gpointing-device-settings
  touchfreeze xinput
The following NEW packages will be installed:
  adwaita-icon-theme apg aptdaemon aspell aspell-en at-spi2-core autotools-dev avahi-daemon avahi-utils bbswitch-dkms binutils bluez bluez-obexd build-essential
  ca-certificates-java cheese-common cmake cmake-data colord colord-data cpp cpp-5 cracklib-runtime crda cuda cuda-9-1 cuda-command-line-tools-9-1 cuda-compiler-9-1
  cuda-cublas-9-1 cuda-cublas-dev-9-1 cuda-cudart-9-1 cuda-cudart-dev-9-1 cuda-cufft-9-1 cuda-cufft-dev-9-1 cuda-cuobjdump-9-1 cuda-cupti-9-1 cuda-curand-9-1
  cuda-curand-dev-9-1 cuda-cusolver-9-1 cuda-cusolver-dev-9-1 cuda-cusparse-9-1 cuda-cusparse-dev-9-1 cuda-demo-suite-9-1 cuda-documentation-9-1 cuda-driver-dev-9-1
  cuda-drivers cuda-gdb-9-1 cuda-gpu-library-advisor-9-1 cuda-libraries-9-1 cuda-libraries-dev-9-1 cuda-license-9-1 cuda-memcheck-9-1 cuda-misc-headers-9-1 cuda-npp-9-1
  cuda-npp-dev-9-1 cuda-nsight-9-1 cuda-nvcc-9-1 cuda-nvdisasm-9-1 cuda-nvgraph-9-1 cuda-nvgraph-dev-9-1 cuda-nvml-dev-9-1 cuda-nvprof-9-1 cuda-nvprune-9-1 cuda-nvrtc-9-1
  cuda-nvrtc-dev-9-1 cuda-nvtx-9-1 cuda-nvvp-9-1 cuda-runtime-9-1 cuda-samples-9-1 cuda-toolkit-9-1 cuda-tools-9-1 cuda-visual-tools-9-1 cups-pk-helper dbus-x11 dconf-cli
  dconf-gsettings-backend dconf-service default-jre default-jre-headless desktop-file-utils dictionaries-common diffstat dkms dpkg-dev emacsen-common enchant
  evolution-data-server evolution-data-server-common evolution-data-server-online-accounts fakeroot fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-extra
  freeglut3 freeglut3-dev g++ g++-5 gcc gcc-5 gcr geoclue geoclue-ubuntu-geoip gettext gir1.2-atk-1.0 gir1.2-freedesktop gir1.2-gdkpixbuf-2.0 gir1.2-gnomekeyring-1.0
  gir1.2-gtk-3.0 gir1.2-ibus-1.0 gir1.2-notify-0.7 gir1.2-packagekitglib-1.0 gir1.2-pango-1.0 gkbd-capplet glib-networking glib-networking-common glib-networking-services
  gnome-bluetooth gnome-desktop3-data gnome-keyring gnome-menus gnome-power-manager gnome-screensaver gnome-session-bin gnome-settings-daemon-schemas gnome-user-guide
  gnome-user-share gsettings-desktop-schemas gsettings-ubuntu-schemas gstreamer1.0-clutter-3.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-x gvfs
  gvfs-backends gvfs-common gvfs-daemons gvfs-libs hardening-includes hicolor-icon-theme humanity-icon-theme hunspell-en-us hwdata ibus ibus-gtk ibus-gtk3 icu-devtools
  im-config indicator-applet indicator-application indicator-bluetooth indicator-datetime indicator-keyboard indicator-messages indicator-power indicator-session
  indicator-sound intltool-debian ippusbxd iputils-arping iw java-common lib32gcc1 libaa1 libaccount-plugin-1.0-0 libaccount-plugin-generic-oauth libaccount-plugin-google
  libaccounts-glib0 libaccounts-qt5-1 libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libappindicator3-1 libapt-pkg-perl libarchive-zip-perl
  libarchive13 libasan2 libasound2 libasound2-data libasound2-plugins libaspell15 libasprintf-dev libassuan0 libasyncns0 libatasmart4 libatk-bridge2.0-0 libatk1.0-0
  libatk1.0-data libatomic1 libatspi2.0-0 libauthen-sasl-perl libavahi-client3 libavahi-common-data libavahi-common3 libavahi-core7 libavahi-glib1 libavc1394-0
  libbluetooth3 libboost-all-dev libboost-atomic-dev libboost-atomic1.58-dev libboost-atomic1.58.0 libboost-chrono-dev libboost-chrono1.58-dev libboost-chrono1.58.0
  libboost-context-dev libboost-context1.58-dev libboost-context1.58.0 libboost-coroutine-dev libboost-coroutine1.58-dev libboost-coroutine1.58.0 libboost-date-time-dev
  libboost-date-time1.58-dev libboost-date-time1.58.0 libboost-dev libboost-exception-dev libboost-exception1.58-dev libboost-filesystem-dev libboost-filesystem1.58-dev
  libboost-filesystem1.58.0 libboost-graph-dev libboost-graph-parallel-dev libboost-graph-parallel1.58-dev libboost-graph-parallel1.58.0 libboost-graph1.58-dev
  libboost-graph1.58.0 libboost-iostreams-dev libboost-iostreams1.58-dev libboost-iostreams1.58.0 libboost-locale-dev libboost-locale1.58-dev libboost-locale1.58.0
  libboost-log-dev libboost-log1.58-dev libboost-log1.58.0 libboost-math-dev libboost-math1.58-dev libboost-math1.58.0 libboost-mpi-dev libboost-mpi-python-dev
  libboost-mpi-python1.58-dev libboost-mpi-python1.58.0 libboost-mpi1.58-dev libboost-mpi1.58.0 libboost-program-options-dev libboost-program-options1.58-dev
  libboost-program-options1.58.0 libboost-python-dev libboost-python1.58-dev libboost-python1.58.0 libboost-random-dev libboost-random1.58-dev libboost-random1.58.0
  libboost-regex-dev libboost-regex1.58-dev libboost-regex1.58.0 libboost-serialization-dev libboost-serialization1.58-dev libboost-serialization1.58.0
  libboost-signals-dev libboost-signals1.58-dev libboost-signals1.58.0 libboost-system-dev libboost-system1.58-dev libboost-system1.58.0 libboost-test-dev
  libboost-test1.58-dev libboost-test1.58.0 libboost-thread-dev libboost-thread1.58-dev libboost-thread1.58.0 libboost-timer-dev libboost-timer1.58-dev
  libboost-timer1.58.0 libboost-tools-dev libboost-wave-dev libboost-wave1.58-dev libboost-wave1.58.0 libboost1.58-dev libboost1.58-tools-dev libc-dev-bin libc6-dev
  libc6-i386 libcaca0 libcairo-gobject2 libcairo2 libcamel-1.2-54 libcanberra-gtk3-0 libcanberra-gtk3-module libcanberra-pulse libcanberra0 libcapnp-0.5.3 libcc1-0
  libcdio-cdda1 libcdio-paranoia1 libcdio13 libcdparanoia0 libcgi-fast-perl libcgi-pm-perl libcgmanager0 libcheese-gtk25 libcheese8 libcilkrts5 libclass-accessor-perl
  libclone-perl libclutter-1.0-0 libclutter-1.0-common libclutter-gst-3.0-0 libclutter-gtk-1.0-0 libcogl-common libcogl-pango20 libcogl-path20 libcogl20 libcolord2
  libcolorhug2 libcrack2 libcroco3 libcuda1-390 libcups2 libcurl3 libcurl4-openssl-dev libdaemon0 libdata-alias-perl libdatrie1 libdbusmenu-glib4 libdbusmenu-gtk3-4
  libdconf1 libdigest-hmac-perl libdouble-conversion1v5 libdpkg-perl libdrm-amdgpu1 libdrm-common libdrm-dev libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libdv4
  libebackend-1.2-10 libebook-1.2-16 libebook-contacts-1.2-2 libecal-1.2-19 libedata-book-1.2-25 libedata-cal-1.2-28 libedataserver-1.2-21 libegl1-mesa
  libemail-valid-perl libenchant1c2a libencode-locale-perl libepoxy0 libevdev2 libexif12 libexpat1-dev libexporter-tiny-perl libfakeroot libfcgi-perl libfcitx-config4
  libfcitx-gclient0 libfcitx-utils0 libfftw3-single3 libfile-basedir-perl libfile-fcntllock-perl libflac8 libfontconfig1 libfontenc1 libgbm1 libgcc-5-dev libgck-1-0
  libgcr-3-common libgcr-base-3-1 libgcr-ui-3-1 libgcrypt20-dev libgd3 libgdata-common libgdata22 libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgee-0.8-2 libgeoclue0
  libgeocode-glib0 libgeonames0 libgettextpo-dev libgettextpo0 libgif7 libgl1-mesa-dev libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libglib2.0-bin libglu1-mesa
  libglu1-mesa-dev libgmp-dev libgmpxx4ldbl libgnome-bluetooth13 libgnome-desktop-3-12 libgnome-keyring-common libgnome-keyring0 libgnome-menu-3-0 libgnomekbd-common
  libgnomekbd8 libgnutls-dev libgnutls28-dev libgnutlsxx28 libgoa-1.0-0b libgoa-1.0-common libgomp1 libgpg-error-dev libgphoto2-6 libgphoto2-l10n libgphoto2-port12
  libgraphite2-3 libgstreamer-plugins-base1.0-0 libgstreamer-plugins-good1.0-0 libgstreamer1.0-0 libgtk-3-0 libgtk-3-bin libgtk-3-common libgtk2.0-0 libgtk2.0-bin
  libgtk2.0-common libgtop-2.0-10 libgtop2-common libgudev-1.0-0 libgusb2 libgweather-3-6 libgweather-common libharfbuzz-icu0 libharfbuzz0b libhtml-parser-perl
  libhtml-tagset-perl libhttp-date-perl libhttp-message-perl libhunspell-1.3-0 libhwloc-dev libhwloc-plugins libhwloc5 libhyphen0 libibus-1.0-5 libibverbs-dev libibverbs1
  libical1a libice-dev libice6 libicu-dev libidn11-dev libido3-0.1-0 libiec61883-0 libieee1284-3 libimobiledevice6 libindicator3-7 libinput-bin libinput10 libio-html-perl
  libio-pty-perl libio-socket-inet6-perl libio-socket-ssl-perl libio-string-perl libipc-run-perl libipc-system-simple-perl libisl15 libitm1 libjack-jackd2-0 libjansson4
  libjavascriptcoregtk-4.0-18 libjbig0 libjpeg-turbo8 libjpeg8 libjson-glib-1.0-0 libjson-glib-1.0-common libjsoncpp1 liblcms2-2 libldb1 libleveldb-dev libleveldb1v5
  liblightdm-gobject-1-0 liblist-moreutils-perl libllvm5.0 liblsan0 libltdl-dev libltdl7 liblwp-mediatypes-perl libmailtools-perl libmbim-glib4 libmbim-proxy
  libmicrohttpd-dev libmicrohttpd10 libminiupnpc-dev libminiupnpc10 libmirclient9 libmircommon7 libmircore1 libmirprotobuf3 libmm-glib0 libmpc3 libmpx0 libmtdev1
  libmtp-common libmtp-runtime libmtp9 libnautilus-extension1a libndp0 libnet-dns-perl libnet-domain-tld-perl libnet-ip-perl libnet-libidn-perl libnet-smtp-ssl-perl
  libnet-ssleay-perl libnih-dbus1 libnl-3-200 libnl-genl-3-200 libnm-glib4 libnm-gtk-common libnm-gtk0 libnm-util2 libnm0 libnma-common libnma0 libnotify4 libnspr4
  libnss-mdns libnss3 libnss3-nssdb libnuma-dev liboauth0 libogg0 libopenmpi-dev libopenmpi1.10 libopus0 liborc-0.4-0 libp11-kit-dev libp11-kit-gnome-keyring
  libpackagekit-glib2-16 libpam-gnome-keyring libpanel-applet0 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpangoxft-1.0-0 libparse-debianchangelog-perl
  libpciaccess0 libpcre16-3 libpcsclite1 libperlio-gzip-perl libpixman-1-0 libplist3 libprotobuf-lite9v5 libproxy1v5 libpthread-stubs0-dev libpulse-mainloop-glib0
  libpulse0 libpulsedsp libpwquality-common libpwquality1 libpython-dev libpython-stdlib libpython2.7 libpython2.7-dev libpython2.7-minimal libpython2.7-stdlib
  libqmi-glib5 libqmi-proxy libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5 libqt5opengl5 libqt5printsupport5 libqt5qml5 libqt5quick5 libqt5sql5 libqt5sql5-sqlite
  libqt5svg5 libqt5webkit5 libqt5widgets5 libqt5xml5 libquadmath0 libraw1394-11 librest-0.7-0 librsvg2-2 librsvg2-common libsamplerate0 libsane libsane-common
  libsecret-1-0 libsecret-common libsensors4 libshout3 libsignon-extension1 libsignon-glib1 libsignon-plugins-common1 libsignon-qt5-1 libsm-dev libsm6 libsmbclient
  libsnappy1v5 libsndfile1 libsocket6-perl libsoup-gnome2.4-1 libsoup2.4-1 libspeex1 libspeexdsp1 libssl-dev libssl-doc libstdc++-5-dev libsub-name-perl libtag1v5
  libtag1v5-vanilla libtalloc2 libtasn1-6-dev libtasn1-doc libtdb1 libtevent0 libtext-levenshtein-perl libthai-data libthai0 libtheora0 libtiff5 libtimedate-perl
  libtimezonemap-data libtimezonemap1 libtool libtsan0 libtxc-dxtn-s2tc0 libubsan0 libudisks2-0 libunistring0 libunity-control-center1 libunity-settings-daemon1
  libupower-glib3 liburi-perl liburl-dispatcher1 libusbmuxd4 libv4l-0 libv4lconvert0 libvdpau1 libvisual-0.4-0 libvorbis0a libvorbisenc2 libvorbisfile3 libvpx3
  libwacom-bin libwacom-common libwacom2 libwavpack1 libwayland-client0 libwayland-cursor0 libwayland-egl1-mesa libwayland-server0 libwbclient0 libwebkit2gtk-4.0-37
  libwebkit2gtk-4.0-37-gtk2 libwebp5 libwebrtc-audio-processing-0 libx11-dev libx11-doc libx11-xcb-dev libx11-xcb1 libxau-dev libxaw7 libxcb-dri2-0 libxcb-dri2-0-dev
  libxcb-dri3-0 libxcb-dri3-dev libxcb-glx0 libxcb-glx0-dev libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-present-dev libxcb-present0 libxcb-randr0 libxcb-randr0-dev
  libxcb-render-util0 libxcb-render0 libxcb-render0-dev libxcb-shape0 libxcb-shape0-dev libxcb-shm0 libxcb-sync-dev libxcb-sync1 libxcb-util1 libxcb-xfixes0
  libxcb-xfixes0-dev libxcb-xkb1 libxcb1-dev libxcomposite1 libxcursor1 libxdamage-dev libxdamage1 libxdmcp-dev libxext-dev libxfixes-dev libxfixes3 libxfont1 libxft2
  libxi-dev libxi6 libxinerama1 libxkbcommon-x11-0 libxkbcommon0 libxkbfile1 libxklavier16 libxmu-dev libxmu-headers libxmu6 libxnvctrl0 libxpm4 libxrandr2 libxrender1
  libxshmfence-dev libxshmfence1 libxslt1.1 libxt-dev libxt6 libxtst6 libxv1 libxxf86dga1 libxxf86vm-dev libxxf86vm1 libyaml-libyaml-perl libyelp0 lightdm lintian
  linux-libc-dev make manpages-dev mesa-common-dev mesa-vdpau-drivers mobile-broadband-provider-info modemmanager mountall mousetweaks mpi-default-bin mpi-default-dev
  nautilus-data nettle-dev network-manager network-manager-gnome network-manager-pptp notification-daemon nvidia-390 nvidia-390-dev nvidia-modprobe nvidia-opencl-dev
  nvidia-opencl-icd-390 nvidia-prime nvidia-settings ocl-icd-libopencl1 opencl-headers openjdk-8-jre openjdk-8-jre-headless openmpi-bin openmpi-common p11-kit
  p11-kit-modules patchutils pinentry-gnome3 pkg-config policykit-1-gnome ppp pptp-linux pulseaudio pulseaudio-module-x11 pulseaudio-utils python python-dev
  python-minimal python-talloc python2.7 python2.7-dev python2.7-minimal python3-aptdaemon python3-aptdaemon.pkcompat python3-bs4 python3-cairo python3-cups
  python3-cupshelpers python3-defer python3-html5lib python3-lxml python3-xdg python3-xkit qttranslations5-l10n rtkit samba-libs screen-resolution-extra session-migration
  signon-keyring-extension signon-plugin-oauth2 signon-plugin-password signon-ui signon-ui-service signon-ui-x11 signond sound-theme-freedesktop
  system-config-printer-common system-config-printer-gnome system-config-printer-udev t1utils ubuntu-mono ubuntu-system-service ubuntu-touch-sounds udisks2
  unity-control-center unity-control-center-faces unity-control-center-signon unity-greeter unity-settings-daemon upower upstart usb-modeswitch usb-modeswitch-data
  usbmuxd vdpau-driver-all wamerican wireless-regdb wpasupplicant x11-common x11-utils x11-xkb-utils x11proto-core-dev x11proto-damage-dev x11proto-dri2-dev
  x11proto-fixes-dev x11proto-gl-dev x11proto-input-dev x11proto-kb-dev x11proto-xext-dev x11proto-xf86vidmode-dev xfonts-base xfonts-encodings xfonts-utils
  xorg-sgml-doctools xserver-common xserver-xorg xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-evdev xserver-xorg-input-synaptics xserver-xorg-input-vmmouse
  xserver-xorg-input-wacom xserver-xorg-legacy xtrans-dev yelp yelp-xsl zlib1g-dev
The following packages will be upgraded:
  gcc-5-base libc6 libdrm2 libssl1.0.0 libstdc++6 libtasn1-6
6 upgraded, 845 newly installed, 0 to remove and 90 not upgraded.
Need to get 1,502 MB of archives.
After this operation, 4,180 MB of additional disk space will be used.
Get:1 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 cmake-data all 3.5.1-1ubuntu3 [1,121 kB]
...
...
Setting up nvidia-390 (390.30-0ubuntu1) ...
update-alternatives: using /usr/lib/nvidia-390/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf (x86_64-linux-gnu_gl_conf) in auto mode
update-alternatives: warning: skip creation of /usr/share/grub-gfxpayload-lists/blacklist/10_proprietary-graphics-drivers because associated file /usr/share/nvidia-390/nvidia-390.grub-gfxpayload (of link group x86_64-linux-gnu_gl_conf) doesn't exist
update-alternatives: using /usr/lib/nvidia-390/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_EGL.conf (x86_64-linux-gnu_egl_conf) in auto mode
update-alternatives: using /usr/lib/nvidia-390/alt_ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_GL.conf (i386-linux-gnu_gl_conf) in auto mode
update-alternatives: using /usr/lib/nvidia-390/alt_ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_EGL.conf (i386-linux-gnu_egl_conf) in auto mode
update-alternatives: using /usr/share/nvidia-390/glamor.conf to provide /usr/share/X11/xorg.conf.d/glamoregl.conf (glamor_conf) in auto mode
update-initramfs: deferring update (trigger activated)

A modprobe blacklist file has been created at /etc/modprobe.d to prevent Nouveau from loading. This can be reverted by deleting /etc/modprobe.d/nvidia-graphics-drivers.conf.
A new initrd image has also been created. To revert, please replace /boot/initrd-4.4.0-1041-aws with /boot/initrd-$(uname -r)-backup.

*****************************************************************************
*** Reboot your computer and verify that the NVIDIA graphics driver can   ***
*** be loaded.                                                            ***
*****************************************************************************

Adding system user `nvidia-persistenced' (UID 115) ...
Adding new group `nvidia-persistenced' (GID 122) ...
Adding new user `nvidia-persistenced' (UID 115) with group `nvidia-persistenced' ...
Not creating home directory `/'.
Loading new nvidia-390-390.30 DKMS files...
First Installation: checking all kernels...
Building only for 4.4.0-1041-aws
Building for architecture x86_64
Building initial module for 4.4.0-1041-aws
Done.

nvidia_390:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.4.0-1041-aws/updates/dkms/

nvidia_390_modeset.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.4.0-1041-aws/updates/dkms/

nvidia_390_drm.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.4.0-1041-aws/updates/dkms/

nvidia_390_uvm.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.4.0-1041-aws/updates/dkms/

depmod.....

DKMS: install completed.
Setting up nvidia-390-dev (390.30-0ubuntu1) ...
Setting up libcuda1-390 (390.30-0ubuntu1) ...
...
...

done.
done.
root@mylocal:~# reboot
Connection to mysrv.local closed by remote host.
Connection to mysrv.local closed.

ubuntu@mylocal:~$ sudo su
root@mylocal:/home/ubuntu# cd
root@mylocal:~# git clone https://github.com/fireice-uk/xmr-stak
Cloning into 'xmr-stak'...
remote: Counting objects: 3695, done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 3695 (delta 4), reused 7 (delta 3), pack-reused 3684
Receiving objects: 100% (3695/3695), 1.07 MiB | 0 bytes/s, done.
Resolving deltas: 100% (2601/2601), done.
Checking connectivity... done.
root@mylocal:~# mkdir -p /root/xmr-stak/build
root@mylocal:~# cd /root/xmr-stak/build
root@mylocal:~/xmr-stak/build# export CFLAGS="-O2 -march=native -msse3 -fomit-frame-pointer -pipe"
root@mylocal:~/xmr-stak/build# export CHOST="x86_64-pc-linux-gnu"
root@mylocal:~/xmr-stak/build# export CXXFLAGS="${CFLAGS}"
root@mylocal:~/xmr-stak/build# export LDFLAGS="-Wl,-O1"
root@mylocal:~/xmr-stak/build# cmake ../
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Set miner currency to 'monero' and 'aeon'
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found CUDA: /usr/local/cuda (found suitable version "9.1", minimum required is "7.5") 
-- Looking for CL_VERSION_2_0
-- Looking for CL_VERSION_2_0 - found
-- Found OpenCL: /usr/lib/x86_64-linux-gnu/libOpenCL.so (found version "2.0") 
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libssl.so;/usr/lib/x86_64-linux-gnu/libcrypto.so (found version "1.0.2g") 
-- Configuring done
-- Generating done
-- Build files have been written to: /root/xmr-stak/build
root@mylocal:~/xmr-stak/build# make -j 8
Scanning dependencies of target xmr-stak-c
[  2%] Building C object CMakeFiles/xmr-stak-c.dir/xmrstak/backend/cpu/crypto/c_jh.c.o
[  5%] Building C object CMakeFiles/xmr-stak-c.dir/xmrstak/backend/cpu/crypto/c_skein.c.o
[ 11%] Building C object CMakeFiles/xmr-stak-c.dir/xmrstak/backend/cpu/crypto/c_groestl.c.o
[ 11%] Building C object CMakeFiles/xmr-stak-c.dir/xmrstak/backend/cpu/crypto/c_keccak.c.o
[ 14%] Building C object CMakeFiles/xmr-stak-c.dir/xmrstak/backend/cpu/crypto/c_blake256.c.o
[ 17%] Linking C static library bin/libxmr-stak-c.a
[ 17%] Built target xmr-stak-c
Scanning dependencies of target xmr-stak-backend
[ 20%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/jconf.cpp.o
[ 26%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/backend/cpu/jconf.cpp.o
[ 26%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/version.cpp.o
[ 29%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/backend/backendConnector.cpp.o
[ 32%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/backend/cpu/crypto/cryptonight_common.cpp.o
[ 35%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/backend/cpu/hwlocMemory.cpp.o
[ 38%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/backend/cpu/minethd.cpp.o
[ 41%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/backend/globalStates.cpp.o
[ 44%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/http/webdesign.cpp.o
[ 47%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/http/httpd.cpp.o
[ 50%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/misc/executor.cpp.o
[ 52%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/misc/console.cpp.o
[ 55%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/misc/telemetry.cpp.o
[ 58%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/misc/utility.cpp.o
[ 61%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/net/socket.cpp.o
[ 64%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/net/jpsock.cpp.o
[ 67%] Linking CXX static library bin/libxmr-stak-backend.a
[ 67%] Built target xmr-stak-backend
[ 70%] Building NVCC (Device) object CMakeFiles/xmrstak_cuda_backend.dir/xmrstak/backend/nvidia/nvcc_code/xmrstak_cuda_backend_generated_cuda_extra.cu.o
Scanning dependencies of target xmrstak_opencl_backend
Scanning dependencies of target xmr-stak
[ 73%] Building NVCC (Device) object CMakeFiles/xmrstak_cuda_backend.dir/xmrstak/backend/nvidia/nvcc_code/xmrstak_cuda_backend_generated_cuda_core.cu.o
[ 76%] Building CXX object CMakeFiles/xmr-stak.dir/xmrstak/cli/cli-miner.cpp.o
[ 79%] Building CXX object CMakeFiles/xmrstak_opencl_backend.dir/xmrstak/backend/amd/amd_gpu/gpu.cpp.o
[ 82%] Building CXX object CMakeFiles/xmrstak_opencl_backend.dir/xmrstak/backend/amd/minethd.cpp.o
[ 85%] Building CXX object CMakeFiles/xmrstak_opencl_backend.dir/xmrstak/backend/amd/jconf.cpp.o
[ 88%] Linking CXX executable bin/xmr-stak
[ 88%] Built target xmr-stak
[ 91%] Linking CXX shared library bin/libxmrstak_opencl_backend.so
[ 91%] Built target xmrstak_opencl_backend
Scanning dependencies of target xmrstak_cuda_backend
[ 94%] Building CXX object CMakeFiles/xmrstak_cuda_backend.dir/xmrstak/backend/nvidia/minethd.cpp.o
[ 97%] Building CXX object CMakeFiles/xmrstak_cuda_backend.dir/xmrstak/backend/nvidia/jconf.cpp.o
[100%] Linking CXX shared library bin/libxmrstak_cuda_backend.so
[100%] Built target xmrstak_cuda_backend
Please enter:
- Currency: 'monero' or 'aeon'
monero
- Pool address: e.g. pool.usxmrpool.com:3333
11.22.33.44:7777
- Username (wallet address or pool login):
etn111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
- Password (mostly empty or x):
mining@example.com
- Does this pool port support TLS/SSL? Use no if unknown. (y/N)
n
- Do you want to use nicehash on this pool? (y/n)
n
- Do you want to use multiple pools? (y/n)
n
Configuration stored in file 'config.txt'
-------------------------------------------------------------------
xmr-stak 2.2.0 2ae7260

Brought to you by fireice_uk and psychocrypt under GPLv3.
Based on CPU mining code by wolf9466 (heavily optimized by fireice_uk).
Based on NVIDIA mining code by KlausT and psychocrypt.
Based on OpenCL mining code by wolf9466.

Configurable dev donation level is set to 2.0%

You can use following keys to display reports:
'h' - hashrate
'r' - results
'c' - connection
-------------------------------------------------------------------
[2018-02-15 02:46:09] : Start mining: MONERO
[2018-02-15 02:46:11] : NVIDIA: GPU configuration stored in file 'nvidia.txt'
[2018-02-15 02:46:11] : Starting NVIDIA GPU thread 0, no affinity.
[2018-02-15 02:46:11] : WARNING: No AMD OpenCL platform found. Possible driver issues or wrong vendor driver.
[2018-02-15 02:46:11] : WARNING: backend AMD disabled.
[2018-02-15 02:46:11] : CPU configuration stored in file 'cpu.txt'
[2018-02-15 02:46:11] : Starting 2x thread, affinity: 0.
[2018-02-15 02:46:11] : hwloc: memory pinned
[2018-02-15 02:46:11] : Starting 2x thread, affinity: 1.
[2018-02-15 02:46:11] : hwloc: memory pinned
[2018-02-15 02:46:11] : Starting 2x thread, affinity: 2.
[2018-02-15 02:46:11] : hwloc: memory pinned
[2018-02-15 02:46:11] : Starting 2x thread, affinity: 3.
[2018-02-15 02:46:11] : hwloc: memory pinned
[2018-02-15 02:46:11] : Starting 2x thread, affinity: 4.
[2018-02-15 02:46:11] : hwloc: memory pinned
[2018-02-15 02:46:11] : Starting 2x thread, affinity: 5.
[2018-02-15 02:46:11] : hwloc: memory pinned
[2018-02-15 02:46:11] : Starting 2x thread, affinity: 6.
[2018-02-15 02:46:11] : hwloc: memory pinned
[2018-02-15 02:46:11] : Starting 1x thread, affinity: 7.
[2018-02-15 02:46:11] : hwloc: memory pinned
[2018-02-15 02:46:11] : Starting 1x thread, affinity: 8.
[2018-02-15 02:46:11] : hwloc: memory pinned
[2018-02-15 02:46:11] : Starting 1x thread, affinity: 9.
[2018-02-15 02:46:11] : hwloc: memory pinned
[2018-02-15 02:46:11] : Starting 1x thread, affinity: 10.
[2018-02-15 02:46:11] : hwloc: memory pinned
[2018-02-15 02:46:11] : Starting 1x thread, affinity: 11.
[2018-02-15 02:46:11] : hwloc: memory pinned
[2018-02-15 02:46:11] : Starting 1x thread, affinity: 12.
[2018-02-15 02:46:11] : hwloc: memory pinned
[2018-02-15 02:46:11] : Starting 1x thread, affinity: 13.
[2018-02-15 02:46:11] : hwloc: memory pinned
[2018-02-15 02:46:11] : Starting 1x thread, affinity: 14.
[2018-02-15 02:46:11] : hwloc: memory pinned
[2018-02-15 02:46:11] : Starting 1x thread, affinity: 15.
[2018-02-15 02:46:11] : hwloc: memory pinned
[2018-02-15 02:46:11] : Fast-connecting to 62.210.251.154:7777 pool ...
[2018-02-15 02:46:11] : Pool 62.210.251.154:7777 connected. Logging in...
[2018-02-15 02:46:12] : Difficulty changed. Now: 100001.
[2018-02-15 02:46:12] : Pool logged in.
[2018-02-15 02:46:20] : Difficulty changed. Now: 100001.
[2018-02-15 02:46:20] : New block detected.
[2018-02-15 02:51:31] : Difficulty changed. Now: 40577.
[2018-02-15 02:51:31] : New block detected.
HASHRATE REPORT - CPU
| ID |    10s |    60s |    15m | ID |    10s |    60s |    15m |
|  0 |   21.1 |   21.1 |   (na) |  1 |   22.4 |   22.3 |   (na) |
|  2 |   21.9 |   21.9 |   (na) |  3 |   21.5 |   21.4 |   (na) |
|  4 |   21.6 |   21.6 |   (na) |  5 |   21.7 |   21.7 |   (na) |
|  6 |   21.7 |   21.7 |   (na) |  7 |   16.4 |   16.4 |   (na) |
|  8 |   14.0 |   14.0 |   (na) |  9 |   14.2 |   14.2 |   (na) |
| 10 |   14.6 |   14.6 |   (na) | 11 |   13.6 |   13.6 |   (na) |
| 12 |   14.8 |   14.8 |   (na) | 13 |   15.4 |   15.5 |   (na) |
| 14 |   14.4 |   14.4 |   (na) | 15 |   14.6 |   14.6 |   (na) |
-----------------------------------------------------
HASHRATE REPORT - NVIDIA
| ID |    10s |    60s |    15m |
|  0 |  416.3 |  414.2 |   (na) |
---------------------------
Totals:    700.1  698.0   (na) H/s
Highest:   700.8 H/s
RESULT REPORT
Difficulty       : 40577
Good results     : 5 / 5 (100.0 %)
Avg result time  : 66.6 sec
Pool-side hashes : 200606

Top 10 best results found:
|  0 |           115275 |  1 |            99924 |
|  2 |            86169 |  3 |            51356 |
|  4 |            38776 |  5 |                0 |
|  6 |                0 |  7 |                0 |
|  8 |                0 |  9 |                0 |

Error details:
Yay! No errors.

3. Extra section – noting the benchmark.

This installation is done in amazon EC2 g3.4xlarge instance type, which has 1 GPU with 8 GiB RAM (2048 parallel processing cores), the processor is 16vcpu of Intel Xeon E5-2686 v4 (Broadwell) processors running at 2.7 GHz, Main Memory 122 GiB. You can see the virtual server is using “NVIDIA Corporation GM204GL [Tesla M60] (rev a1)”. So the benchmark of the virutal server is total of 700.6 hashes per second of CryptoNight with highest value of 1119.1 hashes per second.
Here is the output of the lspci:

lspci
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II]
00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 01)
00:02.0 VGA compatible controller: Cirrus Logic GD 5446
00:03.0 Ethernet controller: Device 1d0f:ec20
00:1e.0 VGA compatible controller: NVIDIA Corporation GM204GL [Tesla M60] (rev a1)
00:1f.0 Unassigned class [ff80]: XenSource, Inc. Xen Platform Device (rev 01)

And the output of the nvidia-smi:

root@mylocal:~# nvidia-smi 
Thu Feb 15 03:02:33 2018       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.30                 Driver Version: 390.30                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Tesla M60           Off  | 00000000:00:1E.0 Off |                    0 |
| N/A   47C    P0    75W / 150W |   2017MiB /  7618MiB |    100%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      2507      C   ./xmr-stak                                  1997MiB |
+-----------------------------------------------------------------------------+

Install xmr-stak 2.2 in a machine with NVIDIA video card under Ubuntu 16.04 LTS

This is simple “how to” to get started mining crypto currency with explanations using cryptonight algorithm like monero, electroneum, intensecoin and more. Just follow the simple steps and you’ll have an optimized GPU and CPU miner for cryptonight crypto currencies:

STEP 1) Download latest CUDA from NVDIA site.

Open your favorite browser and go to

http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/

and search for copy the link

cuda-repo-ubuntu1604-

in our case the latest version of CUDA 9.1.85 is

http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_9.1.85-1_amd64.deb

There is also

cuda-repo-ubuntu1604_8.0.44-1_amd64.deb 4.0KB 2017-09-22 22:08
cuda-repo-ubuntu1604_8.0.61-1_amd64.deb 4.0KB 2017-09-22 22:08
cuda-repo-ubuntu1604_9.0.176-1_amd64.deb 4.0KB 2017-09-22 22:09
cuda-repo-ubuntu1604_9.1.85-1_amd64.deb 4.0KB 2017-12-02 01:29

you could try them to see if you have a better performance for your video card with some of the older CUDA platform.
So now we download the file with wget just execute

cd ~
wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_9.1.85-1_amd64.deb

STEP 2) Install the NVIDIA CUDA repository in you UBUNTU with

sudo dpkg -i /root/cuda-repo-ubuntu1604_9.1.85-1_amd64.deb
* If you encounter error

The public CUDA GPG key does not appear to be installed.
To install the key, run this command:
sudo apt-key adv –fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub

Just execute the command it says and then again, so in our case:

sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
dpkg -i /root/cuda-repo-ubuntu1604_8.0.61-1_amd64.deb

STEP 3) Install repository for your proprietary drivers of NVIDIA video cards

sudo add-apt-repository -y ppa:graphics-drivers/ppa

STEP 4) Update all repositories to download the latest package lists

sudo apt-get update -y

STEP 5) Install the dependencies for the xmr-stak, NVIDIA video driver and NVIDIA CUDA platform5).

Install the dependencies for the xmr-stak, NVIDIA video driver and NVIDIA CUDA platform

sudo apt-get -y install libboost-all-dev libleveldb-dev libcurl4-openssl-dev libmicrohttpd-dev libminiupnpc-dev libgmp-dev  cuda nvidia-opencl-dev libmicrohttpd-dev libssl-dev cmake build-essential

You probably will see how you packet manager downloads around 851 packets and installs them all, at last you must see no errors and probably there will be double “done”

done.
done.

STEP 6) now reboot the machine to load the NVIDIA proprietary driver.

At the time of this howto we the NVIDIA driver is 390.30 (nvidia-390 (390.30-0ubuntu1)), but you can list older ones and install them to see if they are better than the last. It happens frequently an older driver (but not much old) to be slightly better in performance than the latest driver, so you can experiment with other older drivers if you like.

sudo reboot

STEP 7) Check to see if your driver is loaded properly

Execute command

dmesg|grep nvidia

Here is example output

[   14.300894] nvidia: module license 'NVIDIA' taints kernel.
[   14.310623] nvidia: module verification failed: signature and/or required key missing - tainting kernel
[   14.324753] nvidia-nvlink: Nvlink Core is being initialized, major device number 248
[   14.472502] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  390.30  Wed Jan 31 21:32:48 PST 2018
[   14.478643] [drm] [nvidia-drm] [GPU ID 0x0000001e] Loading driver
[   19.717917] nvidia-uvm: Loaded the UVM driver in 8 mode, major device number 247

So we finished the first stage, the preparation of your machine to install the xmr-stak. Now we move to the actual installation of the gpu mining software (and cpu mining, of course):

STEP 8)* Tune screen for better support of your scrolling history, because usually you execute the xmr-stak in screen (this step is not required for proper working of xmr-stak)

echo "termcapinfo xterm* ti@:te@" > /root/.screenrc

STEP 9) Start screen and clone the xmr-stak repository

git clone https://github.com/fireice-uk/xmr-stak

STEP 10) Compile xmr-stak with “native” optimizations for the compiler gnu gcc.

Using the -march=native ensures you have the best optimization options for processor, because the gnu gcc will autodetect all options sutable for your processor. Now there is one trick if you do not know your CUDA_ARCH, which is supported by your Nvidia video card you could skip “-DCUDA_ARCH=37” in the cmake line and to execute only “cmake ../” (most of the time this works, autodetect, but you can experiment) and after successful compiltion and execute the xmr-stak and if you get error with mismatch gencodes saying this compilation is for other sm architure, the error will output the right architecture for you, then you can recompile and rerun with “cmake -DCUDA_ARCH=../”

mkdir -p ./xmr-stak/build
cd ./xmr-stak/build
export CFLAGS="-O2 -march=native -msse3 -fomit-frame-pointer -pipe"
export CHOST="x86_64-pc-linux-gnu"
export CXXFLAGS="${CFLAGS}"
export LDFLAGS="-Wl,-O1"
#cmake -DCUDA_ARCH=37 ../
cmake ../
make -j 4

STEP 11) Execute xmr-stack, but before you must execute some tuning exports for the GPU and the linux kernel

sysctl -w vm.nr_hugepages=128
export GPU_FORCE_64BIT_PTR=0
export GPU_MAX_HEAP_SIZE=100
export GPU_USE_SYNC_OBJECTS=1
export GPU_MAX_ALLOC_PERCENT=100
export GPU_SINGLE_ALLOC_PERCENT=100
cd ./xmr-stak/build/bin
./xmr-stak 

STEP 12) When executing xmr-stak for the first time and you’ll be asked couple of questions (only the first run).

Just enter your monero (or other cryptocurrency using cryptonight algorithm like Electoneum, Intensecoin and so on), follow the questions and in our case are shown below, the question start with “-” line and my answers are the next lines, yours will be different, especially in the part of the “Pool address”, which is the address of the pool you use, the username, which is the crypto currency public address you have (now, there is a fake address, DO NOT USE IT, you’ll mine and use your resources for nothing!!! Check your public address and put it there!), the Password, which is blank or your email (some pools’ software shows better statistics with your email, not required in most cases)

Please enter:
- Currency: 'monero' or 'aeon'
monero
- Pool address: e.g. pool.usxmrpool.com:3333
11.22.33.44:7777
- Username (wallet address or pool login):
etn111111111111111111111111111111111111111111111111111111111111111111111
- Password (mostly empty or x):
mining@example.com
- Does this pool port support TLS/SSL? Use no if unknown. (y/N)
N
- Do you want to use nicehash on this pool? (y/n)
n
- Do you want to use multiple pools? (y/n)
n
Configuration stored in file 'config.txt'
-------------------------------------------------------------------
xmr-stak 2.2.0 2ae7260

Brought to you by fireice_uk and psychocrypt under GPLv3.
Based on CPU mining code by wolf9466 (heavily optimized by fireice_uk).
Based on NVIDIA mining code by KlausT and psychocrypt.
Based on OpenCL mining code by wolf9466.

Configurable dev donation level is set to 2.0%

You can use following keys to display reports:
'h' - hashrate
'r' - results
'c' - connection
-------------------------------------------------------------------
[2018-02-14 02:19:20] : Start mining: MONERO
[2018-02-14 02:19:22] : Starting NVIDIA GPU thread 0, no affinity.
[2018-02-14 02:19:22] : WARNING: No AMD OpenCL platform found. Possible driver issues or wrong vendor driver.
[2018-02-14 02:19:22] : WARNING: backend AMD disabled.
[2018-02-14 02:19:22] : Starting 2x thread, affinity: 0.
[2018-02-14 02:19:22] : hwloc: memory pinned
[2018-02-14 02:19:22] : Starting 2x thread, affinity: 1.
[2018-02-14 02:19:22] : hwloc: memory pinned
[2018-02-14 02:19:22] : Starting 2x thread, affinity: 2.
[2018-02-14 02:19:22] : hwloc: memory pinned
[2018-02-14 02:19:22] : Starting 2x thread, affinity: 3.
[2018-02-14 02:19:22] : hwloc: memory pinned
[2018-02-14 02:19:22] : Starting 2x thread, affinity: 4.
[2018-02-14 02:19:22] : hwloc: memory pinned
[2018-02-14 02:19:22] : Starting 2x thread, affinity: 5.
[2018-02-14 02:19:22] : hwloc: memory pinned
[2018-02-14 02:19:22] : Starting 2x thread, affinity: 6.
[2018-02-14 02:19:22] : hwloc: memory pinned
[2018-02-14 02:19:22] : Starting 1x thread, affinity: 7.
[2018-02-14 02:19:22] : hwloc: memory pinned
[2018-02-14 02:19:22] : Starting 1x thread, affinity: 8.
[2018-02-14 02:19:22] : hwloc: memory pinned
[2018-02-14 02:19:22] : Starting 1x thread, affinity: 9.
[2018-02-14 02:19:22] : hwloc: memory pinned
[2018-02-14 02:19:22] : Starting 1x thread, affinity: 10.
[2018-02-14 02:19:22] : hwloc: memory pinned
[2018-02-14 02:19:22] : Starting 1x thread, affinity: 11.
[2018-02-14 02:19:22] : hwloc: memory pinned
[2018-02-14 02:19:22] : Starting 1x thread, affinity: 12.
[2018-02-14 02:19:22] : hwloc: memory pinned
[2018-02-14 02:19:22] : Starting 1x thread, affinity: 13.
[2018-02-14 02:19:22] : hwloc: memory pinned
[2018-02-14 02:19:22] : Starting 1x thread, affinity: 14.
[2018-02-14 02:19:22] : hwloc: memory pinned
[2018-02-14 02:19:22] : Starting 1x thread, affinity: 15.
[2018-02-14 02:19:22] : hwloc: memory pinned
[2018-02-14 02:19:22] : Fast-connecting to 11.22.33.44:7777 pool ...
[2018-02-14 02:19:22] : Pool 11.22.33.44:7777 connected. Logging in...
[2018-02-14 02:19:23] : Difficulty changed. Now: 100001.
[2018-02-14 02:19:23] : Pool logged in.
[2018-02-14 02:19:29] : Difficulty changed. Now: 100001.
[2018-02-14 02:19:29] : New block detected.
[2018-02-14 02:19:55] : New block detected.
[2018-02-14 02:20:01] : Result accepted by the pool.

su to user with no shell

Most users in our linux/unix system have no ability to login, because the shell is /sbin/nologin (or even /bin/false). But sometimes we need to execute a command or to get in the shell under those users and when we try to switch the user to let’s sat nginx or apache or nagios we get an error:

[root@srv ~]# su nginx
This account is currently not available.
[root@srv ~]# su apache
This account is currently not available.
[root@srv ~]# su nagios
This account is currently not available.
[root@srv ~]# su nrpe
This account is currently not available.

But still we need to run a command or commands from that user! So we can do it with instructing the su command which shell to execute for us not taking into account the one in /etc/passwd:

su nagios -s /bin/bash

And now we are user “nagios”:

[root@srv ~]# su nagios -s /bin/bash
bash-4.2$ whoami
nagios

Go and execute commands to see why something is not working under you nagios user…

Rename gnu screen session name

Ever wonder how you can rename your screen session name? You are in a hurry make a screen session execute some program and then you decide you want to leave the program executing there, but you named the session something not so informative like nothing (and get the default session name like “5026.pts-5.ubuntu” or similar…) or “test”. So there is an easy way of renaming the screen session name with a simple command of

screen -S <old_session_fullname> -X sessionname <new_session_name>

Here is the example for better clarity! Let’s say we have:

[root@srv ~]# screen -ls
There is a screen on:
        24624.test      (Detached)
1 Socket in /var/run/screen/S-root.

And here is the right renaming command. We want to rename the current gnu screen to “loganalyzing”:

screen -S 24624.test -X sessionname loganalyzing

As you can see you should use the fullname taken from the “screen -ls” command, in newer version you can use only the name like:

screen -S test -X sessionname loganalyzing

And here is the result:

[root@srv ~]# screen -ls
There is a screen on:
        24624.loganalyzing      (Detached)
1 Socket in /var/run/screen/S-root.

GNU Screen with scrolling history under X window system

Screen program is really a good piece of software for every one in the console. We use it every day to execute programs in the “background” or if we want to end our ssh session to the server without stopping our executed program. We need a tiny configuration to use our favorite scrolling of the console program under the X windowing systems!

So if you are under let’s say KDE or Gnome (especially Ubuntu and CentOS) and use konsole or xterm and you want to be able to scroll the history of your ssh sessions, when you start something under gnu screen you must set the following file at your home directory

/home/<your_user>/.screenrc

with this configuration:

termcapinfo xterm* ti@:te@

xmr-stak starts with MEMORY ALLOC FAILED

Let’s start to mine some worthy coins, we load our xmr-stak and get the error of memory allocation field:

root@ubuntu-System-Product-Name:~/xmr-stak/build/bin# ./xmr-stak 
[2018-01-26 16:41:02] : MEMORY ALLOC FAILED: mmap failed
[2018-01-26 16:41:02] : MEMORY ALLOC FAILED: mmap failed
[2018-01-26 16:41:02] : MEMORY ALLOC FAILED: mmap failed
[2018-01-26 16:41:02] : MEMORY ALLOC FAILED: mmap failed
[2018-01-26 16:41:02] : MEMORY ALLOC FAILED: mmap failed
-------------------------------------------------------------------
xmr-stak 2.2.0 2ae7260

[2018-01-26 16:41:02] : Start mining: MONERO
[2018-01-26 16:41:02] : Starting NVIDIA GPU thread 0, no affinity.
[2018-01-26 16:41:02] : MEMORY ALLOC FAILED: mmap failed
[2018-01-26 16:41:02] : WARNING: No AMD OpenCL platform found. Possible driver issues or wrong vendor driver.
[2018-01-26 16:41:02] : WARNING: backend AMD disabled.
[2018-01-26 16:41:02] : Starting 1x thread, affinity: 0.
[2018-01-26 16:41:02] : hwloc: memory pinned
[2018-01-26 16:41:02] : Starting 1x thread, affinity: 1.
[2018-01-26 16:41:02] : MEMORY ALLOC FAILED: mmap failed
[2018-01-26 16:41:02] : hwloc: memory pinned
[2018-01-26 16:41:02] : Starting 1x thread, affinity: 2.
[2018-01-26 16:41:02] : MEMORY ALLOC FAILED: mmap failed
[2018-01-26 16:41:03] : hwloc: memory pinned

Ok, no problem, just increase the number of the huge pages available to the system with:

sysctl -w vm.nr_hugepages=128

And now you can start xmr-stak without errors of this kind!