UHU-automount Müködése?!

Fórumok

UHU-automount Müködése?!

Hozzászólások

Köszi, megnézem, az auto-autofs nem jött be, mert nem indul el, vmi perl gondja van, de már meguntam vele vacakolni!

Hát, teltjesen tanácstalan vagyok :(. Addig eljutottam, hogy a cd-romokat, és a floppy-t úgy csatolja, mint az UHU, de tovább nem, a HDD-ket sehogy nem akarja! És arra rá nem tudok jönni, hogy az UHU hogy oldja meg az USB-s cuccok mount-olását, mert semmi daemon nem fut, és mégis bemounloja!
Vki segítsen plz, mert már alig van hajam :(!

a pendrive-ot hotpluggal kéne csinálni
olvass egy kis doksit :wink:

Nezz korul a /sbin alatt is, es mount_ kezdetu scripteket keress, meg nezd meg a /etc/devfsd.conf-t.
USB-t meg valoban hotpluggal csinalja, amit a kernel hiv meg es gentooban is van.

nah, itt vagyon a script[code:1:963aea0b68]# funtions
what_is () {
ls -l $1 |cut -d '>' -f 2|cut -d " " -f 2
}

if [ -e /etc/sysconfig/submount ]; then
. /etc/sysconfig/submount
fi

if [ "$mode" == "symlink" -o "$mode" == "dirs" -o "$mode" == "auto" ]; then

# cleaning up
(cd /dev; rm -rf floppy cdrom cdrecorder dvd dvdrecorder)

# creating symlinks

if [ -e /dev/fd0 ]; then
(cd /dev; ln -s fd0 floppy)
fi

id=1
for i in `cat /proc/sys/dev/cdrom/info |grep name`
do
if [ "$id" == 1 -o "$id" == 2 ]; then
id=$(($id+1))
else
# checking for dvdrecorder
if [ `cat /proc/sys/dev/cdrom/info |grep "Can write DVD-R:"|tr "\t" " "|cut -d : -f 2|tr -s " "|cut -d " " -f $(($id-1))` == 1 ]; then
(cd /dev; ln -s $i dvdrecorder)

# checking for cdrecorder
elif [ `cat /proc/sys/dev/cdrom/info |grep "Can write CD-R:"|tr "\t" " "|cut -d : -f 2|tr -s " "|cut -d " " -f $(($id-1))` == 1 ]; then
(cd /dev; ln -s $i cdrecorder)
if [ `cat /proc/sys/dev/cdrom/info |grep "Can read DVD:"|tr "\t" " "|cut -d : -f 2|tr -s " "|cut -d " " -f $(($id-1))` == 1 ]; then
(cd /dev; ln -s $i cdrecorder+dvd)
fi

# checking for dvd
elif [ `cat /proc/sys/dev/cdrom/info |grep "Can read DVD:"|tr "\t" " "|cut -d : -f 2|tr -s " "|cut -d " " -f $(($id-1))` == 1 ]; then
(cd /dev; ln -s $i dvd)

# cdrom
else
(cd /dev; ln -s $i cdrom)
fi
id=$(($id+1))
fi
done

if [ "$mountopts" != "" ]; then
mountopts=,$mountopts
fi

if [ "$mode" == "dirs" ]; then
(cd /mnt; rm -rf floppy cdrom cdrecorder dvd dvdrecorder)
cat /etc/fstab |grep -v ^/dev/floppy>/etc/fstab.new
mv -f /etc/fstab.new /etc/fstab
if [ -e /dev/floppy ]; then
(
cd /etc
echo "/dev/floppy /mnt/floppy auto user,noauto$mountopts 0 0" >>fstab
)
mkdir /mnt/floppy
fi

for i in cdrom cdrecorder dvd dvdrecorder
do
cat /etc/fstab |grep -v ^/dev/$i>/etc/fstab.new
mv -f /etc/fstab.new /etc/fstab
if [ -e /dev/$i ]; then
(
cd /etc
echo "/dev/$i /mnt/$i auto ro,user,noauto$mountopts 0 0" >>fstab
)
mkdir /mnt/$i
fi
done
fi

if [ "$mode" == "auto" ]; then
(cd /mnt; rm -rf floppy cdrom cdrecorder dvd dvdrecorder)
cat /etc/fstab |grep -v ^/dev/floppy>/etc/fstab.new
mv -f /etc/fstab.new /etc/fstab
if [ -e /dev/floppy ]; then
(
cd /etc
echo "/dev/floppy /mnt/floppy subfs fs=floppyfss$mountopts 0 0" >>fstab
)
mkdir /mnt/floppy
fi

for i in cdrom cdrecorder dvd dvdrecorder
do
cat /etc/fstab |grep -v ^/dev/$i>/etc/fstab.new
mv -f /etc/fstab.new /etc/fstab
if [ -e /dev/$i ]; then
(
cd /etc
echo "/dev/$i /mnt/$i subfs fs=auto,ro,user$mountopts 0 0" >>fstab
)
mkdir /mnt/$i
fi
done
fi

# creating missing symlinks

# chechking for cdrecorder (dvdrecorder can be)

if ! [ -L /dev/cdrecorder ]; then
if [ -L /dev/dvdrecorder ]; then
(cd /dev; ln -s `what_is dvdrecorder` cdrecorder)
fi
fi

# chechking for dvd (dvdrecorder or cdrecorder can be)

if ! [ -L /dev/dvd ]; then
if [ -L /dev/dvdrecorder ]; then
(cd /dev; ln -s `what_is dvdrecorder` dvd)
fi
fi
if ! [ -L /dev/dvd ]; then
if [ -L /dev/cdrecorder+dvd ]; then
(cd /dev; mv cdrecorder+dvd dvd)
else
(cd /dev; rm -f cdrecorder+dvd)
fi
else
(cd /dev; rm -f cdrecorder+dvd)
fi

# chechking for cdrom (dvdrecorder, cdrecorder or dvd can be)

if ! [ -L /dev/cdrom ]; then
if [ -L /dev/dvd ]; then
(cd /dev; ln -s `what_is dvd` cdrom)
fi
if ! [ -L /dev/cdrom ]; then
if [ -L /dev/cdrecorder ]; then
(cd /dev; ln -s `what_is cdrecorder` cdrom)
fi
fi
if ! [ -L /dev/cdrom ]; then
if [ -L /dev/dvdrecorder ]; then
(cd /dev; ln -s `what_is dvdrecorder` cdrom)
fi
fi
fi

fi
[/code:1:963aea0b68]
ehhez persze kell egy /etc/sysconfig/submount
ami nálam így néz ki:
[code:1:963aea0b68]# mode can be:
# - 'manual' - no nothing
# - 'symlink' - create floppy,cdrom,dvd,cdrecorder,dvdrecorder symlinks if
# necessary
# - 'dirs' - deletes floppy,cdrom,dvd,cdrecorder,dvdrecorder dirs in /mnt and
# creates wich is necessary, also creates entries in fsab, but you
# have to mount devices manually
# - 'auto' - same as dirs, but automatically mounts devices via submount
# (submount automatically mounts and unmounts these devices)

mode=auto

# mountopts: extra options we have to use when creating fstab (mode=dirs,auto)
# sample: mountopts=iocharset=iso8859-2,codepage=852

mountopts=iocharset=iso8859-2,codepage=852
[/code:1:963aea0b68]
nah, lehet szidni :wink:
biztos kicsit kevesebb sorban is meg lehet, írni, de most ez nem volt szempont :D
jah, és ez csak a cdkkel meg a floppyval foglalkozik :D

És ez pontosa hogy is müxik? Mármint mit csatol, hova, mi kell neki stb. HDD-ket is csatolja?

Köszi.

Sziasztok.

Már egy idelye próbálkozok azzal, hogy megfejtsem, hogy hogyan is csinálja az UHU a mountolást (tudom, sokaknak nem tetszik, de ez most nem arról szól!), nekem speciel tetszik! De az elvre szeretnék rájönni! Amit eddig megfejtettem:

Induláskor a /etc/dev.fs/uhu-automount hatására meghívódik a /sbin/mountit, amely elvileg a /dev/discs , /dev/cdroms és a /dev/fd alól csatolná a dolgokat (először létrehozza a /var/lib/uhu-automount alatt a meghajtók neveinek megfelelő file-t), és ezek alapján az /etc/rc.boot/30-uhu-automount, csatolja őket, majd meghívja a mkmountsyms -t, amelyik hatására létrejön a /mnt/.dev alatt a meghajtóknak megfelelő szimlink.

Szal, ezt próbálnám átültetni Gentoo alá (tudom, sz*r, meg felesleges, de ezt most hagyjuk, szeretném, és kész!), addig eljutottam, hogy bemásoltam a /sbin alá a montit scriptet, és az mkmountsyms -t, majd létrehoztam a /var/lib/uhu-automount könyvtárat, és a /mnt/.dev -et, és a /etc/dev.fs alá bemásoltam az uhu-automount file-t (az UHU alól).
Ekkor induláskor felmountolja a CD-romokat (2 IDE, 1 SCSI) a /mnt alá, és létrehozza a /mnt/.dev alatt a megfelelő szimlinkeket, de a HDD-ket nem csatolja!

Bocs, hogy kicsit hosszú lett, de így legalább minden világos!
Még 1x NEM AKAROK FLAME-t!!!

Szal, mit csináltam rosszul, ill. mit hagytam ki???

Köszi a segítségeket!

[quote:25fd713d27="PcZolee"]És ez pontosa hogy is müxik? Mármint mit csatol, hova, mi kell neki stb. HDD-ket is csatolja?

Köszi.

jah, és ez csak a cdkkel meg a floppyval foglalkozik

Olvasni, olvasni, olvasni... :roll: és átnézni a szkriptet is, elég könnyen meg lehet érteni a működését... :)

OK, de mostmár csak tutira mennék, tegnap már elvacakoltam egy ratak ilyen sz*rsággal, már nincs kedvem, se időm, egész nap ezzel foglalkozni!

u.i.:Írtam az UHU-haladóra!

sokkal szebb és jobb lesz, ha írsz egy _saját_ scriptet, ami ugyanezt eredményezi :wink:
nem egy nagy munka, én is írtam már, de anélkül, hogy megnéztem volna, hogy hogyan műxik az uhusoké :wink:

itt a hupon (na találd ki hol :D) van automount howto.

[quote:1ad45d9409="PcZolee"]És ez pontosa hogy is müxik? Mármint mit csatol, hova, mi kell neki stb. HDD-ket is csatolja?

olvasd már el. nem hiszem, hogy nem érted meg. nem kínaiul van :twisted:

mi az, h biztosra menni? :D
biztos az az, hogyha te írod meg, vagy átveszed másoktól, de elolvasod a forrását és megérted :wink:

ő nem automountot akar csinálni, hanem azt, amit az uhuban csinálnak. tehát detektálni a hddket,cdket, és atána az előbbit statikusan, az utóbbit supermounttal csatolni :wink:

[quote:a0e5028021="vmiklos"]ő nem automountot akar csinálni, hanem azt, amit az uhuban csinálnak. tehát detektálni a hddket,cdket, és atána az előbbit statikusan, az utóbbit supermounttal csatolni :wink:

PONTOSAN!!! Látom, neked lejött, hogy mit is akarok! Szal, hogy is van az a script dolog? Azt mondtad írtál egyet, nem tudnád példának beílleszteni ide?

A UHU-s müködéséről senki nem tud???

[quote:4b956d0266="vmiklos"]ő nem automountot akar csinálni, hanem azt, amit az uhuban csinálnak. tehát detektálni a hddket,cdket, és atána az előbbit statikusan, az utóbbit supermounttal csatolni :wink:

Ja bocs, csak nem tudtam, mert UHU-t még életemben nem láttam csak screenshotokról.

[quote:d4595b8ef0="PcZolee"][quote:d4595b8ef0="vmiklos"]ő nem automountot akar csinálni, hanem azt, amit az uhuban csinálnak. tehát detektálni a hddket,cdket, és atána az előbbit statikusan, az utóbbit supermounttal csatolni :wink:

PONTOSAN!!! Látom, neked lejött, hogy mit is akarok! Szal, hogy is van az a script dolog? Azt mondtad írtál egyet, nem tudnád példának beílleszteni ide?

A UHU-s müködéséről senki nem tud???

hm, ha minden jól megy ( :D ) még ma beillesztem, csak épp tegnapelőtt találtam benne egy bugot, és azt még szeretném kijavítani
azért az egyém picit más, mint az uhusoké, de kiindulási alapnak nem lesz rosz neked se :wink:

Nézegettem ezt az oldalt: http://linux.vv.hu/hogyanok/mini/Automount-Mini-HOGYAN/Automount-hu.html

Itt egy autofs nevű programról írnak! ki is próbáltam, jó is lenne, de nem az igazi, nekem az kéne, hogy autómatikusan hozza létre a /mnt alatt a könyvtárakat, és oda csatolja be a hordozót (mint az UHU)! Ez azt csinálja, hogy csak akkor mountol oda, ahova megadom, ha az eszközt vmi megszólítja, ezért kell arról a pontról egy szimlink, hogy meg tudjam szólítani, de egy hordozható cuccoknál probléma, mert egy lemezen lehet több partíció is, és ha csak az egyikre szimlinkelek, akkor a többire külön létre kell hozni egyet, viszont, ha kicserélem a HDD-t, akkor a többi szimlink feleslegessé válik! De ez még a kisebb baj!
A nagyobb baj az, hogy ha fat32-t sumán mountolok umask nélkül, akkor a user nem tudja olvasni se, de ha umask-al mountolom, és utánna az abban a mobil-rack-ben levő HDD-t kicserélem egy EXT3-asra, akkor az ext3-asat nem tudja olvasni (az umask miatt), na itt lett elegem belőle!

Találtam még itt ( http://ivman.sourceforge.net/blog/ ) egy ilyesmi stuffot, most ezt fogom kipróbálni!

Hoppá, ez lenne a megoldás??? http://auto-autofs.sourceforge.net/