কমান্ড লাইন থেকে ডিস্ক চিত্রটি কীভাবে মাউন্ট করবেন?


39

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


1
আপনার অর্থ কি আপনি ওএস এক্স-এর কমান্ড লাইনে এটি করতে চান? আপনি এটি উল্লেখ করেছেন, তবে যদি প্রশ্নটি একটি নির্দিষ্ট ওএসের সাথে সুনির্দিষ্ট হয় তবে স্পষ্ট হওয়া ভাল। এছাড়াও, আপনি কোন ধরণের ডিস্ক চিত্র বোঝাতে চান? .iso?
ilkkachu

উত্তর:


42

এটি যদি এমবিআর পার্টিশন টেবিল সহ একটি হার্ড-ড্রাইভ চিত্র হয় তবে আমি যে পার্টিশনটি মাউন্ট করতে হবে তার অফসেট সন্ধান করতে আমি চিত্রটি fdisk করব।

fdisk -lu /path/disk.img

তারপরে আমি এটি অফসেট পেরিয়ে মাউন্ট করব।

mount -o loop,offset=xxxx /path/disk.img /mnt/disk.img.partition

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


6
losetup -Pএই পদ্ধতির চেয়ে সাধারণত সুবিধাজনক: unix.stackexchange.com/a/316407/32558
Ciro

35

বেশিরভাগ আধুনিক জিএনইউ সিস্টেমে mountকমান্ড এটি পরিচালনা করতে পারে:

mount -o loop file.iso /mnt/dir

আনমাউন্ট করতে আপনি কেবল umountকমান্ডটি ব্যবহার করতে পারেন

umount /mnt/dir

আপনার ওএসের এই বিকল্পটি না থাকলে আপনি একটি লুপ ডিভাইস তৈরি করতে পারেন :

losetup -f # this will print the first available loop device ex:/dev/loop0
losetup /dev/loop0 /path/file.iso #associate loop0 with the specified file
mount /dev/loop0 /mnt/dir #It may be necessary specify the type (-t iso9660)

আপনি ব্যবহার করতে পারেন পরিমাণ -d:

umount /mnt/dir
losetup -d /dev/loop0

যদি ফাইলটিতে পার্টিশন থাকে, উদাহরণস্বরূপ এইচডি চিত্র থাকে তবে আপনি -Pপ্যারামিটারটি ব্যবহার করতে পারেন (আপনার ওএসের উপর নির্ভর করে), এটি ফাইলের সামগ্রীতে পার্টিশনগুলির মানচিত্র তৈরি করবে:

losetup -P /dev/loop0 /path/file.iso # will create /dev/loop0 
ls /dev/loop0p* #the partitions in the format /dev/loop0pX

এটি localhostডিস্ক চিত্রগুলির জন্য মূলত (লুপব্যাক!)।
মনিকার সাথে লাইটনেস রেস

2
losetupএবং mount -o loopলিনাক্স নির্দিষ্ট। এটি আলাদা কার্নেল ব্যবহার করে জিএনইউ বিতরণে কাজ করবে না (যেমন হার্ট, ইলুমোস বা কেফ্রিবিএসডি যদিও ইলিউমস এবং ফ্রিবিএসডি এর আলাদা সিনট্যাক্সের সমতুল্য হবে)
স্টাফেন চাজেলাস

আরও স্বয়ংক্রিয় করার জন্য এখানে কয়েকটি ফাংশন রয়েছে losetup: unix.stackexchange.com/a/430415/32558
Ciro

6

চেষ্টা করুন:

mount -o loop /path/to/file.iso /mnt

আপনি পরে যোগ করতে পারেন loop:

  • -t msdos ফ্লপি জন্য
  • -t iso9660 সিডি-রম চিত্রের জন্য

লিনাক্স সাধারণত ফাইল টাইপ অনুমান করার চেষ্টা করে।


6

losetup -P মাল্টি পার্টিশন চিত্রগুলির জন্য অটোমেশন

কমান্ড লাইন থেকে ডিস্ক চিত্রটি কীভাবে মাউন্ট করবেন? | ইউনিক্স এবং লিনাক্স স্ট্যাক এক্সচেঞ্জের উল্লেখ করা হয়েছে losetup -P, এবং জিনিসগুলি আরও স্বয়ংক্রিয় করার জন্য এখানে কয়েকটি ব্যাশ ফাংশন রয়েছে। ব্যবহার:

$ los my.img
/dev/loop0
/mnt/loop0p1
/mnt/loop0p2

$ ls /mnt/loop0p1
/whatever
/files
/youhave
/there

$ sudo losetup -l
NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE                                                                                      DIO
/dev/loop1         0      0         0  0 /full/path/to/my.img

$ # Cleanup.
$ losd 0
$ ls /mnt/loop0p1
$ ls /dev | grep loop0
loop0

সূত্র:

los() (
  img="$1"
  dev="$(sudo losetup --show -f -P "$img")"
  echo "$dev"
  for part in "$dev"?*; do
    if [ "$part" = "${dev}p*" ]; then
      part="${dev}"
    fi
    dst="/mnt/$(basename "$part")"
    echo "$dst"
    sudo mkdir -p "$dst"
    sudo mount "$part" "$dst"
  done
)
losd() (
  dev="/dev/loop$1"
  for part in "$dev"?*; do
    if [ "$part" = "${dev}p*" ]; then
      part="${dev}"
    fi
    dst="/mnt/$(basename "$part")"
    sudo umount "$dst"
  done
  sudo losetup -d "$dev"
)
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.