Amazon Best VPN GoSearch

অনওয়ার্কস ফেভিকন

guestfs-internals - ক্লাউডে অনলাইন

উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটরের মাধ্যমে OnWorks বিনামূল্যে হোস্টিং প্রদানকারীতে গেস্টএফএস-ইন্টারনাল চালান

এটি হল গেস্টএফএস-ইন্টারনাল কমান্ড যা আমাদের একাধিক বিনামূল্যের অনলাইন ওয়ার্কস্টেশন যেমন উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটর ব্যবহার করে OnWorks ফ্রি হোস্টিং প্রদানকারীতে চালানো যেতে পারে।

কার্যক্রম:

NAME এর


guestfs-internals - libguestfs-এর আর্কিটেকচার এবং অভ্যন্তরীণ

বর্ণনাঃ


এই ম্যানুয়াল পৃষ্ঠাটি হ্যাকারদের জন্য যারা বুঝতে চায় কিভাবে libguestfs অভ্যন্তরীণভাবে কাজ করে।
libguestfs এখন কীভাবে কাজ করে তার এটি শুধুমাত্র একটি বর্ণনা, এবং এটি যেকোনো সময় পরিবর্তিত হতে পারে
ভবিষ্যৎ.

স্থাপত্য


অভ্যন্তরীণভাবে, libguestfs একটি যন্ত্র (একটি বিশেষ ধরনের ছোট
ভার্চুয়াল মেশিন) ব্যবহার করে ছিঃ(1)। Qemu মূল প্রোগ্রামের একটি শিশু প্রক্রিয়া হিসাবে চলে।

┌───────────────────┐
│ প্রধান প্রোগ্রাম │
│ │
│ │ শিশু প্রক্রিয়া/যন্ত্র
│ │ ┌───────────────────────────────
│ │ │ qemu │
├───────────────────┤ RPC │ ┌───────────────────
│ libguestfs ◀╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍▶ guestfsd │ │
│ │ │ ├─────────────────┤ │
└───────────────────┘ │ │ লিনাক্স কার্নেল │ │
│ └────────┬────────┘ │
└───────────────│───────────────

│ virtio-scsi
┌──────┴──────┐
│ ডিভাইস বা │
│ ডিস্ক ইমেজ │
└─────────────┘

লাইব্রেরি, প্রধান প্রোগ্রামের সাথে সংযুক্ত, শিশু প্রক্রিয়া তৈরি করে এবং তাই যন্ত্র
"guestfs_launch" ফাংশনে।

অ্যাপ্লায়েন্সের ভিতরে একটি লিনাক্স কার্নেল এবং ইউজারস্পেস টুলগুলির একটি সম্পূর্ণ স্ট্যাক রয়েছে (যেমন
LVM এবং ext2 প্রোগ্রাম) এবং "গেস্টএফএসডি" নামে একটি ছোট নিয়ন্ত্রণকারী ডেমন। লাইব্রেরি
দূরবর্তী পদ্ধতি কল (RPC) ব্যবহার করে "guestfsd" এর সাথে কথা বলে। সেখানে বেশিরভাগই ওয়ান টু ওয়ান
libguestfs API কল এবং ডেমনের সাথে RPC কলের মধ্যে চিঠিপত্র। সবশেষে ডিস্ক
ছবি(গুলি) qemu প্রক্রিয়ার সাথে সংযুক্ত থাকে যা দ্বারা ডিভাইস অ্যাক্সেস অনুবাদ করে৷
অ্যাপ্লায়েন্সের লিনাক্স কার্নেল ইমেজ অ্যাক্সেস করে।

একটি সাধারণ ভুল বোঝাবুঝি হল যে যন্ত্রটি হল ভার্চুয়াল মেশিন। যদিও
আপনি সংযুক্ত ডিস্ক ইমেজ কিছু ভার্চুয়াল মেশিন, libguestfs দ্বারা ব্যবহার করা হতে পারে
এই সম্পর্কে জানেন না বা পরোয়া করেন না। (কিন্তু আপনি যত্ন নেবেন যদি libguestfs এর qemu প্রক্রিয়া এবং উভয়ই
আপনার ভার্চুয়াল মেশিন একই সময়ে ডিস্ক ইমেজ আপডেট করার চেষ্টা করছে, যেহেতু এগুলো
সাধারণত ব্যাপক ডিস্ক দুর্নীতির ফলে)।

