Ubuntu Server Join failed

Ubuntu Server 18.04.1

cat /etc/apt/sources.list.d/univention-dev-ubuntu-ppa-bionic.list 
deb http://ppa.launchpad.net/univention-dev/ppa/ubuntu bionic main
# deb-src http://ppa.launchpad.net/univention-dev/ppa/ubuntu bionic main

sudo apt-get install univention-domain-join
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 univention-domain-join : Depends: univention-domain-join-cli but it is not going to be installed
                          Depends: python-qt4 but it is not installable
E: Unable to correct problems, you have held broken packages.
sudo apt-get install univention-domain-join-cli
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 univention-domain-join-cli : Depends: python-univention-domain-join but it is not going to be installed
                              Depends: auth-client-config but it is not installable
                              Depends: heimdal-clients but it is not installable
                              Depends: ntpdate but it is not installable
                              Depends: sshpass but it is not installable
                              Recommends: univention-domain-join but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Why?

Hey,

those packages are part of Ubuntu’s universe repositories. You probably only have its main repository activated.

Kind regards,
mosu

Thank you @Moritz_Bunkus, I’ve installed all packages.

Meaning what, exactly? That you were able to install univention-domain-join and that the problem’s been solved?

I’ve installed univention-domain-join on Ubuntu-server 18.04
Now:

sudo univention-domain-join-cli

This system hasn’t xserver, then:

IOError: [Errno 2] No such file or directory: '/etc/X11/default-display-manager

then I’ve lunch:

sudo univention-domain-join-cli --skip-login-manager

This is output:

cat /var/log/univention/domain-join-cli.log
2018-08-30 10:17:22,396 userinfo INFO Automatically detected the domain 'cdlmvenezia.intranet'.
2018-08-30 10:17:31,240 userinfo CRITICAL An error occurred. Please check /var/log/univention/domain-join-cli.log for more information.
2018-08-30 10:17:31,244 debugging CRITICAL [Errno 2] No such file or directory
Traceback (most recent call last):
  File "/usr/sbin/univention-domain-join-cli", line 194, in <module>
    distribution_joiner.create_backup_of_config_files()
  File "/usr/lib/python2.7/dist-packages/univention_domain_join/distributions/ubuntu.py", line 78, in create_backup_of_config_files
    DnsConfigurator(self.nameservers, self.domain).backup(backup_dir)
  File "/usr/lib/python2.7/dist-packages/univention_domain_join/join_steps/dns_configurator.py", line 65, in __init__
    if DnsConfiguratorNetworkManager().works_on_this_system():
  File "/usr/lib/python2.7/dist-packages/univention_domain_join/join_steps/dns_configurator.py", line 140, in works_on_this_system
    stdout=subprocess.PIPE, stderr=subprocess.PIPE
  File "/usr/lib/python2.7/subprocess.py", line 394, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1047, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

The problem is that the calls to “DnsConfigurator” are require NetworkManager to be installed. Usually you don’t have this on a server. So my workaround was to comment out the lines that start with “DnsConfigurator” in /usr/lib/python2.7/dist-packages/univention_domain_join/distributions/ubuntu.py

Yeah, the assistant does require both the presence and the use of NetworkManager at the moment. As no bug had been filed for that already, I’ve just done so myself.

The change of DNS configuration by the join tool is a bad idea:

Adding a CLI option telling the assistant not to attempt a modification of the DNS configuration is one of the workarounds I proposed in the bug report I filed. I’ll add your scenario as another thing to think about.

At the moment UCS doesn’t have a concept of “sites”, not like an AD does. There are no provisions for matching network addresses to UCS DCs. Therefore the only thing the assistant can realistically do if it should configure DNS automatically is to configure the DC Master. That being said, a way to tell the assistant which DNS server to use would be better.

Edit: I’ve added your scenario to the bug report.

Same issue on Ubuntu 18.04.3 LTS

Mastodon