While recently upgrading my headess Ubuntu home server I came across an issue whereby boot would hang due to some issue with plymouth, the application providing the graphical splash screen shown when Ubuntu boots. As this server is headless I decided that rather than seek to resolve the issues I’d simply remove plymouth, after all it isn’t any use on a headless system to show a splash screen on boot!
Plymouth is unfortunately a dependency in apt for two important packages, cryptsetup and mountall and as such cannot be removed using the usual apt-get remove method. As plymouth is in fact not really required by these components, we can replace it with a dummy package that will keep apt happy and allow us to boot up sans-plymouth.
Firstly configure a dummy package
vi plymouth
Enter in the following details
Section: misc
Priority: optional
Standards-Version: 3.9.2
Package: plymouth-dummy
Version: 1.0
Provides: plymouth
Architecture: all
Description: Dummy plymouth package to allow proper plymouth removal
Now build your new package
equivs-build plymouth
If you get an error running this command saying it doesn’t exist, install it using apt as follows, then re-run
apt-get install equivs
Once you have your dummy package, we can now force remove plymouth and replace it with it’s dummy. To do this without affecting any if it’s dependencies, we do this using dpkg
dpkg -r --force-depends plymouth
Then we replace what we removed with the dummy package as follows
dpkg -i plymouth-dummy_1.0_all.deb
We can now safely reboot the server knowing that plymouth will not be available at boot but all other components will be. For me this fixed an annoying partial boot problem, for you it may just mean the removal of a component you really don’t need in headless mode. Either way, I hope this proves useful.