跳转到主要内容

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

所有提交的信息确保安全。

  • 关闭 [x]

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

所有提交的信息确保安全。

  • 关闭 [x]

在系统工作时调整分区:移动/home

逐步移动分区的操作方式

Daniel Robbins (drobbins@gentoo.org)Gentoo Technologies 公司
Daniel Robbins 住在新墨西哥州 Albuquerque 市,他是 Gentoo Project 的首席体系结构设计师,Gentoo Technologies 公司的首席执行官,Linux Advanced Multimedia Project (LAMP) 的顾问,他还是 Macmillan 公司出版的 Caldera OpenLinux UnleashedSuSE Linux UnleashedSamba Unleashed 几本书的重要作者之一。由于深受 Pac Man 的影响,Daniel 在读二年级时第一次接触到 Logo 编程语言后即执迷于计算机。这可能是他后来作为 SONY Electronic Publishing/ Psygnosis 的首席图形艺术家的原因。Daniel 喜欢与他的妻子 Mary 共度美好时光,Mary 今年春天已经怀孕。可以通过 drobbins@gentoo.org 与 Daniel 联系。

简介: 在这个新的技巧集中,Daniel Robbins 说明了如何在正在运行的系统上更改分区布局。同时他还介绍了几个诀窍,从而使您可将停机时间缩到最短,并可避免犯严重错误。在这篇技巧中,他将说明如何将 /home 移动到另一个分区上。

发布日期: 2000 年 5 月 01 日
级别: 初级
访问情况 : 3478 次浏览
评论: 


/home 分区是最常移动的分区之一。某些时候,/home 中的全部空间都用完了,而且需要增加一个硬盘驱动器。另一些时候,/home 被设置为根分区的一部分,为了提高性能或便于备份,可能需要将它移动到别的地方。我会针对每种情况说明如何安全有效地移动 /home。

警告
下面的技术说明如何移动一个或多个分区。尽管这项技术的设计使您能够“撤销”失败的分区移动,但它并不防止用户的错误。换言之,只要进行格式化分区或复制大量文件的操作,就存在因输入错误而导致大量数据被破坏的可能性。因此,强烈建议您 在行动之前采取适当的措施来备份所有的重要文件

现在您已作好准备,我们就可以开始移动 /home 了。您要完成的确切步骤取决于 /home 当前是驻留在它自己单独的分区上,还是位于根分区上。在我们完成下面的步骤时,要紧记这一点(必要时我将提醒您)。如果您正在将 /home 移动到一个新的硬盘驱动器上,则这个驱动器现在应该物理上安装在您的系统中。

1. 如有必要,创建一个新分区

如果您正在将 /home 移动到一个现有的分区(没有必要一定是 ext2 文件系统,只要目标主分区或扩展分区存在即可)上,则您可以直接转到 步骤 2

如果新分区还不存在,则需要用 cfdisk(首选)或 fdisk 来创建一个新分区。如果这个分区不在第一个驱动器上,则别忘了将这个设备的名称指定为 cfdisk 或 fdisk 的第一个参数。在创建了适当的主分区或扩展分区以后,应重新启动系统以便正确地重新读取分区表。这是唯一需要重启系统的时候。


2. 在新分区上创建文件系统

要在新分区上创建文件系统,首先要知道这个新分区的准确设备名(例如,/dev/sda5)。如果您不能确定准确的设备名,请立即停下来,仔细核对设备名。然后以 root 身份键入以下命令:

# mkfs.ext2 /dev/--?

在上面和以后的代码样例中,应该用目标分区名替换 --?。在执行此命令以后,目标分区将包含一个空的 ext2 文件系统。


3. 在 /mnt 下挂载这个新文件系统

创建一个名为 /mnt/newpart 的目录,然后将新分区挂载到这个目录上:

# mount /dev/--? /mnt/newpart


4. 进入单用户模式

为了使系统的可用性达到最大限度,我尽量推迟这一步,但现在我们必须进入单用户模式,然后将 /home 中的文件复制到 /mnt/newpart 中。您不应该让 /home 中的任何文件处于打开状态,而进入单用户模式消除了这种可能性:

# init 1

如果出现提示,请输入 root 口令来执行系统维护任务。您现在应该在 root shell 中。


5. 将当前目录更改为 /home,然后复制文件

键入以下命令:

# cd /home
# cp -ax * /mnt/newpart

cp -ax 命令循环地将 /home 中的内容复制到 /mnt/newpart 中,并保留全部文件属性,也不会交叉任何挂载点。该命令执行完以后,/mnt/newpart 中将包括 /home 中当前包含的全部文件和目录的精确副本。如果原来的 /home 在它自己单独的分区上(在 /etc/fstab 中用单独一行列出),请转到 步骤 6a。否则,请转到 步骤 6b


6a. 使用新分区(当原来的 /home 是一个分区时)

下面的说明适用于原来的 /home 已经在它自己的专用分区上的系统。如果不是这种情况,请参阅 步骤 6b

键入以下命令卸载原来的分区:

# cd /
# umount /home

然后,卸载并重新挂载新分区:

# umount /mnt/newpart
# mount /dev/--? /home

现在就可以通过 /home 访问新分区了,并可立即投入使用。我们可以在多用户模式下执行最后几个步骤。请按 CTRL-D 退出单用户模式,这样系统就会回到启动运行状态。

重要步骤: 在系统正常启动以后,以 root 身份登录,然后编辑 /etc/fstab,以便将 /dev/--? 自动挂载到 /home 上,而不是仍然在这个挂载点挂载原来的分区。例如,将下面这一行:

/dev/hda3 /home   ext2    defaults    1   2

更改为:

/dev/--?    /home   ext2    defaults    1   2


6b. 使用新分区(当原来的 /home 不是一个分区时)

如果 /home 以前不在它自己单独的分区上(例如,如果 /home 只是根分区上的一个目录),请按下面的说明操作。执行以下命令:

# cd /
# mv /home /home.old
# mkdir /home      
# mount /dev/--? /home

现在,请按 CTRL-D 离开单用户模式。当系统回到启动运行状态以后,编辑 /etc/fstab 文件,在其中添加类似这样一行:

/dev/--?  /home   ext2    defaults    1   2

这样,当下次重新启动系统时,您的新分区将被正确挂载。


7. 扫尾工作

我们特意将原来的 /home 目录/分区保留下来,以防复制文件时出现问题。在证实系统稳定运行以后,您就可以将原来的 /home 分区用于其他目的,或者删除原来的 /home 目录。

恭喜您,您已经移动了 /home!在下一篇技巧中,我们将重新配置一个系统,以使 /tmp 和 /var 使用它们自己的共享分区。下篇再见。


参考资料

关于作者

Daniel Robbins 住在新墨西哥州 Albuquerque 市,他是 Gentoo Project 的首席体系结构设计师,Gentoo Technologies 公司的首席执行官,Linux Advanced Multimedia Project (LAMP) 的顾问,他还是 Macmillan 公司出版的 Caldera OpenLinux UnleashedSuSE Linux UnleashedSamba Unleashed 几本书的重要作者之一。由于深受 Pac Man 的影响,Daniel 在读二年级时第一次接触到 Logo 编程语言后即执迷于计算机。这可能是他后来作为 SONY Electronic Publishing/ Psygnosis 的首席图形艺术家的原因。Daniel 喜欢与他的妻子 Mary 共度美好时光,Mary 今年春天已经怀孕。可以通过 drobbins@gentoo.org 与 Daniel 联系。

关于报告滥用的帮助

报告滥用

谢谢! 此内容已经标识给管理员注意。


关于报告滥用的帮助

报告滥用

报告滥用提交失败。 请稍后重试。


developerWorks:登录


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 使用条款

 


当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

请选择您的昵称:

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

(长度在 3 至 31 个字符之间)


单击提交则表示您同意developerWorks 的条款和条件。 使用条款.

 


为本文评分

评论

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Linux
ArticleID=52793
ArticleTitle=在系统工作时调整分区:移动/home
publish-date=05012000
author1-email=drobbins@gentoo.org
author1-email-cc=drobbins@gentoo.org

标签

Help
使用 搜索 文本框在 My developerWorks 中查找包含该标签的所有内容。

使用 滑动条 调节标签的数量。

热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。

我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。

使用搜索文本框在 My developerWorks 中查找包含该标签的所有内容。热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。