> For the complete documentation index, see [llms.txt](https://sh.howtocode.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sh.howtocode.dev/3.0.0.part3intro/3.3.0.storage-media/3.3.6.cd-dvd-image.md).

# ইমেজ তৈরী

তথ্য সংরক্ষণে অপটিক্যাল ড্রাইভ/ডিভাইস বা CD ও DVD এর ব্যবহার সম্প্রতি কমে এলেও বিলুপ্ত হয়নি। বিশেষ করে ব্যাকআপ রাখতে এর ব্যবহার প্রচুর। সিডি বা ডিভিডির হুবহু ক্লোনকে ইমেজ বলে। কয়েকরকম ইমেজ ফরম্যাটের মধ্যে সবচেয়ে জনপ্রিয় iso ফরম্যাটে। এই লেসনে আমরা ইমেজ নিয়ে বিভিন্ন কাজ শিখবো।

## সিডি বা ডিভিডি থেকে ইমেজ তৈরী করা

সিডি বা ডিভিডি থেকে আমরা `dd` কমান্ড দিয়ে ইমেজ তৈরী করতে পারি। ডিস্ক ঢোকানোর পর সাধারনত তার ডিভাইস নেম হয় sr0. সুতরাং এই ডিস্কটির image.iso নামে একটা ইমেজ বানাতে আমাদের লিখতে হবে:

```
# dd if=/dev/sr0 of=image.iso
```

এই পদ্ধতিতে আমরা ডাটা ডিস্কের ইমেজ তৈরী করতে হবে। তবে অডিও ডিস্কের ইমেজ তৈরী করতে গেলে আমাদের `cdrdao` ব্যবহার করতে হবে এভাবে:

```
# cdrdao read-cd --read-raw --datafile audio.bin --device /dev/sr0 --driver generic-mmc-raw audio.toc
```

এবার কমান্ডটির বিভিন্ন অংশ দেখা যাক:

* **cdrdao**: প্রোগ্রাম বা কমান্ডটির নাম।
* **read-cd**: কমান্ডটির বিভিন্ন মোড আছে। ইমেজ ফাইল তৈরী করতে আমরা read-cd মোড ব্যবহার করছি।
* **--read-raw**: ব্লক বাই ব্লক কপি করতে এটি ব্যবহার করা হয়।
* **--datafile audio.bin**: আমাদের ইমেজ ফাইলের নাম। অডিও ইমেজ এর এক্সটেনসন হয় .bin।
* **--device /dev/sr0**: আমাদের অডিও ডিস্কের ডিভাইস নাম।
* **--driver generic-mmc-raw**: সমস্ত কাজটি করার জন্য সিডিরমের কোন ড্রাইভার ব্যবহার করবে।
* **audio.toc**: ইমেজের ইনডেক্স ফাইলের নাম।

কমান্ডটি দেওয়ার পর আমরা বর্তমান ডিরেক্টরিতে audio.bin নামের একটি ইমেজ পাবো।

## ফাইল থেকে ইমেজ তৈরী

মনে করি, আমরা কিছু ফাইল থেকে একটি iso ইমেজ তৈরী করবো। প্রথমে ফাইলগুলো **\~/image\_content** ফোল্ডারে রাখলাম। এবার `genisoimage` কমান্ড দিয়ে আমরা files.iso নামে একটা ইমেজ বানাবো এভাবে:

```
me@howtocode-pc:~$ genisoimage -o files.iso -R -J ~/image_content
```

এবার কমান্ডটির বিভিন্ন অংশগুলো দেখা যাক:

* **genisoimage**:  কমান্ডের নাম।&#x20;
* **-o files.iso**: -o অপশন দিয়ে আউটপুট ইমেজ ফাইলের নাম লিখেছি।
* **-R -J**: **-R** ও **-J** অপশন যথাক্রমে Rock Ridge ও Joliet এক্সটেনসন ব্যবহার করে। যাদের জন্য ইউনিক্স ও উইন্ডোজে বড় ফাইলনেম রাখা যাবে।
* **\~/image-content**: যে ডিরেক্টরি থেকে তথ্য নিয়ে ইমেজ ফাইল বানাতে হবে।
