virt-make-fs
libguestfs qcow2
উদাহরণ থেকে
https://serverfault.com/a/332114/163884 এটি উল্লেখ করেছে, তবে এখানে একটি সম্পূর্ণ উদাহরণ:
sudo apt-get install libguestfs-tools
# Workarounds for Ubuntu 18.04 bugs. See section below.
sudo rm -rf /var/cache/.guestfs-*
echo dash | sudo tee /usr/lib/x86_64-linux-gnu/guestfs/supermin.d/zz-dash-packages
sudo chmod +r /boot/vmlinuz-*
mkdir sysroot
# Just a test file.
dd if=/dev/urandom of=sysroot/myfile bs=1024 count=1024
virt-make-fs --format=qcow2 --type=ext2 sysroot sysroot.ext2.qcow2
sudo
ইনস্টলেশন এবং উবুন্টু বাগ কাজের ক্ষেত্রগুলি বাদে কীভাবে প্রয়োজনীয় নয় তা নোট করুন ।
আমি তখন যাচাই করেছিলাম যে কিউইএমইউ এটির সাথে পড়তে পারে:
qemu-system-x86_64 -drive file=sysroot.ext2.qcow2,format=qcow2,if=virtio,snapshot ...
আমি তখন কিউএমইউ লিনাক্সের মধ্যে চিত্রটি মাউন্ট করতে এবং ফাইলটি পড়তে সক্ষম হয়েছি।
virt-make-fs
ext উদাহরণ
এই দুর্দান্ত সরঞ্জামটি কাঁচা এক্স ফাইল ফাইলগুলিও তৈরি করতে পারে, যেমন:
virt-make-fs --format=raw --type=ext2 sysroot sysroot.ext2
virt-make-fs --format=raw --type=ext4 sysroot sysroot.ext4
যা আমরা সরাসরি হোস্টের সাথে যাচাই করতে পারি:
mkdir -p mnt
dev="$(sudo losetup --show -f -P sysroot.ext4)"
sudo mount -o loop "$dev" mnt
cmp sysroot/myfile mnt/myfile
চিত্রের আকার হ্রাস
এর সত্যই একটি ভাল বৈশিষ্ট্য virt-make-fs
হ'ল এটি যদি আমরা চান তবে এটি স্বয়ংক্রিয়ভাবে চিত্রের আকার হ্রাস করার চেষ্টা করে:
অতিরিক্ত স্থান কমানোর জন্য ভার্ট-মেক-এফএস ডিফল্ট, তবে আপনি যদি চাইলে ফাইল সিস্টেমে স্থান ছেড়ে দিতে --size পতাকাটি ব্যবহার করতে পারেন।
তাই:
df -h
আমাকে জানান যে চিত্রটি 82% ভরাট:
/dev/loop17 1.5M 1.1M 244K 82% /home/ciro/test/guestfs/mnt
আমরা সহজেই এর সাথে সর্বনিম্নের উপরে কিছু অতিরিক্ত স্থান যুক্ত করতে পারি --size-=+
:
virt-make-fs --format=raw --size=+8M --type=ext2 sysroot sysroot.ext2
ext4 জার্নাল ওভারহেড
ম্যানুয়ালটিতে আরও উল্লেখ করা হয়েছে:
নোট করুন যে ext3 ফাইল সিস্টেমগুলিতে একটি জার্নাল থাকে, সাধারণত 1-32 এমবি আকারের। আপনি যদি জার্নালটির প্রয়োজন হয় এমন পদ্ধতিতে ফাইল সিস্টেমটি ব্যবহার না করে থাকেন তবে এটি কেবল ওভারহেড নষ্ট।
এবং এটি দিয়ে যাচাই করা আকর্ষণীয়:
du -bs *
যা উত্পাদন করে:
1052672 sysroot
1446297 sysroot.ext2
2599731 sysroot.ext4
সুতরাং আমরা দেখতে পাচ্ছি যে ext4 উল্লেখযোগ্যভাবে বড় হয়েছে।
libguestfs উবুন্টু বাগ
এখন ডাউনসাইডের জন্য: বর্তমানে কোনও উবুন্টু রক্ষণাবেক্ষণকারী উপস্থিত নেই এবং গ্রন্থাগারটি সাধারণত উবুন্টুতে বগি।
sudo
তাত্ত্বিকভাবে প্রয়োজনীয় নয়, তবে এটি উবুন্টু প্যাকেজিং বাগের কারণে প্রয়োজনীয় যদি না হয় আমরা যদি কাজ না করি তবে: /ubuntu/1046828/how-to-run-libguestfs-tools-tools-such-as- হলে virt-মেক-FS-ছাড়া-উবুন্টু / 1046829 # 1046829
libguestfs: error: /usr/bin/supermin exited with error status 1.
To see full error messages you may need to enable debugging.
Do:
export LIBGUESTFS_DEBUG=1 LIBGUESTFS_TRACE=1
and run the command again. For further information, read:
http://libguestfs.org/guestfs-faq.1.html#debugging-libguestfs
You can also run 'libguestfs-test-tool' and post the *complete* output
into a bug report or message to the libguestfs mailing list.
libguestfs: error: /usr/bin/supermin exited with error status 1.
এরপরে, আমাদের কর্মসীমা ছাড়াই 18.04 (তবে 16.04 নয়) এর সাথে ব্যর্থ হয়: https://bugzilla.redhat.com/show_bug.cgi?id=1591617
libguestfs: error: tar_in: write error on directory: /:
ইতিমধ্যে প্রবাহের স্থির করা একটি বাগের কারণে।
উবুন্টু 18.04 তে পরীক্ষা করা হয়েছে, libguestfs-tools 1: 1.36.13-1ubuntu3, QEMU 1: 2.11 + dfsg-1ubuntu7.3।
qemu-img
এবংfallocate
এর চেয়ে কিছুটা বেশি সুবিধাজনকdd
।