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

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

我正在尝试在 CentOS 5.7 上安装 EPEL 存储库。

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

/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

答案1

老实说,你会被困在这里,直到你释放一些空间/,或者直到你想出办法chroot你自己/extra。有指南在互联网上到处寻找如何做到这一点的方法,因为我自己从来没有真正这样做过。

也就是说,如果您使用 LVM,您可以调整大小/,使其足够大以安装某些东西。但是我认为您的设置没有 LVM。

此外,我不相信 Yum 可以处理可重新定位的软件包(至少我从来不需要,有人可以随意纠正我),在这种情况下,除非您至少在 上释放一些空间,否则这无关紧要/。您可以执行du -sch /find 来开始找出可以删除的目录,但我认为这不会有帮助,因为您的/分区足够小,可以假设它是一个带有 GUI 的基本安装。

答案2

文件安装路径在 Yum 包中是硬编码的,因此您无法修改它们;您唯一能做的就是使用选项--installroot让 Yum 相信它已被 chrooted:

yum --installroot=/extra install <packagename>

使用此命令,包中所有文件的所有路径都将相对于/extra而不是/;但这有一个缺点:如果包中包含要安装在/usr/etc或任何其他系统目录中的文件,它们最终将位于 的子目录中/extra,而且这很可能无法正常工作。

您的另一个选择是使用rpm,它允许您重新定位包。


附注:根分区已满或几乎已满绝对不是一件好事,当然或早或晚都会给你带来麻烦;你确实应该把它弄大一点和/或释放一些空间。

答案3

有人可以物理访问这台机器吗?说实话,如果你现在更改分区,而不是当它上面有重要数据时,你会省去很多麻烦。如果在开始安装之前 / 已经满了,那么在服务器的整个生命周期中,你都不得不一遍又一遍地处理这个问题。想想你将要遇到的困难,我都感到很痛苦。

相关内容