แชร์ไลบรารีที่ติดตั้งระหว่าง Debian และ Ubuntu


19

ฉันกำลังพยายามแบ่งพาร์ติชันฮาร์ดดิสก์และติดตั้ง Ubuntu และ Debian ดังนั้นฉันไม่จำเป็นต้องเก็บรักษาข้อมูลเก่าไว้ รุ่นล่าสุดของทั้งสองระบบปฏิบัติการจะถูกนำมาใช้

ฉันพยายามเข้าใจว่าฉันสามารถติดตั้งไลบรารีโปรแกรม ฯลฯ ผ่าน apt ใน Ubuntu ได้อย่างไรและไม่ติดตั้งใหม่บน Debian และในทางกลับกัน ที่นี่ฉันคิดว่าทุกอย่างที่ใช้ได้กับ Ubuntu จะใช้งานได้กับ Debian และหวังว่าในทางกลับกันก็ดีเช่นกัน

ฉันรู้ว่าฉันสามารถแบ่งปัน / บ้าน แต่นั่นไม่ใช่จุดที่ libs / โปรแกรมส่วนใหญ่จะเป็น ฉันควรใส่ / usr บนพาร์ติชั่นอื่นและ mount / usr บนทั้งสอง OS หรือบางทีฉันแค่ต้องติดตั้ง / usr / local หรือมีวิธีที่ดีกว่าที่จะทำหรือไม่


11
สมมติฐานของคุณผิด
Anwar

10
สมมติฐานของคุณผิดมาก
Rinzwind

4
อืมคำถามลงคะแนนนี้ทำให้ฉันสับสน ไม่ใช่คำถามที่ถูกต้องตามกฎหมายที่เต็มไปด้วยความหวังและจินตนาการในอุดมคติของเดเบียนทุกคนที่แชร์ไบนารี (มันเป็นคอมพิวเตอร์เครื่องเดียวกันที่มีสถาปัตยกรรมเดียวกันหลังจากนี้หรือไม่)
dev_nut

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

1
เพิ่มขึ้นเนื่องจากเป็นคำถามที่ถูกต้องและไม่ใช่คำถามที่ไม่มีประสบการณ์ทั้งหมด
Jos

คำตอบ:


16

หรือมีวิธีที่ดีกว่าที่จะทำหรือไม่

  • ติดตั้งซอฟต์แวร์ทั้งหมดที่คุณใช้เป็นภาพรวม
  • /opt/ติดตั้งซอฟต์แวร์ทั้งหมดที่คุณใช้ในพาร์ทิชันที่ชื่อว่า นั่นน่าจะเป็นการติดตั้งแหล่งที่มา ( tar.gz)

วิธีการติดตั้งทั้งสองนั้นสามารถใช้ร่วมกันได้ในการกระจาย อันสุดท้ายที่คุณจะต้องเพิ่มบางสิ่งบางอย่างเพื่อ PATH หรือคัดลอกบริการลงในระบบหลัก

คุณไม่สามารถแชร์ / usr / หรือ / var / ระหว่าง 2 การติดตั้งที่แตกต่างกัน คุณสามารถแบ่งปัน / usr / local / แม้ว่า 2 ดิสทริบิวชันสามารถมีไลบรารีรุ่นต่าง ๆ ดังนั้นคุณอาจจำเป็นต้องติดตั้งไลบรารีบางอย่างบนระบบใดระบบหนึ่ง แต่ไม่กี่กิโลไบต์ที่คุณประหยัดไม่คุ้มกับเวลาที่คุณจะใช้กับเรื่องนี้ รวมทั้งคุณมีแนวโน้มที่จะยังคงทำลายระบบใดระบบหนึ่ง


คำตอบนี้จริง ๆ แล้วพยายามให้วิธีแก้ไขปัญหาให้ฉัน เมื่อคุณบอกว่าคุณไม่ควรแชร์ / usr ฉันไม่ควรทำแม้จะใช้เวอร์ชั่นอูบุนตูเดียวกันหรือไม่?
dev_nut

@dev_nut คุณไม่ควรแชร์/usr/*ระหว่างสองระบบ คุณสามารถแบ่งปัน/usr/local/*ระหว่างสองแม้ว่าคุณจะยังคงเสี่ยงของซอฟต์แวร์ 'ท้องถิ่น' ไม่เข้ากันระหว่างสองรุ่นในระดับหนึ่ง (ดังนั้นfstabกฎของคุณจะถูก/usr/local/*เมาท์บนพาร์ติชั่นอื่นและนั่นจะถูกแชร์ในทั้งสอง)
Thomas Ward

1
@dev_nut สิ่งนั้น ซอฟต์แวร์รุ่นต่าง ๆ 2 รุ่นในระบบปฏิบัติการ 2 ระบบจะทำให้หนึ่งในนั้นเกิดขัดข้อง ถัดจากนั้น: อาจมีความแตกต่างระหว่างพวกเขาในการตั้งค่าสำหรับผู้ใช้เริ่มต้นที่เกิดความสับสน (ผู้ใช้อยู่ใน / etc / รหัสผ่าน) การมีผู้ใช้เดียวกันกับ UID และ GUID ที่แตกต่างกันจะเป็นปัญหา
Rinzwind

11

สิ่งหนึ่งที่คุณไม่เคยทำคือผสมผสานที่เก็บ Debian และ Ubuntu, ไลบรารีระบบ, โปรแกรม, ฯลฯ มันจะทำลายทั้งสองระบบอย่างหนาแน่น (สิ่งนี้รวมไปถึงการผสม Ubuntu และตัวแปรที่ไม่เป็นทางการเช่นมิ้นท์และในขณะที่คุณสามารถผสม Kubuntu และ Ubuntu กับ 16.04 ในทางทฤษฎีคุณไม่ควรและควรแยกระบบหลักออกจากกัน)

อูบุนตูกำลังอยู่ในช่วงปล่อยอย่างรวดเร็วพร้อมกับปรับปรุงซอฟต์แวร์ห้องสมุดมากกว่า Debian สิ่งที่ตรงกันข้ามก็เป็นจริงเช่นกัน - Debian ไม่มีห้องสมุดที่อัปเดต ฯลฯ

การผสมและการจับคู่จะทำให้ระบบระเบิด นี่คือเหตุผลที่คุณไม่แชร์ไลบรารีด้วยกัน

หากต้องการทำเช่นนั้นจะทำให้ทั้งสองระบบแตก อย่าพยายามใช้ไลบรารีและโปรแกรมร่วมกันระหว่างสองระบบ

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


3

อีกจุดหนึ่งที่ฉันต้องการที่จะเพิ่มคำตอบที่มีอยู่เป็นเรื่องเกี่ยวกับaptและdpkgและวิธีการที่พวกเขาจัดการข้อมูลเกี่ยวกับโปรแกรมที่ติดตั้ง

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

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

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

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