ฉันจะย้ายโฮมไดเร็กตอรี่ไปที่พาร์ติชั่นแยกได้อย่างไร?


22

ฉันต้องการติดตั้งการกระจายอื่น แต่เก็บไดเรกทอรีบ้านของฉัน มีวิธีย้ายโฮมไดเร็กตอรี่ไปยังพาร์ติชั่นแยกหรือไม่? ฉันไม่มีฮาร์ดไดรฟ์ภายนอกสำหรับสำรองข้อมูลของฉัน ผมอยากจะตั้งค่าพาร์ทิชันของฉันเป็นปัญหาที่นี่


1
คุณสามารถแบ่งพาร์ติชั่นใหม่แล้วเรียกคืน / home จากการสำรองข้อมูล คุณมีการสำรองข้อมูลใช่ไหม
KeithB

คำตอบ:


13

คำถามของคุณคือความเป็นกลาง distro ดังนั้นถ้าฉันพูดถึงสิ่งที่คุณไม่ได้มีเพียงแค่ใช้เทียบเท่าในด้านของคุณ

ฉันแนะนำให้คุณซื้อภายนอกสำหรับการสำรองข้อมูลเชื่อฉันการสูญเสียข้อมูลของคุณเป็นสิ่งที่แย่ที่สุด ดำเนินการด้วยความเสี่ยงของคุณเอง - แต่ถ้าคุณไม่สามารถรับได้นี่คือสิ่งที่คุณสามารถทำได้

สิ่งที่คุณต้องการ

  • ขนาดของ / home ของคุณ
  • พื้นที่ว่างมากกว่าขนาดของ / home directory ของคุณ
  • เครื่องมือแบ่งพาร์ติชันดิสก์ฉันแนะนำ gparted

สิ่งที่ต้องทำ

  • ตรวจสอบขนาดของ / home directory ของคุณ (ผลลัพธ์สุดท้ายจะเป็นผลรวมโฮม):

    du -h /home

  • ตรวจสอบว่าคุณมีพื้นที่ว่างเพียงพอสำหรับพาร์ติชันใหม่:

    df -h

  • ติดตั้ง gparted

    sudo apt-get install gparted

คุณต้องการพื้นที่ว่างมากกว่าขนาดของ / home directory ของคุณ หากคุณไม่มีพื้นที่ว่างคุณจะไม่สามารถสร้างพาร์ติชันใหม่นั้นและต้องย้ายข้อมูลของคุณไปยังภายนอก

หากคุณมีพื้นที่ว่างให้ใช้ gparted เพื่อลดขนาดพาร์ติชันที่มีอยู่ของคุณแล้วสร้างพาร์ติชันใหม่ด้วยพื้นที่ว่างที่ไม่ได้ถูกจัดสรร เมื่อพาร์ติชันใหม่ของคุณพร้อมแล้วให้สังเกตว่าเป็น / dev / sdax (ใช้sudo fdisk -lเพื่อดูสิ่งนี้) และคัดลอกไฟล์ / home ของคุณไปที่มัน

ใช้พาร์ติชันใน distro ใหม่

คุณกล่าวถึงการติดตั้ง distro อื่นหากคุณวางแผนที่จะแทนที่ distro ปัจจุบันของคุณแล้วในระหว่างการติดตั้งคุณควรถูกขอให้ตั้งค่าพาร์ติชัน ณ จุดนี้คุณสามารถระบุพาร์ติชันนี้เป็น / home เลือกที่จะไม่ฟอร์แมตและทุกอย่างจะดีคุณสามารถข้ามส่วนต่อไปนี้

หากคุณต้องการให้ distro ปัจจุบันทำงานกับพาร์ติชั่นใหม่ / บ้านให้ทำตามหัวข้อนี้:

เมาท์พาร์ติชันใน distro ที่มีอยู่

เราต้องบอกให้ OS ของคุณใช้พาร์ติชั่นเป็นบ้านใหม่ของคุณเราทำสิ่งนี้ใน fstab แต่ก่อนอื่นให้เราหา UUID ของพาร์ติชั่นใหม่นี้:

ls -l /dev/disk/by-uuid

อ้างอิงข้ามพาร์ทิชันใหม่ของคุณ / sdaX และคัดลอก UUID 3d866059-4b4c-4c71-a69c-213f0e4fbf32ของมันดูเหมือนเหมือง

fstab สำรอง: sudo cp /etc/fstab /etc/fstab.bak แก้ไข fstab:sudoedit /etc/fstab

แนวคิดคือการเพิ่มบรรทัดใหม่ที่เมาท์พาร์ติชันที่ / home ใช้ UUID ของคุณเองไม่ใช่ของที่ฉันโพสต์ที่นี่;)

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
UUID=3d866059.. /home           auto    default         0       1

บันทึกและรีสตาร์ทและทดสอบว่าพาร์ติชันใหม่เชื่อมต่อกับ / home รันdf -hรายการพาร์ติชั่นที่เมาท์ทั้งหมด / home ควรอยู่ในรายการนั้น


หมายเหตุ

  • อาจเป็นความคิดที่ดีที่จะทำความคุ้นเคยกับ fstabหากคุณไม่รู้จักดี แค่ใช้เวลาคิดเกี่ยวกับแต่ละขั้นตอน
  • หากคุณติดตั้ง distro ใหม่และใช้ชื่อเข้าสู่ระบบเดียวกันไฟล์เก่า / โฮมของคุณจะตกอยู่ภายใต้ความเป็นเจ้าของของคุณโดยอัตโนมัติ
  • นี่ไม่ใช่หัวข้อเล็กน้อยที่จะกล่าวถึงในโพสต์เดียว แต่ฉันคิดว่าฉันได้รับประโยชน์มากที่สุด :)

ฉันกำลังพยายามใช้ gparted แต่ฉันไม่สามารถปรับขนาด / พาร์ติชัน คุณมีคำแนะนำเกี่ยวกับการปรับขนาดพาร์ติชั่นรูทหรือไม่? ฉันอาจใช้ Parted Magic ทำจากซีดีสด
vanillaike

1
ใช่คุณต้องทำจาก Live CD เพราะระบบไฟล์นั้นติดตั้งโดยระบบปฏิบัติการที่ทำงานอยู่ Ubuntu Live CD, Knoppix หรือ Magic Parted จะทำงานได้ทั้งหมด
กลับ

3

ชื่อของโพสต์และคำถามของคุณทำให้ฉันสับสน คุณต้องการที่จะแยกhomeพาร์ติชันของคุณหรือคุณเพียงแค่ต้องการติดตั้งใหม่และเก็บไว้เหมือนกันhome?

หากสิ่งที่คุณต้องการคือการติดตั้งระบบปฏิบัติการใหม่ทั้งหมดในขณะที่รักษาไว้homeคุณสามารถสำรองข้อมูลของคุณhomeในสถานที่ที่จะไม่ได้รับผลกระทบจากการติดตั้งจากนั้นคืนค่าหลังจากนั้นพร้อมการแก้ไขสิทธิ์ (ใช้chown -R username:groupnameเพื่อให้แน่ใจว่า )

หากคุณต้องการที่จะปฏิบัติตามวิธีปฏิบัติที่ดีที่สุดและแยกของคุณhomeแล้วนี่คือคู่มือที่คุณต้องการ มันเขียนขึ้นสำหรับ Ubuntu แต่ฉันคิดว่าสิ่งเดียวกันจะผิดเพี้ยนไป


ขอโทษสำหรับความสับสน. ฉันต้องการแยกบ้านของฉันออกเป็นพาร์ติชัน
วานิลลาike

คำเตือน: ขณะนี้ลิงก์ใน "การแก้ไขสิทธิ์" กระเด้งออกไปหนึ่งเว็บไซต์ที่แตกต่างกันสองเว็บไซต์สุดท้ายซึ่งแจ้งให้หนึ่งเพื่อติดตั้ง Adobe Flash ในแบบจำลองการโต้ตอบการติดตั้งมองหาหลบ
user66001

ฉันยกเลิกการเชื่อมโยง "ได้รับอนุญาตแก้ไข" และคัดลอกในคำแนะนำจากบทความเดิมซึ่งผมพบว่าเก็บไว้
mattdm

2

สมมติว่าคุณมีพาร์ติชันแยกต่างหากอยู่แล้ว (และถ้าคุณไม่มีคุณอาจต้องการใช้gpartedหรือสิ่งที่คล้ายกันเพื่อสร้างพาร์ติชัน) คุณเพียงทำสิ่งต่อไปนี้ (ควรเป็นผู้ใช้รูท):

 cp -R /home/whatever /path/to/destination
 mv /home/whatever /home/whatever.orig
 ln -s /path/to/destionation /home/whatever 

จากนั้นสมมติว่าทุกอย่างทำงานอย่างที่ควรจะเป็น (เข้าสู่ระบบในฐานะผู้ใช้และทดสอบ)

 rm -rf /home/whatever.orig 

สิ่งนี้จะคัดลอกไดเรกทอรีทั้งหมด (และเนื้อหาทั้งหมด) ไปยังตำแหน่งเมานต์ปลายทางเปลี่ยนชื่อโฮมไดเร็กตอรี่ดั้งเดิม (ในกรณีที่มีบางสิ่งผิดพลาดในกระบวนการจากนั้นเราสามารถกู้คืนได้) สร้างลิงก์สัญลักษณ์จากตำแหน่งใหม่เป็นบ้านดั้งเดิม ไดเรกทอรี (ซึ่งทุกอย่าง (เช่น / etc / passwd) ยังคงชี้ไปที่) จากนั้นสมมติว่ามันใช้งานได้ลบสำเนาสำรองที่เราทำไว้ออกจากสำเนาที่เราใส่ไว้ในระบบแฟ้มปลายทาง


นี่ไม่ได้ใช้/homeเป็นจุดยึดสำหรับพาร์ติชันใหม่จริงๆ มันเป็นแค่การเชื่อมโยงมัน
Matthew Flaschen

มันเป็นสิ่งเดียวกันอย่างมีประสิทธิภาพ เพียงเพราะ / home / ชื่อผู้ใช้เป็น symlink ไม่ได้หมายความว่ามันจะไม่ทำงาน หากคุณต้องการใส่บัญชีผู้ใช้ทั้งหมดในพาร์ติชันอื่นเพียงแค่เปลี่ยนบรรทัด 'cp -R' เป็น do / home แทน / home / ชื่อผู้ใช้
Matt Simmons
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.