Root partition filling up

Thanks for trying to help me out! Settings | Storage tells me that Sailfish OS dwarfs any other use of the space and the article doesn’t say much about shrinking it.

I already jettisoned most apps to be able to upgrade to 4.4.0.58 and then some (to no avail) to get to the next release. No longer having Android apps installed would allow me to remove app support, saving 145 MB (#2 storage consumer after SFOS), and there are 11 MB of logs I could get rid of…

Perhaps that would get me just enough room to upgrade once, but taking me through five releases all the way to 4.5.0.18? Sorry for being pessimistic, but I doubt it.

I can’t be certain what is the (cough) root cause, but something has been gradually filling up my root partition. Maybe SFOS just takes up more space now, maybe OS upgrades and/or app upgrades/removals don’t delete temporary objects.

I’m just mentally preparing for the effort and the downtime, as I’ve begun to think it would actually be good to start over with a fresh install.

Have you tried increasing the root partition size? Requires some use of the command line.
Here’s a howto: olf (Olf0) (Olf0) / SailfishX on Xperias · GitLab - which I used successfully on my Xperia X and Xperia 10.
And here’s another: Extend SailfishOS rootfs with a hidden, unused partition.-Oskar Roesler's Blog - which I have not tried.

There’s some discussion about the topic in Increasing the "root" LVM volume size and in Not enough space using sfos-upgrade. Where are packages stored?.

3 Likes

I’m saving that for post-reinstall, as I’m not comfortable doing it on an in-use device. A little spring cleaning probably won’t hurt after five years and how many releases? since Kymijoki :slight_smile:

I always fall back to an old-fashioned du -shx /* to see which of the directories in the root are taking up all the space. Then you can drill down with, for instance, du -shx /var/* to find the culprit. It could be an app storing things in the root when they’re not supposed to, or logs or coredump or who knows what. It’d be good to have an idea of usual suspects of this, as it’s a fairly common problem.

4 Likes

Or you can speed up the same process by using ncdu -x /, which is an ncurses version of du. ncdu being available from chum for example.

Apart from apps, the major culprits for taking up space usually are:

  • MLS cell data packages
  • Russian translation (or rather, the whole translation package)
  • default ambiences
5 Likes

How is the correct way to delete languages from the device, where I’m shure I’ll never need them in future? Is this only to delete unneeded translation files in /usr/share/translations/, or is some config work necessary after that?

Info about /usr/share/translations/ on computer says:
5.074 Objekte, mit insgesamt 28,8 MB

while volume size is reported from phone with 1,5 GB used + 0,88 GB free = 2,33 GB
and computer says free space in the volume is 923,3 MB.

Will deleting 90 % of 28,8 MB in translations directory help much?

1 Like

Thanks! I’ll have a deeper look and report my findings. Probably going the reinstall route anyway, once my data is transferred to another device, but it makes sense to do some archaelogy before bulldozing the entire site.

Good hints, I’ll be on the lookout for these. MLS is sort of mandatory, since Pure Maps is one of the few apps I’ve kept. I’ll also reinstall chum to get ncdu, which sounds less tedious than banging away at the keyboard.

1 Like

Where are the MLS cell data packages?

1 Like

If you’re using mimic with pure maps it’s a 100mb binary in /usr/bin, best to move it to home and symlink

3 Likes

Those MLS offline databases should be in /home, but some older attempts at it might be still on the root.

2 Likes

The community ones yes, the Jolla ones are in /usr/share/geoclue-provider-mlsdb/

2 Likes

There’s a tool called Space Inspector that helps figuring out what folders eat up the space. It doesn’t show data per partition, though, but is still very useful!

6 Likes

Re: root partition filling up, I have now checked space usage and there is quite a big savings potential.

This is in no way related to the Community News, so I would like to break out a handful of posts to a new thread for further discussion. However, I can’t find a way to do that. @rainemak or @vige, do you have such superpowers?

2 Likes

Sure thing! Just flag the first comment that you’d like to split out, we’ll take care of the rest.

2 Likes

Just flagged one of my posts as off-topic. There are also a number of replies providing me with advice - these should also be broken out to a new topic :slight_smile:

Done! I hope I managed to get them all.

3 Likes

First of all, a big thank you all for advice and assistance!

Background tl;dr
My Xperia X is stuck on 4.4.0.58 as lack of space on the root partition prevents further upgrades.

Game plan
I have decided to do a fresh install of Sailfish OS once I have migrated important data to a new device. The primary reason for this is that I’ve had a number of failed OS upgrades/command line recoveries since 2018, plus uncountable apps installed, tested and removed. The idea now being that starting over will remove any cruft and potential interference from various packages from various sources.

Before wiping the X I will use it as a playground for trying out the good suggestions I have received in this thread. I’ll start by addressing storage space, then go on to extend the root partition.

1 Like

Storage: Findings
I have used three tools to check storage use:

  1. [Settings > Storage](https://docs.sailfishos.org/Support/Help_Articles/Storage_Space/):
    • Gives an overview, but very limited info on the root partition
  2. [Storage Space](https://openrepos.net/content/ade/space-inspector) app:
    • Provides drill-down into directories. A bit slow at times and I had it crash twice
  3. ncdu (from Chum, accessed via ssh):
    • Drill-down. Worked very well, nice to use a physical keyboard and be able to copy&paste findings

These are the things that stand out at first sight; space that probably could be recovered by deleting or moving/symlinking items:

240 MiB OSM Scout Server, MLS, Syncthing
26 MiB Default videos and photos in /etc/skel
53 MiB /usr/share/ambience [several @ 2-4 MB]
116 MiB One font and unused locales/translations
435 MiB Total space occupied

Syncthing is the only orphaned thing on root that I noticed at a cursory glance.

Then there are interesting items I haven’t looked closer at:
68 MiB /system/lib64
55 MiB /usr/lib/locale/locale-archive
35 MiB /var/lib/rpm
158 MiB Total space occupied

1 Like

Questions and next steps
When I have some time for it, this is what I will be doing next.

Move/symlink - permissions!?

  • OSM Scout Server
  • MLS
  • Default vids/pics
  • Ambiances

Remove

  • Syncthing
  • unused(?) wqy-zenhei font - 16 MiB
  • unused locales

Knowledge gaps

  • Will removed locales and fonts be reinstalled on OS upgrade? Is there a better way to get rid of them?
  • What is /usr/lib/locale/locale-archive (55 MiB) for? Can it be pruned?
  • Spring-cleaning of rpm's?
  • IIRC, the Sailfish OS on the Xperia X is 32-bit - what is /system/lib64 (68 MiB) for?
1 Like

Don’t: This is much harder to do correctly than most anticipate; permissions are the primary but not the only aspect.

In general: Only move, symlink or remove “system” stuff, if you fully understand every possible consequence, i.e., if you are an UNIX expert. If not, leave it, the chance of detecting unintended consequences often much later is simply too high.

Hence do not remove “unused” locales, MLS etc., if they are part of the regular SailfishOS installation. For example, an app or command line tool which uses a deleted locale might not be able to display anything, consequently you even cannot copy&paste output foreign to you into Google Translate or a similar service to understand what is going on / wrong.

You may delete the default videos, pictures and ambiences you are 100% sure of not wanting them; I deleted only the default video, because I was never 100% sure about the rest. And there is at most a few 10 MBytes to be gained on a 2500 MBytes volume, so what!?!

You sure can remove everything you installed on top of the basic SailfishOS installation (e.g., Syncthing), but you must ensure to restore the original state of the OS. If you are not 100% sure how to achieve this, leave it!

The only real way out is …

… go on to extend the root partition.

3 Likes