ファイルシステムを移行しており、移行によって切断される何千ものシンボリックリンクを更新する必要があります。私の計画は、影響を受けたすべてのリンクを見つけて各リンクを処理するスクリプトを作成することです。たとえば、
ln -nsf "$(readlink "./somelink1" | sed "s|oldpath|newpath|") "$(echo "./somelink1" | sed "s|oldpath|newpath|")"
ln -nsf "$(readlink "./somelink2" | sed "s|oldpath|newpath|") "$(echo "./somelink2" | sed "s|oldpath|newpath|")"
スクリプトをrootとして実行する必要がありますが、これはすべてのリンクの所有権をroot:rootに変更するようです。リンクを更新して既存のUID:GIDを維持する方法はありますか?リンクを列挙して各リンクを削除するコマンドを追加すると、所有権を取得できると確信していますが、所有権を維持するより良い方法があるかどうか疑問に思います。