ইংরেজিফরাসিস্প্যানিশ

Ad


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

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

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

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

কার্যক্রম:

NAME এর


guestfs-faq - libguestfs প্রায়শই জিজ্ঞাসিত প্রশ্ন (FAQ)

সম্বন্ধে LIBGUESTFS


কি is libguestfs?
libguestfs হল ডিস্ক ইমেজ তৈরি, অ্যাক্সেস এবং পরিবর্তন করার একটি উপায়। আপনি ডিস্কের ভিতরে দেখতে পারেন
ইমেজ, তাদের মধ্যে থাকা ফাইলগুলি পরিবর্তন করুন, স্ক্র্যাচ থেকে তৈরি করুন, তাদের আকার পরিবর্তন করুন এবং আরও অনেক কিছু
আরো এটি স্ক্রিপ্ট এবং প্রোগ্রাম এবং কমান্ড লাইন থেকে বিশেষভাবে দরকারী।

libguestfs হল একটি C লাইব্রেরি (অতএব "lib-"), এবং এই লাইব্রেরিতে নির্মিত টুলের একটি সেট, এবং
অনেক সাধারণ প্রোগ্রামিং ভাষার জন্য বাইন্ডিং।

libguestfs কী করতে পারে সে সম্পর্কে আরও তথ্যের জন্য হোম পেজে ভূমিকা পড়ুন
(http://libguestfs.org).

কি হয় দ্য গুণ সরঞ্জাম?
Virt টুলস (ওয়েবসাইট: http://virt-tools.org) ভার্চুয়ালাইজেশন পরিচালনার একটি সম্পূর্ণ সেট
সিস্টেম প্রশাসকদের উদ্দেশ্যে সরঞ্জাম। তাদের মধ্যে কিছু libguestf থেকে এসেছে, কিছু থেকে
libvirt এবং অন্যান্য ওপেন সোর্স প্রজেক্ট থেকে আরও অনেকে। তাই virt সরঞ্জাম একটি সুপারসেট
libguestfs. তবে libguestfs অনেক গুরুত্বপূর্ণ টুলের সাথে আসে। দেখা
http://libguestfs.org একটি সম্পূর্ণ তালিকা জন্য।

না libguestfs প্রয়োজন { libvirt দ্বারা / সাহায্যে KVM / লাল টুপি / ফেডোরা }?
না!

libvirt libguestfs-এর জন্য প্রয়োজনীয় নয়।

libguestfs VMware, KVM, qemu-এ তৈরি করা ছবি সহ যেকোনো ডিস্ক ইমেজের সাথে কাজ করে।
ভার্চুয়ালবক্স, জেন, এবং অন্যান্য অনেক হাইপারভাইজার, এবং যেগুলি আপনি স্ক্র্যাচ থেকে তৈরি করেছেন।

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

কিভাবে না libguestfs তুলনা করা থেকে অন্যান্য সরঞ্জাম?
বনাম kpartx
Libguestfs kpartx থেকে একটি ভিন্ন পদ্ধতি গ্রহণ করে। kpartx এর রুট এবং মাউন্ট প্রয়োজন
হোস্ট কার্নেলের ফাইল সিস্টেম (যা অনিরাপদ হতে পারে - দেখুন guestfs-নিরাপত্তা(1))।
Libguestfs অতিথিদের থেকে আপনার হোস্ট কার্নেলকে বিচ্ছিন্ন করে, আরও নমনীয়, স্ক্রিপ্টেবল,
LVM সমর্থন করে, রুট প্রয়োজন হয় না, অন্যান্য প্রসেস থেকে বিচ্ছিন্ন এবং পরিষ্কার করে
নিজেই পরে Libguestfs শুধুমাত্র ফাইল অ্যাক্সেসের চেয়ে বেশি কারণ আপনি এটি ব্যবহার করতে পারেন
স্ক্র্যাচ থেকে ছবি তৈরি করুন।

বনাম vdfuse
vdfuse kpartx এর মত কিন্তু ভার্চুয়ালবক্স ইমেজের জন্য। উপরে kpartx তুলনা দেখুন.
আপনি vdfuse দ্বারা উন্মুক্ত পার্টিশন ফাইলগুলিতে libguestfs ব্যবহার করতে পারেন, যদিও এটি নয়
প্রয়োজনীয় যেহেতু libguestfs সরাসরি ভার্চুয়ালবক্স ছবি অ্যাক্সেস করতে পারে।

বনাম qemu-nbd
NBD (নেটওয়ার্ক ব্লক ডিভাইস) নেটওয়ার্কের মাধ্যমে ব্লক ডিভাইস রপ্তানির জন্য একটি প্রোটোকল।
qemu-nbd হল একটি NBD সার্ভার যা qemu দ্বারা সমর্থিত যেকোনো ডিস্ক ফরম্যাট পরিচালনা করতে পারে (যেমন কাঁচা,
qcow2)। ব্লক অ্যাক্সেস করতে আপনি libguestfs এবং qemu-nbd বা nbdkit একসাথে ব্যবহার করতে পারেন
নেটওয়ার্কের মাধ্যমে ডিভাইস, উদাহরণস্বরূপ: "অতিথি মাছ -a nbd://remote"

বনাম পটভূমি ফাইল সিস্টেম in দ্য নিমন্ত্রণকর্তা
হোস্টে গেস্ট ফাইল সিস্টেম মাউন্ট করা অনিরাপদ এবং সম্পূর্ণরূপে এড়ানো উচিত
অবিশ্বস্ত অতিথিদের জন্য। এর বিরুদ্ধে সুরক্ষার একটি স্তর প্রদান করতে libguestfs ব্যবহার করুন
ফাইল সিস্টেম শোষণ। আরো দেখুন গেস্টমাউন্ট(1).

বনাম বিভক্ত
Libguestfs LVM সমর্থন করে। Libguestfs parted ব্যবহার করে এবং অধিকাংশ parted বৈশিষ্ট্য প্রদান করে
libguestfs API এর মাধ্যমে।

পেয়ে সাহায্য এবং প্রতিবেদনের বাগ


কিভাবে do I জানা কি সংস্করণ আমি ব্যবহার?
সবচেয়ে সহজ পদ্ধতি হল:

অতিথি মাছ -- ​​সংস্করণ

Libguestfs উন্নয়ন একটি অস্থির শাখা বরাবর ঘটবে এবং আমরা পর্যায়ক্রমে একটি তৈরি করি
স্থিতিশীল শাখা যা আমরা স্থিতিশীল প্যাচগুলি ব্যাকপোর্ট করি। আরও জানতে, "LIBGUESTFS পড়ুন
সংস্করণ নম্বর" ইন অতিথি(3).

কিভাবে পারেন I পাওয়া সাহায্য?
কি মেইলিং তালিকা or চ্যাট কক্ষ হয় পাওয়া যায়?
আপনি যদি Red Hat Enterprise Linux ব্যবহার করে একজন Red Hat গ্রাহক হন, অনুগ্রহ করে যোগাযোগ করুন
রেড হ্যাট সমর্থন: http://redhat.com/support

একটি মেলিং তালিকা আছে, প্রধানত উন্নয়নের জন্য, কিন্তু ব্যবহারকারীদের জিজ্ঞাসা করতে স্বাগত জানাই
libguestfs এবং virt টুল সম্পর্কে প্রশ্ন:
https://www.redhat.com/mailman/listinfo/libguestfs

এছাড়াও আপনি FreeNode-এ IRC চ্যানেল "#libguestfs"-এ আমাদের সাথে কথা বলতে পারেন। আমরা সবসময় না
চারপাশে, তাই আপনার প্রশ্ন জিজ্ঞাসা করার পরে চ্যানেলে থাকুন এবং কেউ ফিরে পাবেন
তোমার কাছে

অন্যান্য virt সরঞ্জামগুলির জন্য ( libguestfs এর সাথে সরবরাহ করা হয় না) একটি সাধারণ virt সরঞ্জাম রয়েছে
মেইলিং তালিকা: https://www.redhat.com/mailman/listinfo/virt-tools-list

কিভাবে do I রিপোর্ট বাগ?
বাগজিলায় একটি বাগ প্রবেশ করতে নিম্নলিখিত লিঙ্কটি ব্যবহার করুন:

https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools

যতটা সম্ভব বিস্তারিত এবং সমস্যা পুনরুত্পাদন করার উপায় অন্তর্ভুক্ত করুন।

এর সম্পূর্ণ আউটপুট অন্তর্ভুক্ত করুন libguestfs-টেস্ট-টুল(1).

সাধারণ সমস্যার


এছাড়াও "LIBGUESTFS GOTCHAS" দেখুন অতিথি(3) libguestfs ব্যবহার করে কিছু "gotchas" এর জন্য
API- টি।

"পারতে পারে না বরাদ্দ করা প্রগতিশীল অনুবাদক বাফার"
এই অস্পষ্ট ত্রুটিটি আসলে একটি SELinux ব্যর্থতা। আপনাকে নিম্নলিখিতটি সক্ষম করতে হবে
SELinux বুলিয়ান:

setsebool -P virt_use_execmem=on

আরও তথ্যের জন্য https://bugzilla.redhat.com/show_bug.cgi?id=806106 দেখুন।

"শিশু প্রক্রিয়া মারা অপ্রত্যাশিতভাবে"
[এই ত্রুটি বার্তাটি libguestfs 1.21.18-এ আরও ব্যাখ্যামূলক কিছুতে পরিবর্তিত হয়েছে।]

এই ত্রুটি নির্দেশ করে যে qemu ব্যর্থ হয়েছে বা হোস্ট কার্নেল বুট করতে পারেনি। আরো পেতে
ব্যর্থতা সম্পর্কে তথ্য, আপনাকে চালাতে হবে:

libguestfs-টেস্ট-টুল

যদি, এটি ব্যবহার করার পরে, আপনি এখনও ব্যর্থতা বুঝতে না পারেন, আমাদের সাথে যোগাযোগ করুন (আগের দেখুন
অধ্যায়).

libguestfs: ত্রুটি: না পারেন আবিষ্কার কোন উপযুক্ত libguestfs সুপারমিন স্থায়ী or পুরনো রীতি যন্ত্রপাতি
on LIBGUESTFS_PATH
febootstrap-supermin-helper: ext2: মাতা ডিরেক্টরি না পাওয়া
সুপারমিন-হেল্পার: ext2: মাতা ডিরেক্টরি না পাওয়া
[এই সমস্যাটি libguestfs ≥ 1.26-এ স্থায়ীভাবে স্থির করা হয়েছে।]

আপনি যদি ডেবিয়ান/উবুন্টুতে এই ত্রুটিগুলির মধ্যে কোনটি দেখতে পান তবে আপনাকে নিম্নলিখিত কমান্ডটি চালাতে হবে:

sudo আপডেট-গেস্টএফএস-অ্যাপ্লায়েন্স

"অনুমতি অস্বীকৃত" কখন দৌড় libguestfs as শিকড়
আপনি একটি ডিস্ক ইমেজ খোলার সময় একটি অনুমতি অস্বীকার ত্রুটি পাবেন, যদিও আপনি চলমান
libguestfs রুট হিসাবে।

এটি libvirt দ্বারা সৃষ্ট, এবং শুধুমাত্র libvirt ব্যাকএন্ড ব্যবহার করার সময় এটি ঘটে। যখন রান
রুট হিসাবে, libvirt qemu অ্যাপ্লায়েন্স ব্যবহারকারী "qemu.qemu" হিসাবে চালানোর সিদ্ধান্ত নেয়। দুর্ভাগ্যবশত
এর মানে সাধারণত qemu ডিস্কের ছবি খুলতে পারে না, বিশেষ করে যদি সেই ডিস্কের ছবিগুলো হয়
রুট দ্বারা মালিকানাধীন, অথবা যে ডিরেক্টরিগুলিতে রুট অ্যাক্সেসের প্রয়োজন হয় সেখানে উপস্থিত।

এটি ঠিক করার জন্য libvirt এর বিরুদ্ধে একটি বাগ খোলা আছে:
https://bugzilla.redhat.com/show_bug.cgi?id=1045069

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

সরাসরি ব্যাকএন্ডে স্যুইচ করুন:

LIBGUESTFS_BACKEND=সরাসরি রপ্তানি করুন

libguestfs রুট হিসাবে চালাবেন না।

· ডিস্ক ইমেজ এবং যেকোন প্যারেন্ট ডিরেক্টরিকে Chmod করুন যাতে qemu ব্যবহারকারী সেগুলি অ্যাক্সেস করতে পারে।

· (দুষ্ট) সম্পাদনা /etc/libvirt/qemu.conf এবং "ব্যবহারকারী" সেটিং পরিবর্তন করুন।

excl: /এটা: অনুমতি অস্বীকৃত
বিঃদ্রঃ: আপনি libguestfs এর একটি ডিস্ট্রো প্যাকেজ ব্যবহার করার সময় যদি এই ত্রুটিটি ঘটে থাকে (যেমন থেকে
ফেডোরা, ডেবিয়ান, ইত্যাদি) তারপর ডিস্ট্রোর বিরুদ্ধে একটি বাগ ফাইল করুন। এটি একটি ত্রুটি যা
ডিস্ট্রো প্যাকেজটি সঠিকভাবে প্রস্তুত করা হয়েছে কিনা তা সাধারণ ব্যবহারকারীদের দেখতে হবে।

যন্ত্রটি শুরু করার সুপারমিন বুট পর্বের সময় এই ত্রুটিটি ঘটে:

সুপারমিন: নতুন রুট মাউন্ট করা হচ্ছে / রুট
supermin: chroot
execl: /init: অনুমতি অস্বীকার করা হয়েছে
সুপারমিন: ডিবাগ: তালিকা তালিকা /
[...অনেক ডিবাগ আউটপুট দ্বারা অনুসরণ করা হয়...]

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

সমস্যা নির্ণয়ের জন্য প্রয়োজনীয় গ্রন্থাগারগুলি অধ্যয়ন করা জড়িত / বিন / বাশ, যেমন:

এলডিডি / বিন / বাশ

হোস্ট ফাইল সিস্টেমে আসলে উপলব্ধ ফাইলগুলির সাথে "হোস্টফাইলস" এর সাথে তুলনা করা,
এবং ত্রুটি বার্তায় মুদ্রিত ডিবাগ আউটপুট সহ। একবার আপনি কোন ফাইল কাজ করেছি
অনুপস্থিত, আপনার প্যাকেজ ম্যানেজার ব্যবহার করে সেই ফাইলটি ইনস্টল করুন এবং আবার চেষ্টা করুন৷

আপনি যে মত ফাইল চেক করা উচিত /এটা এবং / বিন / বাশ (যন্ত্রের মধ্যে) হয়
নির্বাহযোগ্য ডিবাগ আউটপুট ফাইল মোড দেখায়।

ডাউনলোড হচ্ছে, ইনস্টল করা হচ্ছে, কম্পাইলিং LIBGUESTFS


কোথায় পারেন I পাওয়া দ্য সর্বশেষ বাইনারি উন্নত ...?
ফেডোরা ≥ 11
ব্যবহার করুন:

ইয়াম '*গেস্টফ*' ইনস্টল করুন

সর্বশেষ নির্মাণের জন্য, দেখুন:
http://koji.fedoraproject.org/koji/packageinfo?packageID=8391

Red Hat Enterprise Linux
RHEL 5
অফিসিয়াল RHEL 5-এ পাঠানো সংস্করণটি খুব পুরানো এবং এটি ছাড়া ব্যবহার করা উচিত নয়
virt-v2v এর সাথে একত্রে। EPEL-তে আপ-টু-ডেট libguestfs 1.20 প্যাকেজ ব্যবহার করুন
5: https://fedoraproject.org/wiki/EPEL

RHEL 6
RHEL 7
এটি ডিফল্ট ইনস্টলের অংশ। RHEL 6 এবং 7 এ (শুধুমাত্র) আপনাকে ইনস্টল করতে হবে
উইন্ডোজ গেস্ট সাপোর্ট পেতে "libguestfs-winsupport"।

ডেবিয়ান ও উবুন্টু
libguestfs < 1.26 এর জন্য, libguestfs ইনস্টল করার পরে আপনাকে করতে হবে:

sudo আপডেট-গেস্টএফএস-অ্যাপ্লায়েন্স

(এই স্ক্রিপ্টটি ডেবিয়ান/উবুন্টুতে libguestfs ≥ 1.26 সহ সরানো হয়েছে এবং পরিবর্তে
যন্ত্র চাহিদা অনুযায়ী নির্মিত হয়।)

শুধুমাত্র উবুন্টুতে:

sudo chmod 0644 /boot/vmlinuz*

আপনাকে "kvm" গ্রুপে নিজেকে যুক্ত করতে হতে পারে:

sudo usermod -a -G kvm আপনার লগইন

ডেবিয়ান স্কুইজ (6)
হিলকো বেঞ্জেন স্কুইজ ব্যাকপোর্টে libguestfs তৈরি করেছে:
http://packages.debian.org/search?keywords=guestfs&searchon=names§ion=all&suite=squeeze-backports

ডেবিয়ান হুইজি এবং পরবর্তীতে (7+)
হিলকো বেঞ্জেন ডেবিয়ানে libguestfs সমর্থন করে। অফিসিয়াল ডেবিয়ান প্যাকেজ হয়
উপলব্ধ: http://packages.debian.org/searchকীওয়ার্ড = libguestfs

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

ক্যানোনিকাল কার্নেলের অনুমতিগুলি পরিবর্তন করার সিদ্ধান্ত নিয়েছে যাতে এটি না হয়
রুট ছাড়া পঠনযোগ্য। এটি সম্পূর্ণ বোকা, কিন্তু তারা এটি পরিবর্তন করবে না
(https://bugs.launchpad.net/ubuntu/+source/linux/+bug/759725)। তাই প্রত্যেক ব্যবহারকারী
এটি করা উচিত:

sudo chmod 0644 /boot/vmlinuz*

উবুন্টু 12.04
উবুন্টুর এই সংস্করণে libguestfs কাজ করে, কিন্তু আপনাকে febootstrap আপডেট করতে হবে
এবং সর্বশেষ সংস্করণে seabios.

আপনার থেকে ফেবুটস্ট্র্যাপ ≥ 3.14-2 দরকার:
http://packages.ubuntu.com/precise/febootstrap

ফেবুটস্ট্র্যাপ ইনস্টল বা আপডেট করার পরে, যন্ত্রটি পুনর্নির্মাণ করুন:

sudo আপডেট-গেস্টএফএস-অ্যাপ্লায়েন্স

আপনার প্রয়োজন seabios ≥ 0.6.2-0ubuntu2.1 বা ≥ 0.6.2-0ubuntu3 থেকে:
http://packages.ubuntu.com/precise-updates/seabios or
http://packages.ubuntu.com/quantal/seabios

এছাড়াও আপনাকে করতে হবে (উপরে দেখুন):

sudo chmod 0644 /boot/vmlinuz*

জেন্টু
Libguestfs 2012-07 সালে Andreis Vinogradovs (libguestfs) দ্বারা জেন্টুতে যুক্ত করা হয়েছিল এবং
ম্যাক্সিম কোল্টসভ (প্রধানত হাইভেক্স)। কর:

libguestfs আবির্ভূত

SUSE
Libguestfs ওলাফ হেরিং দ্বারা 2012 সালে SuSE-তে যোগ করা হয়েছিল।

আর্কলিনাক্স
Libguestfs 2010 সালে AUR-এ যোগ করা হয়েছিল।

অন্যান্য লিনাক্স ডিস্ট্রো
উৎস থেকে কম্পাইল (পরবর্তী বিভাগ)।

অন্যান্য নন-লিনাক্স ডিস্ট্রো
আপনাকে উত্স থেকে কম্পাইল করতে হবে এবং এটি পোর্ট করতে হবে।

কিভাবে পারেন I সংকলন এবং ইনস্টল libguestfs থেকে উৎস?
আপনি git বা একটি উৎস টারবল থেকে libguestfs কম্পাইল করতে পারেন। আগে README ফাইলটি পড়ুন
শুরু

গিট: https://github.com/libguestfs/libguestfs উৎস টারবলস:
http://libguestfs.org/download

"ইনস্টল করুন" চালাবেন না! ব্যবহার "./ চালান" পরিবর্তে স্ক্রিপ্ট (README দেখুন)।

কিভাবে পারেন I সংকলন এবং ইনস্টল libguestfs if my ডিস্ট্রো না আছে নতুন যথেষ্ট
qemu/supermin/kernel?
Libguestfs এর সুপারমিন 5 দরকার। সুপারমিন 5 আপনার ডিস্ট্রোতে পোর্ট করা না থাকলে দেখুন
নীচের প্রশ্ন.

প্রথমে উৎস থেকে কিউমু, সুপারমিন এবং/অথবা কার্নেল কম্পাইল করুন। তুমি কর না "বানাতে হবে
তাদের ইনস্টল করুন।

libguestfs সোর্স ডিরেক্টরিতে, দুটি ফাইল তৈরি করুন। "স্থানীয় কনফিগার" থাকা উচিত:

উত্স localenv
#এক্সপোর্ট PATH=/tmp/qemu/x86_64-softmmu:$PATH
./autogen.sh -- উপসর্গ , / usr "$@"

"স্থানীয় কনফিগার" এক্সিকিউটেবল করুন।

"localenv" এর মধ্যে থাকা উচিত:

#এক্সপোর্ট সুপারমিন=/tmp/supermin/src/supermin
#export LIBGUESTFS_HV=/tmp/qemu/x86_64-softmmu/qemu-system-x86_64
#export SUPERMIN_KERNEL=/tmp/linux/arch/x86/boot/bzImage
# রপ্তানি করুন SUPERMIN_KERNEL_VERSION=4.XX.0
#export SUPERMIN_MODULES=/tmp/lib/modules/4.XX.0

আপনার কাছে থাকা বিকল্প প্রোগ্রামগুলি ব্যবহার করার জন্য এই লাইনগুলিকে মন্তব্য করুন এবং সামঞ্জস্য করুন
সংকলিত

"./configure" এর পরিবর্তে "./localconfigure" ব্যবহার করুন, তবে অন্যথায় আপনি libguestff হিসাবে কম্পাইল করুন
চলিত.

"ইনস্টল করুন" চালাবেন না! ব্যবহার "./ চালান" পরিবর্তে স্ক্রিপ্ট (README দেখুন)।

কিভাবে পারেন I সংকলন এবং ইনস্টল libguestfs ছাড়া সুপারমিন?
যদি সুপারমিন 5 আপনার ডিস্ট্রোকে সমর্থন করে তবে আপনার কাছে যথেষ্ট নতুন সুপারমিন নেই
ইনস্টল করুন, তারপর পূর্ববর্তী প্রশ্ন দেখুন।

যদি সুপারমিন 5 আপনার ডিস্ট্রোকে একেবারেই সমর্থন না করে, তাহলে আপনাকে "স্থির" ব্যবহার করতে হবে
অ্যাপ্লায়েন্স পদ্ধতি" যেখানে আপনি একটি প্রাক-সংকলিত বাইনারি অ্যাপ্লায়েন্স ব্যবহার করেন। libguestfs তৈরি করতে
সুপারমিন ছাড়া, আপনাকে "--অক্ষম-অ্যাপ্লায়েন্স --ডিসেবল-ডেমন" পাস করতে হবে
./autogen.sh or ./configure (আপনি গিট থেকে যথাক্রমে নির্মাণ করছেন কিনা তা নির্ভর করে বা
টারবল থেকে)। তারপর, libguestfs ব্যবহার করার সময়, আপনি অবশ্যই "LIBGUESTFS_PATH" সেট করুন
একটি প্রাক-সংকলিত যন্ত্রের ডিরেক্টরিতে পরিবেশ পরিবর্তনশীল, যেমন বর্ণনা করা হয়েছে
"ফিক্সড অ্যাপ্লায়েন্স" ইন অতিথি(3).

প্রাক-সংকলিত যন্ত্রপাতিগুলির জন্য, আরও দেখুন: http://libguestfs.org/download/binaries/appliance/.

আরও লিনাক্স ডিস্ট্রোতে সুপারমিন পোর্ট করার প্যাচগুলিকে স্বাগত জানাই৷

কিভাবে পারেন I যোগ সমর্থন উন্নত sVirt?
বিঃদ্রঃ উন্নত ফেডোরা/আরএইচইএল ব্যবহারকারী: এই কনফিগারেশনটি ফেডোরা 18 দিয়ে শুরু হওয়া ডিফল্ট
RHEL 7. আপনি যদি কোনো সমস্যা খুঁজে পান, অনুগ্রহ করে আমাদের জানান বা একটি বাগ ফাইল করুন।

SVirt SELinux ব্যবহার করে একটি শক্ত যন্ত্র সরবরাহ করে, এটি একটি দুর্বৃত্ত ডিস্কের জন্য খুব কঠিন করে তোলে
libguestfs এর বন্দিদশা থেকে "পালাতে" এবং হোস্টের ক্ষতি করার জন্য চিত্র (এটা বলা ন্যায্য
এমনকি স্ট্যান্ডার্ড libguestfs-এ এটি কঠিন হবে, কিন্তু sVirt এর একটি অতিরিক্ত স্তর সরবরাহ করে
হোস্টের জন্য সুরক্ষা এবং আরও গুরুত্বপূর্ণভাবে একই হোস্টে ভার্চুয়াল মেশিনগুলিকে রক্ষা করে
একে অপরের থেকে).

বর্তমানে sVirt সক্ষম করতে আপনার libvirt ≥ 0.10.2 (1.0 বা তার পরে পছন্দের) প্রয়োজন হবে,
libguestfs ≥ 1.20, এবং সাম্প্রতিক ফেডোরা থেকে SELinux নীতিগুলি। আপনি যদি দৌড়াচ্ছেন না
ফেডোরা 18+, আপনাকে আপনার SELinux নীতিতে পরিবর্তন করতে হবে - এখানে আমাদের সাথে যোগাযোগ করুন
মেলিং তালিকা।

আপনার প্রয়োজনীয়তাগুলি হয়ে গেলে, করুন:

./configure --with-default-backend=libvirt # libguestfs >= 1.22
./configure --with-default-attach-method=libvirt # libguestfs <= 1.20
করা

SELinux-কে এনফোর্সিং মোডে সেট করুন, এবং sVirt স্বয়ংক্রিয়ভাবে ব্যবহার করা উচিত।

libguestfs-এর সমস্ত বা প্রায় সমস্ত বৈশিষ্ট্য sVirt-এর অধীনে কাজ করা উচিত। পরিচিত একজন আছে
অভাব: virt- উদ্ধার(1) libvirt ব্যবহার করবে না (অতএব sVirt), কিন্তু সরাসরি ফিরে আসে
qemu চালু তাই ব্যবহার করার সময় আপনি বর্তমানে sVirt সুরক্ষার সুবিধা পাবেন না
virt- উদ্ধার

libvirtd লগিং সক্ষম করে আপনি sVirt ব্যবহার করা হচ্ছে কিনা তা পরীক্ষা করতে পারেন (দেখুন
/etc/libvirt/libvirtd.log), libvirtd হত্যা এবং পুনরায় চালু করা এবং লগ ফাইলগুলি পরীক্ষা করা
"সেটিং SELinux প্রসঙ্গ চালু..." বার্তাগুলির জন্য।

তাত্ত্বিকভাবে sVirt-এর AppArmor সমর্থন করা উচিত, কিন্তু আমরা এটি চেষ্টা করিনি। এটা প্রায় হবে
অবশ্যই libvirt প্যাচ করা এবং একটি AppArmor নীতি লেখার প্রয়োজন।

Libguestfs হয়েছে a সত্যিই দীর্ঘ তালিকা of নির্ভরতা!
বেস লাইব্রেরি খুব বেশি নির্ভর করে না, তবে দীর্ঘ তালিকার তিনটি কারণ রয়েছে
অন্যান্য নির্ভরতা:

1. Libguestfs কে বিভিন্ন ডিস্ক ফরম্যাট পড়তে এবং সম্পাদনা করতে সক্ষম হতে হবে। উদাহরণ স্বরূপ,
XFS সমর্থনের জন্য XFS সরঞ্জাম প্রয়োজন।

2. অনেকগুলি বিভিন্ন ভাষার জন্য ভাষা বাঁধাই আছে, সবকটির নিজস্ব প্রয়োজন
ডেভেলপমেন্ট টুলস. সমস্ত ভাষা বাঁধাই (সি বাদে) ঐচ্ছিক।

3. কিছু ঐচ্ছিক লাইব্রেরি বৈশিষ্ট্য আছে যা নিষ্ক্রিয় করা যেতে পারে।

যেহেতু libguestfs ≥ 1.26 যন্ত্র নির্ভরতা বিভক্ত করা সম্ভব (আইটেম 1 ইন
উপরের তালিকা) এবং এইভাবে (যেমন) "libguestfs-xfs" এর জন্য একটি পৃথক সাবপ্যাকেজ হিসাবে রয়েছে
XFS ডিস্ক ইমেজ প্রক্রিয়াকরণ. আমরা ডাউনস্ট্রিম প্যাকেজার্সকে বেস বিভক্ত করা শুরু করতে উত্সাহিত করি
libguestfs প্যাকেজ ছোট সাবপ্যাকেজে।

ত্রুটি সময় শুরু করা on ফেডোরা 18, RHEL 7
Fedora ≥ 18 এবং RHEL ≥ 7-এ, libguestfs অ্যাপ্লায়েন্স পরিচালনা করতে libvirt ব্যবহার করে। পূর্বে
(এবং আপস্ট্রিম) libguestfs সরাসরি qemu চালায়:

┌────────────────────────────────────
│ libguestfs │
├────────────────┬────────────────────
│ সরাসরি ব্যাকএন্ড │ libvirt ব্যাকএন্ড │
└────────────────┴────────────────────
↓ ↓
┌───────┐ ┌──────────┐
│ qemu │ │ libvirtd │
└───────┘ └──────────┘

┌───────┐
│ qemu │
└───────┘

আপস্ট্রিম ফেডোরা 18+
নন-ফেডোরা RHEL 7+
অ-আরএইচইএল

libvirt ব্যাকএন্ড আরও পরিশীলিত, SELinux/sVirt সমর্থন করে (উপরে দেখুন),
হটপ্লাগিং এবং আরও অনেক কিছু। তবে এটি আরও জটিল এবং তাই কম শক্তিশালী।

libvirt ব্যাকএন্ড ব্যবহার করে আপনার অনুমতি সমস্যা হলে, আপনি সরাসরি পরিবর্তন করতে পারেন
এই পরিবেশ পরিবর্তনশীল সেট করে ব্যাকএন্ড:

LIBGUESTFS_BACKEND=সরাসরি রপ্তানি করুন

কোনো libguestfs প্রোগ্রাম বা virt টুল চালানোর আগে।

কিভাবে পারেন I সুইচ থেকে a স্থায়ী / প্রাক বিল্ট যন্ত্রপাতি?
এটি Fedora এবং RHEL-এ libguestfs-এর স্থায়িত্ব ও কর্মক্ষমতা উন্নত করতে পারে।

libguestfs ইনস্টল করার পরে যেকোনো সময়, রুট হিসাবে নিম্নলিখিত কমান্ডগুলি চালান:

mkdir -p /usr/local/lib/guestfs/appliance
libguestfs-make-fixed-appliance /usr/local/lib/guestfs/appliance
ls -l/usr/local/lib/guestfs/appliance

libguestfs বা কোনো virt টুল ব্যবহার করার আগে এখন নিম্নলিখিত পরিবেশ পরিবর্তনশীল সেট করুন:

LIBGUESTFS_PATH=/usr/local/lib/guestfs/অ্যাপ্লায়েন্স রপ্তানি করুন

অবশ্যই আপনি যে কোনো ডিরেক্টরির পাথ পরিবর্তন করতে পারেন। আপনি যন্ত্র ভাগ করতে পারেন
একই আর্কিটেকচার আছে এমন মেশিন জুড়ে (যেমন সব x86-64), কিন্তু মনে রাখবেন libvirt
অনুমতি সমস্যাগুলির কারণে আপনাকে এনএফএস জুড়ে অ্যাপ্লায়েন্স শেয়ার করা থেকে বাধা দেবে (তাই
হয় সরাসরি ব্যাকএন্ডে স্যুইচ করুন বা NFS ব্যবহার করবেন না)।

কিভাবে পারেন I স্পীড up libguestfs নির্মাণ করে?
এখন পর্যন্ত সবচেয়ে গুরুত্বপূর্ণ জিনিস যা আপনি করতে পারেন তা হল স্কুইড ইনস্টল এবং সঠিকভাবে কনফিগার করা।
মনে রাখবেন যে স্কুইডের সাথে পাঠানো ডিফল্ট কনফিগারেশনটি আবর্জনা, তাই এটি কনফিগার করা হচ্ছে
ঐচ্ছিক নয়।

স্কুইড কনফিগারেশন দিয়ে শুরু করার জন্য একটি খুব ভাল জায়গা এখানে:
https://fedoraproject.org/wiki/Extras/MockTricks#Using_Squid_to_Speed_Up_Mock_package_downloads

নিশ্চিত করুন যে স্কুইড চলছে, এবং পরিবেশ ভেরিয়েবল $http_proxy এবং $ftp_proxy
এটার দিকে ইঙ্গিত করছে।

স্কুইড চলমান এবং সঠিকভাবে কনফিগার করা হলে, অ্যাপ্লায়েন্স বিল্ডগুলিকে কয়েকটিতে হ্রাস করা উচিত
minutes.

কিভাবে পারেন I স্পীড up libguestfs তৈরী করে (দেবিয়ান)?

হিলকো বেঞ্জেন "প্রায়" ব্যবহার করার পরামর্শ দেন যা একটি ডেবিয়ান আর্কাইভ প্রক্সি
(http://packages.debian.org/approx) এই টুলটি ডেবিয়ানে নথিভুক্ত করা হয়েছে প্রায়(8)
ম্যানুয়াল পৃষ্ঠা।

দ্রুততা, ডিস্ক ব্যবধান মধ্যে USED BY LIBGUESTFS


বিঃদ্রঃ: এই বিভাগের বেশিরভাগ তথ্য সরানো হয়েছে: অতিথি-পারফরম্যান্স(1).

আপলোড or লেখা মনে খুব ধীর
যদি অন্তর্নিহিত ডিস্কটি সম্পূর্ণরূপে বরাদ্দ না করা হয় (যেমন, স্পার্স কাঁচা বা qcow2) তাহলে লিখিত হতে পারে
ধীর কারণ হোস্ট অপারেটিং সিস্টেমকে আপনার থাকাকালীন ব্যয়বহুল ডিস্ক বরাদ্দ করতে হয়
লেখা সমাধান হল পরিবর্তে একটি সম্পূর্ণ বরাদ্দকৃত বিন্যাস ব্যবহার করা, অর্থাৎ। অ-স্পার্স কাঁচা, বা
qcow2 "preallocation=metadata" বিকল্পের সাথে।

Libguestfs ব্যবহারসমূহ অত্যধিক অনেক ডিস্ক স্থান!
libguestfs একটি বড়-ইশ যন্ত্রপাতি ক্যাশে করে:

/var/tmp/.guestfs-

যদি পরিবেশ পরিবর্তনশীল "TMPDIR" সংজ্ঞায়িত করা হয়, তাহলে $TMPDIR/.guestfs- ব্যবহৃত হয়
পরিবর্তে.

আপনি যখন libguestfs ব্যবহার করছেন না তখন এই ডিরেক্টরিটি মুছে ফেলা নিরাপদ।

virt-sparsify মনে হয় থেকে করা দ্য ভাবমূর্তি হত্তয়া থেকে দ্য সম্পূর্ণ আয়তন of দ্য ভার্চুয়াল ডিস্ক
ইনপুট হলে virt-sparsify(1) কাঁচা, তাহলে আউটপুট কাঁচা স্পার্স হবে। নিশ্চিত করা
আপনি একটি টুল দিয়ে আউটপুট পরিমাপ করছেন যা "du -sh" এর মতো স্পর্সেনেস বোঝে।
এটি একটি বিশাল পার্থক্য করতে পারে:

$ls -lh test1.img
-rw-rw-r--। 1 rjones rjones 100M আগস্ট 8 08:08 test1.img
$ du -sh test1.img
3.6M test1.img

(আপাত আকারের তুলনা করুন 100M বনাম প্রকৃত আকার 3.6M)

যদি এই সমস্ত আপনাকে বিভ্রান্ত করে, তাহলে নির্দিষ্ট করে একটি অ-স্পার্স আউটপুট বিন্যাস ব্যবহার করুন -- রূপান্তর
বিকল্প, যেমন:

virt-sparsify --convert qcow2 disk.raw disk.qcow2

কেন না virt-রিসাইজ কাজ on দ্য ডিস্ক ভাবমূর্তি জায়গায়?
একটি ডিস্ক চিত্রের আকার পরিবর্তন করা খুবই কঠিন -- বিশেষ করে নিশ্চিত করা যে আপনি ডেটা হারাবেন না বা
বুটলোডার ভাঙ্গুন। বর্তমান পদ্ধতি কার্যকরভাবে একটি নতুন ডিস্ক চিত্র এবং অনুলিপি তৈরি করে
পুরানো থেকে ডেটা প্লাস বুটলোডার। কিছু ভুল হলে, আপনি সবসময় যেতে পারেন
মূলে ফিরে যান।

আমরা যদি virt-resize কাজকে জায়গায় করতে চাই তাহলে সেখানে সীমাবদ্ধতা থাকতে হবে: জন্য
উদাহরণস্বরূপ, আপনাকে বিদ্যমান পার্টিশনগুলি সরানোর অনুমতি দেওয়া হবে না (কারণ ডেটা সরানো হচ্ছে
একই ডিস্ক পাওয়ার ব্যর্থতা বা ক্র্যাশের ক্ষেত্রে ডেটা নষ্ট হওয়ার সম্ভাবনা বেশি থাকে),
এবং LVM সমর্থন করা খুব কঠিন হবে (প্রায় নির্বিচারে ম্যাপিংয়ের কারণে
LV বিষয়বস্তু এবং অন্তর্নিহিত ডিস্ক ব্লকের মধ্যে)।

অন্য একটি পদ্ধতি যা আমরা বিবেচনা করেছি তা হল মূল ডিস্ক চিত্রের উপর একটি স্ন্যাপশট স্থাপন করা, তাই
যে মূল ডেটা অস্পর্শিত এবং শুধুমাত্র পার্থক্যগুলি স্ন্যাপশটে রেকর্ড করা হয়।
আপনি আজ "qemu-img create" + "virt-resize" ব্যবহার করে এটি করতে পারেন, কিন্তু qemu বর্তমানে নেই
যখন একই ব্লকটি স্ন্যাপশটে আগের মতো লেখা হয় তখন চিনতে যথেষ্ট স্মার্ট
ব্যাকিং ডিস্কে বিদ্যমান, তাই আপনি দেখতে পাবেন যে এটি আপনার কোন স্থান বা সময় বাঁচায় না।

সংক্ষেপে, এটি একটি কঠিন সমস্যা, এবং আমাদের এখন যা আছে তা বেশিরভাগই কাজ করে তাই আমরা অনিচ্ছুক
এটি পরিবর্তন করতে।

কেন না virt-sparsify কাজ on দ্য ডিস্ক ভাবমূর্তি জায়গায়?
libguestfs ≥ 1.26-এ, virt-sparsify এখন ডিস্ক ইমেজের জায়গায় কাজ করতে পারে। ব্যবহার করুন:

virt-sparsify --in-place disk.img

কিন্তু প্রথমে আপনার "ইন-প্লেস স্পারসিফিকেশন" পড়তে হবে virt-sparsify(1).

সমস্যার উদ্বোধন ডিস্ক চিত্রগুলি


দূরবর্তী libvirt দ্বারা অতিথি না পারেন be খোলা
দূরবর্তী libvirt গেস্ট খোলা এই সময়ে সমর্থিত নয়। উদাহরণস্বরূপ এটি কাজ করবে না:

গেস্টফিশ -c qemu://remote/system -d অতিথি

দূরবর্তী ডিস্কগুলি খুলতে আপনাকে সেগুলিকে কোনওভাবে রপ্তানি করতে হবে, তারপর রপ্তানির সাথে সংযোগ করুন৷ জন্য
উদাহরণ যদি আপনি NBD ব্যবহার করার সিদ্ধান্ত নেন:

remote$ qemu-nbd -t -p 10809 guest.img
স্থানীয় $ গেস্টফিশ -a nbd://remote:10809 -i

অন্যান্য সম্ভাবনার মধ্যে রয়েছে ssh (যদি qemu যথেষ্ট সাম্প্রতিক হয়), NFS বা iSCSI। "রিমোট" দেখুন
STORAGE" ইন অতিথি(3).

কিভাবে পারেন I খোলা এই অদ্ভুত ডিস্ক উৎস?
আপনার অন্য একটি সিস্টেমের ভিতরে অবস্থিত একটি ডিস্ক চিত্র রয়েছে যা একটি লাইব্রেরির মাধ্যমে অ্যাক্সেসের প্রয়োজন /
HTTP / REST / মালিকানাধীন API, বা কোনোভাবে সংকুচিত বা সংরক্ষণাগারভুক্ত। (একটি উদাহরণ
প্রকৃতপক্ষে ডাউনলোড না করেই OpenStack গ্ল্যান্স ইমেজগুলিতে দূরবর্তী অ্যাক্সেস হবে।)

আমাদের nbdkit (https://github.com/libguestfs/nbdkit) নামে একটি বোন প্রকল্প আছে। এই
প্রজেক্ট আপনাকে যেকোনো ডিস্ক উৎসকে NBD সার্ভারে পরিণত করতে দেয়। Libguestfs NBD অ্যাক্সেস করতে পারে
সার্ভার সরাসরি, যেমন:

অতিথি মাছ - একটি nbd://remote

nbdkit উদারভাবে লাইসেন্সপ্রাপ্ত, তাই আপনি এটিকে লিঙ্ক করতে বা মালিকানাধীন লাইব্রেরিতে অন্তর্ভুক্ত করতে পারেন
এবং কোড। এটিতে একটি সাধারণ, স্থিতিশীল প্লাগইন API রয়েছে যাতে আপনি সহজেই প্লাগইনগুলির বিরুদ্ধে লিখতে পারেন
API যা ভবিষ্যতে কাজ করতে থাকবে।

ভুল উদ্বোধন ভিএমডিকে ডিস্ক: "ব্যবহারসমূহ a vmdk বৈশিষ্ট্য যে is না সমর্থিত by এই ছিঃ সংস্করণ:
ভিএমডিকে সংস্করণ 3"
Qemu (এবং তাই libguestfs) শুধুমাত্র কিছু VMDK ডিস্ক ইমেজ সমর্থন করে। অন্যরা কাজ করবে না,
এই বা অনুরূপ ত্রুটি প্রদান.

আদর্শভাবে কেউ সর্বশেষ VMDK বৈশিষ্ট্য সমর্থন করার জন্য qemu ঠিক করবে, কিন্তু এর মধ্যেই
আপনার তিনটি বিকল্প আছে:

1. যদি অতিথি একটি লাইভ, পৌঁছানো যায় এমন ESX সার্ভারে হোস্ট করা হয়, তাহলে তা সনাক্ত করুন এবং ডাউনলোড করুন
ডিস্ক ইমেজ বলা হয় somename-flat.vmdk. নাম সত্ত্বেও, এটি একটি কাঁচা ডিস্ক ইমেজ, এবং
যেকোনো কিছু দিয়ে খোলা যায়।

আপনার যদি qemu এবং libguestfs-এর সাম্প্রতিক যথেষ্ট সংস্করণ থাকে, তাহলে আপনি সক্ষম হতে পারেন
HTTPS বা ssh ব্যবহার করে দূরবর্তীভাবে এই ডিস্ক চিত্রটি অ্যাক্সেস করুন। "রিমোট স্টোরেজ" দেখুন
অতিথি(3).

2. চিত্রটিকে কাঁচা বিন্যাসে রূপান্তর করতে VMware-এর মালিকানাধীন vdiskmanager টুল ব্যবহার করুন।

3. একটি NBD হিসাবে ডিস্ক ইমেজ লাইভ এক্সপোর্ট করতে মালিকানাধীন VDDK প্লাগইন সহ nbdkit ব্যবহার করুন
উৎস. এটি আপনাকে VMDK ফাইলটি পড়তে এবং লিখতে অনুমতি দেবে।

ইউএফএস ডিস্ক (যেমন ব্যবহৃত by বিএসডি) না পারেন be খোলা
UFS ফাইলসিস্টেম বিন্যাসে অনেকগুলি রূপ রয়েছে এবং এগুলি স্ব-শনাক্তকারী নয়। দ্য
লিনাক্স কার্নেলকে বলতে হবে UFS এর কোন রূপটি ব্যবহার করতে হবে, কোন libguestfs পারে না
জানি।

এই ফাইল সিস্টেমগুলি মাউন্ট করার সময় আপনাকে সঠিক "ufstype" মাউন্ট বিকল্পটি পাস করতে হবে।

https://www.kernel.org/doc/Documentation/filesystems/ufs.txt দেখুন

উইন্ডোজ refs
Windows ReFS হল Microsoft এর ZFS/Btrfs কপি। এই ফাইল সিস্টেমটি এখনও বিপরীত করা হয়নি
লিনাক্স কার্নেলে ইঞ্জিনিয়ারড এবং প্রয়োগ করা হয়েছে এবং তাই libguestfs সমর্থন করে না
এটা এই মুহুর্তে এটি খুব বিরল বলে মনে হচ্ছে "বন্যে"।

অ-ASCII অক্ষর না প্রদর্শিত on ভিএফএটি ফাইল সিস্টেম
এই সমস্যার সাধারণ লক্ষণ:

আপনি যখন একটি ফাইল তৈরি করেন যেখানে ফাইলের নাম নন-ASCII থাকে তখন আপনি একটি ত্রুটি পান
অক্ষর, বিশেষ করে এশিয়ান ভাষা থেকে অ 8-বিট অক্ষর (চীনা, জাপানি,
ইত্যাদি)। ফাইল সিস্টেম হল VFAT।

যখন আপনি একটি VFAT ফাইল সিস্টেম থেকে একটি ডিরেক্টরি তালিকাভুক্ত করেন, ফাইলের নামগুলি প্রশ্ন চিহ্ন হিসাবে উপস্থিত হয়।

এটি GNU/Linux সিস্টেমের একটি ডিজাইন ত্রুটি।

VFAT দীর্ঘ ফাইলের নাম UTF-16 অক্ষর হিসাবে সংরক্ষণ করে। ফাইলের নাম খোলার বা ফেরত দেওয়ার সময়,
লিনাক্স কার্নেলকে এগুলিকে 8 বিট স্ট্রিং-এর কিছু ফর্মে অনুবাদ করতে হবে। UTF-8 হবে
সুস্পষ্ট পছন্দ, লিনাক্স ব্যবহারকারীদের ছাড়া যারা নন-UTF-8 লোকেল ব্যবহার করে থাকেন (ব্যবহারকারীর
লোকেল কার্নেলের কাছে পরিচিত নয় কারণ এটি libc এর একটি ফাংশন)।

তাই আপনাকে কার্নেলকে বলতে হবে আপনি যখন মাউন্ট করবেন তখন আপনি কি অনুবাদ করতে চান
নথি ব্যবস্থা. দুটি পদ্ধতি হল "iocharset" প্যারামিটার (যা প্রাসঙ্গিক নয়
libguestfs) এবং "utf8" পতাকা।

তাই একটি VFAT ফাইল সিস্টেম ব্যবহার করার জন্য মাউন্ট করার সময় আপনাকে অবশ্যই "utf8" পতাকা যোগ করতে হবে। অতিথি মাছ থেকে,
ব্যবহার করুন:

> মাউন্ট-বিকল্প utf8 /dev/sda1 /

অথবা গেস্টফিশ কমান্ড লাইনে:

গেস্টফিশ [...] -m /dev/sda1:/:utf8

অথবা API থেকে:

guestfs_mount_options (g, "utf8", "/dev/sda1", "/");

কার্নেল তারপর UTF-8 স্ট্রিং-এ এবং থেকে ফাইলের নাম অনুবাদ করবে।

আমরা এই মাউন্ট বিকল্পটি স্বচ্ছভাবে যোগ করার কথা বিবেচনা করেছি, কিন্তু দুর্ভাগ্যবশত বেশ কয়েকটি আছে
এটি করতে সমস্যা:

কিছু লিনাক্স সিস্টেমে, "utf8" মাউন্ট বিকল্পটি কাজ করে না। আমরা সুনির্দিষ্টভাবে না
কি সিস্টেম বা কেন বুঝতে, কিন্তু এটি নির্ভরযোগ্যভাবে একজন ব্যবহারকারী দ্বারা রিপোর্ট করা হয়েছে.

· এটি আপনাকে "iocharset" প্যারামিটার ব্যবহার করতে বাধা দেবে কারণ এটি বেমানান
"utf8" সহ। এই প্যারামিটার ব্যবহার করা সম্ভবত একটি ভাল ধারণা নয়, কিন্তু আমরা চাই না
এটা প্রতিরোধ করতে

অ-ASCII অক্ষর প্রদর্শিত as আন্ডারস্কোর (_) on ISO9660 ফাইল সিস্টেম
ফাইল সিস্টেমটি mkisofs বা genisoimage দিয়ে সঠিকভাবে প্রস্তুত করা হয়নি। নিশ্চিত করুন
ফাইল সিস্টেম জোলিয়েট এবং/অথবা রক রিজ এক্সটেনশন ব্যবহার করে তৈরি করা হয়েছিল। libguestfs না
ফাইল সিস্টেম পরিচালনা করার জন্য কোনো বিশেষ মাউন্ট বিকল্প প্রয়োজন।

নারা খোলা উইন্ডোজ অতিথি যে ব্যবহার এনটিএফএস।
আপনি যেমন ত্রুটি দেখতে পান:

মাউন্ট: অজানা ফাইল সিস্টেম টাইপ 'ntfs'

Red Hat Enterprise Linux বা CentOS-এ, আপনাকে libguestfs-winsupport ইনস্টল করতে হবে
প্যাকেজ।

নারা খোলা or পরিদর্শন করা RHEL 7 অতিথি।
নারা খোলা লিনাক্স অতিথি যে ব্যবহার এক্সএফএস।
RHEL 7 গেস্ট, এবং অন্য যেকোন গেস্ট যারা XFS ব্যবহার করে, libguestf দ্বারা খোলা যাবে, কিন্তু আপনি
"libguestfs-xfs" প্যাকেজ ইনস্টল করতে হবে।

ব্যবহার LIBGUESTFS IN তোমার নিজস্ব প্রোগ্রাম


সার্জারির এপিআই হয়েছে শত শত of পদ্ধতি, কোথায় do I শুরু?
আমরা আপনাকে API ওভারভিউ পড়ে শুরু করার পরামর্শ দিচ্ছি: "API ওভারভিউ" ইন অতিথি(3).

যদিও এপিআই ওভারভিউ সি এপিআইকে কভার করে, আপনি যদি হন তবুও এটি পড়ার মূল্য
অন্য একটি প্রোগ্রামিং ভাষা ব্যবহার করতে যাচ্ছি, কারণ এপিআই একই, শুধু সহজ সঙ্গে
কলের নামের যৌক্তিক পরিবর্তন:

C guestfs_ln_sf (g, লক্ষ্য, লিঙ্কনাম);
পাইথন g.ln_sf (লক্ষ্য, লিঙ্কের নাম);
OCaml g#ln_sf টার্গেট লিঙ্কনাম;
পার্ল $g->ln_sf (লক্ষ্য, লিঙ্কের নাম);
শেল (গেস্টফিশ) ln-sf টার্গেট লিঙ্কনাম
PHP guestfs_ln_sf ($g, $target, $linkname);

একবার আপনি API ওভারভিউয়ের সাথে পরিচিত হয়ে গেলে, আপনাকে শুরু করার এই তালিকাটি দেখতে হবে
অন্যান্য ভাষার বাইন্ডিংয়ের জন্য পয়েন্ট: "অন্যান্য প্রোগ্রামিং ভাষার সাথে LIBGUESTFS ব্যবহার করা"
অতিথি(3).

Can I ব্যবহার libguestfs in my মালিকানা / বন্ধ উৎস / ব্যবসায়িক কার্যক্রম?
সাধারণভাবে, হ্যাঁ। তবে এটি আইনি পরামর্শ নয় - যে লাইসেন্সটি আসে তা পড়ুন
libguestfs, এবং আপনার নির্দিষ্ট প্রশ্ন থাকলে একজন আইনজীবীর সাথে যোগাযোগ করুন।

উৎস ট্রিতে লাইসেন্সটি "COPYING.LIB" (LGPLv2+ লাইব্রেরির জন্য এবং
বাইন্ডিং) এবং "কপি করা" (স্বতন্ত্র প্রোগ্রামগুলির জন্য GPLv2+)।

ডিবাগিং LIBGUESTFS


সহায়তা, এটা না কাজ!
যদি কোন libguestfs প্রোগ্রাম কাজ না করে, নিচের প্রোগ্রামটি চালান এবং পেস্ট করুন
সম্পূর্ণ, অশিক্ষিত "libguestfs" @ "redhat.com"-এ একটি ইমেলে আউটপুট করুন:

libguestfs-টেস্ট-টুল

যদি একটি নির্দিষ্ট অপারেশন ব্যর্থ হয়, একটি ইমেলে এই চেকলিস্টের সমস্ত তথ্য সরবরাহ করুন৷
"libguestfs" @ "redhat.com" এ:

1. আপনি কি করার চেষ্টা করছেন?

2. আপনি কোন সঠিক আদেশ(গুলি) চালাতেন?

3. এই কমান্ডগুলির সঠিক ত্রুটি বা আউটপুট কি ছিল?

4. ডিবাগিং সক্ষম করুন, আবার কমান্ড চালান এবং ক্যাপচার করুন সম্পূর্ণ আউটপুট। Do না
সম্পাদন করা দ্য আউটপুট।

LIBGUESTFS_DEBUG=1 রপ্তানি করুন
LIBGUESTFS_TRACE=1 রপ্তানি করুন

5. libguestfs এর সংস্করণ, অপারেটিং সিস্টেম সংস্করণ এবং আপনি কীভাবে ইনস্টল করেছেন তা অন্তর্ভুক্ত করুন
libguestfs (যেমন উৎস থেকে, "yum ইনস্টল", ইত্যাদি)

কিভাবে do I ডেবাগ্ করা কখন ব্যবহার কোন libguestfs কার্যক্রম or টুল (যেমন। virt-v2v or virt-df)?
দুটি "LIBGUESTFS_*" এনভায়রনমেন্ট ভেরিয়েবল আছে যা আপনি আরও পেতে সেট করতে পারেন৷
libguestfs থেকে তথ্য।

"LIBGUESTFS_TRACE"
এটিকে 1 এ সেট করুন এবং libguestfs প্রতিটি কমান্ড/এপিআই কলকে একটি বিন্যাসে প্রিন্ট করবে যা
গেস্টফিশ কমান্ডের অনুরূপ।

"LIBGUESTFS_DEBUG"
প্রচুর পরিমাণে ডিবাগ বার্তা সক্ষম করতে এটি 1 এ সেট করুন। যদি তুমি ভাবো
libguestfs যন্ত্রের ভিতরে কিছু সমস্যা আছে, তাহলে আপনার এটি ব্যবহার করা উচিত
বিকল্প।

শেল থেকে এগুলি সেট করতে, প্রোগ্রামটি চালানোর আগে এটি করুন:

LIBGUESTFS_TRACE=1 রপ্তানি করুন
LIBGUESTFS_DEBUG=1 রপ্তানি করুন

csh/tcsh এর জন্য সমতুল্য কমান্ডগুলি হবে:

setenv LIBGUESTFS_TRACE 1
setenv LIBGUESTFS_DEBUG 1

আরও তথ্যের জন্য, দেখুন: "এনভায়রনমেন্ট ভ্যারিয়েবলস" ইন অতিথি(3).

কিভাবে do I ডেবাগ্ করা কখন ব্যবহার অতিথি মাছ?
আপনি উপরের একই পরিবেশ ভেরিয়েবল ব্যবহার করতে পারেন। বিকল্পভাবে গেস্টফিশ বিকল্পগুলি ব্যবহার করুন
-x (কমান্ড ট্রেস করতে) বা -v (সম্পূর্ণ ডিবাগ আউটপুট পেতে), অথবা উভয়ই।

আরও তথ্যের জন্য, দেখুন: অতিথি মাছ(1).

কিভাবে do I ডেবাগ্ করা কখন ব্যবহার দ্য এপিআই?
"guestfs_set_trace"-এ কল করুন অতিথি(3) কমান্ড ট্রেস সক্ষম করতে, এবং/অথবা
"guestfs_set_verbose" ইন অতিথি(3) ডিবাগ বার্তা সক্রিয় করতে।

সেরা ফলাফলের জন্য, এই ফাংশনগুলিকে যত তাড়াতাড়ি সম্ভব কল করুন, তৈরি করার পরেই
guestfs হ্যান্ডেল যদি আপনি করতে পারেন, এবং অবশ্যই লঞ্চ কল করার আগে।

কিভাবে do I গ্রেপ্তার ডেবাগ্ করা আউটপুট এবং করা it মধ্যে my লগিং পদ্ধতি?
ইভেন্ট API ব্যবহার করুন। উদাহরণের জন্য, দেখুন: "ইভেন্টগুলি পরিচালনা করতে কলব্যাক সেট করা" অতিথি(3)
এবং উদাহরণ/debug-logging.c libguestfs সূত্রে প্রোগ্রাম।

খনক গভীর মধ্যে দ্য যন্ত্রপাতি নৌকা প্রক্রিয়া।
ডিবাগিং সক্ষম করুন এবং তারপরে অ্যাপ্লায়েন্স বুট প্রক্রিয়াতে এই ডকুমেন্টেশনটি পড়ুন:
অতিথি-অভ্যন্তরীণ(1).

libguestfs হ্যাং or ব্যর্থ সময় চালান/লঞ্চ করুন।
ডিবাগিং সক্ষম করুন এবং সম্পূর্ণ আউটপুট দেখুন। আপনি কি ঘটছে তা কাজ করতে না পারলে,
একটি বাগ রিপোর্ট ফাইল করুন, সহ সম্পূর্ণ এর আউটপুট libguestfs-টেস্ট-টুল(1).

ডিবাগ করা libvirt দ্বারা
আপনি যদি libvirt ব্যাকএন্ড ব্যবহার করেন এবং libvirt ব্যর্থ হয়, তাহলে আপনি সক্রিয় করতে পারেন
সম্পাদনা করে ডিবাগিং /etc/libvirt/libvirtd.conf.

আপনি যদি নন-রুট হিসাবে চালান তবে আপনাকে একটি ভিন্ন ফাইল সম্পাদনা করতে হবে। সৃষ্টি
~/.config/libvirt/libvirtd.conf ধারণকারী:

log_level=1
log_outputs="1:file:/tmp/libvirtd.log"

চলমান যে কোনো সেশন (অ-রুট) libvirtd মেরে ফেলুন, এবং পরের বার আপনি libguestf চালাবেন
কমান্ড, আপনি libvirtd in থেকে প্রচুর পরিমাণে দরকারী ডিবাগিং তথ্য দেখতে পাবেন
/tmp/libvirtd.log

ডিজাইন/অভ্যন্তরীণ OF LIBGUESTFS


আরো দেখুন অতিথি-অভ্যন্তরীণ(1).

কেন না আপনি do সব দ্বারা দ্য ফিউজ / নথি ব্যবস্থা ইন্টারফেস?
আমরা একটি আদেশ নামক প্রস্তাব গেস্টমাউন্ট(1) যা আপনাকে গেস্ট ফাইল সিস্টেম মাউন্ট করতে দেয়
হোস্ট এটি একটি FUSE মডিউল হিসাবে প্রয়োগ করা হয়। কেন আমরা শুধু পুরোটা বাস্তবায়ন করি না
libguestfs এই পদ্ধতি ব্যবহার করে, পরিবর্তে বড় এবং বরং জটিল API?

কারণগুলো দ্বিগুণ। প্রথমত, libguestfs যেমন কিছু করার জন্য API কল অফার করে
পার্টিশন এবং লজিক্যাল ভলিউম তৈরি করা এবং মুছে ফেলা, যা একটি ফাইল সিস্টেমের সাথে খাপ খায় না
মডেল খুব সহজে। অথবা বরং, আপনি সেগুলিকে মানানসই করতে পারেন: উদাহরণস্বরূপ, একটি পার্টিশন তৈরি করা
"mkdir /fs/hda1" এ ম্যাপ করা যেতে পারে কিন্তু তারপরে আপনাকে বেছে নেওয়ার জন্য কিছু পদ্ধতি নির্দিষ্ট করতে হবে
পার্টিশনের আকার (হয়তো "echo 100M > /fs/hda1/.size"), এবং পার্টিশনের ধরন,
শুরু এবং শেষ সেক্টর ইত্যাদি
আমাদের বর্তমানে যে কল-ভিত্তিক API আছে তার চেয়ে আরও জটিল দেখায়।

দ্বিতীয় কারণটি দক্ষতার জন্য। FUSE নিজেই যুক্তিসঙ্গতভাবে দক্ষ, কিন্তু এটি করে
FUSE মডিউলে প্রচুর ছোট, স্বাধীন কল করুন। গেস্টমাউন্টে এগুলো করতে হবে
libguestfs অ্যাপ্লায়েন্সে বার্তায় অনুবাদ করা হবে যার একটি বড় ওভারহেড রয়েছে (সময়ে
এবং রাউন্ড ট্রিপ)। উদাহরণস্বরূপ, 64 KB খণ্ডে একটি ফাইল পড়া অদক্ষ কারণ প্রতিটি
খণ্ড একটি একক রাউন্ড ট্রিপে পরিণত হবে. libguestfs API-এ এটি আরও অনেক বেশি
স্ট্রিমিং কলগুলির একটির মাধ্যমে একটি সম্পূর্ণ ফাইল বা ডিরেক্টরি ডাউনলোড করতে দক্ষ
"guestfs_download" বা "guestfs_tar_out"।

কেন না আপনি do সব দ্বারা জিভিএফএস?
সমস্যাগুলি FUSE-এর সমস্যার মতোই।

GVFS হল POSIX/FUSE-এর চেয়ে ভাল বিমূর্ততা। GVFS-এর জন্য একটি FTP ব্যাকএন্ড আছে, যা
উত্সাহজনক কারণ FTP ধারণাগতভাবে libguestfs API-এর মতো। তবে GVFS
FTP ব্যাকএন্ড ইন্টারঅ্যাক্টিভিটি রাখার জন্য একাধিক যুগপত সংযোগ তৈরি করে, যা
আমরা সহজে libguestfs দিয়ে করতে পারি না।

কেন পারেন I লেখা থেকে দ্য ডিস্ক, এমন কি যদিও I যোগ it শুধুমাত্র পাঠযোগ্য?
কেন না "--রো" প্রদর্শিত থেকে আছে না। প্রভাব?
যখন আপনি শুধুমাত্র পঠনযোগ্য একটি ডিস্ক যোগ করেন, তখন libguestfs এর উপরে একটি লেখার যোগ্য ওভারলে রাখে
অন্তর্নিহিত ডিস্ক। লেখাগুলি এই ওভারলেতে যায়, এবং হ্যান্ডেলটি বন্ধ হয়ে গেলে বাতিল করা হয়
(বা "গেস্ট ফিশ" ইত্যাদি প্রস্থান)।

এইভাবে এটি করার দুটি কারণ রয়েছে: প্রথমত শুধুমাত্র পঠনযোগ্য ডিস্কগুলি সম্ভব নয়৷
অনেক ক্ষেত্রে (যেমন, IDE কেবল তাদের সমর্থন করে না, তাই আপনি একটি IDE-অনুকরণ করতে পারেননি
শুধুমাত্র পঠনযোগ্য ডিস্ক, যদিও এটি প্রকৃত libguestfs ইনস্টলেশনে সাধারণ নয়)।

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

এটিকে ব্যবহারযোগ্য করার জন্য, আমরা এই লেখাগুলিকে সাময়িকভাবে সংরক্ষণ করার জায়গা হিসাবে ওভারলে তৈরি করি, এবং
তারপরে আমরা পরে এটি বাতিল করি। এটি নিশ্চিত করে যে অন্তর্নিহিত ডিস্কটি সর্বদা স্পর্শহীন থাকে।

এছাড়াও মনে রাখবেন যে libguestfs তৈরি করার সময় এর জন্য একটি রিগ্রেশন পরীক্ষা রয়েছে (in
"পরীক্ষা/কিউমু")। প্যাকেজারদের জন্য টেস্ট স্যুট চালানো গুরুত্বপূর্ণ কেন এটি একটি কারণ।

না "--রো" করা সব ডিস্ক শুধুমাত্র পাঠযোগ্য?
না! "--ro" বিকল্পটি শুধুমাত্র কমান্ড লাইনে যোগ করা ডিস্ককে প্রভাবিত করে, যেমন। "-a" ব্যবহার করে এবং
"-d" বিকল্প।

গেস্টফিশে, আপনি যদি "অ্যাড" কমান্ড ব্যবহার করেন, তাহলে ডিস্ক রিড-রাইট যোগ করা হয় (যদি না আপনি
কমান্ডের সাথে স্পষ্টভাবে "পাঠযোগ্য:সত্য" পতাকা নির্দিষ্ট করুন)।

Can I ব্যবহার "অতিথি মাছ --ro" as a উপায় থেকে ব্যাকআপ my ভার্চুয়াল মেশিন?
সাধারণত এটি হয় না একটি ভাল ধারনা. এই মেইলিং এ প্রশ্নের আরো বিস্তারিত উত্তর দেওয়া হয়েছে
তালিকা পোস্টিং: https://www.redhat.com/archives/libguestfs/2010-August/msg00024.html

পরবর্তী প্রশ্নটিও দেখুন।

কেন নারা I চালান fsck on a জীবিত নথি ব্যবস্থা ব্যবহার "অতিথি মাছ --ro"?
এই কমান্ড সাধারণত হবে না কাজ:

গেস্টফিশ --ro -a /dev/vg/my_root_fs রান : fsck /dev/sda

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

আপনাকে যা করতে হবে তা হল একটি পয়েন্ট-ইন-টাইম স্ন্যাপশট তৈরি করা। এটি একটি লজিক্যাল ভলিউম হলে, ব্যবহার করুন
একটি LVM2 স্ন্যাপশট। যদি ফাইল সিস্টেমটি btrfs/ZFS ফাইলের মতো কিছুর ভিতরে থাকে,
একটি btrfs/ZFS স্ন্যাপশট ব্যবহার করুন, এবং তারপর স্ন্যাপশটে fsck চালান। অনুশীলনে আপনি তা করবেন না
এর জন্য libguestfs ব্যবহার করতে হবে -- শুধু চালান /sbin/fsck সরাসরি।

হোস্ট ডিভাইস এবং ফাইলগুলির পয়েন্ট-ইন-টাইম স্ন্যাপশট তৈরি করা এর সুযোগের বাইরে
libguestfs, যদিও libguestfs তৈরি হয়ে গেলে তাদের উপর কাজ করতে পারে।

কী দ্য পার্থক্য মধ্যে অতিথি মাছ এবং virt-উদ্ধার?
আমরা যে দুটি অতিমাত্রায় অনুরূপ সরঞ্জাম সরবরাহ করি তার দ্বারা অনেক লোক বিভ্রান্ত হয়:

$ guestfish --ro -a guest.img
> চালান
> fsck /dev/sda1

$ virt-rescue --ro guest.img
/sbin/fsck আপনার / dev / sda1

এবং সম্পর্কিত প্রশ্ন যা তারপর দেখা দেয় কেন আপনি সম্পূর্ণ শেল কমান্ড টাইপ করতে পারবেন না
গেস্টফিশে সমস্ত --অপশন সহ (তবে আপনি প্রবেশ করতে পারেন virt- উদ্ধার(1))।

অতিথি মাছ(1) একটি প্রোগ্রাম যা কাঠামোগত অ্যাক্সেস প্রদান করে অতিথি(3) API। এটা ঘটে
একটি চমৎকার ইন্টারেক্টিভ শেল হতে হবে, কিন্তু এর প্রাথমিক উদ্দেশ্য হল কাঠামোগত অ্যাক্সেস থেকে
শেল স্ক্রিপ্ট। পাইথন এবং অন্যান্য বাইন্ডিংয়ের মতো এটিকে ভাষা বাইন্ডিংয়ের মতো আরও ভাবুন,
কিন্তু শেল জন্য. গেস্টফিশের মূল পার্থক্যকারী ফ্যাক্টর (এবং libguestfs API
সাধারণ) পরিবর্তনগুলি স্বয়ংক্রিয় করার ক্ষমতা।

virt- উদ্ধার(1) libguestfs অ্যাপ্লায়েন্স বুট করার এবং তৈরি করার জন্য একটি বিনামূল্যের জন্য বিনামূল্যের উপায়
আপনার ভিএম-এ নির্বিচারে পরিবর্তন। এটি কাঠামোগত নয়, আপনি এটি স্বয়ংক্রিয় করতে পারবেন না, তবে তৈরির জন্য
আপনার অতিথিদের দ্রুত অ্যাড-হক সংশোধন, এটি বেশ কার্যকর হতে পারে।

কিন্তু, libguestfs-এরও অ্যাপ্লায়েন্সে একটি "ব্যাকডোর" রয়েছে যা আপনাকে নির্বিচারে পাঠাতে অনুমতি দেয়
শেল কমান্ড। এটি virt-rescue এর মতো নমনীয় নয়, কারণ আপনি এর সাথে ইন্টারঅ্যাক্ট করতে পারবেন না
শেল কমান্ড, কিন্তু এখানে এটি যাইহোক:

ডিবাগ sh "cmd arg1 arg2 ..."

মনে রাখবেন যে আপনার উচিত না এই উপর নির্ভর করুন এটি ভবিষ্যতে সরানো বা পরিবর্তন করা যেতে পারে। যদি তোমার
প্রোগ্রামের কিছু অপারেশন প্রয়োজন, পরিবর্তে libguestfs API এ যোগ করুন।

কী দ্য লেনদেন সঙ্গে "অতিথি মাছ -আমি"?
কেন না virt-বিড়াল কেবল কাজ on a বাস্তব VM চিত্র, কিন্তু virt-df কাজ on কোন ডিস্ক ছবি?
কি না "না শিকড় যন্ত্র পাওয়া in এই অপারেটিং পদ্ধতি ছবি" এর অর্থ কি?
এই সমস্ত প্রশ্নগুলি একটি মৌলিক স্তরে সম্পর্কিত যা অবিলম্বে নাও হতে পারে
সুস্পষ্ট।

অতিথি(3) API স্তর, একটি "ডিস্ক চিত্র" পার্টিশন এবং ফাইল সিস্টেমের একটি গাদা মাত্র।

বিপরীতে, যখন ভার্চুয়াল মেশিন বুট হয়, এটি সেই ফাইল সিস্টেমগুলিকে একটি সামঞ্জস্যপূর্ণভাবে মাউন্ট করে
অনুক্রম যেমন:

/ (/dev/sda2)

├── / বুট (/dev/sda1)

├── / হোম (/dev/vg_external/Homes)

├── , / usr (/dev/vg_os/lv_usr)

└── প্রথমেই / var (/dev/vg_os/lv_var)

(বা উইন্ডোজে ড্রাইভ অক্ষর)।

API সর্বপ্রথম "ফাইল সিস্টেমের গাদা" স্তরে ডিস্ক চিত্রটি দেখে। কিন্তু এটাও
এটি একটি অপারেটিং সিস্টেম রয়েছে কিনা তা দেখতে ডিস্ক ইমেজ পরিদর্শন করার একটি উপায় আছে, এবং কিভাবে
অপারেটিং সিস্টেম বুট করার সময় ডিস্কগুলি মাউন্ট করা হয়: "পরিদর্শন" ইন৷ অতিথি(3).

ব্যবহারকারীরা কিছু সরঞ্জাম আশা করে (যেমন virt-বিড়াল(1)) VM পাথগুলির সাথে কাজ করতে:

virt-cat fedora.img /var/log/messages

ভার্টি-বিড়াল কীভাবে তা জানে প্রথমেই / var একটি পৃথক পার্টিশন? কৌশলটি হল যে virt-cat
ডিস্ক ইমেজ পরিদর্শন করে, এবং সঠিকভাবে পাথ অনুবাদ করতে এটি ব্যবহার করে।

কিছু সরঞ্জাম (সহ virt-বিড়াল(২০১১), virt-সম্পাদনা(২০১১), virt-ls(1)) VM ম্যাপ করতে পরিদর্শন ব্যবহার করুন
পথ অন্যান্য সরঞ্জাম, যেমন virt-df(1) এবং virt-ফাইলসিস্টেম(1) সম্পূর্ণরূপে কাজ
libguestfs API-এর raw "ফাইল সিস্টেমের বড় গাদা" স্তর, এবং পরিদর্শন ব্যবহার করবেন না।

অতিথি মাছ(1) একটি আকর্ষণীয় মাঝামাঝি স্থানে রয়েছে। আপনি যদি ব্যবহার করেন -a এবং -m কমান্ড লাইন
অপশন, তারপর আপনাকে গেস্টফিশকে বলতে হবে কিভাবে ডিস্ক ইমেজ যোগ করতে হবে এবং কোথায় মাউন্ট করতে হবে
পার্টিশন এটি কাঁচা API স্তর।

আপনি যদি ব্যবহার করেন -i বিকল্প, libguestfs পরিদর্শন করে এবং ফাইল-সিস্টেম মাউন্ট করে
আপনি.

ত্রুটি "এই অপারেটিং সিস্টেমের ছবিতে কোন রুট ডিভাইস পাওয়া যায়নি" এর সাথে সম্পর্কিত। এটা
মানে পরিদর্শন আপনার দেওয়া ডিস্ক চিত্রের মধ্যে একটি অপারেটিং সিস্টেম সনাক্ত করতে অক্ষম ছিল
এটা আপনি virt-cat এর মতো প্রোগ্রাম থেকে এটি দেখতে পারেন যদি আপনি সেগুলিকে কিছুতে চালানোর চেষ্টা করেন
যা শুধু একটি ডিস্ক ইমেজ, ভার্চুয়াল মেশিন ডিস্ক ইমেজ নয়।

কি do এইগুলো "ডিবাগ*" এবং "অভ্যন্তরীণ-*" ক্রিয়াকলাপ না?
কিছু ফাংশন আছে যা ডিবাগিং এবং অভ্যন্তরীণ উদ্দেশ্যে ব্যবহৃত হয় না
স্থিতিশীল API এর অংশ।

"debug*" (বা "guestfs_debug*") ফাংশন, প্রাথমিকভাবে "guestfs_debug" এর মধ্যে অতিথি(3) এবং
কিছু মুষ্টিমেয়, libguestfs ডিবাগ করার জন্য ব্যবহৃত হয়। যদিও তারা এর অংশ নয়
স্থিতিশীল API এবং এইভাবে পরিবর্তন হতে পারে বা যেকোনো সময় সরানো হতে পারে, কিছু প্রোগ্রাম কল করতে চাইতে পারে
libguestf-এ বৈশিষ্ট্য যোগ করার জন্য অপেক্ষা করার সময়।

"অভ্যন্তরীণ-*" (বা "অতিথি_অভ্যন্তরীণ_*") ফাংশনগুলি সম্পূর্ণরূপে libguestfs দ্বারা ব্যবহার করা হয়
নিজেই প্রোগ্রামগুলিকে তাদের কল করার কোন কারণ নেই এবং প্রোগ্রামগুলি ব্যবহার করার চেষ্টা করা উচিত নয়
তাদের এগুলি ব্যবহার করার ফলে প্রায়শই খারাপ জিনিসগুলি ঘটবে, সেইসাথে এর অংশ না হওয়া৷
নথিভুক্ত স্থিতিশীল API।

ডেভেলপারস


কোথায় do I পাঠান প্যাচ?
অনুগ্রহ করে libguestfs মেইলিং তালিকায় প্যাচ পাঠান
https://www.redhat.com/mailman/listinfo/libguestfs. You don't have to be subscribed, but
আপনার পোস্টিং ম্যানুয়ালি অনুমোদিত না হওয়া পর্যন্ত বিলম্ব হবে।

অনুগ্রহ করে না ব্যবহার GitHub টান অনুরোধ - তারা ইচ্ছা be উপেক্ষিত. কারণগুলো হল (ক) আমরা চাই
মেইলিং লিস্টে প্যাচগুলি নিয়ে আলোচনা এবং ব্যবচ্ছেদ করতে, এবং (খ) গিথুব পুল অনুরোধে পরিণত হয়
মার্জ কমিট কিন্তু আমরা একটি রৈখিক ইতিহাস থাকতে পছন্দ করি।

কিভাবে do I উত্থাপন করা a বৈশিষ্ট্য?
বড় নতুন বৈশিষ্ট্য যা আপনি অবদান রাখতে চান তা মেইলিং তালিকায় আলোচনা করা উচিত
প্রথম (https://www.redhat.com/mailman/listinfo/libguestfs)। এটি হতাশা এড়ায়
এবং নষ্ট কাজ যদি আমরা মনে করি না যে বৈশিষ্ট্যটি libguestfs প্রকল্পে ফিট হবে।

আপনি যদি একটি দরকারী বৈশিষ্ট্য প্রস্তাব করতে চান কিন্তু কোড লিখতে না চান, আপনি একটি ফাইল করতে পারেন
সারাংশের শুরুতে "RFE: " সহ বাগ ("সহায়তা পাওয়া এবং বাগ রিপোর্ট করা" দেখুন)
লাইন।

কে পারেন সমর্পণ করা থেকে libguestfs গিট?
প্রায় 5 জন লোক গিথুবে অ্যাক্সেসের প্রতিশ্রুতিবদ্ধ। প্যাচগুলি প্রথমে তালিকায় পোস্ট করা উচিত
এবং ACKed. প্যাচগুলি ACKing এবং পুশ করার নীতিটি এখানে বর্ণিত হয়েছে:

https://www.redhat.com/archives/libguestfs/2012-January/msg00023.html

Can I কাঁটাচামচ libguestfs?
অবশ্যই আপনি করতে পারেন. গিট libguestfs ফর্ক করা সহজ করে তোলে। Github এটি আরও সহজ করে তোলে।
আপনি যদি আমাদের মেইলিং লিস্টে কাঁটাচামচ এবং সেগুলির কারণ সম্পর্কে বলেন তবে এটি ভাল।

বিবিধ প্রশ্ন


Can I মনিটর দ্য জীবিত ডিস্ক কার্যকলাপ of a ভার্চুয়াল মেশিন ব্যবহার libguestfs?
একটি সাধারণ অনুরোধ হল a-এর লাইভ ডিস্ক কার্যকলাপ নিরীক্ষণ করতে libguestfs ব্যবহার করতে
গেস্ট, উদাহরণস্বরূপ, যখনই একজন গেস্ট একটি নতুন ফাইল তৈরি করে তখন বিজ্ঞপ্তি পেতে। Libguestfs
না না কিছু লোক যেভাবে কল্পনা করে সেভাবে কাজ করুন, আপনি এই চিত্রটি থেকে দেখতে পাচ্ছেন:

┌──────────────────────────────────────
│ libguestfs ব্যবহার করে পর্যবেক্ষণ প্রোগ্রাম │
└────────────────────────────────────────

┌───────────┐ ┌────────────────────────
│ লাইভ ভিএম │ │ libguestfs অ্যাপ্লায়েন্স │
├───────────┤ ├────────────────────────
│ কার্নেল (1) │ │ অ্যাপ্লায়েন্স কার্নেল (2) │
└───────────┘ └───────────────────────────
↓ ↓ (আর/ও সংযোগ)
┌──────────────────────┐
| ডিস্ক ইমেজ |
└──────────────────────┘

এই দৃশ্যটি নিরাপদ (যতক্ষণ আপনি ড্রাইভ যোগ করার সময় "অনলি পাঠ্য" পতাকা সেট করেন)।
তবে libguestfs appliance kernel (2) ডিস্কে করা সমস্ত পরিবর্তন দেখতে পায় না
ছবি, দুটি কারণে:

i VM কার্নেল (1) মেমরিতে ডেটা ক্যাশে করতে পারে, তাই এটি ডিস্ক ছবিতে প্রদর্শিত হয় না।

ii. libguestfs অ্যাপ্লায়েন্স কার্নেল (2) আশা করে না যে ডিস্কের চিত্র পরিবর্তন হচ্ছে
এটির নীচে, তাই VM কার্নেল (1) থাকলেও এর নিজস্ব ক্যাশে জাদুকরীভাবে আপডেট হয় না
ডিস্ক ইমেজ আপডেট করে।

একমাত্র সমর্থিত সমাধান হল যখনই আপনি সম্পূর্ণ libguestfs অ্যাপ্লায়েন্স পুনরায় চালু করুন
ডিস্ক ইমেজ পরিবর্তন দেখতে চান. API লেভেলে যা কলিং এর সাথে মিলে যায়
"guestfs_shutdown" এর পরে "guestfs_launch", যা একটি হেভিওয়েট অপারেশন (দেখুন
এছাড়াও অতিথি-পারফরম্যান্স(3))।

কিছু অসমর্থিত হ্যাক আছে যা আপনি চেষ্টা করতে পারেন যদি অ্যাপ্লায়েন্সটি পুনরায় চালু করা সত্যিই হয়
ব্যয়বহুল:

· "guestfs_drop_caches (g, 3)" কল করুন। এটি libguestfs দ্বারা সমস্ত ক্যাশে ডেটা সহায়তার কারণ হয়
অ্যাপ্লায়েন্স কার্নেল (2) বাতিল করতে হবে, তাই এটি ডিস্ক চিত্রে ফিরে যায়।

তবে এটি নিজে থেকে যথেষ্ট নয়, কারণ qemu কিছু ডেটাও ক্যাশে করে। আপনি
"cache=unsafe" মোড সক্রিয় করতে (পুনরায়-) libguestfs-কে প্যাচ করতে হবে। দেখা:
https://rwmj.wordpress.com/2013/09/02/new-in-libguestfs-allow-cache-mode-to-be-selected/

এর পরিবর্তে virt-bmap এর মত একটি টুল ব্যবহার করুন।

· অতিথির ভিতরে একজন এজেন্ট চালান।

অতিথি যদি আরও মৌলিক পরিবর্তন করে (যেমন ফাইল সিস্টেম মুছে ফেলা) তাহলে কিছুই সাহায্য করে না।
এই ধরনের জিনিসগুলির জন্য আপনাকে অবশ্যই যন্ত্রটি পুনরায় চালু করতে হবে।

(মনে রাখবেন একটি তৃতীয় সমস্যা আছে যেটি সত্যিই পরীক্ষা করার জন্য আপনাকে ধারাবাহিক স্ন্যাপশট ব্যবহার করতে হবে
লাইভ ডিস্ক ইমেজ, কিন্তু যে কোনো লাইভ ডিস্কের বিরুদ্ধে libguestfs ব্যবহার করার সাথে এটি একটি সাধারণ সমস্যা
ছবি।)

onworks.net পরিষেবা ব্যবহার করে guestfs-faq অনলাইন ব্যবহার করুন


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

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

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

Ad