Configurar Compartilhamento NFS
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...
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...
Descrição
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...
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...
#!/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