मूल समर्थन
चूंकि उबंटू 11.04 और डेबियन मट्ज़ी (7.0), डेबियन और उबंटू में मल्टीकार सपोर्ट है: आप x86_32 (i386) और x86_64 (amd64) पैकेज को एक ही सिस्टम पर सीधे तरीके से मिला सकते हैं। इसे मल्टीकार सपोर्ट के रूप में जाना जाता है । अधिक विवरण के लिए देखें warl0ck का जवाब ।
पुराने रिलीज में, डिबियन और उबंटू जहाज amd64 पर 32-बिट पुस्तकालयों की संख्या के साथ। 32-बिट पुस्तकालयों के मूल सेट के लिए पैकेज स्थापित करें , और संभवतः अन्य पैकेज जो इस पर निर्भर करते हैं। यदि आपके पास सभी आवश्यक पुस्तकालय हैं तो आपका 32-बिट निष्पादन योग्य बस चलना चाहिए। विकास के लिए, स्थापित करें , और संभवत: अन्य पैकेज जो इस पर निर्भर करते हैं जैसे कि । आप उपयोगी भी मिल सकते हैं , और डेबियन पर। Ix86 के संकलन के लिए gcc का विकल्प पास करें ।ia32-libs
gcc-multilib
g++-multilib
binutils-multiarch
ia32-libs-dev
-m32
ध्यान दें कि अगर आपने 32-बिट उपयोगकर्ता मोड घटक स्थापित किए हैं, तब uname -m
भी x64_64
यदि आप 64-बिट कर्नेल चला रहे हैं, तब भी दिखाई देगा । नीचे वर्णित श्रोत इस बात का ध्यान रखता है।
Schroot
यह अनुभाग एक अन्य लिनक्स वितरण "अंदर" एक डेबियन जैसी वितरण को स्थापित करने के लिए एक मार्गदर्शिका है। इसे 64-बिट उबंटू के अंदर 32-बिट उबंटू स्थापित करने के संदर्भ में कहा जाता है, लेकिन इसे अन्य स्थितियों के लिए छोटे संशोधनों के साथ लागू करना चाहिए, जैसे कि डेबियन स्थिर अंदर डेबियन स्थिर स्थापित करना या इसके विपरीत।
परिचय
विचार यह है कि एक उपशीर्षक में एक वैकल्पिक वितरण स्थापित करें और उसी से चलाएं। आप 64-बिट सिस्टम पर 32-बिट सिस्टम स्थापित कर सकते हैं, जिस तरह से, या आपके वितरण का एक अलग रिलीज, या स्थापित पैकेजों के विभिन्न सेटों के साथ एक परीक्षण वातावरण।
chroot
कमान और सिस्टम कॉल फाइल सिस्टम है कि निर्देशिका वृक्ष की एक सबट्री के लिए प्रतिबंधित है के एक दृश्य के साथ एक प्रक्रिया शुरू होता है। डेबियन और उबंटू जहाज श्रोत , एक उपयोगिता जो इस विशेषता के चारों ओर लपेटता है ताकि अधिक उपयोगी उप-वातावरण बनाया जा सके।
स्थापित schroot
पैकेज ( डेबियन ) और debootstrap
पैकेज ( डेबियन )। डेबूटस्ट्रैप को केवल वैकल्पिक वितरण की स्थापना के लिए आवश्यक है और बाद में हटाया जा सकता है।
विद्वत्ता की स्थापना करें
यह उदाहरण बताता है कि 32-बिट Ubuntu 10.04LTS (ल्यूसिड लिनेक्स) को वैकल्पिक वातावरण कैसे सेट किया जाए। एक समान सेटअप को डेबियन और उबंटू के अन्य रिलीज के साथ काम करना चाहिए। /etc/schroot/chroot.d/lucid32
निम्नलिखित सामग्री के साथ एक फ़ाइल बनाएँ :
[lucid32]
description=Ubuntu 10.04LTS 32-bit
directory=/32
type=directory
personality=linux32
users=yourusername
groups=users,admin
लाइन directory=/32
schroot को बताती है कि हम 32-बिट इंस्टॉलेशन की फ़ाइलों को कहाँ रखेंगे। रेखा का username=yourusername
कहना है कि उपयोगकर्ता yourusername
को स्क्रोट का उपयोग करने की अनुमति दी जाएगी। रेखा का groups=users,admin
कहना है कि किसी भी समूह में उपयोगकर्ताओं को schroot का उपयोग करने की अनुमति दी जाएगी; आप एक users=…
निर्देश भी रख सकते हैं ।
नया वितरण स्थापित करें
निर्देशिका बनाएं और इसे डीबूटस्ट्रैप के साथ आबाद करना शुरू करें। डीबूटस्ट्रैप निर्दिष्ट वितरण और वास्तुकला के लिए संकुल का एक मुख्य सेट डाउनलोड और इंस्टॉल करता है।
mkdir /32
debootstrap --arch i386 lucid /32 http://archive.ubuntu.com/ubuntu
आपके पास पहले से ही एक कार्य प्रणाली है; क्या है मामूली वृद्धि। /32/etc
जब आप इसे चलाते हैं, तो विशेष रूप से DNS कॉन्फ़िगरेशन /etc/resolv.conf
और विशेष रूप से /etc/passwd
और अन्य फ़ाइलों में उपयोगकर्ता डेटाबेस (यह ओवरराइड किया जा सकता है, दस्तावेज़ीकरण देखें) को Schroot स्वचालित रूप से कई फ़ाइलों को अधिलेखित कर देता है। कुछ और फाइलें हैं जिन्हें आप एक बार और सभी के लिए मैन्युअल रूप से कॉपी करना चाहते हैं:
cp -p /etc/apt/apt.conf /32/etc/apt/ # for proxy settings
cp -p /etc/apt/sources.list /32/etc/apt/ # for universe, security, etc
cp -p /etc/environment /32/etc/ # for proxy and locale settings
cp -p /etc/sudoers /32/etc/ # for custom sudo settings
फाइल /etc/mtab
या /etc/fstab
चिरोट में नहीं होगी । मैं mount
चेरोट में मैन्युअल रूप से कमांड का उपयोग करने की अनुशंसा नहीं करता, इसे बाहर से करें। लेकिन उचित /etc/mtab
रूप से df
काम करने के लिए पर्याप्त रूप से पर्याप्त बनाएं ।
ln -s /proc/mounts /32/etc/mtab
साथ directory
प्रकार, schroot प्रदर्शन करेंगे बाँध माउंट : निर्देशिका के एक नंबर का, यानी उन निर्देशिकाओं माता पिता स्थापना के साथ साझा किया जाएगा /proc
, /dev
, /home
, /tmp
।
चेरोट में सेवाएं
जैसा कि यहाँ बताया गया है, एक विद्वान डेमॉन चलाने के लिए उपयुक्त नहीं है। जब आप schroot से बाहर निकलते हैं, तो schroot में प्रोग्राम मारे जाएंगे। यदि आप इसे और अधिक स्थायी बनाना चाहते हैं, तो मूल निर्देशिका के बजाय "सादे" श्रोत का उपयोग करें, और /etc/fstab
मूल स्थापना पर स्थायी बाँध आरोह सेट करें ।
डेबियन और उबंटू में, इंस्टॉलेशन पर सेवाएं अपने आप शुरू हो जाती हैं। इससे बचने के लिए (जो कि चेरोट के बाहर चल रही सेवाओं को बाधित कर सकता है, विशेष रूप से क्योंकि नेटवर्क पोर्ट साझा किए जाते हैं), चेरोट में सेवाओं को नहीं चलाने की नीति स्थापित करें। निम्न स्क्रिप्ट को इस रूप में रखें /32/usr/sbin/policy-rc.d
और इसे निष्पादन योग्य ( chmod a+rx /32/usr/sbin/policy-rc.d
) बनाएं ।
#!/bin/sh
## Don't start any service if running in a chroot.
## See /usr/share/doc/sysv-rc/README.policy-rc.d.gz
if [ "$(stat -c %d:%i /)" != "$(stat -c %d:%i /proc/1/root/.)" ]; then
exit 101
fi
नई प्रणाली आबाद करें
अब हम चुरोट का उपयोग शुरू कर सकते हैं। आप इस बिंदु पर कुछ और पैकेज स्थापित करना चाहते हैं।
schroot -c lucid32
sudo apt-get update
apt-get install lsb-core nano
...
आपको कुछ स्थानों को बनाने की आवश्यकता हो सकती है, जैसे
locale-gen en_US en_US.utf8
यदि schroot उबंटू के पुराने रिलीज जैसे 8.04 (हार्डी) के लिए है, तो ध्यान दें कि पैकेज ubuntu-standard एक MTA में खींचता है। nullmailer
डिफ़ॉल्ट के बजाय का चयन करें postfix
(आप मेल भेजने के लिए अपने chroot चाहते हो सकता है, लेकिन आप निश्चित रूप से यह किसी भी प्राप्त करने के लिए नहीं चाहते हैं)।
आगे बढ़ते हुए
अधिक जानकारी के लिए, schroot
मैनुअल , schroot FAQ और
schroot.conf
मैनुअल देखें । श्रोत, डेबियन ऑटोबुलेर (बिल्डड) परियोजना का हिस्सा है । डीबूटस्ट्रैप के बारे में Ubuntu समुदाय पृष्ठ पर अतिरिक्त उपयोगी सुझाव हो सकते हैं ।
आभासी मशीन
यदि आपको वैकल्पिक वातावरण के पूर्ण अलगाव की आवश्यकता है, तो वर्चुअल मशीन जैसे KVM ( qemu-kvm ) या VirtualBox का उपयोग करें ।