Kezdőlap › Fórumok › Vegyes felvágott › Ki, hogy oldaná meg?
- This topic has 25 hozzászólás, 8 résztvevő, and was last updated 21 years, 1 months telt el by
PcZolee.
-
SzerzőBejegyzés
-
2004-06-11-11:23 #1953962
ami jó ext2-re az jó lesz ext3-ra is („csak” a naplózásban különböznek)
2004-06-11-11:34 #1953963Remélem igazad lesz!
2004-06-11-13:09 #1953964OK, de ez miért törli a tartalmát is?
Gondolom a -r paraméter miatt… (man rm)
Mert a script elsõ körben létrehozza a /mnt/hde/1 -et, utánna vizsgálja, hogy van -e már ilyen, és ha van, akkor törli a /mnt/hde/1 mappát (amit ugye csatolt meghajtó esetén el kellene utasítania), de erre fel meg letörölte az összes file-t a /mnt/hde/1/ alól!
Valószínûleg a /mnt/hde/1 törlését el is utasította, de minthogy írási jogod volt a tartalmára azt a -r miatt minden gond nélkül törölhette.
Akkor ezek szerint hibás a script nem?!
Attól függ, hogy nézzük. Szvsz amire készült jó, pl. init szkriptként nem hinném hogy bármi gondod lett volna vele.
Szerintem rm helyett rmdir parancsot kellene használni vagy -f paramétert el kéne hagyni. Mivel ha nincs becsatolva akkor úgy is üres a könyvtár, ha meg be van akkor a Te esetedbõl okulva nem szabad törölni, rmdir meg nem is tudja.
2004-06-12-08:03 #1953965Nem tudná vki átírni for ciklussal rmdir-re? Csak annyi kéne, hogy 1-10 -ig (mert több partíciója tán nincs a hdd-nek) törölje a könyvtárakat! A könyvtárak nevei sorszámok, tehát rmdir 1 stb. Sõt, ha már lenne egy ilyen ciklus, akár azt is meg lehetne oldani, hogy elõször umount-olja õket (biztos-ami biztos), és utánna törölje!
Biztios nem nagy kunszt, de ez sajna nem az én erõsségem!
Köszi!
2004-06-12-10:12 #1953966Megvan a megoldás!
Itt a script, ha másnak is kéne:Code:#!/bin/shfunction check()
{
echo -n „Analizing $1 … ”
if test -z „`fdisk -l /dev/$1`”; then
echo „drive not have partitions.”
else
fdisk -l /dev/$1 | awk ‘
BEGIN{
c=0
}
{
if ( c++ > 5 )
{
if ( $2 == „*” ) s=$7″ „$8” „$9;
else s=$6” „$7” „$8;
if ( s != „on cylinder boundary.” )
{
if ( substr( s,1,11 ) != „Linux swap” )
{
if ( ( substr( s,1,9 ) == „W95 FAT32” ) ||
( substr( s,1,11 ) == „Win95 FAT32” ) ||
( substr( s,1,11 ) == „Win95 FAT16” ) ) printf( „%s rw,umask=000n”,$1 );
if ( ( substr( s,1,5 ) == „Linux” ) ||
( substr( s,1,4 ) == „NTFS” ) ||
( substr( s,1,4 ) == „HPFS” ) ) printf( „%s rwn”,$1 );
}
}
}
}’ > /tmp/$1
#test -d /mnt/Mobil/$1 && rm -fr /mnt/Mobil/$1
test -d /mnt/Mobil/$1 && (
for i in `ls /mnt/Mobil/$1`
do
mount | grep -q /mnt/Mobil/$1/$i && umount /mnt/Mobil/$1/$i && rmdir /mnt/Mobil/$1/$i && rmdir /mnt/Mobil/$1
done
)
mkdir /mnt/Mobil/$1
echo -n „found:”
while read -r line; do
drive=`echo $line | cut -f1 -d ‘ ‘`
mp=`echo $line | cut -f2 -d ‘ ‘`
c=`echo $drive | tail -c2`
mkdir /mnt/Mobil/$1/$c
echo -n ” $1$c”
mount $drive /mnt/Mobil/$1/$c -o $mp 2>&1 > /dev/null
done < /tmp/$1 echo "." rm -f /tmp/$1 fi } case "$1" in start) check hde check hdh ;; *) echo "$0 {start}" ;; esac
Ez le van védve az elõzõ hibája ellen, miszerint, ha többször el lett indítva, törölte a HDD tartalmát! A /mnt/Mobil alá mountol!
Köszönet a segítségért vmiklos-nak!
2009-12-04-19:56 #1874577Sziasztok.
Egy idelye küzdök egy problémával, mégpedig azzal, hogy 2.6-os kernelsorozat esetén a fat-os hdd-ket a mount alapban úgy csatolja, hogy azt csak a root tudja olvasni! Ezt meg lehet oldani úgy, hogy az fstab-ba umask=000 -val csatoljuk.
DE az a helyzet, hogy van egy mobil rack-em, aminél meg szeretném oldani, hogy akár fat, akár ext3, reiserfs stb rendszerû hdd-t teszek bele, tudjam olvasni user-ként! Fat-ra jó lenne az umask, de ha beírom, akkor nem tudom mountolni az ext3-at (bemountolja, de semmi nem látszik)! -
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz