پنجشنبه, ۱۳ اردیبهشت, ۱۴۰۳ / 2 May, 2024


مجله ویستا

نصب و استفاده از CDFS در لینوکس


نصب و استفاده از CDFS در لینوکس
یکی از مشکلاتی که بسیاری از کاربران لینوکس که با فایل‌های چند رسانه‌ای سر و کار دارند با آن برخورد می‌کنند، اشکال در کپی کردن فایل‌های dat موجود بر روی vcd ها به کامپیوترشان است. Michiel Ronsse با نوشتن یک ماژول برای هسته لینوکس این مشکل را بطرف نموده است.
در حقیقت Cdfs بجای اینکه فایل‌های درون یک CD Multisession را به شما نمایش دهد، هر Session را بصورت یک فایل جداگانه برایتان به نمایش خواهد گذاشت. همانطور که می‌دانید دیسک‌های vcd و audio cd خود به نوعی دیسک‌های multisession هستند، بنابراین با استفاده از cdfs خواهید توانست محتویات آنها را به آسانی بر روی دیسک سختتان کپی نمایید. اکنون اجازه دهید به فرایند نصب و استفاده از Cdfs در لینوکس به پردازیم.
● اقلام مورد نیاز
برای نصب و استفاده از Cdfs شما به یک هسته کاپایل شده با کد منبع آن و یا یک بسته هسته نصب شده به همراه kernel-headers مربوط به آن نیاز خواهید داشت. به این منظور کافی است هسته سیستم خود را کامپایل و نصب نمایید و یا بسته kernel-headers را که به همراه توزیع‌تان ارائه شده است را نصب نمایید. مثلا در دبیان کافی است دستورات زیر را وارد نمایید:
# uname -r
۲.۶.۷-۱-k۷
با دستور بالا متوجه می‌شوید که در حال حاضر چه هسته‌ای بر روی سیستم‌تان نصب شده است تا kernel-headers مربوط به آنرا نصب نمایید.
# apt-get install kernel-headers-۲.۶.۷-۱-k۷
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
kernel-headers-۲.۶.۷-۱ kernel-kbuild-۲.۶-۳
The following NEW packages will be installed:
kernel-headers-۲.۶.۷-۱ kernel-headers-۲.۶.۷-۱-k۷ kernel-kbuild-۲.۶-۳
۰ upgraded, ۳ newly installed, ۰ to remove and ۰ not upgraded.
Need to get ۲۹۹۳kB/۳۳۴۵kB of archives.
After unpacking ۴۱.۶MB of additional disk space will be used.
Do you want to continue? [Y/n] y
مورد دیگری که به آن نیاز خواهید داشت، بسته cdfs می‌باشد که همیشه می‌توانید آنرا از آدرس http://www.elis.rug.ac.be/~ronsse/cdfs/download دریافت نمایید. حجم آن بسیار کم (حدود ۳۰ کیلوبایت) می‌باشد.
▪ شروع نصب
کامپایل و نصب Cdfs آسانتر از آن چیزی است که فکرش را بکنید. ابتدا کافی است بسته آنرا با دستور زیر باز کنید:
# tar -jxf cdfs-۲.۶.۳a.tar.bz۲
سپس وارد دایرکتوری آن شده و دستور کامپایل و نصب آنرا صادر نمایید:
# cd cdfs-۲.۶.۳a
# make
make -C /lib/modules/۲.۶.۷-۱-k۷/build SUBDIRS=/home/alan/cdfs-۲.۶.۳a modules
make[۱]: Entering directory `/usr/src/kernel-headers-۲.۶.۷-۱-k۷&#۰۳۹;
CC [M] /home/alan/cdfs-۲.۶.۳a/root.o
CC [M] /home/alan/cdfs-۲.۶.۳a/audio.o
CC [M] /home/alan/cdfs-۲.۶.۳a/cdXA.o
CC [M] /home/alan/cdfs-۲.۶.۳a/cddata.o
CC [M] /home/alan/cdfs-۲.۶.۳a/hfs.o
CC [M] /home/alan/cdfs-۲.۶.۳a/iso.o
CC [M] /home/alan/cdfs-۲.۶.۳a/proc.o
CC [M] /home/alan/cdfs-۲.۶.۳a/utils.o
CC [M] /home/alan/cdfs-۲.۶.۳a/daemon.o
CC [M] /home/alan/cdfs-۲.۶.۳a/discid.o
CC [M] /home/alan/cdfs-۲.۶.۳a/toc.o
LD [M] /home/alan/cdfs-۲.۶.۳a/cdfs.o
Building modules, stage ۲.
MODPOST
CC /home/alan/cdfs-۲.۶.۳a/cdfs.mod.o
LD [M] /home/alan/cdfs-۲.۶.۳a/cdfs.ko
make[۱]: Leaving directory `/usr/src/kernel-headers-۲.۶.۷-۱-k۷&#۰۳۹;
# make install
make -C /lib/modules/۲.۶.۷-۱-k۷/build SUBDIRS=/home/alan/cdfs-۲.۶.۳a modules_install
make[۱]: Entering directory `/usr/src/kernel-headers-۲.۶.۷-۱-k۷&#۰۳۹;
INSTALL
make[۱]: Leaving directory `/usr/src/kernel-headers-۲.۶.۷-۱-k۷&#۰۳۹;
ماژول هسته Cdfs با موفقیت کامپایل و نصب شد. اکنون به سادگی خواهید توانست از آن استفاده نمایید. برای بارگزاری ماژول در هسته می‌توانید از دستورات زیر استفاده نمایید:
# modprobe cdfs
یا
# insmod cdfs.ko
سپس می‌توانید با دستور زیر صحت نصب آنرا بررسی نمایید:
# cat /proc/cdfs
[cdfs ۲.۶.۳a]
No CD mounted
محل نصب ماژول هسته در مسیر lib/modules/۲.۶.۷-۱-k۷/extra/cdfs.ko/ می‌باشد. توضیح دیگر اینکه عمل کامپایل را با یک کاربر معمولی نیز می‌توانید انجام دهید، ولی برای نصب و فعال سازی ماژول حتما باید در حالت کاربر ریشه قرار داشته باشید. پس از اتمام نصب می‌توانید دایرکتوری کد منبع Cdfs را حذف نمایید.
با دستور زیر نیز می‌توانید دیسک‌های vcd و یا audio cd را متصل نمایید:
# mount -t cdfs -o ro /dev/cdromX /mount point
که بجای cdromX باید نام دستگاه cdrom مانند cdrom۰ و بجای mount point نیز باید مسیری را که مایلید دیسک در آن متصل شود را وارد نمایید. برای مثال:
# mount -t cdfs -o ro /dev/cdrom۱ /media/cdrom۱
حال اگر دستور cat /proc/cdfs را وارد نمایید، خروجی مشابه زیر مشاهده خواهید نمود:
# cat /proc/cdfs
[cdfs ۲.۶.۳a]
CD (discid=۰B۱۰۲F۰۲) contains ۲ tracks:
Track ۱: data track (sessions_۱-۱.iso), [۰-۳۱۰۷۶۶/۱۲۵۱], length=۲ MB
type: ۱ info: CD۰۰۱ version: ۱
date: ۰۲/۰۳/۲۰۰۴ time: ۰۹:۳۷:۰۰
system: CD-RTOS CD-BRIDGE
volume: VCD۰۰۱
publisher:
preparer:
application: CDI/CDI_VCD.APP;۱
length: ۶۰۶ MB / ۲ MB / ۶۰۶ MB / ۲ MB
Track ۲: data track (videocd-۱.mpeg), [۱۲۵۲-۳۱۰۷۶۵], length=۷۰۲۴۴۹ kB
type: VIDEO_CD
title:
framesize: ۲۳۲۴ B
در صورتی که یک دیسک vcd را متصل کرده باشید، در برنامه‌های مدیر فایل یک فایل iso و یک فایل videocd۱.mpeg مشاهده خواهید کرد که می‌توانید به سادگی فایل videocd۱.mpeg را به دیسک سخت خود کپی نمایید. در مورد دیسک‌های audio cd این وضعیت به صورت تعدادی فایل wav می‌باشد که همان track های تشکیل دهنده CD هستند. کافی است آنها را کپی نموده و استفاده کنید و یا اگر کمی حوصله داشته باشید می‌توانید آنها را به فرمت‌های دیگر مانند ogg vorbis تبدیل نمایید. برای مثال
$ oggenc /media/cdrom۱/track-۰۱.wav -o /home/alan/track۰۱.ogg
البته نرم‌افزارهای ripper که تعداد آنها در لینوکس کم نیست این کار را خیلی راحت‌تر انجام می‌دهند و نیازی هم به Cdfs ندارند.
برای خواندن محتویات فایل‌های ISO مربوط به sessionهای مختلف روی یک دیسک یا vcd هم می‌توانید از دستوری مشابه دستور زیر استفاده نمایید:
# mount -t iso۹۶۶۰ -o ro,loop=/dev/loop۰ /media/cdrom۱/sessions_۱-۱.iso /mnt/tmp
بدیهی است که باید به جای media/cdrom۱/ و mnt/tmp/ مسیر درایو و محل اتصال مورد نظر در کامپیوتر خودتان را وارد نمایید.
▪ ساخت مجدد یک Video CD
در صورتی که بسته نرم‌افزاری vcdimager در کامپیوترتان نصب باشد، با استفاده از نرم‌افزارهایی مانند k۳b می‌توانید مجددا فایل mpeg خوانده شده را به vcd تبدیل نمایید.
● نتیجه گیری
بسته ماژول Cdfs یکی از مواردی را که برخی اوقات باعث دردسر زیادی در لینوکس می‌شد را برطرف نموده و امکان کپی راحت فایل‌های track موجود بر روی دیسک‌های audio cd را نیز فراهم کرده است.
منبع : شبگرد