1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

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

شروع موضوع توسط hector2141 ‏16/9/12 در انجمن لینوکس

  1. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,318
    تشکر شده:
    2,702
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    [​IMG]
    یکی از مشکلاتی که بسیاری از کاربران لینوکس که با فایل‌های چند رسانه‌ای سر و کار دارند با آن برخورد می‌کنند، اشکال در کپی کردن فایل‌های 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 آسانتر از آن چیزی است که فکرش را بکنید. ابتدا کافی است بسته آنرا با دستور زیر باز کنید:
    # 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 را نیز فراهم کرده است.