# Can i install softwares in fedora in other partitions?

This post is a wiki. Anyone with karma >750 is welcome to improve it.

Thing is I have around 7 GB in my root drive. And it keeps prompting me that I'm running out of space. So is there any way to install softwares in other drives? Or change the home drive somehow without installing Fedora all over again?

edit retag close merge delete

Sort by » oldest newest most voted

If your root partition is low on free space, you must expand that partition.

If it is an LVM partition you could add another hard drive and expand the LVM group.

If it is a MSDOS partition you must have enough space on the existing hard drive to expand the partition.

more

yum install gparted. Please do take a backup before you do anything

( 2012-02-29 23:37:15 -0600 )edit

You need to expand your root filesystem.

Your Fedora box is most likely using a system called LVM (logical volume management) on top of regular partitions. This provides awesome flexibility in situations like yours where space is running out.

Report back the output of fdisk -l to see what we're working with. Assuming you see 'Linux LVM partition', we should be good to go. If you don't, you'll likely need to boot into a livecd version of fedora or partedmagic and use gparted to mess around with partitions.

Here's an example to illustrate (not actual fdisk output):

/dev/sda is 120 GB disk
/dev/sda1 is a small (<1GB) Linux partition (for kernel, bootloader)
/dev/sda2 is a 8 GB Linux LVM partition
/dev/sda3 is a 60 GB Linux partition


Interlude: In this example, there's plenty of free space (120 GB disk minus ~70 GB) and therefore things will be verrrry easy; however, if you don't have any free space, you'll either need to add another disk or delete/rearrange your existing partitions. A common case is installing Fedora in freespace after a Windows partition. If this is what you did, you could potentially use Windows' disk management tool to shrink the main Windows partition & filesystem, providing free space for fedora to grow into.

So--back to the example--where's the root partition and the swap space and home and all that?

Well that LVM partition is just raw storage--called a PV, or physical volume--providing the foundation for the LVM system. We can see this with the pvs command. One or more PVs can be used to build a pool of storage called a volume group. (Can see short info with the vgs command.) And then any number of virutal block devices can be partitioned out of a VG. These act just like normal partitions and are called logical volumes (run lvs).

In our example, lvs might show

  LV      VG         Attr   LSize
lv_root vg_example -wi-ao  7.0g
lv_swap vg_example -wi-ao  1.00g


In this example, it would be trivial to extend our root "parition" using the system-config-lvm gui (which you'll need to install with yum/packagekit) or a few terminal commands (as root). In a terminal, it could go like this:

First, using something like fdisk to create a new partition.

fdisk /dev/sda


(inside fdisk, one would use n to create a new partition, perhaps making it 30GB and then t to mark it as type 8e and then w to save changes)

Then:

pvcreate /dev/sda4
vgextend vg_example /dev/sda4

lvextend -L +30G /dev/vg_example/lv_root
OR
lvextend -l +100%FREE /dev/vg_example/lv_root

resize2fs /dev/vg_example/lv_root


Which was, in order: (1) tagging the new partition as a pv, so we can use it in this LVM scheme; (2) adding the new pv to our volume group (which extends our available pool of storage); (3) extending our logical volume (which is a container for our root filesystem); (4) and ...

more