Jak na paketový zápis?

Přiznám se, mám moc rád CDčka (a potažmo DVDčka), ale jedna věc mi na nich vždy vadila – nutnost spouštění externího programu, chci-li na ně něco zapsat. Koho by bavilo stále čekat na obligátní ukončení stopy, když tak strašně rychle potřebujete něco vypálit a odejít? A co takhle zkusit technologii zvanou paketový zápis? :-)

Paketový zápis (v originále packet writing) je zvláštní způsob zápisu dat na optické disky umožňující použít Vaše CDčka úplně stejně, jako kdysi diskety – jen s tím drobným rozdílem, že budete mít k dispozici o něco větší kapacitu a ani přenosová rychlost nebude úplně totožná s disketou. Moc fajn je, že na tuhle srandu nepotřebujete žádné speciální média, stačí obyčejné CD-R, DVD-R, DVD+R, ideálně však CD-RW, DVD-RW nebo DVD+RW. Ano, opravdu lze paketově zapisovat i na recordable média, ale musíte pamatovat na to (celkem pochopitelnou) skutečnost, že smazáním již zapsaného souboru volné místo nevytvoříte a stejně tak editace jakéhokoliv souboru na disku si zabere další místo. Z tohoto důvodu bych použití recordable médií moc nedoporučoval. Daleko zajímavější je paketový zápis s rewritable médii, tam lze celý proces dokonale připodobnit k již zmíněné disketě. Takže, jak ten paketový zápis rozchodit?

  1. Nejprve je třeba provést několik změn v kernelu. Přejděte tedy do adresáře se zdrojovými kódy jádra (cd /usr/src/linux) a začněte nastavovat (make menuconfig). Povolte tyto volby:
    Device Drivers ---->
        Block Drivers ---->
            <M> Packet writing on CD/DVD Media
            (8 ) Freebuffers for data gathering
            [ ] Enable write caching
    File Systems ---->
        CD-ROM/DVD Filesystems ---->
            <M> UDF Filesystem Support

    Jádro zkompilujte tak, jak jste zvyklí – já třeba používám trojkombinaci make && make modules modules_install install && module-rebuild rebuild

  2. Do souboru /etc/modules.d/aliases připište na nový řádek následující: alias block-major-97 pktcdvd
  3. Vytvořte tzv. device node (přesněji řečeno, adresář pro device nodes): mkdir /dev/pktcdvd
  4. Nainstalujte balíček udftools: emerge udftools
  5. Do souboru /etc/fstab přidejte nový řádek podobný tomuto (samozřejmě přizpůsobený pro Vaši hardwarovou konfiguraci): /dev/pktcdvd/0 /mnt/packetdvd udf noauto,noatime,rw,user,gid=users 0 0
  6. Vytvořte adresář, do nějž se bude naše CD/DVD připojovat – u mě se jedná o adresář /mnt/packetdvd
    mkdir /mnt/packetdvd
    chmod 0777 /mnt/packetdvd
  7. Restartujte do nově zkompilovaného jádra

