Avgöra om det är en mapp eller monterad server?

Tråden skapades och har fått 8 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • International user
  • 2006-01-17 18:22

När man monterar en server i Mac OS X, monteras den normalt i '/Volumes'. Det jag undrar över är hur man kan skilja på en korrekt monterad server och en vanlig mapp i '/Volumes'. 'ls -l' visar igen skillnad (även om behörigheterna skiljer) på mappen och det alias som representerar servern.

# "Bildarkiv" är en korrekt monterad server, "Mapp" är en vanlig mapp.

pb:/Volumes admin$ ls -l           
total 8
drwx------   16 admin  staff  500 Dec 29 14:54 Bildarkiv
lrwxr-xr-x    1 root   admin    1 Jan 16 21:34 Macintosh HD -> /
drwxr-xr-x    2 admin  admin   68 Jan 17 18:09 Mapp
pb:/Volumes admin$

Det finns naturligtvis flera sätt att kontrollera om en server är monterad, men det hör inte till denna frågeställning.

Finns det 'vanliga' mappar i /Volumes? Är inte allt som skall ligga där monterat? Antingen lokala eller externa volymer. Men det kanske är just den skillnaden du vill se?

  • Medlem
  • International user
  • 2006-01-17 19:54
Ursprungligen av Linus Söderlind:

Finns det 'vanliga' mappar i /Volumes? Är inte allt som skall ligga där monterat? Antingen lokala eller externa volymer. Men det kanske är just den skillnaden du vill se?

Det kan i vissa fall hända att servrar blir till mappar efter nätverksproblem.

Ursprungligen av Wire:

Det kan i vissa fall hända att servrar blir till mappar efter nätverksproblem.

Ah, ok.

#!/bin/sh

ROOTDEV=$(stat -f "%d" /)

for i in /Volumes/*; do
    DEV=$(stat -f "%d" $i)

    if [ $DEV = $ROOTDEV ]; then
        echo "$i är en mapp"
    else
        echo "$i är en monterad volym"
    fi
done

Jämför device-id för varje mapp i /Volumes mot den för /, om det skiljer sig är det en annan monterad volym.

  • Medlem
  • International user
  • 2006-01-17 20:15

!

Ursprungligen av morris:
#!/bin/sh

ROOTDEV=$(stat -f "%d" /)

for i in /Volumes/*; do
    DEV=$(stat -f "%d" $i)

    if [ $DEV = $ROOTDEV ]; then
        echo "$i är en mapp"
    else
        echo "$i är en monterad volym"
    fi
done

Jämför device-id för varje mapp i /Volumes mot den för /, om det skiljer sig är det en annan monterad volym.

Kanon! Koden är härmed kopierad, modifierad och installerad!

  • Medlem
  • Tyresö
  • 2006-01-17 20:09

Borde inte kommandot "df" visa det du är ute efter?

  • Medlem
  • Tyresö
  • 2006-01-17 20:48

Nej, den kontrollerar inte mappar utan listar om ett filsystem finns på en disk eller om den monteras "utifrån" från en server. Det var väl det du ville veta?

  • Medlem
  • International user
  • 2006-01-17 20:57
Ursprungligen av DozePih:

Nej, den kontrollerar inte mappar utan listar om ett filsystem finns på en disk eller om den monteras "utifrån" från en server. Det var väl det du ville veta?

Nej, egentligen inte. Frågan från början var hur man kan veta vilken typ av fil en "serveralias" i mappen /Volumes är. Både 'stat' och 'df' är båda lite "workarounds".

1
Bevaka tråden