Virtuálna CD-ROMka pod Linuxom
Tento krátky tutorial, ako a čím pod Linuxom vytvoriť virtuálnu CD-ROMku (alebo DVD-ROMku, disketovú mechaniku, alebo akékoľvek podobné zariadenie) vznikol dnes, na ICQ, pri rozhovore s mojim kamarátom. A keď riešenie zafungovalo, povedal som si: “Prečo to nepublikovať,” a teraz už píšem tento návod.
Virtuálna CD-ROMka, alebo teda, akékoľvek iné podobné zariadenie, je situácia, kedy potrebujete vložiť obraz akéhokoľvek disku do vášho neexistujúceho zariadenia. (Napríklad, sprístupniť obsah CD-čka, ktoré máte na disku vo formáte ISO.) Samozrejme, zariadenie môžete mať, len sa vám napríklad nechce obraz CDčka napaľovať a tak ho do tej existujúcej CD-ROMky pchať.
No, každopádne, celá táto situácia má jeden háčik: Softvér na virtuálnu CD-ROMku pod Linux nenájdete.
Dôvod: Riešenie tohto problému pozostáva z použitia niekoľkých (minimálne jedného) programov, ktoré sú súčasťou najzákladnejšieho systému.
Čiže…
Ako pripojiť ISO obraz k virtuálnej CD-ROMke?
# mount cdobraz.iso /mnt/cdrom -t iso9660 -o loop=/dev/loop0
Ak príkaz zafungoval, hurá!
Ak chcete vedieť, čo jednotlivé voľby znamenajú, čítajte ďalej. V prípade, že v systéme postrádate loop zariadenie, ajtak čítajte ďalej, dozviete sa.
Pričom, mount je systémová aplikácia, ktorá pripája kadejaké diskové zariadenia, kam sa jej povie. Syntax je mount čo_pripájame kam_pripojiť. Ak Linux trochu lepšie poznáte, zrejme s tým už máte skúsenosti.
V našom prípade pripájame cdobraz.iso, t.j. súbor s takýmto názvom a cestou, do adresára /mnt/cdrom, čo môže byť napríklad aj adresár kde máte CD-ROMku (tú skutočnú) zvyčajne. Ak nepracujete súčasne aj s ňou, môžeme tento adresár využiť. Inak, špecifikujte iný adresár.
Ďalším parametrom príkazu, ktorý voláme je určenie súborového systému, ktorý pripájame voľbou -t a hodnotou iso9660, čo značí, že to bude CD-čko.
A poslednou voľbou je parameter -o (options), kde udávame možnosť loop s hodnotou /dev/loop0. Týmto určujeme, že zariadenie, ktoré pripájame nie je skutočné, ale je potrebné využiť, tzv. loopback device, zariadenie, ktoré vytvára slučku. Namiesto loop0 môžete určit akékoľvek loop zariadenie z vášho priečinka /dev. (Napr. /dev/loop0, /dev/loop1, ... – uistite sa, že máte tieto zariadenia v systéme k dispozícii.)
Čo ak nemám žiadne loop blokové zariadenie (loopback device)?
Ak vám predchádzajúci príkaz vypísal chybu, informujúcu vás o neexistujúcom /dev/loop0, zrejme ste zadali nesprávnu cestu (skontrolujte to, pozrite sa do /dev), alebo takéto zariadenie nemáte a potrebujete si nejaké vytvoriť.
A blokové zariadenie vytvoríte napr. takto:
mknod /dev/loop0 b 7 0
Kde, /dev/loop0 je zariadenie, ktoré vytvárate, parameter b znamená, že vytvárate blokové zariadenie a čísla 7 a 0 sú čosi, čo je v manuále pomenované ako major a minor.
Tieto major a minor sú čísla, kde prvé z nich, major, hovorí kernelu, aký ovládač pre zariadenie má použiť. Minor presnejšie určuje zariadenie.
Ja osobne, som mal už vytvorené loop zariadenia od loop0 až po loop7 a ich major a minor boli 7 a 0 až 7. Použitie nasledujúceho major a minor, t.j. 7 a 8, fungovalo. Zariadenia typu loopback teda majú major 7 a minor-om sú očíslované postupne od 0.
Správne vytvorené zariadenie uvidíte pomocou ls -la asi takto:
brw-rw---- 1 root disk 7, 0 okt 15 23:38 loop0
Kde na začiatku riadku vidíte b, ako blokové zariadenie a major a minor (7, 0), cca v strede riadku.
Ták, vyčerpávajúce informácie podané z mojej strany, dúfam, že som sa niekde nepomýlil a dúfam, že som niekomu pomohol.
Ak sa vám tento článok páči, dajte mu svoj hlas na vybrali.sme.sk.
skoda ze az teraz si napisal tento clanok.. inak super, akurat minule som maturoval pri mountovani iso :)
— kane77 okt 17, 22:45 #
jo, tak tohle se hodi. na tohle pak staci napsat grafickou aplikaci, a jede to.
— error414 okt 18, 08:17 #
nuz, myslel som, ze to musi poznat vsetci linuxaci :) btw staci -o loop, netreba uvadzat zariadenie (vid mount(8) )
dalsie riesenie je cdemu, mountuje aj raw (2352B sektory) image
a uplne najlepsie riesenie je pridat usera do skupiny fuse a pouzit fuseiso – netreba mat prava a mountuje iso, img, bin, mdf a nrg.
— disorder okt 18, 16:23 #
[3] No, myslel som aj ja, ale nakoniec som prisiel na to, ze sa to predsa len moze niekomu zist.
A co sa tyka fuseiso, o tom som este nepocul a prave dnes sme sa rozpravali ci neexistuje nieco, co vie mountnut aj ine ako iso obrazy. Tak diky za tip.
— faster okt 18, 19:28 #
[3] dik za tip urcite checkujem…
[4] nj mas pravdu rozpravali ;) (teda vlastne uz vcera a o nejaku minutku predvcerom…)
— kane77 okt 19, 22:21 #
Komentáre sú uzatvorené