MicP a écrit 463 commentaires

  • [^] # Re: Quelques lignes de commandes en bash

    Posté par  . En réponse au message alternative de la commande paste. Évalué à 2. Dernière modification le 28 janvier 2020 à 14:33.

    L'auteur du journal précise qu'il ne faut pas utiliser paste.

    Ooops désolé

    Alors, avec ça :

    #!/bin/bash
    
    longMax=0
    while read ligne; do
        [ ${#ligne} -gt $longMax ] && longMax=${#ligne}
    done <monfichier1
    
    exec 6<monfichier2
    while read ligne1; do
        read ligne2 <&6
        printf "%-"$longMax"s\t%s\n" "$ligne1" "$ligne2"
    done <monfichier1
    exec 6<&-
  • [^] # Re: Quelques lignes de commandes en bash

    Posté par  . En réponse au message alternative de la commande paste. Évalué à 1. Dernière modification le 28 janvier 2020 à 13:42.

    La dernière ligne de commande n'était pas nécessaire,
    et le caractère de tabulation était de trop dans le printf

    donc :

    # Trouver la longueur de la ligne la plus longue dans monfichier1
    longMax=0; while read ligne; do [ ${#ligne} -gt $longMax ] && longMax=${#ligne}; done < monfichier1
    
    # Mettre toutes les lignes du monfichier1 à la même longueur
    > monfichierTmp; while read ligne; do printf "%-"$longMax"s\n" "$ligne" >> monfichierTmp; done < monfichier1
    cat monfichierTmp > monfichier1 && rm monfichierTmp
    
    # Ajouter ligne à ligne le contenu de monfichier2 à monfichier1
    paste monfichier1 monfichier2 > monfichier1
  • # Quelques lignes de commandes en bash

    Posté par  . En réponse au message alternative de la commande paste. Évalué à 0. Dernière modification le 28 janvier 2020 à 13:28.

    # Trouver la longueur de la ligne la plus longue dans monfichier1
    longMax=0; while read ligne; do [ ${#ligne} -gt $longMax ] && longMax=${#ligne}; done < monfichier1
    
    # Mettre toutes les lignes du monfichier à la même longueur
    > monfichierTmp; while read ligne; do printf "%-"$longMax"s\t\n" "$ligne" >> monfichierTmp; done < monfichier1
    cat monfichierTmp > monfichier1 && rm monfichierTmp
    
    # Ajouter ligne à ligne le contenu de monfichier2 à monfichier1
    paste monfichier1 monfichier2 > monfichierTmp
    cat monfichierTmp > monfichier1 && rm monfichierTmp
  • [^] # Re: Presque réslolu

    Posté par  . En réponse au message PC portable et Xubuntu - Fermeture de couvercle = Pas possible de déverrouiller. Évalué à 1.

    sudo sh -c 'echo disabled > /sys/bus/usb/devices/1-5/power/wakeup'
    
  • # Outil d'installation des pilotes pour imprimante hll2310d

    Posté par  . En réponse au message imprimante laser. Évalué à 1. Dernière modification le 15 novembre 2019 à 09:29.

    brother.com -> Téléchargement -> Linux deb -> Utilitaires -> Driver Install Tool

    brother.com -> Téléchargement -> Linux rpm -> Utilitaires -> Driver Install Tool

    The tool will install LPR, CUPSwrapper driver and scanner driver (for scanner models).

    Pour mon imprimante, ça fait maintenant 4 ans que je télécharge le script qui est mis à jour en conséquence, et qui fait le travail d'installation tout seul

  • # su -

    Posté par  . En réponse au message tune2fs introuvable. Évalué à 8.

    C'était sans doute parce que quand tu avais utilisé la commande su
    tu n'avais pas utilisé l'option login de la commande su

    Cette option peut être remplacée par un simple tiret :

    su -
    

    (voir la page man de la commande su)

    Avec cette option, après avoir donné le mot de passe du compte root
    le répertoire courant sera le répertoire personnel du compte utilisateur root
    et les variables d'environnement (dont le PATH)
    seront celles utilisées pour une session du compte root

    Sans l'option (le tiret) tu resteras dans le répertoire du compte utilisateur depuis lequel tu avais entré la commande su et les variables d'environnement seront celles du compte utilisateur depuis lequel tu avais entré la commande su

  • # HL-L2340DW

    Posté par  . En réponse au message imprimante laser. Évalué à 2.

    J'utilise depuis quelques années une HL-L2340DW
    (Le W indique qu'elle est connectable en WiFi).

    Je l'ai connectée en WiFi sur ma box
    ce qui me permet de la déplacer où j'en ai besoin,
    et le serveur cups de mes machines Linux (debian) la détecte sans problème.

    Pour installer les pilotes sur mes machines Linux et la configurer,
    j'ai utilisé le script de configuration proposé sur le site Brother.

    Aucun problèmes, j'imprime même en Recto/Verso quand je veux.

  • [^] # À propos du fichier ~/.bashrc.swp

    Posté par  . En réponse au message [RÉSOLU] Machine Virtuelle Couleur du manuel après être passé root. Évalué à 1. Dernière modification le 09 novembre 2019 à 18:42.

    Tu peux "récupérer" le fichier dont le programme d'édition a été "brutalement" arrêté
    alors que l'édition du fichier n'avait pas été correctement terminée.

    Si tu relances l'édition du fichier ~/.bashrc
    alors qu'un fichier ~/.bashrc.swp existe déjà,
    voilà ce qui va s'afficher :

    E325: ATTENTION
    Trouvé un fichier d'échange nommé ".bashrc.swp"
          propriété de : michel    daté : Sat Nov  9 18:30:14 2019
        nom de fichier : ~michel/.bashrc
               modifié : OUI
     nom d'utilisateur : michel   nom d'hôte : debg53sw
          processus n° : 2301
    Lors de l'ouverture du fichier ".bashrc"
                  daté : Fri Aug 16 12:32:06 2019
    
    (1) Un autre programme est peut-être en train d'éditer ce fichier.
        Si c'est le cas, faites attention à ne pas vous retrouver avec
        deux versions différentes du même fichier en faisant des modifications.
        Quitter ou continuer avec attention.
    (2) Une session d'édition de ce fichier a planté.
        Si c'est le cas, utilisez ":recover" ou "vim -r .bashrc"
        pour récupérer le fichier (consultez ":help recovery").
        Si vous l'avez déjà fait, effacez le fichier d'échange ".bashrc.swp"
        pour éviter ce message.
    
    Le fichier d'échange ".bashrc.swp" existe déjà !
    [O]uvrir en lecture seule, (E)diter quand même, (R)écupérer, Le (s)upprimer, (Q)uitter, (A)bandonner: 
    
    

    ET en appuyant sur "R" :

    Le fichier d'échange ".bashrc.swp" existe déjà !
    ".bashrc" 92L, 3093C
    Utilisation du fichier d'échange ".bashrc.swp"
    Fichier original "~/.bashrc"
    Récupération achevée. Vérifiez que tout est correct.
    (Vous voudrez peut-être enregistrer ce fichier sous un autre nom
    et lancer diff avec le fichier original pour repérer les changements)
    Il est conseillé d'effacer maintenant le fichier .swp.
    
    
    Appuyez sur ENTRÉE ou tapez une commande pour continuer
    
  • [^] # Re: Détails

    Posté par  . En réponse au message [RÉSOLU] Machine Virtuelle Couleur du manuel après être passé root. Évalué à 1. Dernière modification le 09 novembre 2019 à 18:26.

    …Le souci vient du fichier .bashrc que tu as modifié. Pour commencer, sauvegarde le fichier actuel:…

    C’est ce que je pensais qu'un étudiant DUT aurait appris à faire en premier :
    Toujours créer une copie de sauvegarde du fichier avant sa modification.

    Mais vu le nombre de personnes qui ont "moinssé" mon précédent message, ça ne semble pas être le cas.

    =======
    Tu peux faire plus court que :

    cp ~/.bashrc ~/.bashrc.bak
    en faisant :

    cp ~/.bashrc{,.bak}

  • # sauvegardes ?

    Posté par  . En réponse au message [RÉSOLU] Machine Virtuelle Couleur du manuel après être passé root. Évalué à -3.

    Bonjour

    Il te suffit de supprimer les fichiers que tu avais modifiés
    afin de pouvoir ensuite remettre en service les fichier de sauvegardes
    que tu avais créés avant de les modifier.

  • # Voir aussi…

    Posté par  . En réponse au message date. Évalué à 3. Dernière modification le 29 août 2019 à 20:14.

  • [^] # Re: Une fois formaté…

    Posté par  . En réponse au message Changement de date. Évalué à 3. Dernière modification le 08 août 2019 à 12:45.

    Tu peux aussi écrire les lignes sed
    en utilisant des double guillemets :

    #!/bin/sh
    
    dernierjourdumoisprecedent=$(date --date "today - $(date +%d) days" +%Y-%m-%d)
    premierjourdumoisencours=$(  date --date "4 days ago"               +%Y%m%d)
    
    sed -i "s/201803/$dernierjourdumoisprecedent/g"   fichier.txt
    sed -i "s/2018-02-28/$premierjourdumoisencours/g" fichier.txt
  • # Une fois formaté…

    Posté par  . En réponse au message Changement de date. Évalué à 3. Dernière modification le 08 août 2019 à 12:38.

    Bonjour

    #!/bin/sh
    
    dernierjourdumoisprecedent=$(date --date "today - $(date +%d) days" +%Y-%m-%d)
    premierjourdumoisencours=$(date --date '4 days ago' +%Y%m%d)
    
    sed -i 's/201803/'$dernierjourdumoisprecedent'/g'   fichier.txt
    sed -i 's/2018-02-28/'$premierjourdumoisencours'/g' fichier.txt

    Mais, si on sépare chaque champ par un tiret,

    le premier jour du mois en cours serait plutôt:

    premierjourdumoisencours=$(date +%Y-%m-01)
  • [^] # Re: Erreur sur la personne

    Posté par  . En réponse au message changement de date . Évalué à 1. Dernière modification le 04 août 2019 à 15:52.

    Bonjour

    Pour le premier remplacement :

    par les 4 chiffres de l'année courante suivis des 2 chiffres du mois courant et suivis de "01"

    de toute série de 8 chiffres qui serait précédée de "cycle" ou "_hyb" ou "_bkp"
    et qui se terminerait par "01"

    sed -i "s/\(\(cycle\|_hyb\|_bkp\)\)[0-9]\{6\}01/\1$(date +'%Y%m01')/g"  nomDuFichierSQLàModifier
    

    Pour le deuxième remplacement :

    par la date courante au format "AAAA-MM-JJ"

    de toute série de chiffres qui serait présentée dans le même format.

    sed -i "s/\([0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}\)/$(date +"%Y-%m-%d")/"  nomDuFichierSQLàModifier
    
  • [^] # Re: dd sur usb

    Posté par  . En réponse au lien How To Install and Configure Debian 10 Buster with GNOME. Évalué à 5. Dernière modification le 04 août 2019 à 03:58.

    PAS dans la première partition (/dev/sdb1) de la clef,


    Si le fichier de périphérique associé à la clef USB ciblée est bien /dev/sdb
    alors :

    sudo dd if=/home/antoine/debian-live-10.0.0-amd64-gnome.iso of=/dev/sdb && sync
  • [^] # Re: Adresse MAC

    Posté par  . En réponse au message Cloner une VM. Évalué à 2.

    Je n'avais pas fait attention à :

    [ 3,4] Performing "net-hwaddr" ...

    alors, si l'adresse MAC a été changée
    c'est sans doute une histoire de configuration de l'interface réseau
    en IP fixe, peut-être par le fichier /etc/network/interfaces

  • [^] # Adresse MAC

    Posté par  . En réponse au message Cloner une VM. Évalué à 1.

    Bonjour

    Il te faudrait changer l'adresse MAC du périphérique réseau de ta machine virtuelle clone.

  • # vider le tampons E/S

    Posté par  . En réponse au message Ssd NVME et benchmark. Évalué à 2.

    Bonjour

    Il reste peut-être encore des données dans les tampons E/S,
    qui sont en attente de transfert vers le disque.

    Essaye avec :

    dd if=/dev/zero of=/home/garfi/test.data bs=1M count=100000 conv=fdatasync && sync
  • [^] # Re: Doc/exemple ?

    Posté par  . En réponse au message probleme avec ioctl et rtc. Évalué à 1.


    marche uniquement si j'initiliaise l'alarme avec RTC_ALM_SET puis je l'autorise avec RTC_AIE_ON.
    Ca me parait etrange l'obligation de faire dans cette ordre la.
    Avez vous une idée du pourquoi de cet ordre car sur la documentation
    rien n'est écrit a ce sujet mais peut etre que ca coule de source.

    Tant qu'une nouvelle date/heure d'alarme n'a pas été programmée,
    l'ancienne date/heure (déjà dépassée) d'alarme reste enregistrée dans la RTC.

    Ça n'a donc aucun sens de demander qu'un signal d'interruption soit déclenché par un évènement passé.

  • [^] # Re: Depuis le bash

    Posté par  . En réponse au message probleme avec ioctl et rtc. Évalué à 1. Dernière modification le 13 juillet 2019 à 08:43.

    J'oubliais de parler des particularités de certaines machines :

    La RTC de certaines machines n'acceptera pas
    d'enregistrer une date/heure de demande d'interruption
    avant un certain délai depuis l'heure actuelle.

    Par exemple, pour mon Asus G53SW, ce délai est de 121 minutes

  • # Depuis le bash

    Posté par  . En réponse au message probleme avec ioctl et rtc. Évalué à 1.

    Bonjour

    Juste pour info,
    car c'est hors sujet

    À partir d'un shell (bash) de debian
    avec les privilèges du compte superutilisateur root
    Je peux programmer la RTC de mon PC
    pour qu'il se mette tout seul sous tension et redémarre
    (par exemple ici dans les 5 minutes qui suivent)
    en lançant la ligne de commandes suivantes :

    echo 0 > /sys/class/rtc/rtc0/wakealarm && date '+%s' -d '+ 5 minutes' > /sys/class/rtc/rtc0/wakealarm

    je vérifie l'état de la RTC
    en lançant la ligne de commande suivante :

    cat /proc/driver/rtc
  • [^] # Re: non-free s'écrit en un mot

    Posté par  . En réponse au message Debian problème Sources.list Erreur de lecture du fichier. Évalué à 1.

    Bonjour

    Lance les lignes de commandes suivantes :

    sudo rm /etc/apt/.sources.list.swp
    sudo sed -Ei 's/non[ ]+free/non-free/' /etc/apt/sources.list
    
  • # Peut-être un vieux bug…

    Posté par  . En réponse au message problème de swap. Évalué à 1.

    Bonjour


    au démarrage, il fait
    bklid erreur
    -t needs NAME=value pair

    Ça ressemble au message d'erreur retourné par ce vieux bug.

    Voir le message accessible par le lien suivant :
    https://alioth-lists.debian.net/pipermail/pkg-grub-devel/2016-October/015322.html

  • # non login shell

    Posté par  . En réponse au message Ne prend pas en charge commande spécifique malgré "source .profile". Évalué à 6.

    Bonjour pierreplr

    …à devoir aller dans /home/bin …

    Je suppose que tu voulais plutôt écrire :$HOME/bin
    ou bien : ~/bin
    ou bien : /home/NomCompteUtilisateur/bin

    =======
    Si tu utilises une fenêtre d'émulateur de terminal lancée depuis l'Environnement de Bureau,
    le shell utilisé dans cette fenêtre n'est pas un login shell
    ce qui fait que ton fichier ~/.profile n'aura pas été pris en compte.

    Si tu veux que dans ce cas le répertoire ~/bin soit ajouté dans le PATH
    tu peux ajouter dans ton fichier ~/.bashrc
    les quelques lignes suivantes :

    # If not yet set, set PATH so it includes user's private bin if it exists
    if [ -d "$HOME/bin" ] ; then
        [[ "$PATH" =~ "$HOME/bin" ]] || export PATH="$HOME/bin:$PATH"
    fi
    
  • # variables d'environnement

    Posté par  . En réponse au message problème de swap. Évalué à 6. Dernière modification le 11 mai 2019 à 19:07.

    Bonjour papap

    …Or ces commandes n'existent pas (même sur root)…

    Je pense que tu as dû te connecter sous le compte root
    en lançant simplement la commande su mais sans utiliser l'option - (ou -l ou --login)
    ce qui fait que les variables d'environnement spécifiques au compte root
    (dont le PATH) n'ont pas été prises en compte.

    Depuis ton compte utilisateur, pour te connecter sous le compte root
    utilise la ligne de commande suivante (sans oublier le tiret final)

    su -
    

    =================
    Pour information,
    un extrait de la page man de la commande su

    …
           -, -l, --login
               Fournir à l'utilisateur un environnement similaire à celui qu'il
               aurait obtenu s'il s'était connecté directement.
    …