অবস্থা মেশিন


libguestfs চাইল্ড প্রক্রিয়া মডেল করার জন্য একটি স্টেট মেশিন ব্যবহার করে:

|
guestfs_create / guestfs_create_flags
|
|
_____ভি_____
/
| কনফিগ |
_________/
^ ^ \
| \\ guestfs_launch
| _\__V______
| /\
| | লঞ্চিং |
| _______________/
| /
| guestfs_launch
| /
__|____ভি
/
| প্রস্তুত |
\________/

স্বাভাবিক রূপান্তরগুলি হল (1) কনফিগ (যখন হ্যান্ডেল তৈরি করা হয়, কিন্তু কোন শিশু নেই
প্রক্রিয়া), (2) লঞ্চিং (যখন শিশু প্রক্রিয়াটি বুট হচ্ছে), (3) প্রস্তুত মানে
অ্যাপ্লায়েন্স আপ, অ্যাকশন জারি করা যেতে পারে, এবং বাহিত, শিশু প্রক্রিয়া.

অতিথিকে "guestfs_kill_subprocess" দ্বারা হত্যা করা হতে পারে, অথবা যেকোনো সময়ে অ্যাসিঙ্ক্রোনাসভাবে মারা যেতে পারে
সময় (উদাহরণস্বরূপ কিছু অভ্যন্তরীণ ত্রুটির কারণে), এবং এটি রাষ্ট্রকে পুনরায় পরিবর্তন করতে দেয়
কনফিগ

qemu-এর জন্য কনফিগারেশন কমান্ড যেমন "guestfs_set_path" শুধুমাত্র তখনই জারি করা যেতে পারে যখন
কনফিগার অবস্থা।

এপিআই একটি কল অফার করে যা কনফিগ থেকে লঞ্চিং থেকে রেডি পর্যন্ত যায়।
"guestfs_launch" ব্লক করে যতক্ষণ না চাইল্ড প্রসেস কমান্ড গ্রহণ করার জন্য প্রস্তুত হয় (বা কিছু না হওয়া পর্যন্ত)
ব্যর্থতা বা সময় শেষ)। "guestfs_launch" অভ্যন্তরীণভাবে CONFIG থেকে LAUNCHING-এ রাজ্যকে নিয়ে যায়
যখন এটি চলছে।

API অ্যাকশন যেমন "guestfs_mount" শুধুমাত্র প্রস্তুত অবস্থায় জারি করা যেতে পারে। এই API
আদেশ কার্যকর করার জন্য অপেক্ষা করে কল ব্লক। কোন নন-ব্লকিং আছে
সংস্করণ, এবং একই সময়ে প্রতি হ্যান্ডেলে একাধিক কমান্ড জারি করার কোনো উপায় নেই।

অবশেষে, শিশু প্রক্রিয়া অসিঙ্ক্রোনাস বার্তাগুলিকে মূল প্রোগ্রামে ফেরত পাঠায়, যেমন
কার্নেল লগ বার্তা। এই বার্তাগুলি পেতে আপনি একটি কলব্যাক নিবন্ধন করতে পারেন৷

অভ্যন্তরীণ


যন্ত্রপাতি বুট প্রক্রিয়া
এই প্রক্রিয়াটি বিকশিত হয়েছে এবং বিকশিত হতেই চলেছে। এখানে বর্ণনা শুধুমাত্র অনুরূপ
libguestfs-এর বর্তমান সংস্করণে এবং শুধুমাত্র তথ্যের জন্য প্রদান করা হয়েছে।

নীচে জড়িত ধাপগুলি অনুসরণ করার জন্য, libguestfs ডিবাগিং সক্ষম করুন (সেট করুন
পরিবেশ পরিবর্তনশীল "LIBGUESTFS_DEBUG=1")।

