Configurar Compartilhamento NFS

Publicado por Isaque Vieira de Sousa Alves (última atualização em 13/04/2012)

[ Hits: 4.613 ]

Homepage: www.isaquealves.com

Download nfsconfig.sh




Este script contém as opções mais gerais para configuração de um compartilhamento NFS em ambiente gnome.
Fiz ele algum tempo atrás, por isso pode estar 'defasado' em relação a algumas distro que nem gnome usam mais (como o ubuntu...)
Ainda poderia ser criada uma janela oferecendo opções de montagem na forma de checkboxes, etc...

  



Esconder código-fonte

#!/usr/bin/sh

#nfsconfig.sh
gksudo /bin/echo "got root?" > /dev/null 2>&1

AUTH=""
YES="y"

alias appinst='sudo apt-get -y install'

ZOK="vazio"
NFSOK="vazio"
MOUNTOPTIONS="auto,rw,hard,intr,exec"
IP="vazio"
MASK="vazio"
REMOTESHARE="vazio"
LOCALSHARE="vazio"


zenityCheck(){
ZENITY=`dpkg --status zenity | grep Status | awk '{print $4}'`; #checa o status do zenity no dpkg
DEPENDENCIES=`dpkg --status zenity | grep Depend `;        #obtem as dependencias do zenity
if [$ZENITY = "installed"]; then ZOK="OK"; fi;
}

nfsCheck(){
NFSCOMMON=`dpkg --status nfs-common | grep Status | awk '{print $4}'`; #checa se o nfs-common está instalado
NFSDEPENDS=`dpkg --status nfs-common | grep Depend`;
if [ $NFSCOMMON = "installed" ]; then 
   NFSOK="OK"
else
   appinst nfs-common
fi;
}

zenityCheck;
if [ $ZENITY = "installed" ] ; #verifica se o status é 'installed'
then
   echo "Zenity encontrado. Iniciando inteface gráfica!!"
else
   echo "Este script faz uso de Interface Gráfica utilizando o Zenity. "
   echo "O Zenity não está instalado."
   echo "Veja as dependencias do Zenity abaixo: "
   echo $DEPENDENCIES
   echo "----------"
   echo " Você autoriza a instalação do zenity e de todas as suas dependências? [y | n]"
   read AUTH
   if [ $AUTH = "$YES" ] ;
   then
       appinst zenity
    else
   exit 0
    fi
fi

getIP(){
    IP=$(zenity --entry --title="Servidor" --text="Informe o IP ou o nome do servidor" \
        --entry-text="0.0.0.0");
        return 0
}
getMask(){
    IP=$(zenity --entry --title="Servidor" --text="Informe a máscara de subrede" \
        --entry-text="0.0.0.0");
        return 0
}

getShareName(){
REMOTESHARE=$(zenity --entry --title="Servidor" --text="Informe o nome do compartilhamento no servidor" --entry-text="/arquivos/Atual");
LOCALSHARE=$(zenity --entry --title="Servidor" --text="Informe o nome do compartilhamento Local" --entry-text="/media/Servidor");
return 0
}

writeFSTab(){
   sudo echo "$IP:$REMOTESHARE $LOCALSHARE nfs $MOUNTOPTIONS 0 0" >> /etc/fstab
}

zenity --info --window-icon=info.png --text "Este Script irá ajudar você a acessar/montar um compartilhamento NFS.\nVocê tem duas opções: Montar o compartilhamento provisoriamente ou definitivamente, ativando-o na inicialização.\nApenas responda às perguntas e terá seu compartilhamento finalizado e aproveitará as vantagens do sistema NFS.Adicionalmente, "

(
    echo "20"; echo "# Verificando se o pacote nfs-common está instalado"; if [ "$NFSOK" != "vazio" ]; do nfsCheck; fi; sleep 1;
    echo "30"; echo "# Obtendo informações [IP] do servidor"; until [ "$IP" != "vazio" ]; do getIP; done; sleep 1;
    echo "40"; echo "# Obtendo informações [máscara de rede] do servidor";  until [ "$MASK" != "vazio"]; do getMask; done;sleep 1;
    echo "50"; echo "# Configurando o compartilhamento local"; until [ "$REMOTESHARE" != "vazio" ] && [ $LOCALSHARE != "vazio" ]; do \
    getShareName; done; sudo mkdir $LOCALSHARE; sudo chown -R $USER:users $LOCALSHARE; sudo chmod ug+rw $LOCALSHARE sleep 1;
    echo "75"; echo "# Gravando o FSTAB"; writeFSTab; sleep 1;
    echo "100"; echo "# Finalizando..."; sudo mount -a; sleep 1;

) | zenity --progress \
          --title="Iniciando compartilhamento" \
          --text="Preparando o cliente..." \
          --percentage=0

Scripts recomendados

diario

Down

Script para ripar CDs de audio e codificar as faixas para MP3

plaspkg dialog

download video youtube


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário