Tag: Linux

Ubuntu 16.04, tvheadend and SiliconDust HDHomeRun

Decided I would compile Tvheadend again and install it on a Ubuntu 16.04 host. Below is some of my notes that will help others with this installation and problems I hit along the way.

Required packages.

apt-get install unzip libcurl4-openssl-dev pkg-config git build-essential dvb-apps gettext libssl-dev cmake liburiparser-dev libavahi-client-dev
apt-get install hdhomerun-config

Installation/Compiling steps.

wget http://ftp.gnu.org/gnu/libiconv/libiconv-1.15.tar.gz
tar zxvf libiconv-1.15.tar.gz
cd libiconv/
make install

I created a user called “tvh” which will be used for the running of the software, this way it doesn’t run as root. Plenty of guides about that detail how to create your user and associated correct group assignments to it. So I won’t cover these steps/operations.

Noticed when I executed the product post being compiled i was getting an error.

tvh@oscar:/usr/local/bin$ ./tvheadend
./tvheadend: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory

As you can see from the output below, it’s a library issue.

tvh@oscar:/usr/local/bin$ ldd tvheadend
        linux-vdso.so.1 =>  (0x00007fff1d1e6000)
        libdvben50221.so => /usr/lib/libdvben50221.so (0x00007f3545385000)
        libdvbapi.so => /usr/lib/libdvbapi.so (0x00007f3545180000)
        libucsi.so => /usr/lib/libucsi.so (0x00007f3544f69000)
        libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007f3544d00000)
        libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007f35448bc000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f35446a1000)
        liburiparser.so.1 => /usr/lib/x86_64-linux-gnu/liburiparser.so.1 (0x00007f3544486000)
        libavahi-common.so.3 => /usr/lib/x86_64-linux-gnu/libavahi-common.so.3 (0x00007f354427a000)
        libavahi-client.so.3 => /usr/lib/x86_64-linux-gnu/libavahi-client.so.3 (0x00007f3544068000)
        libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007f3543e1c000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f3543c18000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f35439fa000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f35436f1000)
        libiconv.so.2 => not found
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f35434e8000)
        libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f3543166000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3542d9d000)
        libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007f3542d17000)
        /lib64/ld-linux-x86-64.so.2 (0x00005642bf9af000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f3542b01000)
        libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f35428de000)
        liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f35426bc000)
        libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007f35423db000)
        libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f354216a000)
        libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007f3541f56000)

Perform the following steps to address it.

cd /usr/lib/x86_64-linux-gnu
ln -s /usr/local/lib/libiconv.so.2.6.0 libiconv.so.2.6.0
ln -s /usr/local/lib/libiconv.so.2 libiconv.so.2
ln -s /usr/local/lib/libiconv.so libiconv.so

It would appear that Tvheadend has had some improvements since the last time I compiled and installed it.

As shown below we now see a new logo for the product, and now get a wizard which helps with the setup.

Tvheadend is such a great application.

unRaid – Lime Technology

I am presently looking to test unRaid from Lime Technology. Soon as I get my recommended 16GB Sandisk Cruzer Fit I will be installing it and attempting to run a few tests. The thing that has got my attention is the Docker, KVM and plugins. Being able to use it with Plex Media Server is a big win too.

Will be sure to post back when I have started to play around. If things go well the plan will be to buy a large parity drive, so that this drive will be the largest drive I can subsequently purchase going forward as I expand the system by upto 4 drives and replace 2 of the original 3TB drives it will start life with.

Will be talking about hardware in coming posts.

Mikrotik – Total convert

As you will have seen in one of my previous posts (here), I have a Mikrotik RB450G which I purchased and have been playing around with.

I must say I am a complete convert, I really love the hardware. The amount of things it can do and how configurable it is really makes it a great bit of hardware.

It brings back the memories of when I would run a old PC as a linux router/internet gateway when I could run mrtg on it and constantly have a record of link utilisation etc. This is done on the Mikrotik too, and I love it.

I just purchased a TP-Link TD8817 in the last few days, to have this permanently hooked up to the Mikrotik RB450G and will run my ADSL via bridged modem. Mikrotik is handling everything. When I move and eventually get an FTTH service, I will just need to reconfigure the Mikrotik accordingly.

I still have lots to understand about RouterOS, but so far its working very nicely and doing everything I need of it.

My plan is to play around with queues and what not further, so I can put the kids devices into a group that gets a percentage of bandwidth available, however for now I am marking packets and assigning them priorities to keep the link quick for stuff that needs it. Like web browsing and email.

MikroTik – RB450G

I recently came across an MikroTik RouterBoard 2011 appliance, and it’s not something I haven’t heard of, as I have a friend who loves the gear.

Unfortunately I never got to play much with it, as no one knows the Administrator details and/or associated password. So this made doing some troubleshooting in the environment a bit difficult.

Decided it might be a good reason/idea to purchase a RouterBoard, since I will probably need to reset the unit for a friend, and before doing this, would like a good understanding of the device and configuration. I was about to order a new RouterBoard RB450G when I noticed someone had a unit for sale on ebay. So I bought that one at a good discount over the new one.

Looking forward to it arriving so I can make good on my research and start the configuration.

I am also looking at purchasing some of the wireless gear from MikroTik as also have a need to replace some 2.4Ghz Wireless Access points for a hotel, so will be purchasing an MikroTik Groove and testing out HotSpot capabilities of the RouterBoard etc.

HTS Tvheadend 3.9.2332 screen capture

I reinstalled Ubuntu 14.04 Server on to my Intel NUC I have and hooked up my Realtek USB tuner.

I was surprised to see that HTS Tvheadend has changed a bit since I last had it installed. Was happy to see some really nice GUI enhancements. Great work done by the developers.

Screen capture below from my Finished Recordings tab.


Google Drive Direct Download of large files

If your in a situation like I just described on the subject, you will be thanking me and the person I am about to link too.

I was in a situation today where I needed to download some large files from Google Drive, but needed it to be done from the Linux command line with wget. I could see how it worked, but didn’t have the time to sit down and figure it out exactly. After a bit of searching I came across a blog post here by someone else. They already did the hard yards and wrote a perl script.

All I can say is a big thank you to the author on that blog who wrote the gdown.pl perl script. It worked great. Saved me a few hours in fact.

In addition I also worked out that if you take the id=value from the Google Drive File Share link, you can data mine a bit of information associated to the file in question.

Check out the page here, and use the Try it link. Insert in you File ID and it will tell you from which account its being shared etc.


Another Intel DN2820FYKH NUC

Yesterday I received another Intel DN2820FYKH NUC computer.

I had ordered another one with the intent of running a Mythtv Backend and Frontend using a Realtek USB tuner.

I’ve installed Mythbuntu and got everything working, however I really like using Debian itself, and will look at doing a more custom install with Debian. So the plan is work on a Debian 7.7.0 x64 install.

I’ve configured this new Intel NUC with the usual 8GB ram (max it can take) and Dual Band 802.11ac wireless (as it’s only a $24 upgrade to buy the card), and I had a spare 500GB laptop drive, which I installed too.

Will be sure to post more about my progress regarding the Debian installation and tweaking it all.

Linux bash vulnerable on most modern Linux distributions

Came across an interesting post today from VentraIP which outlines that Linux bash is vulnerable on most modern Linux distributions. You can read more about it directly from them here.

I ran the command on a Raspbian install I have on a Raspberry Pi that hasn’t been updated for a few weeks and surprise surprise. It was vulnerable.

Before upgrade:

root@zulu:~# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
this is a test

After upgrade:

root@zulu:~# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
this is a test

Best we all go do a sweep of our systems and upgrade those all that would be impacted by this. Best to close the problem now before it gets exploited.

lxc on Ubuntu 14.04 LTS

I’ve done a quick install of lxc on Ubuntu 14.04 and the only difference I have found so far since I did this back on Ubuntu 12.04 per the post here, is that lxc-list is no longer applicable and been replaced by lxc-ls instead.

I find lxc-ls doesn’t give much information at all, if ran without any switches, as per the example below;

root@papa:/var/lib# lxc-ls

However, if you run it with the -f switch it outputs more information which clearly shows important details about the lxc containers.

root@papa:/var/lib# lxc-ls -f
web1 STOPPED - - NO

Will continue to test this out further, but so far so good. Pretty impressed with Ubuntu 14.04 LTS so far.