根文件系统已满,我需要安装其他软件。

我正尝试在CentOS 5.7上安装EPEL Repository。

我的硬盘上仍然有很多可用的空间。

/dev/sda2 3.9G 3.9G 0 100% / /dev/sda11 17G 2.9G 13G 19% /extra /dev/sda10 996M 44M 901M 5% /logs /dev/sda9 2.0G 670M 1.2G 36% /applications1 

我只是想使用/extra一些空间,所以我可以安装MySQL 5.5.20。 由于我没有物理访问这台机器,我不能使用CD和分区。 这台机器上没有重要的数据。

什么是最安全的方法来做到这一点。

这是分区表的输出

 Model: VMware, VMware Virtual S (scsi) Disk /dev/sda: 75.2GB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 32.3kB 107MB 107MB primary ext3 boot 2 107MB 4401MB 4294MB primary ext3 3 4401MB 6547MB 2147MB primary ext3 4 6547MB 75.2GB 68.6GB extended 5 6547MB 28.0GB 21.5GB logical ext3 6 28.0GB 49.5GB 21.5GB logical ext3 7 49.5GB 51.6GB 2147MB logical linux-swap 8 51.6GB 53.8GB 2147MB logical ext3 9 53.8GB 55.9GB 2147MB logical ext3 10 55.9GB 57.0GB 1077MB logical ext3 11 57.0GB 75.2GB 18.1GB logical ext3 

说实话,你会被困在这里,直到你释放一些空间,或者直到你想到一个方法来让自己进入/extra 。 在互联网上有一些指南 ,如何做到这一点,因为我从来没有真正做到这一点。

也就是说,如果你使用的是LVM,你可以resize,以便安装一些东西。 但是我不认为你的设置有LVM。

另外,我不认为Yum可以做可重新定位的包(至less我从来没有需要,有人可以自由地纠正我),在这种情况下,直到你至less释放一些空间,这并不重要。 你可以做一个du -sch /来find你可以删除哪些目录,不过我不认为这会有帮助,因为你的/分区足够小,可以推测它是一个基本的安装,GUI上面。

Yum包中的文件安装path是硬编码的,所以你不能修改它们。 你唯一能做的就是使用--installroot选项让Yum相信它是chrooted:

 yum --installroot=/extra install <packagename> 

使用这个命令,包中所有文件的所有path将相对于/extra而不是/ ; 但是这有一个缺点:如果软件包包含了要安装在/usr/etc或任何其他系统目录中的文件,它们将以/extra子目录结束,而这很可能不会按照它应该的那样工作。

你的另一个select是使用rpm ,它允许你重新定位包。


作为一个侧面说明,完全或几乎完整的根分区绝对不是一件好事,迟早肯定会给你带来麻烦; 你真的应该把它放大和/或释放一些空间。

有没有人有物理访问这台机器? 老实说,如果你现在改变分区,而不是重要的数据,你就可以节省很多头痛。 如果/在你开始安装之前已经满了,你将不得不在服务器的整个生命周期内反复处理这个问题。 我甚至想到你将要看到的困难,这让我感到很痛苦。