Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1947 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Création d'un cron

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Création d'un cron

n°1400448
odelpasso
Posté le 07-02-2017 à 21:42:09  profilanswer
 

Bonsoir les fans de Linux,
 
Je compile moi-même les sources de Mesa à partir de son arbre Git dans un chroot 64-bits et 32-bits sur ma Debian.
Actuellement, je chroot, fais les MAJ de Debian/dépôt Git, recompile manuellement.
 
Mais voilà, j'aimerais faire cela via un Cron pour que tout cela soit fait à une certaine heure de la soirée. J'ai donc crée ce fichier "Mesa_Git_Cron" qui contient ceci :  

Citation :

#!/bin/sh
 
INSTALLFOLDER=/media/VM_System/Debian32
 
mount -t proc none $INSTALLFOLDER/proc
mount -o bind /dev $INSTALLFOLDER/dev
mount -o bind /tmp $INSTALLFOLDER/tmp
 
chroot $INSTALLFOLDER  
 
##Mise à Jour du Système
apt update && apt dist-upgrade -y

##Passage en simple utilisateur

su odelpasso
 
##Mise à jour du dépot Git de Mesa
cd /home/odelpasso/mesa-git  
git pull origin
 
##Supprimer les anciennes données
cd Build32 && rm -rf *
 
##Recompilation de Mesa
../autogen.sh CC="gcc -m32" CXX="g++ -m32" --build=i386-pc-linux-gnu --host=i386-pc-linux-gnu --enable-dri --enable-dri3 --without-dri-drivers --with-vulkan-drivers=radeon --with-gallium-drivers=radeonsi --enable-osmesa --enable-glx-tls --enable-shared-glapi --enable-texture-float --disable-xvmc --disable-omx --enable-xa --with-egl-platforms=drm,x11 --enable-gallium-llvm --enable-driglx-direct --enable-vdpau --enable-gles1 --enable-gles2 --enable-va
 
make -j8


 
Mais avant de créer réellement ce fameux Cron, j'ai lancé ce script manuellement en root dans une console. Le montage des partitions se fait correctement et l'entrée dans le chroot également mais tout s'arrête là.
Le passage à l'étape suivante (Mise à Jour du Système) ne s'effectue pas et impossible de comprendre pourquoi.
 
Si quelqu'un à une petite idée pour résoudre ce petit problème.
 
Merci

mood
Publicité
Posté le 07-02-2017 à 21:42:09  profilanswer
 

n°1400450
mirtouf
Light is right !
Posté le 07-02-2017 à 21:43:46  profilanswer
 

chroot /mondossier /bin/monshell


---------------
-~- Libérez Datoune ! -~- Camarade, toi aussi rejoins le FLD pour que la flamme de la Révolution ne s'éteigne pas ! -~- A VENDRE -
n°1400452
odelpasso
Posté le 07-02-2017 à 21:48:25  profilanswer
 

mirtouf a écrit :

chroot /mondossier /bin/monshell


 
J'ai beau avoir fait ce que tu m'as dit "chroot $INSTALLFOLDER /bin/bash", j'ai toujours ce même soucis car il ne se passe rien. "Apt Update" ne s'affiche pas à l'écran.

n°1400453
mirtouf
Light is right !
Posté le 07-02-2017 à 22:10:00  profilanswer
 

J'enlèverai mount -o bind /tmp $INSTALLFOLDER/tmp
J'ajouterai mount --bind /run  $INSTALLFOLDER/run
mount -t proc /proc $INSTALLFOLDER/proc (je ne sais pas si cela vaut le coup de corriger)


---------------
-~- Libérez Datoune ! -~- Camarade, toi aussi rejoins le FLD pour que la flamme de la Révolution ne s'éteigne pas ! -~- A VENDRE -
n°1400502
phraide
Posté le 09-02-2017 à 00:03:01  profilanswer
 

ca me semble normal.
 
la commande "chroot" lance un nouveau shell dans dans ton $INSTALLFOLDER. donc ton script s'arrête tant que tu n'as pas quitté le shell chrooté. si tu tappes exit, tu as normalement les apt qui se lancent non ? sur ton environnement standard.
 
ton "su odelpasso" posera le même comportement ... nouveau shell, tes "git, autogen make" etc ne seront pas lancés dans ce shell user mais en root en suivant...
 
ces commandes tappées à la main ne peuvent s'orchester comme papa dans maman si facilement dans un script.
 
je vois plutot 2 scripts:
 
* le launcher en cron :

Code :
  1. #!/bin/sh
  2. INSTALLFOLDER=/media/VM_System/Debian32
  3. mount -t proc none $INSTALLFOLDER/proc
  4. mount -o bind /dev $INSTALLFOLDER/dev
  5. mount -o bind /tmp $INSTALLFOLDER/tmp
  6. ##Mise à Jour du Système
  7. chroot $INSTALLFOLDER  apt-get update
  8. chroot $INSTALLFOLDER  apt dist-upgrade -y
  9. # compile en mode user dans le chroot
  10. chroot $INSTALLFOLDER sudo -u odelpasso /home/odelpasso/compile.sh
  11. #todo : umount des $INSTALLDIR/{proc,dev,tmp}


 
 
* script userland  /home/odelpasso/compile.sh
 

Code :
  1. #!/bin/sh
  2. ##Mise à jour du dépot Git de Mesa
  3. cd /home/odelpasso/mesa-git 
  4. git pull origin
  5. ##Supprimer les anciennes données
  6. cd Build32 && rm -rf *
  7. ##Recompilation de Mesa
  8. ../autogen.sh CC="gcc -m32" CXX="g++ -m32" --build=i386-pc-linux-gnu --host=i386-pc-linux-gnu --enable-dri --enable-dri3 --without-dri-drivers --with-vulkan-drivers=radeon --with-gallium-drivers=radeonsi --enable-osmesa --enable-glx-tls --enable-shared-glapi --enable-texture-float --disable-xvmc --disable-omx --enable-xa --with-egl-platforms=drm,x11 --enable-gallium-llvm --enable-driglx-direct --enable-vdpau --enable-gles1 --enable-gles2 --enable-va
  9. make -j8



---------------
ducati streetfighter 848
n°1400952
phraide
Posté le 22-02-2017 à 22:01:42  profilanswer
 

merci pour ton retour ... c'est pas la première fois que tu demandes de l'aide, que quelqu'un "se casse le cul" à te répondre et tu fais le mort ...


---------------
ducati streetfighter 848

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Création d'un cron

 

Sujets relatifs
Ajouter la date à la création d'un fichierqt-designer 5.5.0 - Creation de widget
RSYNC : creation de la liste mais pas d'envoisBesoin de conseil pour création serveur Gmod
Problème de création d'image d'un raid[Résolu] Pb avec une commande inconnue quand elle est lancée par cron
CRON : Executer une page php en CRONAide a la creation d'un serveur pour une PME
Bash dans cron ?creation de tache cron
Plus de sujets relatifs à : Création d'un cron



Copyright © 1997-2016 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR