4 votes

Catalina continue de supprimer des documents Lien symbolique

J'ai un lien symbolique de ~/Documents vers ~/Dropbox/MyDocuments.

Cependant, j'ai remarqué que Catalina supprime de temps en temps mon lien symbolique et le remplace par un nouveau dossier Documents. Je pense que cela se produit lors d'un redémarrage, mais cela peut aussi se produire à d'autres moments. Y a-t-il un moyen d'empêcher cela ?

0 votes

Utilisez-vous iCloud Drive ?

5voto

Udhy Points 5964

J'ai trouvé une solution de contournement que j'ai obtenue sur le forum Dropbox. Comme depuis de nombreuses années, je synchronise mon ordinateur de bureau en utilisant Dropbox. Cependant, en raison de la nouvelle couche de sécurité dans Catalina, le dossier est supprimé.

Voici une solution que j'ai appliquée et qui me convient maintenant.

Après avoir créé le lien symbolique vers le dossier de mon bureau Dropbox, j'ai verrouillé la commande en affichant ses informations et en cochant la case "verrouillé". Cela semble faire l'affaire. J'ai vérifié que je peux toujours écrire et enregistrer sur mon bureau.

Lien : Liens Symétriques Dropbox

2voto

Adam Bulgatz Points 96

Verrouillage du lien symbolique en tant que root comme d'autres l'ont mentionné, est la réponse. Tout cela peut être fait à partir d'un script, de sorte que vous n'avez pas besoin d'activer et de vous connecter à la base de données de l'entreprise. root compte.

Voici un simple script que j'ai écrit et qui doit être exécuté en tant que root (avec sudo ) qui prend deux arguments :

  1. Nom d'utilisateur court
  2. Nom de votre dossier OneDrive (juste OneDrive pour les comptes personnels OneDrive)

Ce script va :

  1. Créer un Desktop y Documents dans le dossier spécifié OneDrive dossier
  2. Copier tous les éléments de votre Desktop y Documents dans OneDrive en utilisant rsync
  3. Supprimez votre Desktop y Documents dossiers
  4. Symlink Desktop y Documents vers OneDrive
  5. Verrouillez les liens symboliques eux-mêmes afin qu'ils ne soient pas supprimés lors de la connexion ou du redémarrage.

Attention :

Ce script ne fait aucune vérification d'erreur ou d'existence de dossier. Il peut supprimer tous vos fichiers. Assurez-vous d'avoir une sauvegarde.

#!/bin/bash

if [[ $# -lt 2 ]] ; then
    echo "Scipt requires two arguments:"
    echo "Argument 1. Short username"
    echo "Argument 2. Name of OneDrive folder"
    exit 1
fi

shortname=$1
onedrive=$2

#########
# DESKTOP
#########

# Make Desktop folder in OneDrive
mkdir -p "/Users/$shortname/$onedrive/Desktop"

# Copy all files from existing Desktop folder to OneDrive Desktop folder
rsync -havux --progress --stats "/Users/$shortname/Desktop" "/Users/$shortname/$onedrive/Desktop"

# Remove existing Desktop folder
rm -rf "/Users/$shortname/Desktop"

# Create symlink to Desktop folder in OneDrive
ln -s "/Users/$shortname/$onedrive/Desktop" "/Users/$shortname/Desktop"

# Set the symlink itself (-h flag) to system locked. (User locked would be uchg)
chflags -h schg "/Users/$shortname/Desktop"

###########
# DOCUMENTS
###########

# Make Documents folder in OneDrive
mkdir -p "/Users/$shortname/$onedrive/Documents"

# Copy all files from existing Documents folder to OneDrive Documents folder
rsync -havux --progress --stats "/Users/$shortname/Documents" "/Users/$shortname/$onedrive/Documents"

# Remove existing Documents folder
rm -rf "/Users/$shortname/Documents"

# Create symlink to Documents folder in OneDrive
ln -s "/Users/$shortname/$onedrive/Documents" "/Users/$shortname/Documents"

# Set the symlink itself (-h flag) to system locked. (User locked would be uchg)
chflags -h schg "/Users/$shortname/Documents"

0 votes

Tldr chflags -h schg . Très utile cependant, car la case à cocher de l'interface graphique était grisée, et j'ai donc dû utiliser cette CLI.

0 votes

Pour votre information, OneDrive est en train d'ajouter la fonction intégrée de déplacement de dossiers connus (KFM). Il s'agit actuellement d'un aperçu. Cela devrait remplacer cette méthode bricolée. Voir : techcommunity.microsoft.com/t5/microsoft-onedrive-blog/

0voto

Axel Guilmin Points 161

J'ai eu un problème similaire avec le dossier Desktop. Je ferais ceci :

$ sudo rm -Rf ~/Desktop
$ sudo ln -s ~/Dropbox/Desktop ~/Desktop

Et le lien symbolique a été remplacé par un nouveau dossier au redémarrage suivant.


Comme d'autres utilisateurs l'ont expérimenté ( ici y ici ), il s'avère que nous ne pouvons plus verrouiller un lien symbolique sous MacOS, l'option est grisée.

J'ai trouvé deux solutions à ce problème :

  • Verrouillez le dossier parent (votre dossier personnel), /Users/you/ ) mais cela vous empêchera d'y ajouter/supprimer des fichiers ( source )
  • Désactiver complètement iCloud Drive dans System Preferences > Apple ID (Le fait de le garder activé en décochant la case "Dossiers du bureau et des documents" ne fait pas l'affaire). enter image description here

0voto

jlllopis Points 1

J'ai une autre solution pour résoudre le problème de la case à cocher verrouillée en gris :

  1. sudo rm -Rf ~/Desktop
  2. sudo ln -s ~/Dropbox/Desktop ~/Downloads/Desktop
  3. À l'aide du Finder, sélectionnez ~/Downloads/Desktop sélectionnez l'icône Get info de File et cliquez sur le menu Locked (elle n'est pas grisée !).
  4. En utilisant le Finder, copiez ~/Downloads/Desktop l'icône pour ~/ (domicile).
  5. Supprimer ~/Downloads/Desktop lien symbolique.

Vous pouvez utiliser un autre dossier à la place de ~/Downloads . Et vous pouvez faire de même pour avoir un Documents lien symbolique pointant vers ~/Dropbox/Documents .

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X