Partitioning problem between keyboard and chair

Hello!

I was getting warnings that my root partition was getting too full, and decided to use separate partitions, as in the advice given here:

18-Mar-2009, 07:33 #6
woodardjd NNTP User
Default Re: ROOT PARTITION FULL!

I haven’t used SuSE in some time, but this isn’t SuSE specific. /opt /tmp, /usr, /var and /home are always going to be the largest directories mounted under /.
YaST caches updates in /var. That alone will eat up a great deal of space. When compiling software, writes are done in /tmp. Depending on the size of the program and what’s needed when compiling, that too can chew up available space.
Typically, when installing, I give each of these directories their own partition and make them large enough to prevent them from filling up. I also clean out my /var/cache periodically.
My first recommendation would be to clean out /var/cache(or where ever YaST puts rpm’s). That should clear up quite a bit of space. Especially if you did a net install. All of the rpm’s used in the install are likely sitting in there, doing nothing but taking up space.
Next time you decide to install any distribution, give some thought to what you might be doing with it in the future.
My typical partitioning scheme follows.
/boot 500MB(far more than necessary)
/ 1GB
/opt 5GB(if installing KDE)
/tmp 10GB(fork bombs etcetera get contained and can’t kill the rest of /)
/usr 10GB(lots of room for more software)
/var 10GB(Keeps updates from raping / if I get lax in my maintenance)
/home Whatever space is left on the drive.

Having done that, except for allowing a bit more space for /, I made a really dumb mistake by making the partition for /usr as /usr-local instead, so /usr is still in the / partition.

So everything for /usr is being stored in Partition /usr-local and vice-versa - contents which should be in /usr-local is going in /usr - and since /usr is still in the / (root) partition, root is still nearly too full.

Can this be fixed so the /usr-local partition is actually the /usr partition and /usr-local is back in / or will I have to re-install?

A bit of a strange advice there. In fact I think it is not an advice, but somebody describes how his partitioning is, without explaining why it is made like that.

Partitioning is something that depends very much on what the system is used for. But of course there is some general advice. And for openSUSE (NOT for SLES) the advice cn be seen as the installation defaults. And that is Swap (with plenty memory about as large as the memory for hibernation), root partition on Btrfs 40Gb to cope for snapshots, else 20Gb. For /home the rest.

All other things are adaptions for needs, like:
/boot e.g. in combination with LVM, or encryption.
EFI partition for EFI boot systems.
System usage that differs very much from the average home system might be better off with separate partitions for a database, or web pages, you name it.

This probably does not help you in your present problem, but you may need some rethinking on what you had, why it was not to needs and what a good solution would be.

For your present problem, I tried to understand what you wrote, but failed. Please provide information like partition listing

fdisk-l

their usage

cat /etc/ffstab

and try to explain from those what is bothering you.

Hi Henk - thanks for responding:

PEGASUS:~ # fdisk -l
Disk /dev/sda: 74.5 GiB, 80000000000 bytes, 156250000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x000173b0

Device     Boot     Start       End   Sectors  Size Id Type
/dev/sda1            2048  14684159  14682112    7G 82 Linux swap / Solaris
/dev/sda2        14684160  35663871  20979712   10G 83 Linux
/dev/sda3  *     35663872  36691967   1028096  502M 83 Linux
/dev/sda4        36691968 156248063 119556096   57G  f W95 Ext'd (LBA)
/dev/sda5        36694016  47183871  10489856    5G 83 Linux
/dev/sda6        47185920  68147199  20961280   10G 83 Linux
/dev/sda7        68149248  89112575  20963328   10G 83 Linux
/dev/sda8        89114624 110077951  20963328   10G 83 Linux
/dev/sda9       110080000 156248063  46168064   22G 83 Linux


Disk /dev/sdc: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x000622b7

Device     Boot Start       End   Sectors   Size Id Type
/dev/sdc1        2048 976773119 976771072 465.8G 83 Linux

                                                                                                                                                                                  
Disk /dev/sdb: 74.5 GiB, 80032038912 bytes, 156312576 sectors                                                                                                                     
Units: sectors of 1 * 512 = 512 bytes                                                                                                                                             
Sector size (logical/physical): 512 bytes / 512 bytes                                                                                                                             
I/O size (minimum/optimal): 512 bytes / 512 bytes                                                                                                                                 
Disklabel type: dos                                                                                                                                                               
Disk identifier: 0x000c168f                                                                                                                                                       
                                                                                                                                                                                  
Device     Boot    Start       End  Sectors  Size Id Type                                                                                                                         
/dev/sdb1           2048  15742975 15740928  7.5G 82 Linux swap / Solaris                                                                                                         
/dev/sdb2  *    15742976  57690111 41947136   20G 83 Linux                                                                                                                        
/dev/sdb3       57690112 156311551 98621440   47G 83 Linux                                                                                                                        
                                                                                                                                                                                  
                                                                                                                                                                                  
Disk /dev/sdd: 465.8 GiB, 500107862016 bytes, 976773168 sectors                                                                                                                   
Units: sectors of 1 * 512 = 512 bytes                                                                                                                                             
Sector size (logical/physical): 512 bytes / 4096 bytes                                                                                                                            
I/O size (minimum/optimal): 4096 bytes / 4096 bytes                                                                                                                               
Disklabel type: dos                                                                                                                                                               
Disk identifier: 0x000bf78b                                                                                                                                                       
                                                                                                                                                                                  
Device     Boot Start       End   Sectors   Size Id Type                                                                                                                          
/dev/sdd1        2048 976773119 976771072 465.8G 83 Linux                                                                                                                         
                                                                                                                                                                                  
                                                                                                                                                                                  
PEGASUS:~ #    

sda is an installed OS disk containing LEAP 42.2, and associated partitions
sdb is the previous OS disk containing opensuse 13.2 for occasional retrieval of files
sdc is sdb (to me) and contains one class of stored information
sdd is sdc (to me) and contains another class of stored information
I have no clue why it gets the mounted sd letters; seems no matter what I put into the partitioner, it does something else instead.

PEGASUS:~ # cat /etc/ffstab
cat: /etc/ffstab: No such file or directory
PEGASUS:~ # cat /etc/fstab
UUID=998e2740-8476-494c-a0fa-ccfc57d908ed swap                 swap       defaults              0 0
UUID=0bed15b4-7fff-4d5e-8d64-e7bc1b078a08 /                    ext4       acl,user_xattr        1 1
UUID=bd65ab86-f19a-4818-9e05-5a0c3ef685e1 /boot                ext4       acl,user_xattr        1 2
UUID=f6996fff-1ab7-48bf-b9e4-472ce4ffd122 /home                ext4       acl,user_xattr        1 2
UUID=d2d87cda-c0ee-4ef4-a27e-bc56cc8fcf95 /opt                 ext4       acl,user_xattr        1 2
UUID=0b8960c0-2132-4deb-87cd-908915c4816d /tmp                 ext4       acl,user_xattr        1 2
UUID=8d936a1b-fa71-4a7f-8346-c36d411e3148 /usr/local           ext4       acl,user_xattr        1 2
UUID=35eaa8f6-e1ee-4c6c-9053-90a79e4ef013 /var                 ext4       acl,user_xattr        1 2
UUID=e35ec8aa-1add-4471-8155-b9b25d9ed3a2 /home/chuck/0_sdb    ext4       defaults              1 2
UUID=1777ce93-19e0-4865-9afc-0134b61beb27 /home/chuck/1_sdc    ext4       defaults              1 2
PEGASUS:~ # 

The whole purpose was to stop whatever files kept being added by whatever means so as to fill up / and lock the system.

The problem now is one of the partitions having been mis-labeled as /usr/local instead of /usr

/usr is still in / and is still expanding the content of /

I want to get /usr and its contents into its own partition,

and /usr-local and its contents back into / if there is a way.

Can this be done by copying/moving?

If not, I may have to re-install…?

/usr has a directory /usr/sbin where many of the /sbin objects are stored referenced by links. Since many things in /sbin may be needed at boot before partitions are mounted /usr must be available thus can not be on a separate partition safely. /usr/local does not seem to be used for much, here it is empty.

Hi Gogalthorp:
My /usr/local has quite a bit in it.
Have you read

18-Mar-2009, 07:33 #6
woodardjd NNTP User
Default Re: ROOT PARTITION FULL!

in the original post? He wrote it in 2009, but his partition scheme seemed to work O.K. for him. Has the OS changed what it needs during boot-up so that /usr needs to be in / ?
My /usr/local was not expanding constantly, didn’t seem to be causing any problems, and had I done it right, it would still be in / - no problem.
My /usr has a lot in it, and was helping /tmp to bloat the / directory.

Hum … well, does this mean a re-install? I’d rather find another way, if there is one.

I think this is the last time i will argue about the value of that article and the conclusions you seem to come to.

The article is “old”". It is about SLES, thus most probably about a “server” setup and you fail to tell that you also are using openSUSE mainly for server tasks.

The article:

/boot 500MB(far more than necessary)
/ 1GB
/opt 5GB(if installing KDE)
/tmp 10GB(fork bombs etcetera get contained and can’t kill the rest of /)
/usr 10GB(lots of room for more software)
/var 10GB(Keeps updates from raping / if I get lax in my maintenance)
/home Whatever space is left on the drive.

. There is nothing in /opt on my system and I have KDE installed.
/opt as separate file system maybe good when you have lots of third party applications that install there (again most possibly for a “server” setup of some type).
. /tmp /var/tmp are sometimes the main source of the root file system becoming full. Easy to cure on a “home” system that is booted regularly. Set the system to clean /tmp and /var/tmp (or e.g make /tmp a tmpfs when you have plenty of memory).
. Most people have plenty space in a 20Gb root file system that includes all except /home. Most have less then 50% in use of that (and use 40Gb for a btrfs one for the snaphots, but set the cron runs to remove old snapshots).
. I never heard of updates filling the root partition when applied. When you have at least 50% free in your root partition, even if you would have to update all of the packages installed, the compressed dowloaded packages will not take that space by far. And the installing will simply replace existing files thus the result will roughly be the same as before.
. The splitting of the root partition will restrict the resulting file systems. It being possible that on of them gets full while there is room in the others. And it will stop your flawless r
unning system.

I still think that the article is out of date (e.g. it could be that KDE and /opt had something to do which each other in the past), aimed at a special “server” type of setup and even when taking that into account, wrong assumptions.

My story in posr #2 was also intended to let you explain what the use/tasks of your system is. You did not get that hint or did not want to explain that. But when it is just a “home” system, that article has no good hints for you IMHO.

Enough about that. I will now go and look at your problem information and come back to that.
BTW even before looking at it, did you think about booting a live/rescue system and repair your /etc/fstab from there

To come to one point of your story.

sda/b/s/d/e/f/g, etc. is created by the system in the sequence of detecting the devices. Thus they are not always the same. When you add/remove disks, they can change after a boot. It is nonsense and confusing at least for you yourself to say that sdc is sdb for you.

That is why openSUSE does not use them in e.g. the fstab (by default). It uses identifications that are unique regardless of the sequence of detection. It uses UUIDs instead. When you think of those as unreadable and difficult for human identification, you could set LABELs to file systems and use them for fstab/mounting.

I think I commented about that above. This is the wrong way to a solution of that (did you ever run into that situation?)

It is not labeled /user/local (a label of a file system is something different), but it is mounted at /user/local because the entry in /etc/fstab is wrong

It is not expanding it, it is just part of it. And as you have a root partition of only 10Gb, that is not enough.

I understand that you want /usr to have it’s own partition (all it’s contents is of course then in that partition, including /usr/local).

All in /usr/local will then be in the partition of /usr, not in the root partition.

The directories form a tree, starting at /. You can put a branch in a separate file system, that will include all the branches springing off from that branch. Except when such a branch is given a separate file system of itself.

Yes, it can be done. But only from a life/rescue system (as I said earlier).

That may be a good idea when you have rethought your partitioning policy.

I do not know if yo have any experience using a rescue system for such actions. In any case you need to make a plan (on paper) first. What should be copied to where to free a partition you need to copy other data on, etc., etc…

First thing to do though is making a list of the connections between the UUIDs used in fstab and the partitions sda1/2/3…

l /dev/disk/by-uuid | grep sda

This to avoid errors that could break all of it.

Wow, Henk, I feel like I’ve been scolded and set in the corner.

It is not labeled /user/local (a label of a file system is something different), but it is mounted at /user/local because the entry in /etc/fstab is wrong

O.K. I used the wrong word. The directory in this instance is /usr-local which contains much less than /usr.

It is not expanding it, it is just part of it. And as you have a root partition of only 10Gb, that is not enough.

Yes, it is not expanding it, its contents were expanding and kdf was giving me warnings that it was getting too full - and since the contents were expanding I wanted it out of / before it stopped me out.

I understand that you want /usr to have it’s own partition (all it’s contents is of course then in that partition, including /usr/local).

I only wanted / to have a reasonably stable content size and understand now that that earlier quoted advice was probably not good for a current OS.

All in /usr/local will then be in the partition of /usr, not in the root partition.

The partition that I had hoped would contain a large amount of data (/usr) was the one I had wanted to move out of / . The one that did get moved was /usr-local, which is relatively small. I was punting with what advice I found plus more limited earlier experience with other distributions, and gave the one I created outside / the wrong name (“label”), after which the OS used it and now only God knows what’s in it.

The directories form a tree, starting at /. You can put a branch in a separate file system, that will include all the branches springing off from that branch. Except when such a branch is given a separate file system of itself.

That’s good to know. I presumed (a guess?) that the installed OS would use the partitions for the purpose for which they are mounted. Silly me.

Yes, it can be done. But only from a life/rescue system (as I said earlier).
That may be a good idea when you have rethought your partitioning policy.

I do not know if you have any experience using a rescue system for such actions. In any case you need to make a plan (on paper) first. What should be copied to where to free a partition you need to copy other data on, etc., etc…

Yes - that was what I thought to do, with appropriate advice, but probably not a good idea even with advice.
For clarity, I’m not running a server, am really only an egg, and am relying on whatever information I can read - and sometimes get in too deep.

First thing to do though is making a list of the connections between the UUIDs used in fstab and the partitions sda1/2/3…

l /dev/disk/by-uuid | grep sda

This to avoid errors that could break all of it.

PEGASUS:~ # l /dev/disk/by-uuid | grep sda
lrwxrwxrwx 1 root root  10 Aug 24 01:29 0b8960c0-2132-4deb-87cd-908915c4816d -> ../../sda6
lrwxrwxrwx 1 root root  10 Aug 24 01:29 0bed15b4-7fff-4d5e-8d64-e7bc1b078a08 -> ../../sda2
lrwxrwxrwx 1 root root  10 Aug 24 01:29 35eaa8f6-e1ee-4c6c-9053-90a79e4ef013 -> ../../sda8
lrwxrwxrwx 1 root root  10 Aug 24 01:29 8d936a1b-fa71-4a7f-8346-c36d411e3148 -> ../../sda7
lrwxrwxrwx 1 root root  10 Aug 24 01:29 998e2740-8476-494c-a0fa-ccfc57d908ed -> ../../sda1
lrwxrwxrwx 1 root root  10 Aug 24 01:29 bd65ab86-f19a-4818-9e05-5a0c3ef685e1 -> ../../sda3
lrwxrwxrwx 1 root root  10 Aug 24 01:29 d2d87cda-c0ee-4ef4-a27e-bc56cc8fcf95 -> ../../sda5
lrwxrwxrwx 1 root root  10 Aug 24 01:29 f6996fff-1ab7-48bf-b9e4-472ce4ffd122 -> ../../sda9
PEGASUS:~ #
PEGASUS:~ # cat /etc/fstab
UUID=998e2740-8476-494c-a0fa-ccfc57d908ed swap swap defaults 0 0
UUID=0bed15b4-7fff-4d5e-8d64-e7bc1b078a08 /                    ext4       acl,user_xattr        1 1
UUID=bd65ab86-f19a-4818-9e05-5a0c3ef685e1 /boot                ext4       acl,user_xattr        1 2
UUID=f6996fff-1ab7-48bf-b9e4-472ce4ffd122 /home                ext4       acl,user_xattr        1 2
UUID=d2d87cda-c0ee-4ef4-a27e-bc56cc8fcf95 /opt                 ext4       acl,user_xattr        1 2
UUID=0b8960c0-2132-4deb-87cd-908915c4816d /tmp                 ext4       acl,user_xattr        1 2
UUID=8d936a1b-fa71-4a7f-8346-c36d411e3148 /usr/local           ext4       acl,user_xattr        1 2
UUID=35eaa8f6-e1ee-4c6c-9053-90a79e4ef013 /var                 ext4       acl,user_xattr        1 2
UUID=e35ec8aa-1add-4471-8155-b9b25d9ed3a2 /home/chuck/0_sdb    ext4       defaults              1 2
UUID=1777ce93-19e0-4865-9afc-0134b61beb27 /home/chuck/1_sdc    ext4       defaults              1 2
PEGASUS:~ #

Heh, so THAT’s where that “/usr/local” came from - when I set it in the partitioner, it said /usr-local (I’m pretty sure about that).
I’m not real comfortable with manually editing fstab, and have been using the partitioner to write it.

I’m concluding this is more trouble than it’s worth; I’ll store contents of /home somewhere else, wipe the drive and start over.

Thanks, guys - I have not been arguing with you, just bouncing ideas in hopes of clarification.

Your thoughts on at least /tmp as a separate partition? It’s the one that had contents that kept expanding (software issue with a Firefox plug-in).
I have never understood exactly what can or can’t be deleted from /tmp since I thought the OS used it actively for temporary storage.

Cron jobs are also a future item for me…

Lots get put nt /tmp. Do you copy large files? Do you burn CD/DVD? Lots of things use /tmp. It is OK to have tmp on a different partition and can be set to clear each boot. THe only real solution is to give root the space it wants. 20 gig for ext4 should be ok for most things

Keep things simple. In my experience the above is not worth the trouble you may run into. My current machine (Tumbleweed and Leap 42.3, everything ext4) has:

erlangen:~ # df -h|grep ^/dev/
/dev/nvme0n1p2   32G   12G   19G  38% /
/dev/nvme0n1p3  407G  146G  261G  36% /home
/dev/sda4       3.6T  1.7T  1.9T  48% /home-HDD
/dev/sda3        32G  8.9G   22G  30% /Leap-42.3
erlangen:~ # 

Hi Gogalthorp;

Then /tmp shall be its own (separate) place!

20 gig was not enough when it also contained /tmp - I don’t know why except for a firefox plug-in that wouldn’t complete.

I’ll ask later how to set /tmp up to clear.

Thanks! I’m going down for the count now - been a long night…

Picking some of the fruits here. Because you decided to go for a fresh installation (which I think is the best of possibilities in this case), there is no need to go into detail about a copy action.

Wow, Henk, I feel like I’ve been scolded and set in the corner.

Well, scolded.
I tried to convince you that reading an old an probably not applicable article is not what should lead you to all sorts of wild actions. When you say, you have just a rather normal “home” system, with normal requirements (web-server for (banking, surfing, etc.), e-mail, documents (OpenOffice), some video/music, all that what the most do, why not go for the defaults the installation offers for just that sort of usage?

I am not saying that reading articles in itself is a bad thing. It can and will increase your understanding. But an 8 year old article is old in IT. And the article does not address the home user at all.
Next time, you better first ask here before jumping right into executing what you think you understand.

About using the correct wording.
That may look a bit if I am nasty. But using what you think is an alternative word will for others be something completely different. Try to learn from e.g. man pages (maybe better then articles lol!) what the buzzwords are. And try to understand their meaning. It hepls enormous.

Same for file names, etc. Do not say /usr-local when you mean /usr/local. Very important. You can break your system with such sloppyness. And you will confuse your helpers here.

About /tmp (see also @gogalthorpe).
There should only be files there put by programs for the durstion they run. The should be removed when they stop. But design may be sloppy and programs may be killed unexpected. Thus left overs may stay behind. Cleaning now and then is a good idea. And as home used systems are often shut down during the nifgt, an automatic clean on boot is a good idea. Nothing running then, thus no hurt done.
If one puts /tmp on a separate file system without a cleaning action it will still see /tmp (though not /)) become full one time. And the result will be the same: a broken system.
Thus IMHYO cleaning is more important then separate.
For the way how to configure this cleaning, see at the end of this post.
Personally I have put /tmp on a tmpfs. That means it is in memory (8Gb RAM). Makes it a bit snappier (not that I see it btw) and perfect clean on boot.

I am still not sure that you understand the whole thing about the one (Windows has more, Unix/Linux has only one) hierarchical directory tree of Unix/Linux and how it is build up by mounting file systems in this tree. Maybe this is good starter: https://en.wikipedia.org/wiki/Directory_(computing)and https://en.wikipedia.org/wiki/Mount_(computing)

I see you found how the UUIDss are bound to the device files (those are called symbolic links btw).
There are more of thosese idetifiers for devices. Look in /dev/disk for other like /dev/disk/by-label.

This looks like teaching again. And in fact it is. I try to help you to understand things better. The is no need for you to read my stories of course. :wink:

===============================================

For cleaning /tmp and /var/tmp at boot:

When there is not already a file /etc/tmpfiles.d/tmp.conf create it as a copy

cp /usr/lib/tmpfiles.d/tmp.conf /etc/tmpfiles.d/tmp.conf

Then change the lines

# Clear tmp directories separately, to make them easier to override
# SUSE policy: we don't clean those directories
d /tmp 1777 root root -
d /var/tmp 1777 root root -

into

# Clear tmp directories separately, to make them easier to override
# My policy: empty /tmp en /var/tmp.
D /tmp 1777 root root 1d
D /var/tmp 1777 root root 1d

See

man 5 tmpfiles.d

Henk -

I have to answer this. The message was a bit heavy, especially since my first post included this:

I was getting warnings that my root partition was getting too full, and decided to use separate partitions, as in the advice given here:

and your first response was:

For your present problem, I tried to understand what you wrote, but failed. Please provide information like partition listing

fdisk-l 

their usage

cat /etc/ffstab 

and try to explain from those what is bothering you.

Well…

I was getting warnings that my root partition was getting too full, and decided to use separate partitions, as in the advice given here:

From that alone you assumed that I was running a server or God only knows what else.

I think this is the last time i will argue about the value of that article and the conclusions you seem to come to.

Henk, I had no conclusions - I had questions.

And I did not know NNTP was SLE (is it? I don’t really care now…)

About using the correct wording. That may look a bit if I am nasty. But using what you think is an alternative word will for others be something completely different. Try to learn from e.g. man pages (maybe better then articles lol!) what the buzzwords are. And try to understand their meaning. It hepls enormous.

My experience with man pages is that they’re only really useful if you’re already a guru. If there is a misunderstanding about the meaning of a word or the way it’s used, it doesn’t take a lot to clear it up.

Same for file names, etc. Do not say /usr-local when you mean /usr/local. Very important. You can break your system with such sloppyness. And you will confuse your helpers here.

I DON’T KNOW why or how I wound up with a /usr/local in fstab other than that I probably screwed up when I mounted the partition using the partition mgr. When I said /usr-local I meant exactly that, and my Dolphin lists “usr-local” as a device. The amount of space required for /usr-local wouldn’t save much space in / by having it in its own partition, would it? I wanted /usr in its own partition because THAT and /tmp were the ones that were filling up.
I came out with something different that what I tried to do, and called for help.

About /tmp (see also @gogalthorpe).
There should only be files there put by programs for the durstion they run. The should be removed when they stop. But design may be sloppy and programs may be killed unexpected. Thus left overs may stay behind. Cleaning now and then is a good idea. And as home used systems are often shut down during the nifgt, an automatic clean on boot is a good idea. Nothing running then, thus no hurt done.
If one puts /tmp on a separate file system without a cleaning action it will still see /tmp (though not /)) become full one time. And the result will be the same: a broken system.
Thus IMHYO cleaning is more important then separate.
For the way how to configure this cleaning, see at the end of this post.
Personally I have put /tmp on a tmpfs. That means it is in memory (8Gb RAM). Makes it a bit snappier (not that I see it btw) and perfect clean on boot.

Our computers here at home run 24/7 - we don’t shut them down except when something breaks, needs fixing, or updates. Our choice.

Is it safe for me to assume that NOTHING in /tmp needs to be retained?

Can /tmp be “cleaned” while the system is running?

If /tmp is a separate partition and totally fills, will that stop / (freeze the system)?

If /tmp is in / and totally fills, will that stop / (freeze the system)?

How would I put /tmp on a tmpfs?

(Just questions, not arguments.)

I am still not sure that you understand the whole thing about the one (Windows has more, Unix/Linux has only one) hierarchical directory tree of Unix/Linux and how it is build up by mounting file systems in this tree. Maybe this is good starter: https://en.wikipedia.org/wiki/Directory_(computing)and https://en.wikipedia.org/wiki/Mount_(computing)

Not sure what this has to do with locating specific functions in partitions. Doesn’t the OS access things in partitions in the same ( / ) directory tree?
If not, I sure do have a misunderstanding.

===============================================

For cleaning /tmp and /var/tmp at boot:

When there is not already a file /etc/tmpfiles.d/tmp.conf create it as a copy

cp /usr/lib/tmpfiles.d/tmp.conf /etc/tmpfiles.d/tmp.conf

Then change the lines

# Clear tmp directories separately, to make them easier to override
# SUSE policy: we don't clean those directories
d /tmp 1777 root root -
d /var/tmp 1777 root root -

into

# Clear tmp directories separately, to make them easier to override
# My policy: empty /tmp en /var/tmp.
D /tmp 1777 root root 1d
D /var/tmp 1777 root root 1d

See

man 5 tmpfiles.d

Thanks for this, Henk, I’ll have it to come back to when I get to the stage where I can implement it.
For now, I’m going to to a re-install (Arrgh!) and start over (again)).

Thanks, and best to you…

First I think I must apologize that I worded my information and help in a way that upsets you. I also admit that I, in my last post, forgot that you already mentioned that you got warnings about your / file system getting full. I forgot probably because your main question was about the malformed fstab and not about your filling up file system. Also the prominent article hided more or less the root cause of your problem.

OTOH you did not come here with a question bout those warnings and there is no information about it, this it is hard to find out why you got that. It will be hard to find out what was wrong then. I assume all evidence is destroyed now.

I did NOT assume you were running a server. I assumed that the article was about running a server and tried to find out IF you were doing likewise. Suggesting that when you weren’t, the article had no connection to your environment.

And I ASSUMED the article is about a server like environment because he has such a weird partition setup and because he talks about SuSE and not about openSUSE…
NNTP is a protocol he apparently used to publish his article, has nothing to do with the system he is describing.

There is a confusing talk about /usr/local vs. /usr-local in the thread. I admit that I thought that making a typo here did start part of the problem somewhere. In any case I wanted to stress that precise working, as well as on the system as in communicating on the technical help forums is essential. I have seen a lot of trouble here due to small typos.

Running systems 24/7 is something that can be done easily with Unix/Linux. When you need that and have no power conservation problems, that is OK.

You can not clean /tmp as long as programs are running because you do not know what is still in use there. So on normal shutdown everything stops and thus should remove everything from /tmp. In case something is left, the “clean on boot” action will help.
When you do not boot that often, this might be a problem. You could of course do things like “remove everything not used in five days”. but there may be programs that run longer. Again depends on system use.

If /tmp is a separate file system, it getting full may show the same problems as / getting full. A new starting program (e.g. a user loging in and thus starting a lot of desktop processes) will not be able to do that. What will be impossible and if things wlll freeze will depend very much on what is not able to open a new file in /tmp.
I really do not know which of the two cases will be better.
Watching the % of filling might be a good idea. I have no doubt there are tools to do that and it is of course create to run such a thing with yourself running it e.g. with cron and mail an alert.

And of course it is imminent to find which programs are filling up and not freeing space. Thus your warnings should have been led to root cause analyzing (probably with help of the forums) and not to offering more space that will then be filled up again in the future.

I am not sure that putting /tmp on tmpfs is a good idea in your 24/7 case because it will then never be emptied. But here is my /etc/fstab entry:

tmpfs							/tmp	tmpfs	size=25%,uid=root,gid=root,mode=1777 0 0

You are still talking about “functions in partitions”. I am not sure what you mean with “function” here. I tried to give you more information about the very basic concepts of the (one and only) directory tree and how it is filled by mounting files systems on it.
And yes, all is accesses in one tree, but the word “function”?

And yes, man pages are not always easy to understand without knowledge about what a tool is is for in the first place. And the learning path is steep. But they are the things to check whenever you try to use tools/configuration files. Specially when somebody offers you a command to use. First check what it is going to do.

Hope this helps in taking your decisions.

You are still talking about “functions in partitions”. I am not sure what you mean with “function” here. I tried to give you more information about the very basic concepts of the (one and only) directory tree and how it is filled by mounting files systems on it.
And yes, all is accesses in one tree, but the word “function”?

How about replacing the word “function” with “anything existing in a partition and that does anything”.

Sorry, but I really do not understand your strain of thought here. Even if you replace “partition” with “file system” (something I did all the time because those are what build the directory tree, remind that e.g. putting /tmp in tmpfs, that file system will NOT be on a partition), I do not understand that files in a file system “do anything” special or “do anything” other then when they would have been in another file system.

When all the file systems are mounted, the directory tree is complete. And most of the time nobody will worry if the file /home/henk/music/loudmusic/drums is on the root file system, or in the /home file system or in the /home/henk/music file system.

Splitting your directory tree into file systems and then storing those file system on certain containers/volumes that might be disks, partitions of disks, logical volumes of LVM, Linux Raid devices, RAM tmpfs, …) is an question of organizing. After that it should be hidden as much as possible from the running system (and the more from the end-user).

I am not sure, but you may be confused with the fact that there is some sort of standard of the naming and usage of directories starting from / (like /usr, /bin, /usr/bin, etc.). But that is not followed strictly by all distributions and it is certainly not restrictive to what a system manager can add to it, like a /data to put a database in or the like.
See: https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard

Henk:

Please let go that I used the word “function” - it’s probably too “mathematical” a term for this use anyway.

Whatever is in a “partition” is simply something that you don’t want mixing with something in another “partition” or you wouldn’t bother with partitions at all.

opensuse installs at least a swap, / , and home partitions, and keeps track of everything in all of them. I think of a “partition” as a “bit-bucket” separated from other “bit buckets”.

If a “bit-bucket” is a given size, and its contents grow larger than its environment, something is probably going to break.

Since my / partition was growing, and I not knowing why, and having already had problems with the system freezing when / was full, I was looking for a way to get the expanding data out of the / partition so as not to freeze up anymore, at least for that reason.

I don’t understand this as “splitting the directory tree” as the file system will know where anything is regardless of what partition it’s in.

I expect it’s daylight where you are … it’s 3:30 in the morning right now here, and I’ve been up 2 nights in a row 'till 6 AM on this … I’m crashing.

When I’ve had some good sleep, I’ll just reinstall.

Arrgh! It’s Saturday now and we’re going to a lug meeting tonight … when will I sleep…?

G’nite…

Thanks for answering. It seems that my English is really not good enough. Failing miserably to make things clear.

FWIW, i am able to follow & understand pretty-much everything you have been saying here in this thread. :slight_smile: