んたのブログ

週末になると出没します。

ダウンロードしたGooglePhotoの困った点

ダウンロードして日付直して、さあファイルサーバにデータ持っていこう、となったときに困った点。
 
何が困ったって二点ありまして。
  1. フォルダ名を変えるとリンクが切れる
  2. コピーに失敗する
ですかね。
 
まず一点目。アルバムは個別にフォルダが作られるんですが、中身はシンボリックリンクなんですよ。Windowsだとショートカットに見えるんですかね。で、作業の都合でフォルダ名変えたらアルバムの中身が参照できなくなりました。

これは試行錯誤した挙句、シンボリックリンクを書き換えることで対応出来ました。
 
シンボリックリンク中の「TEST」を「Photo」に書き換える場合
$ for name in $(ls -l |grep lrwx|awk '{print $11}'|sed s/TEST/Photo/);do ln -nfs $name `basename $name`;done
 
※以下は検索してる最中に見つけたリンクです。sedコマンドのsの次の文字が区切り文字として扱われるんだそうで、実は区切りは「/」でなくてもいいらしい。
参考:
 
二点目。EndeavourOS上でフォルダを解凍して、シンボリックリンクと知らずにcp -prでNASにコピーしたらコピーに失敗した挙句「サポートされていない操作です」と怒られました。調べてみたところ、cp -LRで回避できるとの情報を見たんですが駄目。cpコマンドの「-d」オプションもシンボリックリンクをコピーできると記載があったんですが、これも駄目。NAS経由じゃどっちも効かないのか。
 
こっちは最終的にsamba経由じゃどうにもならん、ということでファイルサーバ側でもう一回解凍作業からやり直しました。フォルダ名も変更しなかったので、問題1,2とも解決です。やれやれ。