যন্ত্র তৈরি করুন
কার্নেল, একটি ছোট initrd এবং যন্ত্র তৈরি করতে "supermin --build" ব্যবহার করা হয়।

যন্ত্রপাতি ক্যাশ করা হয় /var/tmp/.guestfs- (বা অন্য ডিরেক্টরিতে যদি
"LIBGUESTFS_CACHEDIR" বা "TMPDIR" সেট করা আছে)।

কিভাবে যন্ত্রপাতি তৈরি এবং ক্যাশে করা হয় তার সম্পূর্ণ বিবরণের জন্য, পড়ুন
সুপারমিন(1) ম্যান পেজ।

qemu শুরু করুন এবং কার্নেল বুট করুন
কার্নেল বুট করার জন্য qemu-কে আহ্বান করা হয়।

initrd চালান
"supermin --build" একটি ছোট initrd তৈরি করে। initrd যন্ত্র নয়। দ্য
initrd-এর উদ্দেশ্য হল পর্যাপ্ত কার্নেল মডিউল লোড করা যাতে অ্যাপ্লায়েন্স হয়
নিজেই মাউন্ট এবং শুরু করা যেতে পারে।

initrd হল একটি cpio আর্কাইভ যাকে বলা হয় /var/tmp/.guestfs- /appliance.d/initrd.

initrd শুরু হলে আপনি কার্নেল মডিউলগুলি দেখানো বার্তাগুলি দেখতে পাবেন
লোড হচ্ছে, এর অনুরূপ:

supermin: ext2 mini initrd শুরু হচ্ছে
supermin: মাউন্ট করা / sys
সুপারমিন: অভ্যন্তরীণ insmod libcrc32c.ko
সুপারমিন: অভ্যন্তরীণ insmod crc32c-intel.ko

অ্যাপ্লায়েন্স ডিভাইস খুঁজুন এবং মাউন্ট করুন
অ্যাপ্লায়েন্স হল একটি স্পার্স ফাইল যাতে একটি ext2 ফাইলসিস্টেম থাকে যা একটি পরিচিত ধারণ করে
(যদিও আকারে ছোট) লিনাক্স অপারেটিং সিস্টেম। এটা সাধারণত বলা হবে
/var/tmp/.guestfs- /appliance.d/root.

libguestfs দ্বারা নিয়মিত ডিস্কগুলি পরিদর্শন করা হচ্ছে qemu দ্বারা উন্মুক্ত করা প্রথম ডিভাইস
(যেমন /dev/vda).

qemu-তে যোগ করা শেষ ডিস্কটি নিজেই যন্ত্রপাতি (যেমন। /dev/vdb যদি শুধুমাত্র ছিল
একটি নিয়মিত ডিস্ক)।

এইভাবে initrd-এর চূড়ান্ত কাজ হল অ্যাপ্লায়েন্স ডিস্কটি সনাক্ত করা, এটি মাউন্ট করা এবং সুইচ করা।
যন্ত্রের মধ্যে রুট, এবং চালান /এটা যন্ত্র থেকে।

যদি এটি সফলভাবে কাজ করে তবে আপনি বার্তাগুলি দেখতে পাবেন যেমন:

সুপারমিন: রুট ডিভাইস হিসাবে /sys/block/vdb/dev বাছাই করা হয়েছে
সুপারমিন: ব্লক স্পেশাল 252:16 হিসাবে /dev/root তৈরি করা
সুপারমিন: নতুন রুট মাউন্ট করা হচ্ছে / রুট
supermin: chroot
স্ক্রিপ্ট শুরু করা হচ্ছে...

মনে রাখবেন যে "Starting /init স্ক্রিপ্ট ..." নির্দেশ করে যে অ্যাপ্লায়েন্সের init স্ক্রিপ্ট
এখন চলমান

