Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 21/10/2022, à 20:42

pangol1

[Résolu] Comment automatiser mon script bash

Bonjour à vous . Je suis désolé je suis un gros NOOB mais je m'intéresse de plus en plus au monde LINUX et je viens de faire mon premier script bash en utilisant vim pour faire mes mises à jour, et j'aimerais savoir s'il était possible d'automatiser tout ça sans même taper le O de OUI pour valider tout ça , c'est mon petit problème de noob :lol :
Si vous avez des idées pour me proposer un script que je puisse faire la main je suis preneur merci à vous big_smile

Dernière modification par pangol1 (Le 24/10/2022, à 21:38)

Hors ligne

#2 Le 21/10/2022, à 20:54

Qid

Re : [Résolu] Comment automatiser mon script bash

pangol1 a écrit :

voila mon petit problème de noob lol

Je ne vois pas l'intérêt d'un script pour ça... Enfin tout dépend de son contenu mais en tous cas l'automatisation c'est pas le script qui va la gérer... Si la commande utilisée dans le script ne le permet pas ça va être compliqué de répondre à ta demande... En l'occurrence si tu avais regardé le man d'apt tu y aurais certainement retrouvé l'option -y qui justement permet d'automatiser la réponse...

J'avoue être surpris que tu n'ais pas sû trouver cette réponse par toi même...


"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil

Hors ligne

#3 Le 21/10/2022, à 21:01

nany

Re : [Résolu] Comment automatiser mon script bash

Bonjour,



pangol1 a écrit :

mon premier script bash en utilisant vim pour faire mes mis à jour

Les mises à jour automatiques sont déjà en place avec unattended-upgrades. Mais il faut bien commencer quelque part alors pourquoi pas ? wink

pangol1 a écrit :

et j'aimerais savoir si c'était possible d'automatisé tout ça sans même taper le O de OUI pour validé tout ça

Oui, c’est possible.
Je suppose que tu fais appel à apt-get (apt étant à éviter dans un script).
Alors, dans un terminal, lance la commande
man apt-get
et intéresse-toi aux options, plus particulièrement à l’option -y.

Dernière modification par nany (Le 21/10/2022, à 21:01)

Hors ligne

#4 Le 21/10/2022, à 21:02

Watael

Re : [Résolu] Comment automatiser mon script bash

mais, tu ne voudrais pas t'intéresser à la grammaire, d'abord ?

ok, ok, je sors. smile


Connected \o/
Welcome to sHell. · eval is evil.

En ligne

#5 Le 22/10/2022, à 07:28

Qid

Re : [Résolu] Comment automatiser mon script bash

nany a écrit :

tu fais appel à apt-get (apt étant à éviter dans un script).

Au fait !? Pourquoi Apt serait à éviter dans un script ? J'avoue que j'ai dû mal à comprendre cette idée...


"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil

Hors ligne

#6 Le 22/10/2022, à 08:20

iznobe

Re : [Résolu] Comment automatiser mon script bash

Bonjour ,
@qid :
apt-get est prevu pour etre utiliser dans des scripts .
apt pour les commandes manuelles .

question de formatage de sortie des commandes ( si je me rapelle bien ) , apt get formatte les sorties de façon a etre exploitées par un script .


@pangol1 : je reponds a ta question tout de meme tongue
Pour automatiser ton script , tu peux utiliser une tache cron ( ou plusieurs ) .

Dernière modification par iznobe (Le 22/10/2022, à 08:23)


retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#7 Le 22/10/2022, à 08:29

nany

Re : [Résolu] Comment automatiser mon script bash

Qid a écrit :

Pourquoi Apt serait à éviter dans un script ?

Une histoire de compatibilités ascendantes que je ne comprends pas mais c’est apt lui-même qui le dit.

Man apt a écrit :
UTILISATION DE SCRIPTS ET DIFFÉRENCES AVEC LES AUTRES OUTILS DAPT
       La ligne de commande de apt(8) est conçue comme un outil pour l'utilisateur et son comportement peut varier selon ses versions. Bien qu'il s'efforce de ne pas casser les compatibilités ascendantes,
       cela ne peut pas non plus être garanti, si une modification semble bénéfique pour une utilisation interactive.

       Toutes les fonctionnalités d'apt(8) sont aussi proposées dans les outils dédiés d'APT tels que apt-get(8) ou apt-cache(8) apt(8) modifie seulement la valeur par défaut de certaines options (voir
       apt.conf(5) et en particulier le champ d'action Binary). Aussi vous devriez préférer l'utilisation de ces commandes (éventuellement avec certaines options complémentaires activées) dans les scripts
       parce qu'elles conservent autant que possible la compatibilité ascendante.

Hors ligne

#8 Le 22/10/2022, à 08:33

nany

Re : [Résolu] Comment automatiser mon script bash

iznobe a écrit :

@pangol1 : je reponds a ta question tout de meme tongue
Pour automatiser ton script , tu peux utiliser une tache cron ( ou plusieurs ) .

Il me semble (ou alors j’ai mal lu) que pangol1 demande comment répondre oui automatiquement à la question « voulez-vous continuer » d’apt-get (ou apt) et pas l’automatisation de l’exécution de son script. tongue

Hors ligne

#9 Le 22/10/2022, à 08:36

iznobe

Re : [Résolu] Comment automatiser mon script bash

Bonjour nany .
le titre est :
" Comment automatisé mon script bash " , et dan le #1 :

et j'aimerais savoir si c'était possible d'automatisé tout ça sans même taper le O de OUI

j ' en deduis que la question principale est " comment automatisé " , et que la cerise sur le gateau est : " sans meme taper oui " . je vois la chose comme ca , mais peut etre que je me trompe .

Dernière modification par iznobe (Le 22/10/2022, à 08:37)


retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#10 Le 22/10/2022, à 08:42

Compte supprimé

Re : [Résolu] Comment automatiser mon script bash

pangol1 a écrit :

je vien de réalisé mon premier script bash en utilisant vim pour faire mes mis à jour , et j'aimerais savoir si c'était possible d'automatisé tout ça sans même taper le O de OUI pour validé tout ça

Si on interprète en faisant abstraction de l'orthographe, on peut penser que la demande d'automatisation inclue le lancement du script.

Mais systemd, c'est un peu comme l'UEFI, l'IPv6 ou d'autres nouveautés de plusieurs années, on peut arriver à continuer à faire sans, dans certains cas.
Pour planifier le lancement du script, il y a aussi systemd, service et timer. C'est peut-être plus pertinent pour quelqu'un qui débute maintenant.
https://doc.ubuntu-fr.org/creer_un_service_avec_systemd
https://wiki.archlinux.org/title/System … %C3%A7ais)

Dernière modification par Compte supprimé (Le 22/10/2022, à 08:44)

#11 Le 22/10/2022, à 08:47

nany

Re : [Résolu] Comment automatiser mon script bash

M’kay. On peut voir ça comme ça.
Dans ce cas et comme la mise à jour doit être effectuée par root, plutôt que de créer une tâche cron ou de se lancer dans systemd, je placerais le script dans un des répertoires /etc/cron.daily, /etc/cron.hourly, /etc/cron.monthly ou /etc/cron.weekly qui sont faits pour ça.

Hors ligne

#12 Le 22/10/2022, à 09:25

Tawal

Re : [Résolu] Comment automatiser mon script bash

Pour la compatibilité ascendante, c'est juste que les mainteneurs d'apt ne garantissent pas que le son comportement soit le même d'une version à l'autre.

Par exemple, la commande "apt update" pourrait devenir interactive.


Le savoir n'a d’intérêt que si on le transmet.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

#13 Le 22/10/2022, à 10:36

Compte supprimé

Re : [Résolu] Comment automatiser mon script bash

La doc a écrit :

Par défaut, l'exécution de cron n'affiche rien. Si vous avez besoin de démarrer une interface graphique par exemple pour utiliser zenity, kdialog, dialog ou encore totem, vlc, … Il vous faudra ajouter un DISPLAY=:0 devant la commande lancée.

https://doc.ubuntu-fr.org/cron
Il faudra y penser si besoin.

Dernière modification par Compte supprimé (Le 22/10/2022, à 10:40)

#14 Le 22/10/2022, à 10:52

Qid

Re : [Résolu] Comment automatiser mon script bash

Tawal a écrit :

Pour la compatibilité ascendante, c'est juste que les mainteneurs d'apt ne garantissent pas que le son comportement soit le même d'une version à l'autre.

Ah bah voilà une explication claire... Sauf que de mon point de vue elle ne tient pas vraiment : un script ça se maintient aussi un minimum... non ?

En tous cas pour revenir à la demande initiale cron ne résoudra pas le souci initial en effet... Ce qu'il demandait était bien que ce que doit faire le script se fasse sans intervention humaine ce qui n'est pas la même chose que "le script doit se lancer sans intervention humaine"...


"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil

Hors ligne

#15 Le 22/10/2022, à 13:31

Tawal

Re : [Résolu] Comment automatiser mon script bash

Pour le demandeur :
J'ai un script de mise à jour automatique.
Et j'utilise un indicateur de mise à jour disponible. C'est par lui que je lance mon script.

Mon script (tout bête et appelé m_a_j) :

#!/bin/bash

apt update
apt list --upgradable
apt -y upgrade
echo
read -n 1 -p "Appuie sur une touche pour fermer" rep

Et la commande d'appel de ce script (spécifique à xfce) :

xfce4-terminal -T "Mise à jour" -x pkexec m_a_j

Le script est exécutable et dans un dossier de mon PATH.

Edit
Donc, quand mon indicateur m'indique une mise à jour possible,
je clique à droite sur son icône et demande la mise à jour.
Un terminal s'ouvre ainsi qu'une fenêtre d'authentification (demande de mot de passe).
Une fois le mot de passe entré, on voit le déroulé de la mise à jour dans le terminal.

Dernière modification par Tawal (Le 22/10/2022, à 13:38)


Le savoir n'a d’intérêt que si on le transmet.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

#16 Le 22/10/2022, à 14:08

Watael

Re : [Résolu] Comment automatiser mon script bash

mon indicateur m'indique une mise à jour possible

pourquoi apt list --upgradable alors ?

je ferais simplement apt get update && apt -y upgrade && read ... || read -p 'oops, problemo' pour que l'enchaînement des commandes soit conditionné par le résultat de la commande précédente.


Connected \o/
Welcome to sHell. · eval is evil.

En ligne

#17 Le 22/10/2022, à 14:55

Tawal

Re : [Résolu] Comment automatiser mon script bash

C'est pour le visuel.
Cela affiche en couleur la liste des paquets mis à jour.

Ok pour l'enchaînement wink


Le savoir n'a d’intérêt que si on le transmet.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

#18 Le 22/10/2022, à 15:36

Watael

Re : [Résolu] Comment automatiser mon script bash

c'est bô, la couleur.
big_smile


Connected \o/
Welcome to sHell. · eval is evil.

En ligne

#19 Le 23/10/2022, à 07:18

k3c

Re : [Résolu] Comment automatiser mon script bash

pour Tawal

un script encore meilleur de mise à jour est topgrade

https://github.com/r-darwish/topgrade


Debian 12 sur Thinkpad reconditionné

Hors ligne

#20 Le 23/10/2022, à 07:39

Compte supprimé

Re : [Résolu] Comment automatiser mon script bash

@K3c
Bonne pioche tongue

Ton lien a écrit :

No longer maintained

This repository is no longer maintained. An effort was made by the community to keep maintaining the project at https://github.com/topgrade-rs/topgrade. I am not involved in this effort nor do I know the people behind it, so I encourage you to inspect their work before using the fork.

Un script pour faire les mises à jour se justifie dans le cas où l'on désactive les outils de la distribution. Dans ce cas, on peut faire des actions complémentaires et surtout choisir le moment de la mise à jour.

Mention spéciale pour Archlinux "brut" qui n'a que pacman en ligne de commande. Après chacun fait comme il trouve que c'est bien pour lui.

Dernière modification par Compte supprimé (Le 23/10/2022, à 08:03)

#21 Le 23/10/2022, à 08:52

Qid

Re : [Résolu] Comment automatiser mon script bash

Tamarou a écrit :

@K3c
Bonne pioche tongue

En plus perso je n'y ai pas vu de mansion mention pour Ubuntu que ce soit sur celui-ci ou même son fork... Mais je l'ai peut-être raté...

edit : correction de faute d'orthographe...

Dernière modification par Qid (Le 23/10/2022, à 10:18)


"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil

Hors ligne

#22 Le 23/10/2022, à 09:09

k3c

Re : [Résolu] Comment automatiser mon script bash

les mises à jour, ce n'est pas que apt, dans mon cas

winetricks vu que je bricole avec wine
go et rust (plein d'outils sympas sont écrits dans ces 2 langages)
les images docker
pip3
yt-dlp (le remplaçant de youtube-dl)
j'essaie d'éviter les installs avec snap et flatpack, mais bon

exemple de l'exécution de topgrade, résumé à la fin

― 10:03:03 - Summary ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
System update: OK
config-update: OK
Brew: OK
Gnome Shell Extensions: OK
rustup: OK
cargo: OK
pip3: OK
Containers: OK
Flatpak: OK
snap: OK
Wine : OK
golang: OK
yt-dlp: OK
Firmware upgrades: OK

extrait de mon fichier ~/config/topgrade.toml

[commands]
#"Python Environment" = "~/dev/.env/bin/pip install -i https://pypi.python.org/simple -U --upgrade-strategy eager jupyter"
"Wine " = "sudo  /usr/bin/winetricks --self-update"
"yt-dlp" = "pip install -U yt-dlp"
"golang" = "sh ~/linux-update-go-script"

Dernière modification par k3c (Le 23/10/2022, à 09:12)


Debian 12 sur Thinkpad reconditionné

Hors ligne

#23 Le 23/10/2022, à 10:10

Compte supprimé

Re : [Résolu] Comment automatiser mon script bash

@Qid
Vu que aimes traduire l'anglais. Tu penses que topgrade devrait résider dans un manoir ?
https://www.deepl.com/translator#en/fr/mansion

Et oui, un script ça permet de faire plus que la mise à jour de base de la distribution. Mais l'outil de Gnome gère déjà pas mal de choses.
Dans cette histoire, on n'a pas revu pangol1.

Dernière modification par Compte supprimé (Le 23/10/2022, à 10:11)

#24 Le 23/10/2022, à 10:17

Qid

Re : [Résolu] Comment automatiser mon script bash

Tamarou a écrit :

@Qid
Vu que aimes traduire l'anglais. Tu penses que topgrade devrait résider dans un manoir ?
https://www.deepl.com/translator#en/fr/mansion

La joie des correcteurs orthographique qu'on suit aveuglément... Celà dit c'était sensé être du français mais j'avoue que j'ai certainement fait pire en corrigeant la faute de départ... Et accessoirement j'ai fini par retrouver par moi même l'orthographe que je voulais : "mention"...


"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil

Hors ligne

#25 Le 23/10/2022, à 10:19

bruno

Re : [Résolu] Comment automatiser mon script bash

Qid a écrit :

La joie des correcteurs orthographique qu'on suit aveuglément... Celà dit c'était sensé être du français

s/sensé/censé/
Je n'étais pas censé faire cette remarque, bien que cela soit sensé. wink