ConfigMgr 2012 SP1 and UNIX/Linux Clients – Part 1: Introduction and Client

UPDATE (saudm, 08/05/2013): Part 2 of Adam's series on Linux mgmt is now available here:

At a number of internal conferences recently I, along with two other Premier Field Engineers; Neil Peterson and Thorsten Henking, presented a series of sessions on managing UNIX and Linux clients with Configuration Manager 2012 SP1. The intention of this blog series is to help you understand how Configuration Manager manages UNIX/Linux clients using the content from our sessions.

This blog series will be split into three parts;

1- Introduction and the client
2- General operations and inventory
3- Software distribution

Using Configuration Manager 2012 to manage UNIX and Linux servers, as well as your Windows servers, in the datacentre means you move a step closer to managing your whole datacentre estate through a single pane of glass! So let’s start having a look at what Configuration Manager 2012 SP1 can do to help you manage your UNIX and Linux servers.

Supported Distributions

At the time of writing, Configuration Manager 2012 Service Pack 1 offers client support for the following UNIX and Linux distributions;

  • Red Hat Enterprise Linux
    • Version 4, 5, 6 (x86 and x64)
  • Solaris
    • Version 9 (SPARC)
    • Version 10 (x86 and SPARC)
  • SUSE Linux Enterprise Server
    • Version 9 (x86)
    • Version 10 SP1 (x86 and x64)
    • Version 11 (x86 and x64)

In the near future the number of distributions supported will increase, putting Configuration Manager’s UNIX and Linux support in line with System Center Operations Manager. It is also worth pointing out that the support for UNIX and Linux distributions is targeted to the server distributions rather than the client distributions.

Supported Features

The UNIX/Linux client is fairly lightweight in comparison to its Windows (or even Mac) counter parts, with the following natively supported features;

- Hardware inventory
- Inventory of installed software
- Software distribution

No Configuration Manager 2012 infrastructure changes are required to support UNIX/Linux clients, and additionally, as Configuration Manager 2012 sees the UNIX/Linux clients as just another client, the reports you are using today for your Windows based clients are the same that you use for the UNIX/Linux clients.

Client Architecture

Each UNIX/Linux distribution has its own set of client installation files which can be downloaded from our download centre, as UNIX/Linux versions can have different characteristics that we need to interact with (note the orange layer in the diagram below).


You’ll also note that we are installing a CIM server called NanoWbem (Opensourced by Microsoft through Opengroup along with the client itself to provide the WMI-like functionality we are used to with a Windows client. One thing to be aware of is that the CIM server we are installing with the Configuration Manager 2012 SP1 client is different to the CIM server that the System Center Operations Manager client installs.

The UNIX/Linux client talks back to the Configuration Manager 2012 SP1 infrastructure over HTTP or HTTPS. Content downloads are also performed over the same protocol (so there is no SMB client requirement on your UNIX/Linux server), but as the UNIX/Linux clients are treated as workgroup clients you need to ensure the network access account is configured. The UNIX/Linux client will then use the network access account to authenticate with the distribution point when downloading content.

Client Installation Notes

None of the automated deployment options (i.e. client push) that we use for Windows systems are available for UNIX/Linux systems, meaning you will need to perform manual or custom (e.g. shell scripts) installations. Full installation details are covered on Technet so I will only call out the main points and look at the methodology;

- Extract the downloaded files to a folder
- Mount the client files from a network share (e.g. CIFS, NFS) or copy them locally
- Install the client by running the install script file  
- Un-mount the client files or delete the install files if copied locally

The client needs to be installed using root privileges, and as UNIX/Linux clients will be treated as workgroup computers you will need to specify a management point and a site code for initial contact and site assignment.

Post installation, two system start-up daemons will be configured on your UNIX/Linux server;

ccmexec.bin is the Configuration Manager Client engine and performs all the interactions between the UNIX/Linux server and the Configuration Manager infrastructure.

nwserver.bin is the CIM server and gives us that WMI like functionality used for inventory. It maps UNIX/Linux classes and properties to Windows equivalent classes. More to be discussed in this blog series part 2.

A final couple of points before I close today;

- As I mentioned, no automated client deployment features are available, however with a little Orchestrator magic we can build our own! Neil covers automating the UNIX/Linux client installation using System Center 2012 Orchestrator on his blog.
- There is no control over the cache size. After successful installation of software the downloaded package files are removed from the cache. They only persist if you explicitly mark the package to persist in the cache, or if the software installation fails (so they remain for retry).
- The log files do not auto truncate so you will need to talk to your UNIX/Linux administrators to ensure they include the client log files in their log rotation tasks. I will talk more about log files in part 2 of this series.
- There is no ccmeval-like task for the UNIX/Linux client


So that’s part 1 over with, an introductory look at the Configuration Manager 2012 SP1 UNIX/Linux client and a few considerations before you go ahead and deploy the client for yourselves. In Part 2 we will explore general client operations and take a deeper look at inventory.