যন্ত্রটি শুরু করুন
যন্ত্রটি নিজেই এখন নিজেই শুরু করে। এর সাথে কিছু নির্দিষ্ট প্রক্রিয়া শুরু করা জড়িত
"udev" এর মতো, সম্ভবত কিছু ডিবাগ তথ্য মুদ্রণ করা, এবং অবশেষে ডেমন চালানো
("গেস্টএফএসডি")।

ডেমন
অবশেষে ডেমন ("guestfsd") যন্ত্রের ভিতরে চলে। যদি এটি চলে তবে আপনার দেখতে হবে:

ভার্বোস ডেমন সক্রিয়

ডেমন কিউমু দ্বারা উন্মোচিত একটি নামযুক্ত ভার্টিও-সিরিয়াল পোর্ট দেখতে পাবে এবং এর সাথে সংযুক্ত হবে বলে আশা করছে
লাইব্রেরির অন্য প্রান্ত।

ডেমন এই পোর্টের সাথে সংযোগ করে (এবং তাই লাইব্রেরিতে) এবং একটি চার বাইট পাঠায়
বার্তা "GUESTFS_LAUNCH_FLAG", যা যোগাযোগ প্রোটোকল শুরু করে (নীচে দেখুন)।

যোগাযোগ PROTOCOL
এই প্রোটোকলটি সরাসরি ব্যবহার করার উপর নির্ভর করবেন না। এই বিভাগে এটি বর্তমানে কিভাবে নথিভুক্ত
কাজ করে, কিন্তু এটি যে কোনো সময় পরিবর্তন হতে পারে।

প্রোটোকল লাইব্রেরি এবং কিউমুর ভিতরে চলমান ডেমনের মধ্যে কথা বলত
ভার্চুয়াল মেশিন হল XDR (RFC 1014, RFC 1832, RFC) এর উপরে নির্মিত একটি সাধারণ RPC প্রক্রিয়া
4506).

কাঠামোর বিশদ বিন্যাস রয়েছে src/guestfs_protocol.x (দ্রষ্টব্য: এই ফাইলটি
স্বয়ংক্রিয়ভাবে উত্পন্ন)।

দুটি বিস্তৃত কেস আছে, সাধারণ ফাংশন যার কোনো "ফাইলইন" এবং "ফাইলআউট" নেই
পরামিতি, যা খুব সাধারণ অনুরোধ/উত্তর বার্তাগুলির সাথে পরিচালনা করা হয়। তারপর আছে
যে ফাংশনগুলির যেকোনো "FileIn" বা "FileOut" প্যারামিটার আছে, যেগুলি একই অনুরোধ ব্যবহার করে এবং
উত্তর বার্তা, কিন্তু সেগুলি একটি খণ্ডিত এনকোডিং ব্যবহার করে পাঠানো ফাইল দ্বারা অনুসরণ করা যেতে পারে।

সাধারণ ফাংশন (কোন ফাইলিন/ফাইলআউট PARAMS)

সাধারণ ফাংশনগুলির জন্য, অনুরোধ বার্তা হল:

মোট দৈর্ঘ্য (হেডার + আর্গুমেন্ট,
কিন্তু দৈর্ঘ্য শব্দ নিজেই অন্তর্ভুক্ত নয়)
struct guestfs_message_header (XDR হিসাবে এনকোড করা)
struct guestfs_ _args (XDR হিসাবে এনকোড করা)

মোট দৈর্ঘ্যের ক্ষেত্রটি ডেমনকে একটি নির্দিষ্ট আকারের বাফার বরাদ্দ করতে দেয় যার মধ্যে এটি
বার্তা বাকি slurps. ফলস্বরূপ, মোট দৈর্ঘ্য সীমাবদ্ধ
"GUESTFS_MESSAGE_MAX" বাইট (বর্তমানে 4MB), যার অর্থ যেকোনো অনুরোধের কার্যকরী আকার
এই আকারের নীচে কোথাও সীমাবদ্ধ।

আরও নোট করুন যে অনেক ফাংশন কোন আর্গুমেন্ট নেয় না, এই ক্ষেত্রে
"অতিথিরা_foo_args" সম্পূর্ণরূপে বাদ দেওয়া হয়।

