Linux将/home目录合并到/(根)目录

一、Linux分区背景

linux中,每个磁盘是以挂载到目录的形式使用。

例如:

当磁盘1挂载到/(根)目录、磁盘2挂载到/home目录时,
在/(根)目录下创建文件夹或文件时,存储在磁盘1中,
在/home目录下创建文件夹或文件时,存储在磁盘2中。

二、具体步骤

1. 查看当前磁盘分区情况

# 别忘了先切root用户

[root@localhost ~]# df -lh
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root  925G   47G  879G   6% /
devtmpfs                 1.9G     0  1.9G   0% /dev
tmpfs                    1.9G  116K  1.9G   1% /dev/shm
tmpfs                    1.9G  191M  1.7G  11% /run
tmpfs                    1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda1                494M   97M  398M  20% /boot
tmpfs                    376M     0  376M   0% /run/user/0
/dev/mapper/centos-home  2.0G   33M  2.0G   2% /home

注:只需注意/dev/目录下的就好,其他应该是系统处理不用管。
可以看到这里只有三个,分别是/dev/mapper/centos-root、/dev/sda1、/dev/mapper/centos-home

2. 删除/home分区

# 把/home内容备份,然后将/home文件系统所在的逻辑卷删除,扩大/root文件系统,新建/home:

tar cvf /tmp/home.tar /home    #备份/home  没东西可以不备份

# 记录一下 home下有多少可用空间 ,比如2G,后面扩展根目录要用
# 如果无法卸载,先终止使用/home文件系统的进程,kill
# 卸载/home

umount /home

# 删除/home所在的lv,如果提示正在文件系统正在使用中,就先终止进程,使用下面第一段的命令找到进程并杀死

fuser -m /dev/mapper/centos-home
kill -9 <把上一条命令得到的所有结果的字母去掉,纯数字复制到这里>
lvremove /dev/centos/home

3. 扩展/(根)目录

# 扩展/root所在的lv,增加/home的大小

lvextend -L +2G /dev/centos/root

#扩展/root文件系统,(xfs系统必要)

xfs_growfs /dev/centos/root

4. 恢复/home目录文件

# 重新创建home目录

mkdir -p /home && cd /home

# 恢复备份的文件

tar xvf /tmp/home.tar

5. 编辑/usr/stab文件

三、完工

# 现在如下:

[root@localhost ~]# df -lh
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root  925G   47G  879G   6% /
devtmpfs                 1.9G     0  1.9G   0% /dev
tmpfs                    1.9G  116K  1.9G   1% /dev/shm
tmpfs                    1.9G  191M  1.7G  11% /run
tmpfs                    1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda1                494M   97M  398M  20% /boot
tmpfs                    376M     0  376M   0% /run/user/0
/dev/mapper/centos-home  2.0G   33M  2.0G   2% /home
<think>好的,我现在需要帮助用户解决将Linux系统中的/home目录迁移到根目录合并分区的问题。首先,我需要仔细分析用户提供的三个引用内容,结合自己的知识,整理出正确的步骤和注意事项。 首先,用户提供了三个引用。引用1和3提到了在Deepin系统下合并/home分区根目录的具体操作步骤,包括备份、卸载、删除逻辑卷、移动文件等。引用2则解释了将/home单独分区的优势,比如重装系统时保留数据。用户的问题是想将/home迁移到根目录下或合并分区,需要一份操作指南。 接下来,我需要回忆Linux系统中关于分区目录结构的知识。通常,/home作为独立分区有助于数据安全,但有时用户可能希望合并分区以简化管理或调整空间分配。操作步骤一般涉及备份数据、卸载原/home分区、移动文件、修改fstab等步骤,同时需要注意使用Live CD/USB,因为无法在运行中的系统上卸载/home。 然后,结合引用内容,引用3提到卸载/home并删除逻辑卷,这需要谨慎处理。同时,引用1和3中的步骤都需要处理备份、文件移动和fstab的修改。我需要将这些步骤整合成一个连贯的指南,确保每一步都正确且安全。 还需要考虑潜在的风险,比如操作失误导致数据丢失,或者分区表损坏。因此,在指南中必须强调备份的重要性,并建议在操作前做好数据备份和系统快照。另外,使用rsync命令同步文件时,保留权限和属性是必要的,否则可能导致用户权限问题。 在步骤中,可能还需要解释一些命令的作用,比如为什么使用rsync而不是cp,或者如何正确编辑fstab文件。同时,删除原/home分区和调整分区大小可能需要使用LVM或其他分区工具,这部分需要据具体情况说明,因为用户的环境可能不同(比如是否使用LVM)。 最后,生成相关问题,需要考虑用户在完成迁移后可能遇到的后续问题,比如如何调整分区大小,或者如何恢复数据,以及单独分区的优缺点比较。这些问题有助于用户进一步了解相关知识。 总结来说,操作步骤需要清晰、详细,并包含所有必要的警告和注意事项,确保用户能够安全地完成迁移。同时,相关问题需要覆盖用户可能感兴趣的其他方面,帮助他们扩展知识。</think>### Linux迁移Home目录根目录操作指南 #### 核心步骤说明 1. **备份数据** - 使用`rsync`命令备份/home目录到临时位置: $$ rsync -avzh /home/ /tmp/home_backup $$ 此命令保留文件权限、符号链接等属性[^3] 2. **进入Live环境** - 通过Live CD/USB启动系统,确保/home分区未被挂载 3. **迁移文件** - 挂载分区到/mnt $$ mount /dev/sdaX /mnt $$ - 同步备份文件到新位置: $$ rsync -av /tmp/home_backup/ /mnt/home/ $$ 4. **修改文件系统配置** - 编辑/mnt/etc/fstab文件,注释或删除原/home分区挂载项: ```shell # /dev/sdaY /home ext4 defaults 0 0 ``` 5. **清理旧分区** - 使用`lvremove`删除逻辑卷(如使用LVM): $$ lvremove /dev/vg_name/home_lv $$ - 使用分区工具扩展分区空间 #### 关键注意事项 - **磁盘空间验证**:执行操作前必须确认分区剩余空间 > 原/home分区已用空间+20%缓冲区 - **权限保留**:使用`rsync -a`参数确保保留所有文件属性 - **引导修复**:建议准备系统修复工具,部分系统需要重建initramfs: $$ chroot /mnt update-initramfs -u $$
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值