Wednesday, April 6, 2016

Editing from the past

Greeting! if this was 2008 this workstations would be really kick ass!
But it is not 2008, or even 2010, maybe in 2012 it would "Just be enough" for some people, but this is how I will be doing the video edits from here out.

First the system stats:
It is a custom build system that back in the day it was nice.

  • Motherboard GA-EP35-DS3L (link)
  • Intel E8400 Core Duo (3GHz)
  • 6GB of Patriot RAM (2x2GB 2x1GB)
  • Toshiba 320GB 7200 HDD
  • Pioneer DVD-RW
  • Integrated RealTek ACL 888 Chipset
  • LEPA 500W PSU 
  • GeForce 9500 GT 1GB (here)
  • IOGear 4.0 USB Bluetooth (here)
  • Wireless: TP-Link USB Wireless 
  • Dell Keyboard (the generic one)
  • Logitech Laser Mouse 
  • Blue Ice Snowball (because BALLA!
  • Microsoft LifeCam Cinema (Old School, sucks actually) 
  • Monitors: 2x Apple Cinema Display 20" (1680x1050 each)
  • Monster Heat sink (NZXT no link) 
  • Various case fans 
  • Cheap case 



Why would I try this with such old hardware? I mean seriously, not even an SSD! It is simple, I had this hardware laying around and I spent $10 on this update. It was on the wifi adapter.
I know, even back in 2008 when the system was build the first time, the parts total was around $500.
In fact the only thing that are not from the original system is the hard drive, the monster heat sink, and the power supply. Time killed all the original ones.

Another reason to do it, because I can. It is an overly old system and it does show a few signs of wear and tear, but it should be a good start for some ghetto video editing and time wasting, youtube anyone?

So far the experience has been, it is slow. It crashes every once and a while, but it does work, and it does edit videos.


Did I mention that it is running El Capitan? Yes fellow readers, this is a hackintosh, in a pretty true sense of the word. There was some issues, the audio was a bit difficult to configure, but after that was done everything else "just worked"

The system spec for it is an Macmini 5,1 (2011 Mac Mini) and the audio problem was handled by using Clover bootloader, and forcing it to load the kext on boot.
Audio Issue:
  To solve the audio issue, I mounted the clover partition, then added the AppleHDA.kext directly to the EFI/CLOVER/kext/10.11 folder.
After that, everything worked.
For wi-fi I am using the TP-Link Wifi Adapter, it was cheap and it connects to the internet.

As an added bonus, it takes 5 minutes to render a 2 minute video. Overall though, I don't think it is a bad little system for general use.

Wednesday, March 9, 2016

Redux a Redux

Redux a Redux

Let's install docker, from the install script, again.


This install script was hidding on the docker site, only listed on the CentOS/Red Hat  install pages

Even though it works well on Debian and Ubuntu.
So to keep it simple, stupid we are just going to run this script.
This is a fine example of groups not talking to each other. So lets start it

Start by loging into your docker host. and the sudo to root, then run the command

curl -fsSL https://get.docker.com/ | sh


This will install everyhing. But we should review the switches for curl? Maybe.. why not

-f fail silently
-s silent
-S Show Error with -s only show errors when they occur
-L Follow redirects
So to review, fail silently, unless it shows errors, with silent output but be sure to follow the redirects

so the output from the script is here:


[[email protected] ~]# curl -fsSL https://get.docker.com/ | sh
+ sh -c 'sleep 3; yum -y -q install docker-engine'
warning: /var/cache/yum/x86_64/7/docker-main-repo/packages/docker-engine-selinux-1.10.2-1.el7.centos.noarch.rpm: Header V4 RSA/SHA512 Signature, key ID 2c52609d: NOKEY
Public key for docker-engine-selinux-1.10.2-1.el7.centos.noarch.rpm is not installed
Importing GPG key 0x2C52609D:
 Userid     : "Docker Release Tool (releasedocker) <[email protected]>"
 Fingerprint: 5811 8e89 f3a9 1289 7c07 0adb f762 2157 2c52 609d
 From       : https://yum.dockerproject.org/gpg

If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:

  sudo usermod -aG docker your-user

Remember that you will have to log out and back in for this to take effect!

[[email protected] ~]#


So we unbecome root at this point, and switch it to a standard user.
Why? Because of this bad security nightmare here:

sudo usermod -aG docker hifi

Once ytou do that command, you pretty much screw security out the window

Logout and log back in to refresh permissions

Then, start the docker service.


[[email protected] ~]$ sudo service docker start
Redirecting to /bin/systemctl start  docker.service

next if you want to test it run the hello-world


[[email protected] ~]$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world

03f4658f8b78: Pull complete
a3ed95caeb02: Pull complete
Digest: sha256:8be990ef2aeb16dbcb9271ddfe2610fa6658d13f6dfb8bc72074cc1ca36966a7
Status: Downloaded newer image for hello-world:latest

Hello from Docker.
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker Hub account:
 https://hub.docker.com

For more examples and ideas, visit:
 https://docs.docker.com/userguide/

[[email protected] ~]$


you can see it ran with docker ps -a

[[email protected] ~]$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
6e7fbc7e552f        hello-world         "/hello"            34 seconds ago      Exited (0) 34 seconds ago                       hopeful_leakey

Remember, to search the other installation methods when you want to install this open source software.

If you watch the video, i felt bad that it was too short, so i added some fluiff on the end.

Tuesday, February 16, 2016

REDUX!! Now asking for handouts

Docker Install - Because it changed that much from 1.9 to 1.10

Well let us get started on this roller coaster of a ride where programmers only think about themselves and screw their fanboys and haters in one shot.
There is not a simple install script you can curl to install docker any longer, someone though this booger needed to be picked.

So with this forking I am going to be doing the installation on Ubuntu, and screw all the other platforms.

First off, you are installing software, on a linux box, that can destroy the world. Make sure you have root access.

Step one, run apt-get update, to get the latest everything cached.


[email protected]:~$ sudo apt-get update 
Ign http://us.archive.ubuntu.com trusty InRelease
Hit http://security.ubuntu.com trusty-security InRelease
Hit http://us.archive.ubuntu.com trusty-updates InRelease
Hit http://security.ubuntu.com trusty-security/main Sources            
#---- SNIP ----# 
Ign http://us.archive.ubuntu.com trusty/restricted Translation-en_US           
Ign http://us.archive.ubuntu.com trusty/universe Translation-en_US             
Reading package lists... Done                                                  
[email protected]:~$ 

Once that is done, we need to make sure that our brand new install of ubuntu has the correct version of the CA Certificates along with the ability to allow apt sources to use https.

[email protected]:~$ sudo apt-get install apt-transport-https ca-certificates
Reading package lists... Done
Building dependency tree       
Reading state information... Done
ca-certificates is already the newest version.
The following packages will be upgraded:
  apt-transport-https
1 upgraded, 0 newly installed, 0 to remove and 113 not upgraded.
Need to get 25.0 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main apt-transport-https amd64 1.0.1ubuntu2.11 [25.0 kB]
Fetched 25.0 kB in 0s (93.4 kB/s)        
(Reading database ... 56619 files and directories currently installed.)
Preparing to unpack .../apt-transport-https_1.0.1ubuntu2.11_amd64.deb ...
Unpacking apt-transport-https (1.0.1ubuntu2.11) over (1.0.1ubuntu2.10) ...
Setting up apt-transport-https (1.0.1ubuntu2.11) ...

The third step on this immortal journey to install docker is to get the docker apt-key from their host, on port 80.


[email protected]:~$ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
sudo: unable to resolve host docker-xx
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.Z1iwzQ8sE8 --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
gpg: requesting key 2C52609D from hkp server p80.pool.sks-keyservers.net
gpg: key 2C52609D: public key "Docker Release Tool (releasedocker) <[email protected]>" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
[email protected]:~$ 

Next we want to add our special location, you know the place, yeah that is right.


[email protected]:~$ sudo touch /etc/apt/sources.list.d/docker.list 
[email protected]:~$ sudo vim /etc/apt/sources.list.d/docker.list 
deb https://apt.dockerproject.org/repo ubuntu-trusty main


The final step is to recommend that the apt-cache policy be set to always select the latest version of the docker-engine, so lets do that, just because we were told to. We also need to do an apt-get before we can set the cache policy


[email protected]:~$ sudo apt-get update # let this run!!
[email protected]:~$ sudo apt-cache policy docker-engine
docker-engine:
  Installed: (none)
  Candidate: 1.10.1-0~trusty
  Version table:
     1.10.1-0~trusty 0
        500 https://apt.dockerproject.org/repo/ ubuntu-trusty/main amd64 Packages
     1.10.0-0~trusty 0
        500 https://apt.dockerproject.org/repo/ ubuntu-trusty/main amd64 Packages
     1.9.1-0~trusty 0
        500 https://apt.dockerproject.org/repo/ ubuntu-trusty/main amd64 Packages
     1.9.0-0~trusty 0
        500 https://apt.dockerproject.org/repo/ ubuntu-trusty/main amd64 Packages
#---- SNIP ----# 
     1.5.0-0~trusty 0
        500 https://apt.dockerproject.org/repo/ ubuntu-trusty/main amd64 Packages
[email protected]:~$ 


The docs say to install linux-image-extras-$(`uname -r`)  and apparmor here, but every time i have checked, they have been installed.
So do as you want, it is your life to crash and burn.

FINALLY!!! we are at the docker install steps!!
So let us use the power of the mighty apt-get install docker-engine to install docker-engine

But first! make sure you do apt-get update, again and again and again.

Now let's hit the sudo apt-get install docker-engine

What the docs do not warn you about are all the extra stuff that needs to be installed.
It requires git, and the git world of packages, but it also requires a second round of tools for the different file systems and cgroups. Remember not everything is required.


[email protected]:~$ sudo apt-get install docker-engine
sudo: unable to resolve host docker-xx
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  aufs-tools cgroup-lite git git-man liberror-perl libsystemd-journal0
Suggested packages:
  git-daemon-run git-daemon-sysvinit git-doc git-el git-email git-gui gitk
  gitweb git-arch git-bzr git-cvs git-mediawiki git-svn
Recommended packages:
  yubico-piv-tool
The following NEW packages will be installed:
  aufs-tools cgroup-lite docker-engine git git-man liberror-perl
  libsystemd-journal0
0 upgraded, 7 newly installed, 0 to remove and 112 not upgraded.
Need to get 12.3 MB of archives.
After this operation, 65.6 MB of additional disk space will be used.
Do you want to continue? [Y/n] 
#---- SNIP ----# 
cgroup-lite start/running
Processing triggers for libc-bin (2.19-0ubuntu6.6) ...
Processing triggers for ureadahead (0.100.0-16) ...
[email protected]:~$ sudo docker --version 
Docker version 1.10.1, build 9e83765


And after all this, I miss the curl install, oh well, it was a good life of not knowing what my server was doing.

Last step, do the docker test, docker run hello-world


[email protected]:~$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
03f4658f8b78: Pull complete 
a3ed95caeb02: Pull complete 
Digest: sha256:8be990ef2aeb16dbcb9271ddfe2610fa6658d13f6dfb8bc72074cc1ca36966a7
Status: Downloaded newer image for hello-world:latest

Hello from Docker.
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker Hub account:
 https://hub.docker.com

For more examples and ideas, visit:
 https://docs.docker.com/userguide/

[email protected]:~$ 

!!!!BONUS ROUND!!!!
If you don't give two flying monkeys about security, you can add your user to the docker group with the simple groupmod -aG docker hifi
Replace hifi with your user name, because I am hifi, you are not.


[email protected]:~$ sudo usermod -aG docker hifi
[email protected]:~$ cat /etc/group | grep docker
docker:x:999:hifi

In short, they other version should work in a similar manner, this was for Ubuntu 14.04 because I care about the world.
Please note, I was able to use sudo to do all of these commands in both text, and the video at the beginning.

In closing, there are things, things change, read the updated documents, they will update them eventually.