হেডারে পদ্ধতি নম্বর ("guestfs_proc") থাকে যা রিসিভার কীভাবে জানে
কি ধরনের args গঠন আশা করা যায়, বা কিছুই না।

ঐচ্ছিক আর্গুমেন্ট গ্রহণকারী ফাংশনগুলির জন্য, ঐচ্ছিক আর্গুমেন্টগুলি এনকোড করা হয়৷
"অতিথিরা_foo_args" সাধারণ আর্গুমেন্ট হিসাবে একই ভাবে গঠন. মধ্যে একটি বিটমাস্ক
হেডার নির্দেশ করে কোন ঐচ্ছিক আর্গুমেন্ট অর্থপূর্ণ। বিটমাস্কটিও পরীক্ষা করা হয়
দেখুন এতে বিট সেট রয়েছে যা ডেমন জানে না (যেমন যদি আরও ঐচ্ছিক
লাইব্রেরির পরবর্তী সংস্করণে আর্গুমেন্ট যোগ করা হয়েছিল), এবং এর ফলে কল হতে পারে
প্রত্যাখ্যাত.

সাধারণ ফাংশনগুলির জন্য উত্তর বার্তা হল:

মোট দৈর্ঘ্য (হেডার + ret,
কিন্তু দৈর্ঘ্য শব্দ নিজেই অন্তর্ভুক্ত নয়)
struct guestfs_message_header (XDR হিসাবে এনকোড করা)
struct guestfs_ _ret (XDR হিসাবে এনকোড করা)

উপরের হিসাবে "অতিথি_foo_ret" কাঠামো সম্পূর্ণরূপে ফাংশন জন্য বাদ দেওয়া হতে পারে যে
কোন আনুষ্ঠানিক রিটার্ন মান ফেরত না.

উপরের হিসাবে উত্তরের মোট দৈর্ঘ্য "GUESTFS_MESSAGE_MAX" এর মধ্যে সীমাবদ্ধ।

একটি ত্রুটির ক্ষেত্রে, হেডারে একটি পতাকা সেট করা হয় এবং উত্তর বার্তাটি সামান্য
পরিবর্তিত হয়েছে:

মোট দৈর্ঘ্য (শিরোনাম + ত্রুটি,
কিন্তু দৈর্ঘ্য শব্দ নিজেই অন্তর্ভুক্ত নয়)
struct guestfs_message_header (XDR হিসাবে এনকোড করা)
struct guestfs_message_error (XDR হিসাবে এনকোড করা)

"guestfs_message_error" কাঠামোতে একটি স্ট্রিং হিসাবে ত্রুটি বার্তা রয়েছে।

ফাংশন যে আছে ফাইলিন প্যারামিটার

একটি "FileIn" প্যারামিটার নির্দেশ করে যে আমরা একটি ফাইল স্থানান্তর করি মধ্যে অতিথিটি. স্বাভাবিক অনুরোধ
বার্তা পাঠানো হয়েছে (উপরে দেখুন)। যাইহোক এটি ফাইল খণ্ডের একটি ক্রম দ্বারা অনুসরণ করা হয়.

মোট দৈর্ঘ্য (হেডার + আর্গুমেন্ট,
কিন্তু দৈর্ঘ্য শব্দটি অন্তর্ভুক্ত নয়,
এবং অংশগুলি সহ নয়)
struct guestfs_message_header (XDR হিসাবে এনকোড করা)
struct guestfs_ _args (XDR হিসাবে এনকোড করা)
ফাইলইন প্যারাম #0 এর জন্য খণ্ডগুলির ক্রম
ফাইলইন প্যারাম #1 ইত্যাদির জন্য খণ্ডগুলির ক্রম।

"খণ্ডের ক্রম" হল:

খণ্ডের দৈর্ঘ্য (দৈর্ঘ্য শব্দ নিজেই অন্তর্ভুক্ত নয়)
struct guestfs_chunk (XDR হিসাবে এনকোড করা)
খণ্ডের দৈর্ঘ্য
struct guestfs_chunk (XDR হিসাবে এনকোড করা)
...
খণ্ডের দৈর্ঘ্য
struct guestfs_chunk ( data.data_len == 0 সহ)

চূড়ান্ত অংশে "ডেটা_লেন" ক্ষেত্রটি শূন্যে সেট করা আছে। উপরন্তু একটি পতাকা সেট করা হয়
সফল সমাপ্তি বা তাড়াতাড়ি বাতিল করার জন্য চূড়ান্ত অংশ।

লেখার সময় এমন কোনো ফাংশন নেই যাতে একাধিক FileIn প্যারামিটার থাকে।
যাইহোক এটি (তাত্ত্বিকভাবে) সমর্থিত, প্রতিটির জন্য খণ্ডের ক্রম পাঠিয়ে
FileIn প্যারামিটার একের পর এক (বাম থেকে ডানে)।

উভয় লাইব্রেরি (প্রেরক) এবং ডেমন (রিসিভার) স্থানান্তর বাতিল করতে পারে। লাইব্রেরি
বাতিলকরণ নির্দেশ করার জন্য একটি বিশেষ পতাকা সেট সহ একটি খণ্ড পাঠিয়ে এটি করে। যখন
ডেমন এটি দেখে, এটি সম্পূর্ণ RPC বাতিল করে, করে না কোন উত্তর পাঠান, এবং ফিরে যায়
পরবর্তী অনুরোধ পড়া।

ডেমনও বাতিল করতে পারে। এটি একটি বিশেষ শব্দ "GUESTFS_CANCEL_FLAG" লিখে এটি করে
সকেট পর্যন্ত লাইব্রেরি স্থানান্তরের সময় এটির জন্য শোনে এবং যদি এটি পায় তবে এটি
স্থানান্তর বাতিল করবে (এটি একটি বাতিল অংশ পাঠায়)। বিশেষ শব্দটি তাই বেছে নেওয়া হয়েছে
এমনকি যদি ট্রান্সফারের শেষে বাতিল হয়ে যায় (লাইব্রেরির পরে
লেখা শেষ হয়েছে এবং উত্তরের জন্য শোনা শুরু করেছে), "জাল" পতাকা বাতিল করবে
উত্তর বার্তার সাথে বিভ্রান্ত হবেন না।

এই প্রোটোকল নির্বিচারে আকারের ফাইল স্থানান্তর করতে দেয় (কোন 32 বিট সীমা নেই), এবং এছাড়াও
ফাইল যেখানে আকার আগে থেকে জানা যায় না (যেমন পাইপ বা সকেট থেকে)। তবে
খণ্ডগুলি বরং ছোট ("GUESTFS_MAX_CHUNK_SIZE"), যাতে লাইব্রেরি বা
ডেমনকে অনেক কিছু স্মৃতিতে রাখতে হবে।

ফাংশন যে আছে বাইরে দায়ের প্যারামিটার

FileOut পরামিতিগুলির জন্য প্রোটোকলটি FileIn পরামিতিগুলির মতোই, কিন্তু সঙ্গে
ডেমন এবং লাইব্রেরির ভূমিকা বিপরীত।

মোট দৈর্ঘ্য (হেডার + ret,
কিন্তু দৈর্ঘ্য শব্দটি অন্তর্ভুক্ত নয়,
এবং অংশগুলি সহ নয়)
struct guestfs_message_header (XDR হিসাবে এনকোড করা)
struct guestfs_ _ret (XDR হিসাবে এনকোড করা)
ফাইলআউট প্যারাম #0 এর জন্য খণ্ডগুলির ক্রম
ফাইলআউট প্যারাম #1 ইত্যাদির জন্য খণ্ডগুলির ক্রম।

প্রাথমিক বার্তা

ডেমন চালু হলে এটি একটি প্রাথমিক শব্দ পাঠায় ("GUESTFS_LAUNCH_FLAG") যা নির্দেশ করে
যে অতিথি এবং ডেমন জীবিত। "guestfs_launch" এর জন্য অপেক্ষা করছে।

