Forum Linux.débutant Empêcher la création d'un dossier

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
30
nov.
2013

Bonjour,

J'ai CrunchBang et j'utilise le dossier home/"utilisateur"/ pour mes données perso. Pour plus de clarté, j'ai supprimé tout les sous-dossiers créés automatiquement pas l'OS, mais de temps en temps, l'un d'eux est récréé : c'est souvent le cas du dossier "documents".
Donc comment faire pour que "documents" ne soit jamais recréé afin de m'éviter de le supprimer à chaque fois ? ou même s'il se recrée, qu'il soit supprimé dès sa création. Merci.

  • # Crée un fichier du même nom

    Posté par  . Évalué à 4. Dernière modification le 30 novembre 2013 à 16:59.

    As-tu essayé de créer un fichier (p.ex. un fichier vide) du même nom ? Cela empêche de créer le répertoire par dessus. En toute rigueur le système peut d'abord effacer le fichier puis créer le répertoire, mais je doute que le logiciel en question soit assez intelligent (ou assez idiot) pour écraser un fichier existant.

    En désespoir de cause tu peux enlever la permission d'écriture sur le répertoire (chmod 500 /home/utilisateur) et plus personne à part root ne pourra créer ou effacer des fichiers dans ce répertoire (les fichiers qui existent déjà restent modifiables en fonction de leurs permissions individuelles). Avant de faire ça dans /home/utilisateur il faut que tu sois sûr qu'aucun logiciel que tu utilises n'aura dans le futur à créer un nouveau sous-répertoire à cet endroit.

    Personnellement je n'aime pas non plus tout le désordre créé par des logiciels divers dans mon /home/ mais j'ai opté pour une solution différente. J'ai réglé mon utilisateur pour avoir son "home" dans /home/jgo/système/. Ainsi les logiciels divers créent leur bazar dans le sous-répertoire ./système/ et je garde /home/jgo/ pour mon organisation personnelle. Mon /home/jgo/.bashrc contient les lignes suivantes :

    if [ `pwd` == "/home/jgo/système" ]; then
    cd ..
    fi

    Ainsi quand je lance un terminal il commence dans /home/jgo (mais les logiciels vont écrire leurs fichiers dans /home/jgo/système).

    • [^] # Re: Crée un fichier du même nom

      Posté par  . Évalué à 2. Dernière modification le 30 novembre 2013 à 17:46.

      Erratum : à la phrase « Mon /home/jgo/.bashrc contient […] », lire /home/jgo/système/.bashrc

    • [^] # Re: Crée un fichier du même nom

      Posté par  (site web personnel) . Évalué à 2.

      effectivement, s'il n'y avait que les dossiers "Musiques" et "Vidéos" qui étaient créés, ça serait plus simple, car les fichiers de configurations créés dans le ~/ sont pénibles (genre ~/.mozilla), par exemple j'en ai plus de 800 dans mon home.

      Du coup j'ai pris le problème à l'envers, plutôt que de nettoyer le ~/, j'ai créé un sous-dossier nommé mesdocuments où je mets tout ce qui me concerne.

      « I approve of any development that makes it more difficult for governments and criminals to monopolize the use of force. » Eric Raymond

  • # xdg-user-dirs

    Posté par  (site web personnel) . Évalué à 4.

    Puisque ta distrib est basée sur Debian j'imagine que si tu désinstalles le paquet xdg-user-dirs, les dossiers Documents, Images, Musique, Téléchargements, Vidéos etc … ne reviendront plus une fois supprimés.

    wind0w$ suxX, GNU/Linux roxX!

    • [^] # Re: xdg-user-dirs

      Posté par  (site web personnel) . Évalué à 2.

      apparemment en modifiant le contenu de ~/.config/user-dirs.dirs ça permet de définir où se trouvent chaque élément, par exemple :

      XDG_DESKTOP_DIR="$HOME/Desktop"
      XDG_DOWNLOAD_DIR="$HOME/Téléchargements"

      « I approve of any development that makes it more difficult for governments and criminals to monopolize the use of force. » Eric Raymond

  • # Résolu

    Posté par  . Évalué à 3.

    Merci à tous. Je vous ai bien lu et la solution la plus simple a été de supprimer ~/.config/user-dirs.dirs, aucun dossier n'est recréé, notamment "documents" qui était récurrent.

  • # utiliser le systeme comme il faut

    Posté par  . Évalué à 1.

    ben oui, il a des dossiers pour lui, des dossiers pour toi,
    alors certes /home/"utilisateur" est à toi et tu y fais ce que tu veux,
    mais dedans il y a aussi les fichiers de configuration de tes logiciels, etc

    alors plutot que d'aller à l'encontre du systeme, j'aurais juste fait un dossier /home/"utilisateur"/data

    • [^] # Re: utiliser le systeme comme il faut

      Posté par  . Évalué à -1.

      Le but est de n'avoir que mes dossiers perso, donc ça ne m’intéresse pas de créer un dossier "data". Mais c'est vrai que ce n'est pas logique de supprimer "user-dirs.dirs", alors j'ai remis le fichier et j'ai fais ça dedans :

      XDG_DOWNLOAD_DIR="$HOME/Divers"
      XDG_DOCUMENTS_DIR="$HOME/Divers"
      XDG_MUSIC_DIR="$HOME/Divers"
      XDG_PICTURES_DIR="$HOME/Divers"
      XDG_VIDEOS_DIR="$HOME/Divers"
      XDG_DESKTOP_DIR="$HOME"
      XDG_TEMPLATES_DIR="$HOME/Divers"
      XDG_PUBLICSHARE_DIR="$HOME"

      • [^] # Re: utiliser le systeme comme il faut

        Posté par  . Évalué à 3.

        donc en gros plutot que de faire un dossier data en plus des dossiers existants, tu as fait un dossier "divers"
        dans lequel tu melange en vrac les images, les videos, les musiques ?

        remarque, chacun sa logique

        • [^] # Re: utiliser le systeme comme il faut

          Posté par  . Évalué à 0. Dernière modification le 02 décembre 2013 à 08:47.

          En fait, j'ai trois dossiers dans /home/"Utilisateur" : "Divers", "Séries" et "Téléchargements". Je fais ça, car je dois souvent sauvegarder mes données perso sur un disque externe via Obmenu avec :

          terminator -e 'cp -r -u -v /home/"Utilisateur"/Divers/* /media/"Disque externe"/'

          Je fais ça, car avec :

          terminator -e 'cp -r -u -v /home/"Utilisateur"/* /media/"Disque externe"/'

          …ça sauvegarderait les dossiers "Séries" et "Téléchargements" et tout les dossiers et fichiers cachés de "Utilisateur" ainsi que tout ce qui se trouve sur la Freebox : est bien sûr, je ne veux pas sauvegarder tout ça.

          Mais comme tu dis, chacun ça logique. Peut-être qu'il existe une combine pour exclure de la sauvegarde les dossiers et fichiers cachés et la Freebox, le problème est que j'ai des fichiers cachés dans "Divers" qui doivent être sauvegardés. Je suis compliqué, je sais, mais maintenant, tout est bien ordonné et tout fonctionne parfaitement.

          • [^] # Re: utiliser le systeme comme il faut

            Posté par  . Évalué à 3.

            economise toi de la peine
            rsync -a --delete --exclude=Telechargements -- exclude=Series /home/utilisateurs/Divers/ /media/disque externe/

            rsync à l'avantage de :

            • pourvoir supprimer ce qui a disparu depuis la derniere sauvegarde
            • ne transferer que les blocs qui ont changés sans renvoyé tous les fichiers
            • pouvoir exclure un motif (--exclude) voire un ensemble de motif contenu dans un fichier --exclude-from=lefichier ou l'inverse avec --include et --include-from pour ne prendre que certains motifs si cette liste est plus facile à faire que la liste des exclusions.

            man rsync est ton ami

            autre avantage, la destination ou la source de ton rsync peut etre un stockage reseau accessible par ssh,
            la commande devient alors simplement
            rsync -a /home/utilisateurs/Divers/* user@serveur:/chemin/vers/sauvegarde/

            • [^] # Re: utiliser le systeme comme il faut

              Posté par  . Évalué à 0.

              Alors là, merci beaucoup. J'ai revu l'organisation de mes dossiers et ça me donne ça :

              rsync -a -u --delete --exclude=.* --exclude=Séries --exclude=Téléchargements --progress /home/utilisateur/ /media/disque externe/

              J'ai rajouté "-u" après "-a", car bizarrement les ".avi" et ".exe" se recopient à chaque sauvegarde lorsque "-u" n'y est pas.

              L'avantage de "--exclude=.*" est que les dossiers et fichiers cachés ne sont pas sauvegardés, donc nickel, surtout pour la Freebox, mais l'inconvénient est que mes fichiers ".htaccess" et ".htpasswd" ne sont pas sauvegardés du coup, mais bon, ce n'est pas grave, j'en ai peu, j'ai juste supprimé les ".". Cela dit, j'ai tenté d'ajouter un "--include" pour les ".htaccess" et ".htpasswd", mais ça n'a pas marché.

              • [^] # Re: utiliser le systeme comme il faut

                Posté par  . Évalué à 3.

                   -u, --update                skip files that are newer on the receiver
                

                en mettant le -u tu evites de renvoyer un fichier si celui de la destination est plus recent que celui de la source.

                ca veut donc dire que quelque chose met à jour ton disque de sauvegarde ou change un truc sur ces fichiers
                du coup rsync les renvoie car ils ont changé.

                sinon pour les .*

                • ejecte la freebox avant le backup
                • ne pas sauvegarder les .* te fais perdre la config de thnuderbird, mozilla, et pas mal de reglages de ton interface, attention quand tu vas reinstaller ta machine et restaurer avec cette sauvegarde.
        • [^] # Freebox

          Posté par  . Évalué à 1. Dernière modification le 02 décembre 2013 à 08:57.

          Si les données de la Freebox sont sauvegardées, c'est que la box est accessible via un dossier caché (.gvfs). Cela dit, j'accède à la box via :

          thunar smb://freebox/disque%20dur

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.