Re: No space left on device - Solved!

From: Salman Haq (salman_at_wam.umd.edu)
Date: 07/27/03

  • Next message: Francisco Castellon: "Apache Problems (please help)!"
    Date: Sun, 27 Jul 2003 17:38:42 -0400 (EDT)
    To: debian-user@lists.debian.org
    
    

     Hi again!

     I finally fixed the problem by creating two new partitions, one for /home
    (~26.5 Gb) and one for /var (~512 Mb).

     Here are the steps I followed (suggested by David Bree):

     0. Reboot the computer using parted boot floppy.

     1. Invoke parted and resize hda5 by shrinking it down to 10 Gbs:
        (parted) resize 5 15868.925 26367.424

     2. Make two new partitions:
        (parted) mkpartfs logical ext2 26367.424 53503.424
        (parted) mkpartfs logical ext2 53503.424 54015.456

        Note: the new partitions are called hda7 and hda8. You can always
        hit 'p' and check that in parted.

     3. Reboot the computer normally and copy /home and /var into hda7 and
        hda8 respectively. Change to root and:
        # mount -t ext2 /dev/hda7 /mnt
        # cd /home
        # tar cf - . | tar --same-owner -C /mnt -xf -
        # diff -r /home /mnt
        # umount /mnt
        # mount -t ext2 /dev/hda8 /mnt
        # cd /var
        # tar cf - . | tar --same-owner -C /mnt -xf -
        # diff -r /var /mnt
        # umount /mnt
        # rm -rf /home
        # mkdir /home
        # rm -rf /var
        # mkdir /var

     4. Edit /etc/fstab, add the 2 new lines:
        "/dev/hda7 /home ext2 defaults 0 2"
        "/dev/hda8 /var ext2 defaults 0 2"

     5. All done (almost)! Reboot normally.

     Problems:

     When I rebooted after step 5, the Xserver would not start. The error
    on the screen said "gdm already running. Aborting!"
     Morever, I could not bring up Xserver by typing 'startx' because of
    "xauth: timeout in locking authority file /home/user/.Xauthority". So
    here's what I had to do:

     # chown <user> /home/<user> (for all users on the system)
     # rm /var/log/gdm.pid

     This finally allowed me to start gdm as root but kde would complain:
    "Could not read netowrk connection list. ... Please check that dcopserver
    program is running". Here's what I did:

     # rm ~/.DCOP*

     Now kde runs fine, and I'm really done! See for yourself:

    # df -h
     Filesystem Size Used Avail Use% Mounted on
    /dev/hda3 463M 101M 338M 23% /
    /dev/hda5 10G 2.8G 6.7G 30% /usr
    /dev/hda7 26G 257M 24G 2% /home
    /dev/hda8 478M 68M 385M 15% /var

     Thank you everyone for your useful suggestions! ... salman

    On Sun, 20 Jul 2003, David wrote:

    > On Sat, Jul 19, 2003 at 09:10:14PM -0400, Salman Haq wrote:
    > >
    > > > > #df -h
    > > > > Filesystem Size Used Avail Use% Mounted on
    > > > > /dev/hda3 463M 440M 1.0k 100% /
    > > > > /dev/hda5 37G 2.5G 32G 8% /usr
    > > > >
    > > > > # df -ih
    > > > > Filesystem Inodes IUsed IFree IUse% Mounted on
    > > > > /dev/hda3 120k 20k 100k 17% /
    > > > > /dev/hda5 4.7M 149k 4.5M 4% /usr
    > > > >
    > > > > Now, I realize that this a very bad partition scheme but I'm just a
    > > > > newbie. When I was installing debian a few months ago, I didn't intend to
    > > > > have this scheme. I wanted root to be mounted as '/' and everything else
    > > > > under '/usr' since thats the bigger partition. Unfortunately, most of
    > > > > everything is mounted under '/'. I wonder where I went wrong...
    > > > >
    > > > > Can I change this situation, without re-formatting/re-partitioning? Or,
    > > > > atleast for now, which files can I safely delete to free-up some space?
    >
    > > Thanks everybody for your helpful responses. To make some temporary room
    > > I cleaned up some logs and unnecessary directories in a few of the home
    > > directories of some of the users.
    > >
    > > Then I resolved to fix the problem once and for all by using parted to
    > > resize the partitions. When I finally got around to doing it this past
    > > weekend, things didn't go as smoothly as I thought they would.
    > >
    > > This is the information that parted shows about my partitions:
    > >
    > > Disk geometry for /dev/hda: 0.000-57220.458 megabytes
    > > Disk lable type: msdos
    > > Minor Start End Type Filesystem Flags
    > > 1 0.031 31.376 primary fat 16
    > > 2 31.377 15390.395 primary ntfs boot
    > > 3 15390.396 15868.894 primary ext2
    > > 4 15868.894 54493.923 extended
    > > 5 15868.925 54015.424 logical ext2
    > > 6 54015.456 54390.396 logical linux-swap
    > >
    > > Since my original problem requires me to shrink hda5 down to ~10 gigs and
    > > expand hda3 to ~30 gigs I set about to do the following:
    > >
    > > (parted) resize 5 40869.024 54015.424
    > >
    > > and saw this:
    > >
    > > attempt to access ... of device
    > > 03:00: rw-=0, ... limit=58593750 <-(same error msg as before)
    > > Warning: You requested to resize the partition to 40869.024-54015.424Mb.
    > > The closest Parted can manage is 15868.925-54015.424.
    > >
    > > So parted doesn't want to resize the partition that way.
    >
    > I believe that Florian Ernst answered this problem...
    >
    > > Then I quit
    > > parted and restarted it as "parted /dev/hda5" and typed:
    > >
    > > (parted) resize 1 0.000 13146.4
    > >
    > > That actually resized something... when I restarted my computer normally,
    > > /dev/hda5 mounted to /usr and "df" showed its size as 12 gigs (as opposed
    > > to the old 37 gigs). However, parted continues to show the original
    > > numbers. Morever, I still haven't solved my original problem, which is
    > > expanding /dev/hda3. When I try:
    > >
    > > (parted) resize 3 15390.393 40000.000
    > > it says "The closest parted can manage is 15390.393 15868.894"
    > >
    > > I also tried "parted /dev/hda4" but that just says "can't partition
    > > outside of disk" even if I simply try to print info.
    > >
    > > What do I have to do to get rid of that disk access error and
    > > shrink hda5 (or hda4,5,6) and expand hda3?
    > >
    > > In the meanwhile, I have 'resized' hda5 back to its original size
    > > so that 'df' show its size as 37 gigs. I hope this makes sense.
    >
    > There are a couple of ways to go about this..
    >
    > 1) Keep everything you currently have on "/" and expand it.
    > 2) Create additional partitions and move some directories out of "/"
    >
    > In either case, the first thing you are going to have to do is shrink
    > hda5.. Someone suggested that you'd never need more than 5-10G on /usr,
    > so.. assuming you want 10 G, after issuing the command "parted /dev/hda"
    >
    > 1) if you want to keep only the two partitions and not add more..
    > (parted) resize 5 15868.925 44015 ( leaving about a 10-G space above
    > hda5
    > (parted) mkpartfs ext2 <new top of hda5> 54390.396
    > <copy existing hda5 to new partition> - see below..
    > (parted) del <old hda5> ( should still be hda5)
    > I'm not sure now what hda4 will look like - I've never tried this.. if
    > it's now moved to the begin of the new hda5, you are sitting fine..
    > just resize hda3 up to the bottom of hda5...
    >
    > 2) -- probably easier.. create new partition(s) and move director(ies)
    > out of "/".. "/home" should give you a bunch of space.. also /etc takes
    > up quite a bit.. "du -ch" of the /home and /etc dirs should give you
    > an idea of what you might need..
    >
    > (parted) resize 5 15868.925 25868.925 (adjust to taste)..
    > then create new partition(s) in the new free space and copy the
    > director(ies) into the new partition(s) (see below).. delete (or empty)
    > these directories from within hda3 - if you delete them, you need to
    > make new empty dirs in hda3 for mounting purposes..
    >
    > Then edit /etc/fstab to the new setup and remount..
    >
    > Note on copying dirs: parted has a copy facility for copying one
    > partition to another, but I'm not sure if it works on differently-sized
    > partitions.. the simplest way is to do this, IMO, is to pipe tar into
    > itself.. Basically:
    >
    > cd <source directory>
    >
    > tar . -cf - | tar -C <destination dir> -xf - (tar has another
    > stdout/stdin option, but this works for me)
    >
    > Don't forget to mount the new partition before doing this. For example,
    > if you want to copy /etc to hda6:
    >
    > <do this as root>
    > mount -t ext2 /dev/hda6 /mnt
    > cd /etc
    > tar . -cf - | tar -C /mnt -xf -
    >
    > (maybe check new directory.. might run diff if you wish..)
    > diff -r /etc /mnt
    > umount /mnt..
    >
    > One other thing.. man tar.. I think there is an option to preserve
    > uid/gid.. you need to watch and include this.. If not, for /home,
    > especially, after mounting the new /home partition on /mnt (or
    > whatever), as root, mkdir /mnt/<user>; chown user.user /mnt/<userdir>,
    > then cd into /home/<user> and run the tars as <user>, also, what follows
    > -C in this case would be -C /mnt/<user>.. this being done for each
    > user.. but I do believe that tar does have an option to preserve owner,
    > doesn't it?
    >
    > I hope this helps and works for you ..
    >
    >
    > --
    > To UNSUBSCRIBE, email to debian-user-request@lists.debian.org
    > with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
    >

    -- 
    To UNSUBSCRIBE, email to debian-user-request@lists.debian.org 
    with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
    

  • Next message: Francisco Castellon: "Apache Problems (please help)!"

    Relevant Pages

    • Re: Hardware RAID df output...
      ... It seems like I should be showing the partitions ... And if I can see the same stuff I did before the umount then I can assume ... can I do the mount -a while I'm logged in? ... I hear that unix doesn't have to reboot but it doesn't make ...
      (comp.unix.bsd.freebsd.misc)
    • Re: Latest VirtualBox....
      ... Once I'd stopped the darned thing automatically importing all my images ... Windows OS that can run Windows apps) I'm not sure if that would then ... GParted can actually copy partitions from one drive to another as well ... as resize. ...
      (uk.comp.sys.mac)
    • Re: Software to clone disk and resize target partiions at same time?
      ... >> resize any or all of the partitions. ... That only means that partitions it doesnt understand the format ... I think its best to clone from the bootable rescue CD too, ... > I have to be sure and unplug it and plug the target disk in it's place so ...
      (comp.sys.ibm.pc.hardware.storage)
    • Re: How to resize RAID-1 partitions (mdraid)
      ... resize command is documented. ... Not the "resize" command, because I already ... What other partitions you have on the disks? ... Do you have other partitions before or after the changing ones? ...
      (Fedora)
    • Re: Setting up partitions for dual-boot (w/ WinXP) via Intrepid installer
      ... machine - this requires that I resize the NTFS partition. ... options presented to me are a) guided - use the whole disc b) manual. ... (neither of which can resize existing partitions). ... And if you have not defragmented your Windows Drivebefore ...
      (Ubuntu)