สับสนใช่มั้ย ขออธิบายหน่อย
ทำไม?
- ซอฟต์แวร์แบบ 32 บิตทำงานได้ดีบนเคอร์เนล 64 บิตพร้อมฮาร์ดแวร์ที่รองรับ 64 บิต
- ซอฟต์แวร์บางตัวยังคงต้องใช้ไลบรารี 32 บิต นี่ไม่ดี แต่บางครั้งเราไม่มีอำนาจที่จะเปลี่ยนแปลงสิ่งนี้
- ซอฟต์แวร์แบบ 32 บิตจะต้องมีอยู่ในระบบเพื่อให้เป็นไปตามการพึ่งพาดังนั้นจึงใช้ที่เก็บแบบ 32 บิตเช่นกัน
ฉันมาจากต้นปี 2554 เกิดอะไรขึ้น
ใน Ubuntu รุ่น 64 บิตก่อน 11.10 ชุดของไลบรารี 32 บิตทั่วไปบางชุดถูกรวมอยู่ในia32-libs
แพ็คเกจเดียวที่แสดงถึง APT / Dpkg ว่าเป็น 64 บิตและอยู่ในตำแหน่งดังกล่าวในที่เก็บ หากคุณเกิดขึ้นต้องมีห้องสมุดเดียวสำหรับโปรแกรมที่มันจะขึ้นอยู่กับ 150 + MB ของห้องสมุด 32 บิต1 เห็นได้ชัดว่านี่ไม่ใช่การออกแบบที่ดี
สถาปัตยกรรมหลาย ๆ
แนวคิดใหม่นี้คือการแนะนำความสามารถ "Multiarch" ให้กับ APT / Dpkg และเครื่องมือรอบ ๆ นี้ถูกนำเสนอในหลายพิมพ์เขียวใน Launchpad, ที่นี่เป็นหนึ่งในนั้น Oneiric (11.10) กลายเป็นรุ่นแรกที่รองรับ Multiarch
มันทำงานยังไง?
คุณสามารถบอก Dpkg ว่าสถาปัตยกรรมของระบบของคุณสามารถทำงานได้ ในการติดตั้ง 64- บิต 64.0 ของฉันนี่คือที่นี่:
$ cat /etc/dpkg/dpkg.cfg.d/multiarch
foreign-architecture i386
มันเปิดโลกทั้งโลกของi386
แพคเกจโดยamd64
ยังคงเป็นค่าเริ่มต้น:
$ apt-cache show libqt4-core | grep -E "^(Filename|Architecture)"
Architecture: amd64
Filename: pool/universe/q/qt4-x11/libqt4-core_4.8.1-0ubuntu4.3_amd64.deb
$ apt-cache show libqt4-core:i386 | grep -E "^(Filename|Architecture)"
Architecture: i386
Filename: pool/universe/q/qt4-x11/libqt4-core_4.8.1-0ubuntu4.3_i386.deb
ดังกล่าวข้างต้นแสดงให้เห็นตัวอย่างที่ Multiarch ช่วยดูแลแพคเกจที่จะเพียงแค่ทำให้แพคเกจของพวกเขาขึ้นอยู่กับlibqt4-core:i386
ตัวอย่างและทำให้มันเป็นไปได้ที่จะติดตั้งใด ๆ 32 บิตห้องสมุด / แพ็กเกจ (และทำให้การติดตั้งแพคเกจใด ๆ ที่ขึ้นอยู่กับห้องสมุด 32 บิตใด ๆ / แพคเกจ) แทนที่จะเป็นชุดที่เลือกไว้ล่วงหน้า
ia32-libs
ความเข้ากันได้
ในกรณีที่คุณคุ้นเคยกับการติดตั้งia32-libs
แพคเกจเป็นแพ็คเกจความสะดวกในการติดตั้งชุดพื้นฐานของไลบรารี 32- บิตพื้นฐานตอนนี้คุณสามารถใช้งานได้แล้ว นี่เป็น metapackage ที่เรียบง่ายขึ้นอยู่กับชุดของไลบรารี (หรืออย่างน้อยที่คล้ายกันมาก) แต่จะถูกติดตั้งด้วยขุมพลังของ Multiarchia32-libs-multiarch
การอ่านที่เกี่ยวข้องเพิ่มเติม
1 สำหรับ Lucid (10.04) ขนาดการติดตั้งia32-libs
แพ็กเกจคือ 155,812.0 kB
dpkg --print-foreign-architectures
มากกว่า/etc/dpkg/dpkg.cfg.d/multiarch
catting ไม่มีอยู่หลังจาก 12.04