#2250: Installing tomcat breaks iso live session -----------------------+--------------------------- Reporter: kalxas | Owner: kalxas Type: defect | Status: assigned Priority: blocker | Milestone: OSGeoLive14.0 Component: OSGeoLive | Keywords: tomcat9 -----------------------+--------------------------- While reviewing the tomcat installer for OSGeoLive 14, I have noticed that by enabling the tomcat installer, the live iso boot process breaks so I had to disable tomcat until a solution can be found.
https://github.com/OSGeo/OSGeoLive/commit/25fbe20f5d07978e77eba4887de1386dab29122a https://github.com/OSGeo/OSGeoLive/commit/5665abb2818f8801936486454092ec0f0840a956 In order to figure out what the problem is, I managed to get a snapshot during the iso booting process (tomcat-boot-failure.png). The error is: {{{ adduser: The UID 999 is already in use usermod: user 'user' does not exist install: invalid user 'user' }}} The system (casper) fails to create the 'user' account as the live system user, leaving the system hanging. Digging a bit deeper, I see the following: On build 37 (without tomcat) right after the startup this is how the /etc/passwd file looks like (live_system_users.png): {{{ ... postgres:x:122:131:PostgreSQL administrator,,,:/var/lib/postgresql:/bin/bash user:x:999:999:Live session user,,,:/home/user:/bin/bash systemd-coredump:x:998:998:systemd Core Dumper:/:/usr/sbin/nologin }}} By manually creating the build chroot environment, right after tomcat installation, this is how the /etc/passwd file looks like (tomcat_user_chroot.png): {{{ ... user:x:1000:1000:user,,,:/home/user:/bin/bash systemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin tomcat:x:998:998:Apache Tomcat:/:/usr/sbin/nologin }}} My understanding of the problem is that tomcat user occupies UID 998 and this makes systemd-coredump user to pick up UID 999, leaving no UID available for the live session user (has to be < 1000). Casper then fails to create the user 'user' leaving the iso hanging on boot. I see some possible solutions: 1. delete tomcat user in setdown script (as we currently do with user https://github.com/OSGeo/OSGeoLive/blob/master/bin/inchroot.sh#L252 ) and find a way to create the tomcat user during boot time. 2. patch tomcat debian package to create the tomcat user with another UID. Any proposals for other solutions? -- Ticket URL: <https://trac.osgeo.org/osgeolive/ticket/2250> OSGeoLive <https://live.osgeo.org/> self-contained bootable DVD, USB thumb drive or Virtual Machine based on Lubuntu, that allows you to try a wide variety of open source geospatial software without installing anything.
_______________________________________________ osgeolive mailing list osgeolive@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/osgeolive