On Thursday 21 Jan 2016 16:32:57 Chan Ju Ping wrote:
On Thursday 21 Jan 2016 22:07:25 Lars Müller wrote:
On Thu, Jan 21, 2016 at 01:16:47PM -0600, Chan Ju Ping wrote: [ 8< ]
This could be a case of superbly bad timing. At the same time I managed to enter and run the update, the terminal output showed I have run out of diskspace. A quick check showed I had ran out of inode space, probably because all of the old kernels are still installed!
a) Enable and call purge-kernels.service (part of the dracut package)
Is the service enabled?
systemctl is-enabled purge-kernels.service
If not enabled enable it: systemctl enable purge-kernels.service
Haha. It was disabled. Now re-enabled.
Start purge-kernels service now
systemctl start purge-kernels.service
This is done if /boot/do_purge_kernels exists.
By default the running and most current kernel are kept installed (ConditionPathExists in the purge-kernels.service file).
b) check if your / fs isn't full full due to snapshots
This might happen if it is on btrfs and snapper is active.
btrfs filesystem df /
or in more detail
btrfs filesystem usage /
I have Snapper running, and I removed a few snapshots to free up inode space. Though snapper actually does a good job of keeping snapshot numbers low.
I had assumed Tumbleweed would automatically remove old kernels but that appears to not be the case.
Tumbleweed and openSUSE in general do this.
Cheers,
Lars
Thanks for the assistance. I was able to clear up some space so the GUI could load, then forced a rebuild of the rpm database (because some of the kernels were not removable) with
zypper refresh -fdb
I will now check my other laptop running Tumbleweed to make sure the purge- kernels.service is also enabled.
I have renamed this thread to the more appropriate problem at hand. I just checked my other computer running TW (brand new setup from a couple of months ago), and the purge-kernels service is disabled and inactive in the Yast Services Manager. I don't know how many users may be potentially impacted by this setting, but it may be necessary to check to make sure it is active.