[opensuse] YaST fails online update, claiming there is no room left on /
This is in OpenSuse 12.1, running in a VM created using Oracle's virtual machine software (VirtualBox). Here is the exact error message: Subprocess failed. Error: RPM failed: installing package dbus-sharp-0.7.0-5.3.1.noarch needs 32KB on the / filesystem The disk usage analyzer tells a very different story: Device Mount Point Filesystem Total Size Available /dev/sda2 / ext4 9.8GB 307.4MB /dev/sda3 /home ext4 14.1GB 12.3GB If I read this right, it says that the file system at mount point / has over 300 MB left, and /home has over 12 GB left. How? That looks to me like home is a subdirectory of the / directory and so I don't understand how a subdirectory can have so much more space available to it than its parent directory. First, I don't understand this as I created it with only one virtual drive that ought to have been plenty big enough. As I know nothing about administering a Linux box (though I can write programs to run on one easily), I just accepted the defaults (except the obvious things like setting the correct time zone). Second, I don't understand this device business when the VM was configured with only a single virtual drive. I did see sda2 and sda3 on one or another of the screens during the install process, but I don't know what they're supposed to be, or if they relate to the drive at all. Can someone explain to me what I am seeing, what I need to do to properly diagnose the problem, and most importantly, what I can do to fix the problem so that I can install any updates YaST finds? If the problem is / has too little space left, can that space be obtained from /home without sacrificing any data? After all, apparently /home has 12 GB of room available. Cheers Ted -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 2012-05-29 22:34, Ted Byers wrote:
Device Mount Point Filesystem Total Size Available /dev/sda2 / ext4 9.8GB 307.4MB /dev/sda3 /home ext4 14.1GB 12.3GB
If I read this right, it says that the file system at mount point / has over 300 MB left, and /home has over 12 GB left. How? That looks to me like home is a subdirectory of the / directory and so I don't understand how a subdirectory can have so much more space available to it than its parent directory.
/home is not a subdirectory, it is is a different partition (a disc in Windows parlance). /dev/sda2 is one partition, /dev/sda3 is another. In Windows that would be disc C: and D: The message is correct, you don't have space in the / filesystem. You have some reading to do. Maybe <html://doc.opensuse.org> - -- Cheers / Saludos, Carlos E. R. (from 11.4 x86_64 "Celadon" at Telcontar) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk/FOTsACgkQIvFNjefEBxrdVwCeOJfEuOBD+PzgyCGFjS5TEUiH M3YAn0WiZh8gr1L7BowOaWbpSHRQAzFD =nSt9 -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
On Wed, 30 May 2012 06:04:52 Ted Byers wrote:
This is in OpenSuse 12.1, running in a VM created using Oracle's virtual machine software (VirtualBox).
Here is the exact error message:
Subprocess failed. Error: RPM failed: installing package dbus-sharp-0.7.0-5.3.1.noarch needs 32KB on the / filesystem
The disk usage analyzer tells a very different story:
Device Mount Point Filesystem Total Size Available /dev/sda2 / ext4 9.8GB 307.4MB /dev/sda3 /home ext4 14.1GB 12.3GB
If I read this right, it says that the file system at mount point / has over 300 MB left, and /home has over 12 GB left. How? That looks to me like home is a subdirectory of the / directory and so I don't understand how a subdirectory can have so much more space available to it than its parent directory.
See also Carlos's reply. Linux filesystems work somewhat differently to DOS/Windows filesystems. The "root" directory (as opposed to the directory called /root), as you have noticed, is / - in your case this is on the second partition on the first physical disk (which is what the /dev/sda2 tells you). /home exists as an empty directory on / - it is used as a "mount point" for the /home filesystem which actually exists on the third partition on the first physical disk (hence /dev/sda3). The fact that it is in fact a separate filesystem on a separate partition is why you can see differing amounts of free space between /home and / - the free space represents the space left on the physical partition (or, rather, the filesystem that resides there). The file that traditionally tells the system where the filesystems live and where they are "mounted" is /etc/fstab.
First, I don't understand this as I created it with only one virtual drive that ought to have been plenty big enough. As I know nothing about administering a Linux box (though I can write programs to run on one easily), I just accepted the defaults (except the obvious things like setting the correct time zone).
The installer has created 2 partitions on the virtual drive. Since you accepted the installation defaults, the installer has created a separate partition for the /home filesystem. The idea is that if you reinstall (or upgrade) the operating system it is a good idea to reformat / but having /home on a separate partition the user data stored there is not destroyed during this process.
Second, I don't understand this device business when the VM was configured with only a single virtual drive. I did see sda2 and sda3 on one or another of the screens during the install process, but I don't know what they're supposed to be, or if they relate to the drive at all.
See my description above.
Can someone explain to me what I am seeing, what I need to do to properly diagnose the problem, and most importantly, what I can do to fix the problem so that I can install any updates YaST finds? If the problem is / has too little space left, can that space be obtained from /home without sacrificing any data? After all, apparently /home has 12 GB of room available.
Yes. You can do what is known as a "bind mount". This is a way of mounting a subdirectory that exists in one filesystem on another filesystem and having it appear as though it is physically part of the filesystem on which it is mounted. Exactly how you do this will depend on where the system is running out of space. Assuming that zypper is handling the updates, my guess is that the lack of space is due to the rpms downloaded to /var/cache/zypp during the update process. One way to tackle this (not the only way, mind you, but I have successfully used this in the past): Note: You will need to do the following as root (at a command line, do "su -" (without the quotes) and enter the root password (that you set during installation). 1. Create a directory under /home called /home/var/cache/zypp (you'll have to do this in multiple steps i.e. mkdir /home/var, mkdir /home/var/cache, mkdir /home/var/cache/zypp) 2. Copy the contents of /var/cache/zypp to /home/var/cache/zypp using cp -rv /var/cache/zypp /home/var/cache/zypp /home/var/cache/zypp cp = copy -r = recursive (i.e. copy subdirectories and their contents also) -v = verbose i.e. report each file as it is copied. 3. Delete contents of /var/cache/zypp by changing to that directory (cd /var/cache/zypp) and doing rm -rf * WARNING: MAKE SURE YOU ARE IN /var/cache/zypp BEFORE you do this! Do NOT enter this command at / - it *will* delete your entire / filesystem without asking! rm = remove -r = recursively -f = don't ask for confirmation - just do it. * = everything. 4. Bind mount the newly created /home/var/cache/zypp to /var/cache/zypp by doing : mount -o bind /home/var/cache/zypp /var/cache/zypp ls -lr /var/cache/zypp should show the contents of /var/cache/zypp as if it existed on / (when in fact it exists on /home but is mounted on /). You should now be able to run the update process without running out of disk space. You can remove the bind mounting and get rid of /home/var/cache/zypp if you wish to once the update process is finished, or you can make it permanent by adding the appropriate entry to /etc/fstab. HTH. Rodney. -- ========================================================================== Rodney Baker VK5ZTV rodney.baker@iinet.net.au ========================================================================== -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
participants (3)
-
Carlos E. R.
-
Rodney Baker
-
Ted Byers