Intro

When we first got a family computer in 2003 it ran Windows XP and always had issues with viruses. This wasn’t too much of a problem as there was only the one machine to deal with.

However, when the hardware finally got too old to use, instead of another family machine everyone slowly got their own laptop. Very quickly this turned out to be more of a problem. My parents for the most part (like many others) are quite technically challenged and didn’t take long to get viruses or break things and of course nobody installed updates.

Absolutely nothing my family did with their machines (Browsing, email etc…) required Windows so I took the drastic step of installing Ubuntu onto all of their machines (with their reluctant consent). Although maybe not a favourite of power users, the Unity environment proved to be incredibly simple for my family to use.

Everything seemed to be great, however every now and again I either had to physically access their machines or ssh in to install updates. This was partially solved by unattended upgrades but I still had to periodically check that nothing had gone wrong and that updates were being installed.

Enter Landscape.

The homepage states: “Landscape allows you to manage thousands of Ubuntu machines as easily as one, making it far more cost-effective to support large and growing networks of desktops, servers and cloud instances.”

While I did not have thousands of Ubuntu machines (2 Ubuntu Laptops and 1 Linux Mint Laptop) I still needed a better way to manage them that required less of my time so I thought it was worth a try.

Setting up Landscape

Setting up Landscape turned out to be incredibly simple.

I created an Ubuntu virtual server using Ubuntu 14.04 on my Proxmox Hypervisor following the “askubuntu” answer by andreas.

To add the PPA repository I ran the following:

user@landscape-server:~$ sudo add-apt-repository ppa:landscape/16.03
user@landscape-server:~$ sudo apt-get update
user@landscape-server:~$ sudo apt-get install landscape-server-quickstart

I was then able to access the web interface and run through the initial setup.

After setting everything up as I wanted it I needed to join the family machines.

As per the “how to register” page on your landscape server, this is done as follows:

user@client:~$ sudo apt-get update
user@client:~$ sudo apt-get install landscape-client
user@client:~$ sudo landscape-config --computer-title "Hostname" --account-name standalone  -p landscape-server --url https://landscape-server/message-system --ping-url http://landscape-server/ping

Unfortunately this is where I ran into issues where I was unable to join machines to the server.

Fortunately Reddit user panlinux came to the rescue and provided the required solution.

The problem occurs because the server SSL certificate is self signed. This can be remedied by installing a proper SSL cert. Alternatively, simply copying the cert to the clients will work.

This can be done as follows:

Obtain the certificate from your new Ubuntu Landscape server: /etc/ssl/certs/landscape_server_ca.crt

Place it in the following location on the client machines: /etc/landscape/landscape_server_ca.crt

Modify the /etc/landscape/client.conf file on the client machines and add the following line:

ssl_public_key = /etc/landscape/landscape_server_ca.crt

You should then be able to add the machine to Landscape as follows:

user@client:~$ sudo landscape-config --computer-title "Hostname" --account-name standalone  -p landscape-server --url https://landscape-server/message-system --ping-url http://landscape-server/ping

After that it was a simple task of grouping the machines and creating package and update policies. I was then able to sit back and watch as the specified software and updates were automatically deployed on the machines as per my specified schedule.

Final thoughts

As with many of my blog posts the actual implementation was done quite some time before I got around to writing the post.

I suppose a positive effect of this is that I have had more time to test than I otherwise might.

So far I have found Landscape to be incredibly useful, not just for installing updates and reporting back but also for deploying a set of packages to multiple machines and running scripts for various tasks when the machines come online and check in.

I have come across a few issues, mainly due to the fact that I’m managing Laptops that aren’t always kept online but for the most part I would highly recommend it to anyone who needs to manage several Ubuntu based machines.