dphil Posté(e) le 25 septembre 2013 Posté(e) le 25 septembre 2013 (modifié) Mon objectif étant d'installer le Cloud Station sur une distribution Mageia : Avez-vous un retour de d'expérience sur l'installation du Cloud Station sur un client linux autre qu'Ubuntu et Federa ? Existe-t-il des problèmes de compatibilité ? Modifié le 26 septembre 2013 par dphil 0 Citer
dphil Posté(e) le 26 octobre 2013 Auteur Posté(e) le 26 octobre 2013 (modifié) N'ayant aucun retour, j'ai fini par me lancer. Cela n'a pas été une réussite du premier coup, mais j'ai fini par réussir l'installation. Le CloudStation fonctionne sur mon PC avec une distribution Mageia 3 et les environnements de bureau suivants : KDE Gnome LXDE Xfce4 Je pense que l'installation doit être effectuer pour chaque utilisateur, ne pas faire l'installation en su ou en sudo comme je l'ai fais, sinon vous serez obligé comme moi de déplacer dans le 'home' de l'utilisateur ou des utilisateurs souhaités le raccourci bureau et le répertoire caché .CloudStation (et son contenu). Il faudra également faire un chown -R et un chgrp -R pour le répertoire caché et un chown et un chgrp pour le raccourci et le contenu de plusieurs fichiers (dont un masqué) devra être modifié pour indiqué les nouveaux chemins dans le répertoire .CloudStation. Autre problème rencontré : Avoir plusieurs environnements de bureau installés (par exemple Gnome e KDE), le fichier .install lance uniquement gnome-terminal (Les variables gnome et kde sont toutes les 2 égale à 0) quand je suis dans l'environnement de bureau KDE. Une solution consiste a modifié le fichier install en remplacant le code suivant : type gnome-terminal >/dev/null 2>&1 gnome=$? type konsole >/dev/null 2>&1 kde=$? if [ $gnome -eq 0 ]; then gnome-terminal --execute bash -c ""${BASEDIR}/package_manager" install CloudStation ; bash" elif [ $kde -eq 0 ]; then konsole -e bash -c "cd ${PWD} ; "${BASEDIR}/package_manager" install CloudStation ; bash" else #echo "For desktop system not in Gnome or KDE, please run command " ./package_manager install CloudStation "" fi par le code suivant : if [[ `ps aux | grep -e "[g]nome-settings-daemon"` ]]; then # L'environnement de bureau est Gnome gnome-terminal --execute bash -c ""${BASEDIR}/package_manager" install CloudStation ; bash" elif [[ `ps aux | grep -e "[k]ded4" ` && ! `ps aux | grep -e "[g]nome-settings-daemon"` && ! `ps aux | grep -e "[l]xsession"` ]]; then # L'environnement de bureau est KDE konsole -e bash -c "cd ${PWD} ; "${BASEDIR}/package_manager" install CloudStation ; bash" elif [[ `ps aux | grep -e "[x]fsettingsd"` ]]; then # L'environnement de bureau est xfce4 xfce4-terminal --execute bash -c ""${BASEDIR}/package_manager" install CloudStation ; bash" elif [[ `ps aux | grep -e "[l]xsession"` ]]; then # L'environnement de bureau est LXDE lxterminal -e "bash -c 'cd ${PWD} ; "${BASEDIR}/package_manager" install CloudStation ; bash'" else # L'environnement de bureau inconnu #echo "For desktop system not in Gnome or KDE, please run command " ./package_manager install CloudStation "" echo "L'environnement de bureau inconnu, executer la commande " ./package_manager install CloudStation "" fi Lors de l'exécution du fichier package_manager une erreur se produit, elle est du à la fonction get_distro_version(), cette fonction recherche le nom de la distribution et la méthode utilisée détecte la valeur Fedora dans le fichier os-release contenu dans le champ ID_LIKE. La fonction considére ma distribution Mageia 3 comme une distribution Fedora, la version 3 de Mageia étant inferieure à la version 17 de Fedora la fonction retourne 255 au lieu de 0. Pour corriger cette anomalie, j'ai réécri la fonction ainsi : get_distro_version() { DISTRO_ID=$(awk '/DISTRIB_ID=/' /etc/*-release | sed 's/DISTRIB_ID=//' | sed 's/"//g' ) DISTRO_VERSION=$(awk '/DISTRIB_RELEASE=/' /etc/*-release | sed 's/DISTRIB_RELEASE=//' | sed 's/[.]0/./') if [ -z "$DISTRO_ID" ]; then DISTRO_ID=$(awk '{print $1}' /etc/*-release) fi if [ -z "$DISTRO_VERSION" ]; then DISTRO_VERSION=$(awk '{print $3}' /etc/*-release) fi if [ "$DISTRO_ID" == "Ubuntu" ]; then DISTRO_VERSION=$(lsb_release -s -r | sed s/..*//g) if [ $? -ne 0 ]; then DISTRO_VERSION=0 return 255 fi if [ $DISTRO_VERSION -lt 10 ]; then return 255 fi return 0 elif [ "$DISTRO_ID" == "Fedora" ]; then if [ -f /etc/os-release ]; then source /etc/os-release DISTRO_VERSION=${VERSION_ID} elif [ -f /etc/fedora-release ]; then DISTRO_VERSION=$(cat /etc/fedora-release | awk '{print $3}') else DISTRO_VERSION=0 return 255 fi if [ $DISTRO_VERSION -lt 17 ]; then return 255 fi return 0 elif [ "$DISTRO_ID" == "openSUSE" ]; then if [ $DISTRO_VERSION -eq 0 ]; then return 255 fi return 0 elif [ "$DISTRO_ID" == "Mageia" ]; then if [ $DISTRO_VERSION -lt 3 ]; then return 255 fi return 0 else DISTRO_ID="Unsupport" DISTRO_VERSION=0 return 255 fi } Le code de cette fonction peut être surement encore amélioré et optimisé. Modifié le 29 octobre 2013 par dphil 0 Citer
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.