Ubuntu Clients

Support for Ubuntu Clients was added in SUSE Manager 3.2. Currently, Salt clients running Ubuntu 16.04 LTS and 18.04 LTS are supported.

Ubuntu clients must be Salt clients. Traditional clients are not supported.

Bootstrapping is supported for starting Ubuntu clients and performing initial state runs such as setting repositories and performing profile updates. However, the root user on Ubuntu is disabled by default, so in order to use bootstrapping, you will require an existing user with sudo privileges for Python.

Other supported features:

  • Synchronizing .deb channels

  • Assigning .deb channels to clients

  • GPG signing .deb repositories

  • Information displayed in System details pages

  • Package install, update, and remove

  • Package install using Package States

  • Configuration and state channels

Some actions are not yet supported:

  • Patch and errata support

  • Bare metal installations, PXE booting, and virtual host provisioning

  • Live patching

  • CVE Audit

  • If you use are using a repository from storage media (server.susemanager.fromdir = …​ option in rhn.conf), Ubuntu Client Tools will not work.

Prepare to Register Ubuntu Clients

Some preparation is required on before you can register Ubuntu clients to SUSE Manager Server.

Before you begin, ensure you have the Ubuntu product enabled, and have synchronized the Ubuntu channels:

For Ubuntu 18.04:

  • Product: Ubuntu Client 18.04

  • Mandatory channels: ubuntu-18.04-pool-amd64

For Ubuntu 16.04:

  • Product: Ubuntu Client 16.04

  • Mandatory channels: ubuntu-16.04-pool-amd64

The mandatory channels do not contain Ubuntu upstream packages. The repositories and channels for synchronizing upstream content must be configured manually.

Procedure: Preparing to Register Ubuntu Clients with Custom Channels
  1. Ensure that you have the appropriate software channels available on your system. In the SUSE Manager Web UI, navigate to Software  Channel List  All. You should see a base channel and a child channel for your architecture, for example:

     ubuntu-18.04-pool for amd64
     |
     +- Ubuntu-18.04-SUSE-Manager-Tools for amd64
  2. Create custom repositories to mirror the Ubuntu packages. For example:

    For main:

  3. Create custom channels under the pool channel, mirroring the vendor channels.

    Ensure the custom channels you create have AMD64 Debian architecture.

    Create this structure:

     ubuntu-18.04-pool for amd64 (vendor channel)
     |
     +- Ubuntu-18.04-SUSE-Manager-Tools for amd64 (vendor channel)
     |
     +- ubuntu-18.04-amd64-main (custom channel)
     |
     +- ubuntu-18.04-amd64-main-updates (custom channel)
  4. Associate the custom channels with the appropriate custom repositories.

  5. Synchronize the new custom channels. You can check the progress of your synchronization from the command line with this command:

    tail -f /var/log/rhn/reposync.log /var/log/rhn/reposync/*
  6. To use bootstrap with Ubuntu, you will need to create a bootstrap repository. You can do this from the command line with mgr-create-bootstrap-repo:

    mgr-create-bootstrap-repo --with-custom-channels

For more information on creating custom repositories, see administration:channel-management.adoc.

Enable the Ubuntu Root User

The root user on Ubuntu is disabled by default. You can enable it by editing the sudoers file.

Procedure: Granting Root User Access
  1. On the client, edit the sudoers file:

    sudo visudo

    Grant sudo access to the user by adding this line to the sudoers file. Replace <user> with the name of the user that will be used to bootstrap the client in the Web UI:

    <user>   ALL=NOPASSWD: /usr/bin/python, /usr/bin/python2, /usr/bin/python3