Advertisement
v1ral_ITS

multisystem-install.sh

Jun 27th, 2018
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 5.51 KB | None | 0 0
  1. #! /bin/bash
  2. exec >& >(tee -a /tmp/debog-install-depot-multisystem.txt)
  3.  
  4. #   │▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
  5. #   │          install-depot-multisystem.sh              │
  6. #   │              écrit par François Fabre              │
  7. #   │               MultiSystem LiveUSB                  │
  8. #   │▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
  9.  
  10. #Mr Fabre François @frafa
  11. #E-Mail: liveusb@gmail.com En Français SVP !
  12. #http://liveusb.info/
  13.  
  14. #License: GNU General Public License (GPL)
  15. #Ce programme est un logiciel libre: vous pouvez le redistribuer
  16. #et/ou le modifier selon les termes de la "GNU General Public
  17. #License", tels que publiés par la "Free Software Foundation"; soit
  18. #la version 2 de cette licence ou (à votre choix) toute version
  19. #ultérieure.
  20. #
  21. #Ce programme est distribué dans l'espoir qu'il sera utile, mais
  22. #SANS AUCUNE GARANTIE, ni explicite ni implicite; sans même les
  23. #garanties de commercialisation ou d'adaptation dans un but spécifique.
  24. #
  25. #Se référer à la "GNU General Public License" pour plus de détails.
  26. #
  27. #Vous devriez avoir reçu une copie de la "GNU General Public License"
  28. #en même temps que ce programme; sinon, écrivez a la "Free Software
  29. #Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA".
  30. #http://www.gnu.org/licenses/gpl-howto.fr.html
  31.  
  32. #Sous Kde en boot livecd Activer depôt universe et installer zenity
  33. if [ "$(sudo -A cat grep '^%admin ALL=(ALL) NOPASSWD: ALL' /etc/sudoers 2>/dev/null)" ]; then
  34. echo
  35. if [ "$(which software-properties-kde)" ]; then
  36. sudo software-properties-kde --enable-component universe
  37. if [ ! "$(which zenity)" ]; then
  38. xterm -title 'Install zenity' -e "sudo apt-get update && sudo apt-get install -q -y zenity"
  39. fi
  40. fi
  41. fi
  42.  
  43. #quelques test...
  44. errorlist=()
  45. testlist="apt-get sudo lsb_release tee zenity nohup xterm dpkg"
  46. for i in ${testlist}
  47. do
  48. if [ ! "$(which "$i")" ]; then
  49. errorlist=(${errorlist[@]} $i)
  50. fi
  51. done
  52. #Stop si
  53. if [ "$(echo "${errorlist[@]}")" ]; then
  54. echo -e "\033[1;47;31m Error: ${errorlist[@]} \033[0m"
  55. miseenforme="${errorlist[@]}"
  56. zenity --error --text "Error: ${miseenforme}" 2>/dev/null
  57. exit 0
  58. fi
  59.  
  60. #si pas sudo!
  61. if [ ! "$SUDO_USER" ]; then
  62. msg1="L'installation de multisystem necessite les droits d'administrateur."
  63. msg2="Installing multisystem requires administrator rights."
  64. if [ "$(echo $LANG | grep -i "fr_FR.utf")" ]; then
  65. zenity --info --text "<b>${msg1}</b>"
  66. else
  67. zenity --info --text "<b>${msg2}</b>"
  68. fi
  69. xterm -e "sudo "$0""
  70. exit 0
  71. fi
  72.  
  73. #chmod 777 /media
  74. if [ "$(stat -c %a /media)" != "777" ]; then
  75. chmod 777 /media
  76. fi
  77.  
  78. #Rajouter test si deja installé sortie!
  79. if [ "$(dpkg -l | grep 'ii  multisystem')" ]; then
  80. msg1="multisystem est déjà installé!"
  81. msg2="multisystem is already installed!"
  82. if [ "$(echo $LANG | grep -i "fr_FR.utf")" ]; then
  83. zenity --info --text "<b>${msg1}</b>"
  84. else
  85. zenity --info --text "<b>${msg2}</b>"
  86. fi
  87. exit 0
  88. fi
  89.  
  90. #verifier que user appartiens au group disk
  91. if [ ! "$(grep ^disk /etc/group | grep "$SUDO_USER")" ]; then
  92. usermod -a -G disk "$SUDO_USER"
  93. fi
  94.  
  95. #verifier que user appartiens au group adm
  96. if [ ! "$(grep ^adm /etc/group | grep "$SUDO_USER")" ]; then
  97. usermod -a -G adm "$SUDO_USER"
  98. fi
  99.  
  100. #Activer depôt universe
  101. if [ "$(which software-properties-gtk)" ]; then
  102. #Sous Gnome
  103. software-properties-gtk -e universe
  104. elif [ "$(which software-properties-kde)" ]; then
  105. #Sous Kde
  106. software-properties-kde --enable-component universe
  107. fi
  108.  
  109. #Pour Ubuntu hardy il faut activer en + le depot hardy-backport
  110. if [ "$(lsb_release -cs)" == "hardy" ]; then
  111. echo
  112. #Sous Gnome
  113. if [ "$(which software-properties-gtk)" ]; then
  114. software-properties-gtk -e hardy-backport
  115. #Sous Kde
  116. elif [ "$(which software-properties-kde)" ]; then
  117. software-properties-kde --enable-component hardy-backport
  118. fi
  119. fi
  120.  
  121. #Ajouter le depôt
  122. if [ ! "$(grep '^deb http://liveusb.info/multisystem' /etc/apt/sources.list 2>/dev/null)" ]; then
  123. vardeb="## Depôt MultiSystem\ndeb http://liveusb.info/multisystem/depot all main"
  124. echo -e "$vardeb" | tee -a "/etc/apt/sources.list"
  125. fi
  126.  
  127. #Ajouter clé publique pour apt
  128. sudo -u "$SUDO_USER" wget -q http://liveusb.info/multisystem/depot/multisystem.asc -O- | apt-key add -
  129.  
  130. #Recharger les sources
  131. apt-get update
  132.  
  133. #Installer le paquet multisystem
  134. apt-get install -y --force-yes multisystem
  135. apt-get -f install -y
  136.  
  137. #Verifier que est bien installé
  138. if [ ! "$(dpkg -l | grep 'ii  multisystem')" ]; then
  139. msg1="Une erreur est survenue"
  140. msg2="An error occurred"
  141. if [ "$(echo $LANG | grep -i "fr_FR.utf")" ]; then
  142. zenity --error --text "<b>${msg1}</b>"
  143. else
  144. zenity --error --text "<b>${msg2}</b>"
  145. fi
  146. exit 0
  147. fi
  148.  
  149. #Rendre executable fusermount pour bases Debian !
  150. chmod +x "/usr/bin/fusermount" 2>/dev/null
  151. chmod +x "/bin/fusermount" 2>/dev/null
  152.  
  153. #Modifs pour lmde!
  154. if [ "$(stat  -c "%a" $(which fusermount))" = "4754" ]; then
  155. chmod 755 $(which fusermount)
  156. fi
  157. if [ "$(stat  -c "%a" /media)" -lt "755" ]; then
  158. chmod 755 /media
  159. fi
  160. if [ "$(stat  -c "%G" "$HOME/.local")" = "root" ]; then
  161. sudo chown $SUDO_USER:$SUDO_USER -R "$HOME"/.local
  162. fi
  163.  
  164. #message
  165. msg1="Dorénavant pour lancer le script veuillez utiliser\nle Menu: /Applications/Accessoires/MultiSystem."
  166. msg2="Now to start the script please use\nthe menu: / Applications/Accessoires/MultiSystem."
  167. if [ "$(echo $LANG | grep -i "fr_FR.utf")" ]; then
  168. zenity --info --text "<b>${msg1}</b>"
  169. else
  170. zenity --info --text "<b>${msg2}</b>"
  171. fi
  172.  
  173. #lancer gui
  174. nohup sudo -u "$SUDO_USER" -i "/usr/local/share/multisystem/gui_multisystem.sh"&
  175. sleep 1
  176. exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement