Ubuntu 16.04 virt-manager over X11

Had a little trouble accessing virt-manager or firefox over SSH with X11 forwarding from my headless Ubuntu 16.04 KVM server to my Windows 7 work-laptop with Cygwin.

It kept giving me this error:

Couldn't open libGL.so.1: libGL.so.1: cannot open shared object file: No such file or directory

Installing libglu1-mesa fixed it for me.

apt-get install libglu1-mesa -y


Install Puppet 4 Open Source with an External Node Classifier in Bash

I was finding it hard to find an easy to follow example to get a simple
Open Source Puppet 4 setup with an External Node Classifier written in
Bash so here goes.
Continue reading “Install Puppet 4 Open Source with an External Node Classifier in Bash”

Proxmox 4 pve-no-subscription

Proxmox 4

Proxmox is a fine open-source product and version 4 is recently it’s newest version.

If you’re using Proxmox in a production set-up consider purchasing a Subscription at: http://proxmox.com/en/proxmox-ve/pricing.

If you’re only using it personally like I do I’d like to get rid of alle annoyances like not being able to update/upgrade and the pop-up once you log-in.


After installing Proxmox 4 you’ll probably encounter a popup with the following:

You do not have a valid subscription for this server. Please visit www.proxmox.com to get a list of available options.

If you don’t have a subscription this pop-up can be quite annoying so here’s how to remove it.

sed -i.bak "s/data.status !== 'Active'/false/g" /usr/share/pve-manager/ext4/pvemanagerlib.js

PVE No Subscription list

Having removed this pop-up won’t mean you can upgrade your PVE instance.

Here’s how to use the PVE No Subscription list:

echo "deb http://download.proxmox.com/debian jessie pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
mv -v /etc/apt/sources.list.d/pve-enterprise.list ~/.

Now apply those upgrades

apt-get update
apt-get upgrade


Plesk 12 list all domains’ PHP handler ID’s and PHP versions

Plesk 12 doesn’t facilitate a way to show all domains and their PHP handler and versions, thus a SQL query combined with soms awk magic does the trick.

mysql -uadmin -p$(cat /etc/psa/.psa.shadow) psa -e "select dom_id,www_root,php_handler_id,php from hosting;" | while read HOSTING; do DOMAIN=$(echo ${HOSTING} | awk '{print $2}' | awk -F'/' '{print $5}'); HANDLERID=$(echo ${HOSTING} | awk '{print $3}'); PHPVERSION=$(/usr/local/psa/bin/php_handler --list | grep ${HANDLERID} | awk "{if (\$1 == \"${HANDLERID}\") {print \$3}}"); echo "${DOMAIN} - ${HANDLERID} - ${PHPVERSION}"; done

Install Gitlab on OpenVZ CentOS 7 container

I’m a fan of Git and Gitlab but Gitlab was a bit difficult to install earlier because it involved compiling from source and such.

Nowadays there is a nice script you can run to install the whole kaboozle.


(When you select your distribution of choice, in my case this moment: CentOS 7, you’ll see the simple beauty of it all).

The only thing I ran into when I wanted to install the package on a CentOS 7 OpenVZ Template was that there were some dependencies missing which you’ll find on a proper minimal install of CentOS 7 but not on the OpenVZ Template.

yum install policycoreutils
yum install cronie

After this I could run the gitlab-ctl reconfigure command and enjoy the Gitlab server.

swap block device bigger than swap itself

Ran into a weird problem where swap itself was smaller than the LVM block-device that was assigned for swap.

[root@host~]# lvs | grep swap
  swap  vg_lv -wi-ao---- 5.00g
[root@host~]# cat /etc/fstab | grep swap
/dev/mapper/vg_lv-swap swap swap defaults 0 0
[root@host~]# free -m | grep Swap
Swap:          2063           0        2063

Weird stuff, here’s how I fixed it thanks to Chris Smart‘s suggestion.

[root@host~]# swapoff -a
[root@host~]# mkswap /dev/mapper/vg_lv-swap
[root@host~]# swapon -a
[root@host~]# free -m | grep Swap
Swap:          5119           0        5119

Simple Puppet master/agent config on Ubuntu 14.04


Trying to get started with puppet can be a tough cookie with lots of documentation to wade through.

With this article I'll try to set out a simple working master/agent config and maybe throw in a simple manifest too.

Continue reading “Simple Puppet master/agent config on Ubuntu 14.04”

How I installed gitosis on Ubuntu 14.04 Server

root@git:~# apt-get update

root@git:~# apt-get install -y git python-setuptools sudo

root@git:~# git clone https://github.com/res0nat0r/gitosis.git

root@git:~# cd gitosis

root@git:~/gitosis# python setup.py install

root@git:~/gitosis# adduser –system –shell /bin/sh –gecos ‘git
version control’ –group –disabled-password –home /home/git git

root@git:~/gitosis# ssh-keygen -t dsa

root@git:~/gitosis# sudo -H -u git gitosis-init <

root@git:~/gitosis# chmod 755

root@git:~/gitosis# git clone git@git.groupname.nl:gitosis-admin.git

root@git:~/gitosis# cd gitosis-admin

user@LAPTOP ~/GIT/testproject
$ cat ~/.ssh/id_rsa.pub

root@git:~/gitosis/gitosis-admin# echo “ssh-rsa

root@git:~/gitosis/gitosis-admin# vim gitosis.conf

[group groupname]
members = user@LAPTOP
writable = testproject

root@git:~/gitosis/gitosis-admin# git config –global user.name
“Firstname Lastname”

root@git:~/gitosis/gitosis-admin# git config –global user.email

root@git:~/gitosis/gitosis-admin# git add *

root@git:~/gitosis/gitosis-admin# git commit -a -m “Create new
repository for testproject”

root@git:~/gitosis/gitosis-admin# git push origin

$ mkdir testproject

$ cd testproject/

user@LAPTOP ~/GIT/testproject
$ git init
Initialized empty Git repository in /home/user/GIT/testproject/.git/

user@LAPTOP ~/GIT/testproject
$ git remote add origin git@git.groupname.nl:testproject.git

user@LAPTOP ~/GIT/testproject
$ touch README.md

user@LAPTOP ~/GIT/testproject
$ git add *

user@LAPTOP ~/GIT/testproject
$ git commit -a -m “readme.md”
[master (root-commit) 2aafea6] readme.md
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 README.md

user@LAPTOP ~/GIT/testproject
$ git push origin master
Initialized empty Git repository in
Counting objects: 3, done.
Writing objects: 100% (3/3), 212 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@git.groupname.nl:testproject.git
 * [new branch]      master -> master