Hotovo? Tím je konfigurace u konce, teď si ukažme, jak naformátovat CD tak, aby na něj šlo paketově zapisovat.

  1. Vložte do mechaniky CD-RW Mrkající
  2. Spusťte tyto příkazy:
    cdrwtool -d /dev/hdc -q
    pktsetup 0 /dev/hdc
    chmod 0777 /mnt/packetdvd
    mount /mnt/packetdvd
  3. Vytvořte nový soubor /etc/conf.d/dvdrw, jehož obsahem bude následující:
    # List the CD-ROM drives you wish to enable packet writing on here.
    # Some examples follow:
    #dvdrw_list="/dev/hdd"
    #dvdrw_list="/dev/sr0 /dev/sr1 /dev/sr2"
    #dvrw_list="/dev/cdroms/cdrom0 /dev/cdroms/cdrom1"
    dvdrw_list="/dev/hdc"
  4. Vytvořte nový soubor /etc/init.d/dvdrw. Jeho obsah naleznete v přílohách. Tento soubor učiňte spustitelným pomocí následující dvojice příkazů. Třetím příkazem pak systému oznamte, že jej chcete vykonat při spuštění systému.
    chown root:daemon /etc/init.d/dvdrw
    chmod 0770 /etc/init.d/dvdrw
    rc-update add dvdrw default
  5. A ještě jeden konfigurační soubor, ale slibuju, že už poslední. Tentokrát to bude soubor /etc/hal/fdi/policy/01-packet-writing.fdi a jeho obsahem bude toto XMLko:
    <?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->
    
    <deviceinfo version="0.2">
      <device>
        <match key="block.is_volume" bool="true">
          <match key="volume.is_disc" bool="true">
            <match key="volume.fsusage" string="filesystem">
              <match key="volume.fstype" string="udf">
                <match key="block.device" string="/dev/hdc">
                  <merge key="volume.policy.desired_mount_point" type="string">packet</merge>
                </match>
              </match>
            </match>
          </match>
        </match>
      </device>
    </deviceinfo>

    Alespoň doufám, že je tento soubor v pořádku – většinou si připojuji CDčka ručně, takže mě to až tak nežere Usmívající se Kdybyste v něm však našli chybu, dejte vědět.

Pokud jste postupovali přesně podle návodu a pokud jsem někde něco nezeslonil, měl by Vám teď paketový zápis fungovat. Otestovat si to lze snadno, prostě jen přetáhnete jakýkoliv soubor z Vašeho domovského adresáře do adresáře, kam je připojeno médium.

Mimochodem, docela mě překvapilo, když jsem CD „vypálené“ tímto způsobem zkusil otevřít na sestřiných Windows XP a ty s tím neměly vcelku problém – myslel jsem, že XP nepodporují souborový systém UDF, alespoň ne hned po instalaci. Inu, chybami se člověk… :-)

Málem bych zapomněl, mám tu pro Vás ještě jedno upozornění na závěr – přes všechny výhody paketového zápisu nelze zapomenout na skutečnost, že je CD-RW poměrně dost namáháno a časem údajně ztrácí schopnost čtení. Přepis je pak omezen v řádu tisíců, podle kvality média.

Zdroj: převážně Gentoo Linux Wiki


PřílohaVelikost
dvdrw2.23 KB
Average: 5 (1 hlas)

Komentáře

PacketWriting, Cache a BurnFree

Konecne nekdo zacal i na linkuj zasilat kvalitni clanky. Skoda jen ze PacketWriting zatim nepodporuje BurnFree, takze muze obcas dojit k Buffer Underflow, cimz jsou DVD-R i CD-R znehodnoceny. Jsem zvedav ve ktere verzi kernelu bude funkcni caching, uz se na nej tesim asi pul roku =)

Obrázek uživatele Miloso

Re: PacketWriting, Cache a BurnFree

Děkuji za pochvalu, podpora BurnFree by se určitě hodila, ani jsem nevěděl, že není :-)

Poslat nový komentář

Smajlíci
>:-P>:-(:-]:-?B-):-[>:-D:-(:-oX-(:-D;-DO:-):-*:-X>:-):-$>:-|:-!>:-O|-):-):->:-|:-P;-P;-):'-(:-\
Obsah tohoto pole je soukromý a nebude veřejně zobrazen.
  • K formátování a úpravě obsahu můžete použít Texy!
  • Textoví smajlíci budou nahrazeni jejich grafickými ekvivalenty.
  • Můžete citovat jiné příspěvky pomocí tagu [quote].

Více informací o možnostech formátování

CAPTCHA
Otázka sloužící k ověření, zda-li je pisatel člověk (alespoň biologicky) a zabránění automatickému spamování.
Image CAPTCHA
Zkopírujte znaky z obrázku, velikost písmen hraje roli.
Syndikovat obsah