| 1 | #!/bin/bash |
|---|
| 2 | # Desinstalación de OpenGnSys. |
|---|
| 3 | |
|---|
| 4 | |
|---|
| 5 | #### AVISO: Editar configuración de acceso. |
|---|
| 6 | MYSQLROOT="passwordroot" # Clave de root de MySQL |
|---|
| 7 | DATABASE="ogAdmBD" # Base de datos de administración |
|---|
| 8 | OLDDATABASE="ogBDAdmin" # Antigua base de datos |
|---|
| 9 | DBUSER="usuog" # Usuario de acceso a la base de datos |
|---|
| 10 | |
|---|
| 11 | # Variables. |
|---|
| 12 | OPENGNSYS="/opt/opengnsys" # Directorio de OpenGnSys |
|---|
| 13 | OGIMG="images" # Directorio de imágenes del repositorio |
|---|
| 14 | CLIENTUSER="opengnsys" # Usuario de acceso del cliente |
|---|
| 15 | |
|---|
| 16 | # Parar servicio. |
|---|
| 17 | echo "Uninstalling OpenGnSys services." |
|---|
| 18 | if [ -x /etc/init.d/opengnsys ]; then |
|---|
| 19 | /etc/init.d/opengnsys stop |
|---|
| 20 | update-rc.d -f opengnsys remove |
|---|
| 21 | fi |
|---|
| 22 | # Eliminar bases de datos. |
|---|
| 23 | echo "Erasing OpenGnSys database." |
|---|
| 24 | DROP=1 |
|---|
| 25 | if ! mysql -u root -p"$MYSQLROOT" <<<"quit" 2>/dev/null; then |
|---|
| 26 | stty -echo |
|---|
| 27 | read -p "- Please, insert MySQL root password: " MYSQLROOT |
|---|
| 28 | echo "" |
|---|
| 29 | stty echo |
|---|
| 30 | if ! mysql -u root -p"$MYSQLROOT" <<<"quit" 2>/dev/null; then |
|---|
| 31 | DROP=0 |
|---|
| 32 | echo "Warning: database not erased." |
|---|
| 33 | fi |
|---|
| 34 | fi |
|---|
| 35 | if test $DROP; then |
|---|
| 36 | mysql -u root -p"$MYSQLROOT" <<<"DROP DATABASE $OLDDATABASE;" 2>/dev/null |
|---|
| 37 | mysql -u root -p"$MYSQLROOT" <<<"DROP DATABASE $DATABASE;" 2>/dev/null |
|---|
| 38 | mysql -u root -p"$MYSQLROOT" <<<"DROP USER '$DBUSER';" 2>/dev/null |
|---|
| 39 | mysql -u root -p"$MYSQLROOT" <<<"DROP USER '$DBUSER'@'localhost';" 2>/dev/null |
|---|
| 40 | fi |
|---|
| 41 | # Quitar configuración específica de Apache. |
|---|
| 42 | a2dissite opengnsys |
|---|
| 43 | rm -f /etc/apache2/{sites-available,sites-enabled}/opengnsys* |
|---|
| 44 | /etc/init.d/apache2 reload |
|---|
| 45 | # Eliminar ficheros. |
|---|
| 46 | echo "Deleting OpenGnSys files." |
|---|
| 47 | for dir in $OPENGNSYS/*; do |
|---|
| 48 | if [ "$dir" != "$OPENGNSYS/$OGIMG" ]; then |
|---|
| 49 | rm -fr "$dir" |
|---|
| 50 | fi |
|---|
| 51 | done |
|---|
| 52 | rm -f /etc/init.d/opengnsys /etc/default/opengnsys /var/log/opengnsys |
|---|
| 53 | # Comentar recursos de OpenGnSys en Samba. |
|---|
| 54 | perl -pi -e "s/^ *include \= \/etc\/samba\/smb-og.conf/\; include \= \/etc\/samba\/smb-og.conf/" /etc/samba/smb.conf |
|---|
| 55 | /etc/init.d/smbd restart |
|---|
| 56 | # Eliminar usuario de OpenGnSys. |
|---|
| 57 | smbpasswd -x $CLIENTUSER |
|---|
| 58 | userdel $CLIENTUSER |
|---|
| 59 | # Tareas manuales a realizar después de desinstalar. |
|---|
| 60 | echo "Manual tasks:" |
|---|
| 61 | echo "- You may stop or uninstall manually all other services" |
|---|
| 62 | echo " (DHCP, PXE, TFTP, NFS/Samba, Apache, MySQL)." |
|---|
| 63 | echo "- Delete repository directory \"$OPENGNSYS/$OGIMG\"" |
|---|
| 64 | |
|---|