স্থানীয় সমর্থন
যেহেতু উবুন্টু ১১.০৪ এবং ডেবিয়ান হুইজি (,.০), দেবিয়ান এবং উবুন্টুর একাধিক সমর্থন রয়েছে: আপনি একই সিস্টেমে x86_32 (i386) এবং x86_64 (amd64) প্যাকেজগুলি সোজা উপায়ে মিশ্রিত করতে পারেন। এই হিসাবে পরিচিত হয় multiarch সমর্থন দেখুন warl0ck এর উত্তর আরো বিস্তারিত জানার জন্য।
পুরানো রিলিজে, ডিবিয়ান এবং উবুন্টু বেশ কয়েকটি 32-বিট লাইব্রেরি সহ amd64 এ পাঠায়। 32-বিট লাইব্রেরিগুলির একটি বেসিক সেট এবং সম্ভবত এটির উপর নির্ভরশীল অন্যান্য প্যাকেজগুলির জন্য প্যাকেজটি ইনস্টল করুন । আপনার 32-বিট এক্সিকিউটেবলগুলি কেবলমাত্র আপনার সমস্ত প্রয়োজনীয় লাইব্রেরি থাকলে চালানো উচিত। বিকাশের জন্য, ইনস্টল করুন এবং আবার সম্ভবত অন্যান্য প্যাকেজগুলি যেমন এর উপর নির্ভর করে । আপনি এছাড়াও দরকারী এবং ডেবিয়ান পেতে পারেন। Ix86 এর জন্য সংকলন করতে gcc বিকল্পটি পাস করুন ।ia32-libs
gcc-multilib
g++-multilib
binutils-multiarch
ia32-libs-dev
-m32
মনে রাখবেন যে আপনি 32৪-বিট ব্যবহারকারী মোডের উপাদানগুলি ইনস্টল না করেই a৪-বিট কার্নেল চালাচ্ছেন কিনা uname -m
তা এখনও প্রদর্শিত হবে x64_64
। নীচে বর্ণিত শ্রুট এটি যত্ন করে।
Schroot
এই বিভাগটি একটি আরও লিনাক্স বিতরণ "ভিতরে" ডেবিয়ান-মতো বিতরণ ইনস্টল করার জন্য গাইড। এটি একটি 64-বিট উবুন্টুর ভিতরে 32-বিট উবুন্টু ইনস্টল করার শর্তে বলা হয়, তবে অন্যান্য পরিস্থিতিতে যেমন সামান্য পরিবর্তনের সাথে প্রয়োগ করা উচিত যেমন ডেবিয়ান স্থিতিশীল অভ্যন্তরে দেবিয়ান অস্থির ইনস্টল করা বা তার বিপরীতে।
ভূমিকা
ধারণাটি একটি সাবট্রিতে একটি বিকল্প বিতরণ ইনস্টল করা এবং এটি থেকে চালানো হবে। আপনি সেইভাবে একটি 64-বিট সিস্টেমে 32-বিট সিস্টেম ইনস্টল করতে পারেন, বা আপনার বিতরণের আলাদা প্রকাশ করতে পারেন, বা প্যাকেজগুলির বিভিন্ন সেট ইনস্টল করে একটি পরীক্ষার পরিবেশ।
chroot
কমান্ড এবং সিস্টেম কল ফাইলসিস্টেম ডিরেক্টরিটি গাছের সাবট্রি অবধি সীমিত সে সম্পর্কে একটি দৃশ্য সঙ্গে একটি প্রক্রিয়া শুরু হয়। ডেবিয়ান এবং উবুন্টু শিপ স্ক্রুট , একটি ইউটিলিটি যা আরও ব্যবহারযোগ্য উপ-পরিবেশ তৈরি করতে এই বৈশিষ্ট্যটির চারপাশে আবৃত ।
ইনস্টল করুন schroot
প্যাকেজ ( ডেবিয়ান ) এবং debootstrap
প্যাকেজ ( ডেবিয়ান )। কেবলমাত্র বিকল্প বিতরণ ইনস্টল করার জন্য ডিবুটস্ট্র্যাপ প্রয়োজন এবং পরে এটি মুছে ফেলা যায়।
স্ক্রুট সেট আপ করুন
এই উদাহরণটি বর্ণনা করে যে কীভাবে একটি 32-বিট উবুন্টু 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
স্ক্রুটকে জানায় যেখানে আমরা 32-বিট ইনস্টলেশনের ফাইলগুলি রাখব। লাইনটি username=yourusername
বলেছে যে ব্যবহারকারীকে yourusername
স্ক্রুট ব্যবহারের অনুমতি দেওয়া হবে। লাইনটি groups=users,admin
বলে যে উভয় গ্রুপের ব্যবহারকারীদেরই স্ক্রুট ব্যবহারের অনুমতি দেওয়া হবে; আপনি একটি users=…
নির্দেশও রাখতে পারেন।
নতুন বিতরণ ইনস্টল করুন
ডিরেক্টরি তৈরি করুন এবং এটিকে ডিবাটস্ট্র্যাপের সাহায্যে পপুলেশন শুরু করুন। ডিবুটস্ট্র্যাপ নির্দিষ্ট বিতরণ এবং আর্কিটেকচারের জন্য প্যাকেজগুলির একটি মূল সেট ডাউনলোড এবং ইনস্টল করে।
mkdir /32
debootstrap --arch i386 lucid /32 http://archive.ubuntu.com/ubuntu
আপনার প্রায় ইতিমধ্যে একটি ওয়ার্কিং সিস্টেম রয়েছে; এরপরে যা হয় তা সামান্য বর্ধন। /32/etc
যখন আপনি এটি চালান তখন শ্রুত স্বয়ংক্রিয়ভাবে কয়েকটি ফাইল ওভাররাইট করে, বিশেষত ডিএনএস কনফিগারেশন এবং অন্যান্য /etc/resolv.conf
ডাটাবেসে থাকা ব্যবহারকারী ডাটাবেস /etc/passwd
(এটি ওভাররাইড করা যায়, ডকুমেন্টেশন দেখুন)। আরও কয়েকটি ফাইল রয়েছে যা আপনি নিজে নিজে একবারে অনুলিপি করতে চান:
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
।
ক্রুটে সেবা
এখানে বর্ণিত হিসাবে, একটি স্ক্রুট ডেমন চালানোর জন্য উপযুক্ত নয়। স্ক্রুট থেকে প্রস্থান করার সময় স্ক্রুটের প্রোগ্রামগুলি হত্যা করা হবে। আপনি যদি এটি আরও স্থায়ী হতে চান এবং "প্যারেন্ট" ইনস্টলমেন্টে স্থায়ী বাইন্ড মাউন্টগুলি সেট আপ করেন তবে "ডিরেক্টরি" স্ক্রুটটির পরিবর্তে একটি "প্লেইন" স্ক্রুট ব্যবহার /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
যদি স্ক্রুটটি উবুন্টু 8.04 (হার্ডি) এর মতো পুরানো রিলিজের জন্য হয় তবে মনে রাখবেন যে প্যাকেজ উবুন্টু-স্ট্যান্ডার্ডটি এমটিএতে টানছে। nullmailer
ডিফল্ট পরিবর্তে নির্বাচন করুন postfix
(আপনি নিজের ক্রুটটি মেল প্রেরণ করতে চাইতে পারেন তবে আপনি এটি অবশ্যই কোনও পেতে চান না)।
সামনে যাচ্ছি
আরও তথ্যের জন্য schroot
ম্যানুয়াল , স্ক্রুট এফএকিউ এবং
schroot.conf
ম্যানুয়ালটি দেখুন । শ্রুট দেবিয়ান অটোবিল্ডার (বিল্টড) প্রকল্পের অংশ । ডাবুটস্ট্র্যাপ সম্পর্কে উবুন্টু সম্প্রদায় পৃষ্ঠায় অতিরিক্ত দরকারী টিপস থাকতে পারে ।
ভার্চুয়াল মেশিন
আপনি বিকল্প পরিবেশের সম্পূর্ণ বিচ্ছিন্নতা প্রয়োজন হয়, তাহলে যেমন একটি ভার্চুয়াল মেশিন ব্যবহার সাহায্যে KVM ( qemu-kvm- র ) অথবা VirtualBox ।