如何增加/ var目录的大小?

第一个问题:

当我运行df -h我可以看到:

 # df -h Filesystem Size Used Avail Capacity Mounted on /dev/ad4s1a 9.7G 8.0G 918M 90% / devfs 1.0K 1.0K 0B 100% /dev /dev/ad4s1d 1.8T 6.7G 1.6T 0% /home procfs 4.0K 4.0K 0B 100% /proc linprocfs 4.0K 4.0K 0B 100% /usr/compat/linux/proc devfs 1.0K 1.0K 0B 100% /var/named/dev 

为什么不显示如下的目录:

/var /etc /usr

? 在我以前的专用服务器上,我能够查看每个可用的分区大小,但是在这里我只有/home/

第二个问题:

我如何可以增加/var分区大小? 因为经过2个小时的工作,这个分区变满了。

df命令报告文件系统的磁盘空间使用情况。 你的/var /etc/usr不是一个单独的文件系统,它们是/文件系统的一部分。 你只有2个文件系统//home

如果可以重新安装系统,则可以更改分区以创build适当大小的/var文件系统。

如果你不能,那么你可以尝试创build一个链接/var – > /home/var但是具体怎么做取决于你对系统的访问权限。

为什么不显示如下的目录:

因为他们在这台机器上没有自己的文件系统,而是/子目录。

在我以前的专用服务器上,我能够查看每个可用的分区大小,但是在这里我只有/ home和/ …

因为你只有那些,据推测。

我如何可以增加/ var分区大小? 因为经过2个小时的工作,这个分区变满了。

你不能,因为你没有一个/var分区。

如果添加另一个磁盘,则可以将/var下的所有内容移动到该磁盘,并将其挂载为/var

编辑:我刚才看到/home/几乎是空的。 所以,把所有你的东西放在/var/home/var并用符号链接replace/var 。 您可能需要在单用户模式或救援系统中执行此操作。

如上所述,只要不是单独的FS,就不能增加/var 。 但是你可以把它从/移动到更大的FS /home 。 唯一的build议 – 使用dump/restore将/ var的当前内容移动到新位置,而不是mvtar voodoo。 这不仅可以节省所有权和权限,还可以节省所谓的“标志”,例如/ var / empty的schg / uchg。 另外,我想阻止你创buildhardlink / home / var – > / var,因为/ home和/在不同的分区上。 一般都可以这样做:

  # mkdir /home/var # cd /home/var # dump 0af - /var | restore rf - # chflags -R nouchg,noschg /var # rm -r /var # ls -s /home/var /var 

当然,以上所有需要单用户模式,或者,如果不可用,您必须先停止所有使用/ var的守护进程,如sendmail或mysql。

另外一个好习惯 – 不要搬走整个/ var,而只是倾向于增长的dirs。 这是/ var / db / mysql,/ var / log和/ var / mail。 我更喜欢为他们创build一个独立的家园 – / usr / home / log,/ usr / home / mysql和/ usr / home / mail等等。 因此,dir被链接到/ var中的通常位置,以防止软件configuration。

到目前为止,我会采取一些略有不同的方法,只是因为我不喜欢/var符号链接。 和以前一样,在/home下创build一个新目录来保存要移动的数据,然后复制数据。

您可以使用nullfs挂载点将实际目录(例如/home/var/db/mysql )挂载到软件所期望的位置:

 mount -t nullfs /home/var/db/mysql /var/db/mysql 

/etc/fstab ,你需要这个:

 /home/var/db/mysql /var/db/mysql nullfs rw 0 0 

请注意,要使此方法起作用,您需要在内核中使用options NULLFS ,或者需要使用nullfs内核模块。

就系统而言,它可以正常地通过/var/db/mysql访问/home/var/db/mysql的内容。 这种方法也意味着像stat(1)和realpath(1)这样的工具会将path报告在/var ,而不是在/home/var