[Résolu]quelle est ma distribution linux? shell

Bonjour, c’est assez urgent, j’ai besoin d’écrire un script en shell/bash qui fait plein de petits trucs (synchro ldap, montage nfs etc), seulement certaines actions ne seront pas les memes selon que le poste cible est sous debien stable, testing, unstable ou ubuntu, fedora, redhat etc etc.

En gros, quel moyen j’ai en bash pour tester la distribution de la machine qui a lancé le script?

Merci d’avance

un petit

La debian est caractérisée par l’existence d’un fichier /etc/debian_version

Il y a un peu trop d’information à mon gout…
j’ai vu aussi cat /etc/issue, mieux je trouve mais après c’est au niveau des tests que je bloque un peu…je dois tester en vm différentes distrib pour voir ce que ça donne, j’aimerais aussi avoir leurs groupes de base (et oui tout un programme^^)

L’existence d’un répertoire /var/lib/dpkg donne l’idée de Debia/Ubuntu. Dans ce cas, la recherche de /etc/debian_version et du contenu de /etc/apt/sources.list doit t’aiguiller. Les RedHat/Mandriva ont un fichier /etc/sysctl.conf et doivent aussi avoir un base rpm. Suse a un gestionnaire spécifique dont j’ai oublié le nom. Gentoo contient merge et doit avoir une base de données spécifique, mais il faudrait être devant ces machines. Va te balader sur les forums et posent les questions.

bonsoir, c’est un travail de développeur ça quasiment … enfin un pro du scripting, comme le suggérent le ‘plein de petits trucs’, si tu veux pas que ça deviennent un ‘plein de gros bugs’ … tu scripts en bash ?
petite question … :

[quote]En gros, quel moyen j’ai en bash pour tester la distribution de la machine qui a lancé le script?[/quote]Où sont les machines et où tu es toi pour tester ? parce que si c’est via un serveur web, c’est plus simple.

Ce n’est pas via un serveur web, mais via ssh. En fait, ce que je veux faire, c’est la chose suivante :

synchronisation LDAP
création d’un utilisateur local ayant le même UID que celui présent dans l’annuaire et les mêmes groupes
montage du nfs/home non automatique dans le fstab
synchronisation des fichiers /home et nfs/home
le tout sur des ordinateurs portables

le script marche pas mal, mais les groupes de base (plugdev,audio etc etc), ne sont pas présents dans l’annuaire et par conséquent, le script doit les rajouter à la création de l’utilisateur, ors leur liste dépend directement de la distribution utilisée…

Voilà, j’espère que c’est plus clair

Je ne crois pas qu’un script qui te donne de manière simple et générique ta release soit facile à faire, sauf peut être pour les distribs respectant la LSB (à trouver). Il y a peut être des bouts de codes un peu avancés sur le net, mais il ne me semble pas que ce soit ideal de prendre une usine à gaz pour ton besoin.
Si je ne me trompe pas, ton script s’execute dans la distrib que tu cherches , il faut juste que pour tous les OS que tu as, tu détermines un critère spécifique qui les signe. Si tu les as sous la main, regardes les différences sur uname -a. Déjà, tu peux déterminer que les debians ont un fichier /etc/debian_version, par exemple, et si tu as des sous releases dans ton parc, tu peux ensuite les distinguer sur le contenu de ce fichier ou d’autres critères. Aprés, il doit y avoir le même genre de trucs sur redhat. Enfin, tu connais ton parc ?
Enfin en bref, fais plutot du spécifique.

Bonjour,
Souvent dans /boot/grub/menu.lst (ou grub.conf qui a parfois un lien vers menu.lst) le nom de la distribution est précisé.

Merci, à tous, maintenant il me faudrait savoir les groupes par défaut auquel on ajoute l’utilisateur à la création.

salut,

Je te conseil la même chose que mattotop, de faire une fonction qui test d’abord la distribution, la version du bash, des daemons…