চলছে বিজ্ঞপ্তি বার্তা

ডেমন যেকোনো সময় অগ্রগতি বিজ্ঞপ্তি বার্তা পাঠাতে পারে। এগুলি বিশিষ্ট
স্বাভাবিক দৈর্ঘ্যের শব্দটি "GUESTFS_PROGRESS_FLAG" দ্বারা প্রতিস্থাপিত হচ্ছে, তারপরে একটি নির্দিষ্ট
আকার অগ্রগতি বার্তা।

লাইব্রেরি সেগুলিকে প্রগতি কলব্যাকে পরিণত করে (দেখুন "GUESTFS_EVENT_PROGRESS") যদি থাকে
একটি কলব্যাক নিবন্ধিত, বা না হলে সেগুলি বাতিল করে।

ডেমন প্রগতি বার্তা প্রেরণের ফ্রিকোয়েন্সি স্ব-সীমাবদ্ধ করে (দেখুন
"daemon/proto.c:notify_progress")। সমস্ত কল অগ্রগতি বার্তা তৈরি করে না।

FIXED যন্ত্রপাতি
যখন libguestfs (বা libguestfs টুলস) চালানো হয়, তারা একটি পথ অনুসন্ধান করে
যন্ত্রপাতি. পাথটি libguestfs-এ তৈরি করা হয়েছে, অথবা "LIBGUESTFS_PATH" ব্যবহার করে সেট করা যেতে পারে
পরিবেশ সূচক.

সাধারণত একটি সুপারমিন যন্ত্র এই পথে অবস্থিত থাকে ("সুপারমিন অ্যাপ্লায়েন্স" দেখুন
সুপারমিন(1))। libguestfs এটিকে "সুপারমিন" চালানোর মাধ্যমে একটি সম্পূর্ণ যন্ত্রে পুনর্গঠন করে
--নির্মাণ"

যাইহোক, একটি সহজ "স্থির যন্ত্রপাতি" ব্যবহার করা যেতে পারে। libguestfs অনুসন্ধান করে এটি সনাক্ত করে
নিম্নলিখিত সমস্ত ফাইল ধারণকারী পথের একটি ডিরেক্টরির জন্য:

· শাঁস

· initrd- র

· শিকড়

· README.fixed (উল্লেখ্য যে এটা অবশ্যই উপস্থিত থাকবেন)

যদি স্থির যন্ত্র পাওয়া যায়, libguestfs সুপারমিনকে সম্পূর্ণভাবে এড়িয়ে যায় এবং শুধু চালায়
ভার্চুয়াল মেশিন (qemu বা বর্তমান ব্যাকএন্ড ব্যবহার করে, "BACKEND" দেখুন) কার্নেলের সাথে, initrd
এবং স্থির যন্ত্র থেকে রুট ডিস্ক।

এইভাবে স্থির যন্ত্রপাতি ব্যবহার করা যেতে পারে যখন একটি প্ল্যাটফর্ম বা একটি লিনাক্স বিতরণ না করে
সুপারমিন সমর্থন করে। আপনি একটি প্ল্যাটফর্মে নির্দিষ্ট যন্ত্র তৈরি করেন যা সুপারমিনকে সমর্থন করে
ব্যবহার libguestfs-মেক-স্থির-যন্ত্র(1), এটি অনুলিপি করুন, এবং libguestfs চালানোর জন্য এটি ব্যবহার করুন।

onworks.net পরিষেবা ব্যবহার করে গেস্টএফএস-ইন্টারনাল অনলাইন ব্যবহার করুন


বিনামূল্যে সার্ভার এবং ওয়ার্কস্টেশন

উইন্ডোজ এবং লিনাক্স অ্যাপ ডাউনলোড করুন

লিনাক্স কমান্ডগুলি

Ad




×
ভি .আই. পি  বিজ্ঞাপন
❤️এখানে কেনাকাটা করুন, বুক করুন, অথবা কিনুন — বিনামূল্যে, পরিষেবাগুলি বিনামূল্যে রাখতে সাহায্য করে।