在我只能通过ssh和vnc访问的服务器上(这意味着不能从“live”CD / DVD启动),我想缩小分配给/ var的分区(为了释放一些空间用于额外的分区)。 什么是一个好的,安全的方法来做到这一点?
解决scheme(基于David Spillet的回答,前提是您有足够的空间来容纳/ var副本):
如果你的root分区上有/ var的内容,你可以:
/var地方 mount -f -oremount,ro /var mkdir /vartmp; cp -av /var/* /vartmp/复制/var到/以不同的名称mkdir /vartmp; cp -av /var/* /vartmp/ mkdir /vartmp; cp -av /var/* /vartmp/ mv /var /varmount; mv /vartmp /var移动东西mv /var /varmount; mv /vartmp /var mv /var /varmount; mv /vartmp /var /etc/fstab /var条目 你现在应该把/var作为你的根分区而不是它自己的。 您现在可以根据需要调整旧分区的大小。 第4步应该让你重新命名/var目录,即使它正在作为一个挂载点使用,否则忙碌(和处理打开的文件将跟踪更改作为打开的文件不被path+名称引用,而是通过inode,一旦打开)。
如果你没有空间/但是做了/someotherfs事情,那么你可以尝试在/使用符号链接来移动它。
/var地方 mount -f -oremount,ro /var /var与cp -av /var /someotherfs/var mv /var /varmount; ln -s /someotherfs/var /var移动东西mv /var /varmount; ln -s /someotherfs/var /var mv /var /varmount; ln -s /someotherfs/var /var /etc/fstab /var条目 这个风险稍微高一点,因为在启动时需要确保/var在/var之前挂载。
如果你暂时没有空间来拷贝它,你可以通过删除caching包(Debian风格的aptitude clean ,毫无疑问是一个相当于yum命令)来减小/var的大小,移动其他的东西(例如,Debian将默认的httpdocs保存在/var/www ,如果它仍然存在,并且你有大量的数据,将它移动到另一个分区),并从/var/log中删除文件不是最近的(先支持起来,以防晚些时候需要引用)。
正如Zoredache所说:无论你做什么,在继续操作之前,确保你对备份安排感到满意。
警告:以上所有内容均来自内存,我没有在任何地方进行testing,请自行承担风险!
传统的方式是以单用户模式启动 。 这样,默认情况下甚至不会挂载/var ,所以你可以随意使用它。