impossible de rendre un fichier executable

bma Membre non connecté
-
- Voir le profil du membre bma
- Inscrit le : 21/02/2010
- Groupes :
je cherche à créer un fichier shell pour lancer un script Python.
J'ai écrit le script dans un fichier *.sh. Dans ses propriétés, je coche "est exécutable" mais il ne s'exécute pas et quand je reviens sur les propriétés, la case est décochée.
Merci pour votre aide.
Mageia 8 à jour,
script simplissime :
#!/bin/sh
python python/extraction_export.py

Yuusha Membre non connecté
-
- Voir le profil du membre Yuusha
- Inscrit le : 04/07/2017
- Groupes :
-
Modérateur
-
Administrateur
-
Forgeron
Pourquoi ne pas lancer directement le script Python ? Ce script bash est inutile.

bma Membre non connecté
-
- Voir le profil du membre bma
- Inscrit le : 21/02/2010
- Groupes :
Je souhaite donc tout de même rendre un fichier exécutable.
Des pistes ?

Papoteur Membre non connecté
-
- Voir le profil du membre Papoteur
- Inscrit le : 03/10/2011
- Groupes :
-
Modérateur
-
Équipe Mageia
-
Administrateur
-
Forgeron
Code BASH :
cp extraction_export.py /usr/bin/extraction_export chmod +x /usr/bin/extraction_export
et voilà.
Il faut juste s'assurer que le script contient bien le shebang en entête.
Yves

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Code BASH :
mkdir -p /usr/local/bin cp extraction_export.py /usr/local/bin/extraction_export chmod +x /usr/local/bin/extraction_export
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Visiteur
Visiteur
bma :
Dans ses propriétés, je coche "est exécutable" mais il ne s'exécute pas et quand je reviens sur les propriétés, la case est décochée
Je vais supposer trois choses :
1. Tu as un /home séparé dont le système de fichiers interdit les fichiers exécutables.
2. Dans /home, MSEC (Mageia security center, similaire à selinux/apparmor) l'interdit.
3. Tu es sur une partition NTFS qui est montée sans support d'exécutables.

Visiteur
Visiteur
bma :
je veux simplifier pour d'autres utilisateurs
Le moyen le plus simple de sauvegarder le drapeau "exécutable" est d'archiver le fichier.

Yuusha Membre non connecté
-
- Voir le profil du membre Yuusha
- Inscrit le : 04/07/2017
- Groupes :
-
Modérateur
-
Administrateur
-
Forgeron
Le shebang pour lancer l'interpréteur Python 3 est :
#!/usr/bin/env python3

bma Membre non connecté
-
- Voir le profil du membre bma
- Inscrit le : 21/02/2010
- Groupes :
artenaki :
Bonjour,
Je vais supposer trois choses :
1. Tu as un /home séparé dont le système de fichiers interdit les fichiers exécutables.
2. Dans /home, MSEC (Mageia security center, similaire à selinux/apparmor) l'interdit.
3. Tu es sur une partition NTFS qui est montée sans support d'exécutables.
bma :
Dans ses propriétés, je coche "est exécutable" mais il ne s'exécute pas et quand je reviens sur les propriétés, la case est décochée
Je vais supposer trois choses :
1. Tu as un /home séparé dont le système de fichiers interdit les fichiers exécutables.
2. Dans /home, MSEC (Mageia security center, similaire à selinux/apparmor) l'interdit.
3. Tu es sur une partition NTFS qui est montée sans support d'exécutables.
Bonjour,
merci pour vos réponses, mon fichier était sur un clé usb, en le copiant sur le disque, je peux effectivement le rendre exécutable. Premier problème résolu.

bma Membre non connecté
-
- Voir le profil du membre bma
- Inscrit le : 21/02/2010
- Groupes :
Jybz :
S'il vous plait, en dehors de tout gestionnaire de paquet; n'utilisons pas /usr/bin. Utilisons local ?
Code BASH :
mkdir -p /usr/local/bin cp extraction_export.py /usr/bin/local/extraction_export chmod +x /usr/bin/local/extraction_export
Mon fichier .sh fonctionne maintenant avec le shebang "#!/bin/sh". Super, merci. J'ai aussi compris comment utiliser le shebang #!/usr/bin/env python3
Par contre je n'ai pas saisi pourquoi créer un nouveau dossier et copier le fichier py dedans (mon .sh fonctionne sans cela)
Vous l'aurez compris, mes connaissances sont limitées.

Papoteur Membre non connecté
-
- Voir le profil du membre Papoteur
- Inscrit le : 03/10/2011
- Groupes :
-
Modérateur
-
Équipe Mageia
-
Administrateur
-
Forgeron
bma :
Mon fichier .sh fonctionne maintenant avec le shebang "#!/bin/sh". Super, merci. J'ai aussi compris comment utiliser le shebang #!/usr/bin/env python3
Par contre je n'ai pas saisi pourquoi créer un nouveau dossier et copier le fichier py dedans (mon .sh fonctionne sans cela)
Vous l'aurez compris, mes connaissances sont limitées.
Jybz :
S'il vous plait, en dehors de tout gestionnaire de paquet; n'utilisons pas /usr/bin. Utilisons local ?
Code BASH :
mkdir -p /usr/local/bin cp extraction_export.py /usr/bin/local/extraction_export chmod +x /usr/bin/local/extraction_export
Mon fichier .sh fonctionne maintenant avec le shebang "#!/bin/sh". Super, merci. J'ai aussi compris comment utiliser le shebang #!/usr/bin/env python3
Par contre je n'ai pas saisi pourquoi créer un nouveau dossier et copier le fichier py dedans (mon .sh fonctionne sans cela)
Vous l'aurez compris, mes connaissances sont limitées.
Bonjour,
Jybz voulait rappeler que conventionnellement, on réserve /usr/bin à ce qui est installé par la distribution, et que le reste, on le met ailleurs pour limiter les interférences.
Le "ailleurs" est conventionnellement /usr/local/bin pour une installation pour tout le système. On trouve aussi la possibilité d'installation dans ~/.local/bin avec une portée limitée à l'utilisateur.
PS: d'ailleurs, il y a une erreur dans le chemin sur le chmod, local et bin sont inversés.
Édité par Papoteur Le 02/12/2022 à 12h14
Yves

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie