ลินุกซ์ distros ที่แตกต่างกันแชร์โฟลเดอร์เดียวกัน


58

เป็นวิธีที่ดีที่สุดในการแบ่งปัน/homeไดเรกทอรีเดียวกันระหว่างการกระจาย linux แตกต่างกันอย่างไร

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

แล้วฉันจะทำอย่างไร


3
ฉันกำลังแชร์โฟลเดอร์บ้านของฉันระหว่าง 3 distros linux นี่คือปัญหาสำคัญอย่างหนึ่งของสิ่งนี้ที่ฉันได้ตระหนักว่าอาจหลีกเลี่ยงไม่ได้ แม้ว่าจะเป็นที่ถกเถียงกันอยู่ว่าการเข้าถึงไฟล์เดียวกันกับแอพพลิเคชั่นรุ่นต่าง ๆ ไม่ควรทำให้ข้อมูลสูญหาย แต่ดูเหมือนว่าเป็นเรื่องปกติที่แคชและดัชนีการค้นหาต่างๆจะต้องถูกสร้างใหม่ทุกครั้งที่คุณเปิดตัวที่แตกต่างกัน เวอร์ชันของแอปพลิเคชัน ดูเหมือนว่าฉันจะพบสิ่งนี้กับดัชนีการค้นหาเดสก์ท็อป GNOME
Alexey

คำตอบ:


40

แน่นอนมันเป็นไปได้ที่จะแชร์โฮมโฟลเดอร์ (หรือพาร์ติชัน) เหนือลินุกซ์ที่ต่างกัน

แต่จดบันทึกต่อไปนี้:

  • UID และ GID จะต้องเหมือนกันในแต่ละดิสทริบิวชันสำหรับผู้ใช้บางคน
  • (ดังที่อธิบายไว้แล้ว) ไฟล์การกำหนดค่าที่แตกต่างกันสำหรับโปรแกรมเดียวกันอาจส่งผลให้เกิดพฤติกรรมที่ไม่คาดคิด
  • หากคุณติดตั้งดิสทริบิวชันทั้งหมดลงในโฟลเดอร์การบูตเดียวกันตรวจสอบให้แน่ใจว่า bootloader จัดการการกระจายที่แตกต่างกันอย่างถูกต้อง

ฉันมีการตั้งค่า (เสมือน) ที่ทำงาน:

/dev/sda (40GB)
 +-/dev/sda1   /boot (100MB, ext2)
 +-/dev/sda3   swap  (2GB)
 +-/dev/sda4   /home (20GB, ext4)
 +---/dev/sda5  /root (Ubuntu 10.04, 5GB, ext4)
 +---/dev/sda6  /root (Fedora 14, 5GB, ext4)
 +---/dev/sda7  /root (openSUSE 11.3, 5GB, ext4)
 +---/dev/sda8  /root (ArchLinux 2010.05, 5GB, ext4)

Ubuntu และ Fedora ทำงานทั้ง Gnome 2.30, openSUSE มี KDE4 และ ArchLinux LXDE การแจกแจงทั้งหมดมีไฟล์สำหรับเริ่มระบบที่จำเป็นในพาร์ติชันเดียว การสลับระหว่างการแจกแจงให้การกำหนดค่าผู้ใช้แบบต่อเนื่องตามที่ตั้งใจไว้

ความเป็นไปได้อื่น ๆ จะเป็นโฟลเดอร์บ้านที่มีน้ำหนักเบา (ไม่จำเป็นต้องเป็นทั้งพาร์ติชัน) สำหรับการแจกแจงแต่ละรายการเพียงให้ไฟล์การกำหนดค่าที่จำเป็นเท่านั้น (.gnome2, .kde4, .compiz, .themes ฯลฯ ) และ พาร์ทิชันข้อมูลที่ใช้ร่วมกันกับสิ่งที่ "หนัก" (เอกสารรูปภาพวิดีโอเพลง ฯลฯ ) ลิงก์สัญลักษณ์ในโฟลเดอร์โฮมของการแจกจ่ายนั้นจะชี้ไปที่พาร์ติชันที่ใช้ร่วมกัน

หลังจากนี้สามารถขยายได้ตามความประสงค์เพื่อรวมสิ่งอื่น ๆ เช่นกัน
ตัวอย่าง: คุณeclipseติดตั้ง IDE ในดิสทริบิวชันทั้งหมดและต้องการให้มีการกำหนดค่าและไฟล์ต้นฉบับเดียวกันทุกที่ คุณสามารถสร้างลิงค์สัญลักษณ์ในแต่ละโฮมดิสทริบิวชั่นไปยังลิงค์ที่แชร์เพื่อให้ได้สิ่งนี้

นี่จะเป็น Ubuntu:

$ ls -l /home/user
.eclipse -> /mnt/shared/.eclipse
.gnome2
Documents -> /mnt/shared/Documents
workspace -> /mnt/shared/workspace
...

และ openSUSE:

$ ls -l /home/user
.eclipse -> /mnt/shared/.eclipse
.kde4
Documents -> /mnt/shared/Documents
workspace -> /mnt/shared/workspace
...

และอื่น ๆ ..

หากคุณไม่แน่ใจเกี่ยวกับการรบกวนไฟล์กำหนดค่าให้ลองใช้วิธีที่สองปลอดภัยกว่าและค้นหาว่าองค์ประกอบใดที่สามารถแชร์ได้อย่างง่ายดายระหว่างการกระจายที่ติดตั้งไว้


1
คำตอบที่ดี. ฉันขอแนะนำให้คุณและใครก็ตามที่ลองสิ่งที่คล้ายกันลองดูที่ LVM
jmtd

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

1
ฉันใช้บ้านน้ำหนักเบาและอีกพาร์ติชันสำหรับของหนัก ๆ ด้วยลิงก์สัญลักษณ์ ใช้งานได้ดีและคุณสามารถเพิ่มการกำหนดค่าบางอย่างสำหรับโปรแกรมทั่วไปเช่น firefox ในพาร์ทิชัน "สิ่งที่หนัก" ที่ใช้ร่วมกันและแทนที่ไฟล์ด้วย symlinks
Fernando Briano

ฉันวางแผนที่จะทำอะไรแบบนี้กับคอมพิวเตอร์ที่บ้านของฉันเนื่องจากการอัปเดตครั้งล่าสุดจาก Ubuntu ทิ้งไว้ค่อนข้างบั๊ก ฉันทดสอบสถานการณ์บน virtual virtual ก่อนและโฟลเดอร์ / home เดียวกันทำให้เกิดปัญหามากมายโดยเฉพาะกับตัวจัดการเดสก์ท็อปเนื่องจากการอนุญาตบนพาร์ติชันนั้น ฉันคิดว่าตัวแยก / โฮมที่มีลิงก์ sym จะเป็นสิ่งที่ฉันทำเพื่อพีซีของฉัน ฉันจะใช้: CentOS, Ubuntu, Debian, openSUSE, อาจจะเป็นไฟล์ Fedora ทั้งหมดบน LVM, เป็นพาร์ติชั่นหลักสำหรับหลัก / บูทและพาร์ติชั่นเสริมสำหรับไฟล์ OS / boot อื่น ๆ ทั้งหมด เนื่องจากพวกเขาจะไม่ทำงานใน LVM
CenterOrbit

11

ฉันจะไม่แนะนำให้แบ่งปันของคุณ/homeระหว่างการกระจายที่แตกต่างกันอย่างสิ้นเชิง โปรแกรมเดียวกันที่อ่านและเขียนไฟล์กำหนดค่ารุ่นเดียวกันอาจส่งผลให้เกิดปัญหาเช่นหากรุ่นที่ใหม่กว่าเขียนสิ่งที่รุ่นเก่าไม่เข้าใจ

หากคุณไม่คำนึงถึงเส้นทางที่แตกต่างให้บันทึกไฟล์ของคุณใน/homeหนึ่ง distro และติดตั้งที่ / home ที่ตำแหน่งอื่นใน distro อื่น (เช่น/home/<user>/fedora) จากนั้น /home/<user>/foo/barสามารถเข้าถึงได้ผ่านทาง/home/<user>/fedora/foo/bararch ตัวอย่างเช่น

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


1
ฉันมีการตั้งค่าค่อนข้างเป็นเช่นนี้ แต่มีโฟลเดอร์ ~ / Docs / นั่นคือที่ทั้งหมด "ข้อมูลของฉัน" คือนอกเหนือจากนี้เป็นข้อมูลโปรแกรมอื่น ๆ (เฉพาะกับเครื่องหรือไม่) ไฟล์การกำหนดค่าคีย์ได้รับการสำรองอย่างสม่ำเสมอจาก ~ / ถึง ~ / Docs / configfiles /
kasterma

ให้ผู้ใช้แต่ละคนมีสิ่งของท้องถิ่น ฉันเดาว่าการจัดการแตกต่างเหล่านั้นเป็นงานหนักกว่าเพียงแค่ส่วน "คนธรรมดา" (ดนตรี, การดาวน์โหลด Codding, เอกสาร, ฯลฯ ) โฟลเดอร์และไม่ dotfiles หรืออื่น ๆ เช่นหรือ/usr /optด้วยวิธีนี้คุณสามารถสำรองข้อมูลจากโฟลเดอร์ที่คุณใช้ทุกวันในทุกกล่อง
erm3nda

7

คุณสามารถใช้ symlink

ln -s /mnt/mydisk/mydocuments /home/user4123/mydocuments

ในแต่ละ distro ครั้งเดียว ตอนนี้แต่ละ distro มีไฟล์กำหนดค่าของตัวเอง


มันใช้งานได้สำหรับฉัน!
Martin Delille

@MartinDelille ฉันขอปัญหาให้คุณเมื่อคุณแสดงความคิดเห็นเมื่อ 1 ปีที่ผ่านมาได้หรือไม่ ยังมีความสุขที่จะรวมไฟล์ทั้งหมดหรือไม่ ซึ่ง distros
erm3nda

มันใช้สำหรับ Ubuntu / ElementaryOS แต่ฉันไม่ได้ใช้อีกต่อไป
Martin Delille

6

คุณสามารถแชร์โฮมไดเร็กตอรี่ระหว่างดิสทริบิวชั่นแม้จะอยู่ในรูปแบบของยูนิกซ์ ผู้ที่มีโฮมไดเร็กตอรี่แชร์ผ่าน NFS บนเครือข่ายที่ต่างกันทำตลอดเวลา

คุณอาจพบปัญหาหากคุณเรียกใช้บางรุ่นที่แตกต่างกันของโปรแกรมในระบบต่าง ๆ ที่แชร์โฮมไดเร็กตอรี่เดียวกัน โปรแกรมที่มีปัญหานั้นมักจะเป็นโปรแกรมที่มี GUIs ที่ยอดเยี่ยมที่สุดเช่น Gnome ตัวอย่างเช่น Firefox จะอัปเกรดโปรไฟล์ของคุณเป็นเวอร์ชันใหม่อย่างมีความสุข แต่อาจไม่อนุญาตให้คุณโหลดโปรไฟล์นั้นอีกครั้งในเวอร์ชันก่อนหน้า


5

ฉันขอแนะนำให้ใช้ symlink สำหรับไฟล์การกำหนดค่าทั่วไปที่คุณพบว่าขาดหายไปจากที่หนึ่งไปยังอีกที่หนึ่ง สร้างไดเรกทอรีใหม่ในสถานที่ที่สามารถเข้าถึงได้ทั้ง distros ย้ายไฟล์และ symlink จากที่นั่น

ไม่เพียงควบคุมสิ่งที่ได้รับการแบ่งปันเท่านั้น แต่มันทำให้การย้ายการตั้งค่าของคุณไปยังเครื่องอื่น ๆ ทำได้ง่ายมากเพื่อให้พวกเขาอยู่ภายใต้การควบคุมเวอร์ชันหากคุณต้องการและสำรองข้อมูล มีเครื่องมือแม้แต่ช่วยให้คุณทำสิ่งเหล่านี้ตามสมมติฐานที่คุณทำงานด้วยวิธีนี้ (ดูตัวอย่างเช่นคิดถึงบ้าน)

เท่าที่การตั้งค่าไดเรกทอรีทั่วไปสำหรับสิ่งต่าง ๆ เช่นเอกสารวิดีโอเพลง ฯลฯ มีมาตรฐานสำหรับสิ่งนี้ในรูปแบบของผู้ใช้ XDG dirs ซึ่งกำหนดค่าสิ่งต่าง ๆ เช่นเดสก์ท็อปเพลงรูปภาพวิดีโอ ฯลฯ ( http: // freedesktop.org/wiki/Software/xdg-user-dirs ) ไดเรกทอรีสามารถอยู่นอกบ้าน dir ของคุณหรือคุณสามารถเชื่อมโยงตามที่คุณต้องการและกำหนด dirs ให้ชี้ไปที่ symlink ฉันรู้ว่า Gnome ใช้งานได้กับสิ่งเหล่านี้และถือว่า KDE ทำเช่นเดียวกัน

ฉันลองใช้ dir บ้านเดิมทั้งหมดในอดีตและแอปพลิเคชันรุ่นต่างๆทำให้เกิดปัญหาอย่างรวดเร็ว


3

คุณสามารถตั้งค่าโฟลเดอร์เอกสารเริ่มต้นในตำแหน่งหรือพาร์ติชันอื่นและเหมือนกันสำหรับโฟลเดอร์อื่น ๆ เช่นโฟลเดอร์เดสก์ท็อปโฟลเดอร์ดาวน์โหลดและอื่น ๆ

แต่ละแอปพลิเคชันมีวิธีใช้เส้นทางเริ่มต้นเป็นของตัวเองดังนั้นครั้งแรกจะเป็นงานที่ยาวนาน ...

ตัวอย่างบางส่วน

KDE http://docs.kde.org/stable/en/kdebase-workspace/kcontrol/paths/index.html

GNOME http://ubuntuforums.org/showthread.php?t=631711

หากคุณไม่พบคำแนะนำเกี่ยวกับวิธีการเปลี่ยนค่าเริ่มต้นสำหรับซอฟต์แวร์บางตัวคุณสามารถลองขอได้ที่นี่อีกครั้ง

แล้วมีวิธีที่ยาก แต่ชาญฉลาดนั่นคือการตั้งค่าการกระจายที่แตกต่างกันบนพีซีเครื่องเดียวกันที่ใช้เคอร์เนลเดียวกัน

ฉันแนะนำให้คุณ (ทั้งหมด) เพื่อประโยชน์ของความอยากรู้เพื่อดูบทความนี้:

http://teddziuba.com/2011/01/multiple-concurrent-linux-distros.html

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.