Aller au contenu

Rex Sur L'installation Cloud Station Sur Client Linux


dphil

Messages recommandés

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é par dphil
Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...

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é par dphil
Lien vers le commentaire
Partager sur d’autres sites

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.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.