Sunday, July 09, 2017

Install Ubuntu 17.04 Linux

Download Ubuntu desktop version 17.04. Burn the .iso file to a DVD. Boot the DVD and install Ubuntu. Click YES to install updates during the installation. Remove the DVD and restart the machine to finish the installation process.

After the machine has restarted, log in as the installation user.

In the upper-left of the screen, press the "Dash" button and type "terminal". Click on the terminal icon to start a terminal window.


Show information about the operating system:
$ uname -a
Linux TC605 4.10.0-26-generic #30-Ubuntu SMP Tue Jun 27 09:30:12 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux




List the PCI devices:
$ lspci
00:00.0 Host bridge: Intel Corporation 4th Gen Core Processor DRAM Controller (rev 06)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)
00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05)
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)
00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d5)
00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d5)
00:1c.3 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 (rev d5)
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05)
00:1f.0 ISA bridge: Intel Corporation C220 Series Chipset Family H81 Express LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05)
00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05)
00:1f.6 Signal processing controller: Intel Corporation 8 Series Chipset Family Thermal Management Controller (rev 05)
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tobago PRO [Radeon R7 360 / R9 360 OEM] (rev 81)
01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Tobago HDMI Audio [Radeon R7 360 / R9 360 OEM]
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 11)
04:00.0 Network controller: Qualcomm Atheros AR9462 Wireless Network Adapter (rev 01)




Install updates:
$ sudo apt-get -y update
$ sudo apt-get -y upgrade -f




If the machine has a hard-wired Ethernet connection, optionally permanently disable wifi:
$ nmcli
enp3s0: connected to Wired connection 1
    "Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller"
    ethernet (r8169), 44:8A:5B:8D:64:7B, hw, mtu 1500
    ip4 default
    inet4 192.168.1.114/24
    route4 169.254.0.0/16
    inet6 fe80::ef1d:8dc6:a887:bf4a/64

wlp4s0: disconnected
    "Qualcomm Atheros AR9462 Wireless Network Adapter"
    wifi (ath9k), D2:82:2A:A3:D0:FD, hw

lo: unmanaged
    loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536

Use "nmcli device show" to get complete information about known devices and
"nmcli connection show" to get an overview on active connection profiles.

Consult nmcli(1) and nmcli-examples(5) manual pages for complete usage details.

$ nmcli radio wifi off

$ nmcli
enp3s0: connected to Wired connection 1
    "Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller"
    ethernet (r8169), 44:8A:5B:8D:64:7B, hw, mtu 1500
    ip4 default
    inet4 192.168.1.114/24
    route4 169.254.0.0/16
    inet6 fe80::ef1d:8dc6:a887:bf4a/64

wlp4s0: unavailable
    "Qualcomm Atheros AR9462 Wireless Network Adapter"
    wifi (ath9k), 66:BA:1D:E2:60:B2, hw, mtu 1500

lo: unmanaged
    loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536

Use "nmcli device show" to get complete information about known devices and
"nmcli connection show" to get an overview on active connection profiles.

Consult nmcli(1) and nmcli-examples(5) manual pages for complete usage details.


Optionally, permanently disable Bluetooth. Check the status, stop, disable, and check status:
$ sudo systemctl status bluetooth.service
● bluetooth.service - Bluetooth service
   Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2017-07-09 13:46:54 MDT; 29min ago
     Docs: man:bluetoothd(8)
 Main PID: 813 (bluetoothd)
   Status: "Running"
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/bluetooth.service
           └─813 /usr/lib/bluetooth/bluetoothd

Jul 09 13:46:54 TC605 bluetoothd[813]: Bluetooth management interface 1.14 initialized
Jul 09 13:46:54 TC605 bluetoothd[813]: Failed to obtain handles for "Service Changed" characteristic
Jul 09 13:46:54 TC605 bluetoothd[813]: Sap driver initialization failed.
Jul 09 13:46:54 TC605 bluetoothd[813]: sap-server: Operation not permitted (1)
Jul 09 13:47:05 TC605 bluetoothd[813]: Endpoint registered: sender=:1.87 path=/MediaEndpoint/A2DPSource
Jul 09 13:47:05 TC605 bluetoothd[813]: Endpoint registered: sender=:1.87 path=/MediaEndpoint/A2DPSink
Jul 09 14:08:58 TC605 bluetoothd[813]: Endpoint unregistered: sender=:1.87 path=/MediaEndpoint/A2DPSource
Jul 09 14:08:58 TC605 bluetoothd[813]: Endpoint unregistered: sender=:1.87 path=/MediaEndpoint/A2DPSink
Jul 09 14:09:03 TC605 bluetoothd[813]: Endpoint registered: sender=:1.125 path=/MediaEndpoint/A2DPSource
Jul 09 14:09:03 TC605 bluetoothd[813]: Endpoint registered: sender=:1.125 path=/MediaEndpoint/A2DPSink
 

$ sudo systemctl stop bluetooth.service
 

$ sudo systemctl disable bluetooth.service
Synchronizing state of bluetooth.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install disable bluetooth
Removed /etc/systemd/system/dbus-org.bluez.service.
 

$ sudo systemctl status bluetooth.service
● bluetooth.service - Bluetooth service
   Loaded: loaded (/lib/systemd/system/bluetooth.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:bluetoothd(8)

Jul 09 13:47:05 TC605 bluetoothd[813]: Endpoint registered: sender=:1.87 path=/MediaEndpoint/A2DPSink
Jul 09 14:08:58 TC605 bluetoothd[813]: Endpoint unregistered: sender=:1.87 path=/MediaEndpoint/A2DPSource
Jul 09 14:08:58 TC605 bluetoothd[813]: Endpoint unregistered: sender=:1.87 path=/MediaEndpoint/A2DPSink
Jul 09 14:09:03 TC605 bluetoothd[813]: Endpoint registered: sender=:1.125 path=/MediaEndpoint/A2DPSource
Jul 09 14:09:03 TC605 bluetoothd[813]: Endpoint registered: sender=:1.125 path=/MediaEndpoint/A2DPSink
Jul 09 14:17:11 TC605 systemd[1]: Stopping Bluetooth service...
Jul 09 14:17:11 TC605 bluetoothd[813]: Terminating
Jul 09 14:17:11 TC605 bluetoothd[813]: Endpoint unregistered: sender=:1.125 path=/MediaEndpoint/A2DPSource
Jul 09 14:17:11 TC605 bluetoothd[813]: Endpoint unregistered: sender=:1.125 path=/MediaEndpoint/A2DPSink
Jul 09 14:17:11 TC605 systemd[1]: Stopped Bluetooth service.


Restart the machine to confirm Bluetooth and/or wifi does not start.



Install networking tools:
$ sudo apt install net-tools


Show the network interfaces:

$ ifconfig
enp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.114  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::7974:b964:efcc:600b  prefixlen 64  scopeid 0x20<link>
        ether 44:8a:5b:8d:64:7b  txqueuelen 1000  (Ethernet)
        RX packets 15862865  bytes 20511944183 (20.5 GB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8095668  bytes 1703946514 (1.7 GB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 664  bytes 68332 (68.3 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 664  bytes 68332 (68.3 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0



Install ssh to allow remote connections into this machine:
$ sudo apt-get install ssh
 
Test connecting to this machine:
$ ssh $LOGNAME@localhost


By default, the firewall is off:

$ sudo ufw status
Status: inactive

Turn on the firewall, and rate-limit incoming ssh connections:
$ sudo ufw enable
Firewall is active and enabled on system startup
$ sudo ufw status
Status: active
$ sudo ufw limit ssh
Rule added
Rule added (v6)
$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     LIMIT       Anywhere                
22/tcp (v6)                LIMIT       Anywhere (v6)



Check which drivers have been installed:
$ ubuntu-drivers devices
== cpu-microcode.py ==
driver   : intel-microcode - distro non-free



Optionally use the built-in test application to test the Ubuntu Linux installation:
Press the upper-left "Dash" icon and type "system testing". Click on the "Checkbox" application, which will start the "System Testing" program. Start the testing for the graphics device (and test other areas of the installation, if you would like).

Optionally benchmark the graphics GPU:
$ sudo apt-get install glmark2
$ glmark2

=======================================================
    glmark2 2014.03+git20150611.fa71af2d
=======================================================
    OpenGL Information
    GL_VENDOR:     X.Org
    GL_RENDERER:   Gallium 0.4 on AMD BONAIRE (DRM 2.49.0 / 4.10.0-26-generic, LLVM 4.0.0)
    GL_VERSION:    3.0 Mesa 17.0.3
=======================================================
[build] use-vbo=false: FPS: 4949 FrameTime: 0.202 ms
[build] use-vbo=true: FPS: 8144 FrameTime: 0.123 ms
[texture] texture-filter=nearest: FPS: 7018 FrameTime: 0.142 ms
[texture] texture-filter=linear: FPS: 7143 FrameTime: 0.140 ms
[texture] texture-filter=mipmap: FPS: 7413 FrameTime: 0.135 ms
[shading] shading=gouraud: FPS: 7253 FrameTime: 0.138 ms
[shading] shading=blinn-phong-inf: FPS: 7127 FrameTime: 0.140 ms
[shading] shading=phong: FPS: 7068 FrameTime: 0.141 ms
[shading] shading=cel: FPS: 7036 FrameTime: 0.142 ms
[bump] bump-render=high-poly: FPS: 5507 FrameTime: 0.182 ms
[bump] bump-render=normals: FPS: 7736 FrameTime: 0.129 ms
[bump] bump-render=height: FPS: 7480 FrameTime: 0.134 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 6653 FrameTime: 0.150 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 4252 FrameTime: 0.235 ms
[pulsar] light=false:quads=5:texture=false: FPS: 7263 FrameTime: 0.138 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 2895 FrameTime: 0.345 ms
[desktop] effect=shadow:windows=4: FPS: 4709 FrameTime: 0.212 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 958 FrameTime: 1.044 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 702 FrameTime: 1.425 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 1021 FrameTime: 0.979 ms
[ideas] speed=duration: FPS: 4194 FrameTime: 0.238 ms
[jellyfish] <default>: FPS: 5232 FrameTime: 0.191 ms
[terrain] <default>: FPS: 687 FrameTime: 1.456 ms
[shadow] <default>: FPS: 4451 FrameTime: 0.225 ms
[refract] <default>: FPS: 931 FrameTime: 1.074 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 8083 FrameTime: 0.124 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 7976 FrameTime: 0.125 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 8070 FrameTime: 0.124 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 8065 FrameTime: 0.124 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 8030 FrameTime: 0.125 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 8059 FrameTime: 0.124 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 7852 FrameTime: 0.127 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 7934 FrameTime: 0.126 ms
=======================================================
                                  glmark2 Score: 5814
=======================================================

Saturday, July 08, 2017

Bitcoin Reading List, Part 2

This previous post contained Bitcoin reading material.

The book Bitcoin and Cryptocurrency Technologies: A Comprehensive Introduction covers additional material than what is available in the other reading list. This book covered several additional interesting topics such as coin mixing, ethereum, zerocash, and cross-chain coin swaps.

The book is available on Amazon at:
 

Permanently Disable Bluetooth Service On Ubuntu

How to permanently disable Bluetooth on Ubuntu 17.04 Linux.


In the upper-left-hand corner of the screen, click the "Dash" icon and type "terminal". Click on the terminal icon.

Show the current version of Linux:
$ uname -a
Linux TC605 4.10.0-26-generic #30-Ubuntu SMP Tue Jun 27 09:30:12 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux


In the terminal window, run the systemctl command. Note the Bluetooth service is enabled:
$ systemctl status bluetooth
● bluetooth.service - Bluetooth service
   Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset
   Active: active (running) since Sat 2017-07-08 18:34:29 MDT; 35min ago
     Docs: man:bluetoothd(8)
 Main PID: 872 (bluetoothd)
   Status: "Running"
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/bluetooth.service
           └─872 /usr/lib/bluetooth/bluetoothd

Jul 08 18:34:29 TC605 bluetoothd[872]: Failed to obtain handles for "Service Cha
Jul 08 18:34:29 TC605 bluetoothd[872]: Sap driver initialization failed.
Jul 08 18:34:29 TC605 bluetoothd[872]: sap-server: Operation not permitted (1)
Jul 08 18:34:29 TC605 bluetoothd[872]: Failed to set mode: Blocked through rfkil
Jul 08 18:34:40 TC605 bluetoothd[872]: Endpoint registered: sender=:1.89 path=/M
Jul 08 18:34:40 TC605 bluetoothd[872]: Endpoint registered: sender=:1.89 path=/M
Jul 08 18:35:37 TC605 bluetoothd[872]: Endpoint unregistered: sender=:1.89 path=
Jul 08 18:35:37 TC605 bluetoothd[872]: Endpoint unregistered: sender=:1.89 path=
Jul 08 18:35:40 TC605 bluetoothd[872]: Endpoint registered: sender=:1.124 path=/
Jul 08 18:35:40 TC605 bluetoothd[872]: Endpoint registered: sender=:1.124 path=/


Stop the Bluetooth service:
$ sudo systemctl stop bluetooth.service


Permanently disable the Bluetooth service:
$ sudo systemctl disable bluetooth.service
Synchronizing state of bluetooth.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install disable bluetooth
Removed /etc/systemd/system/dbus-org.bluez.service.


$ systemctl status bluetooth
● bluetooth.service - Bluetooth service
   Loaded: loaded (/lib/systemd/system/bluetooth.service; disabled; vendor prese
   Active: inactive (dead)
     Docs: man:bluetoothd(8)

Jul 08 19:27:53 TC605 bluetoothd[908]: Endpoint registered: sender=:1.85 path=/M
Jul 08 19:27:59 TC605 bluetoothd[908]: Endpoint unregistered: sender=:1.85 path=
Jul 08 19:27:59 TC605 bluetoothd[908]: Endpoint unregistered: sender=:1.85 path=
Jul 08 19:28:00 TC605 bluetoothd[908]: Endpoint registered: sender=:1.123 path=/
Jul 08 19:28:00 TC605 bluetoothd[908]: Endpoint registered: sender=:1.123 path=/
Jul 08 19:30:11 TC605 systemd[1]: Stopping Bluetooth service...
Jul 08 19:30:11 TC605 bluetoothd[908]: Terminating
Jul 08 19:30:11 TC605 bluetoothd[908]: Endpoint unregistered: sender=:1.123 path
Jul 08 19:30:11 TC605 bluetoothd[908]: Endpoint unregistered: sender=:1.123 path
Jul 08 19:30:11 TC605 systemd[1]: Stopped Bluetooth service.


Restart the machine to verify the Bluetooth service does not restart.


After the machine has been restarted, open a terminal window and check the Bluetooth service:
$ systemctl status bluetooth
● bluetooth.service - Bluetooth service
   Loaded: loaded (/lib/systemd/system/bluetooth.service; disabled; vendor prese
   Active: inactive (dead)
     Docs: man:bluetoothd(8)