심볼릭 링크 업데이트 시 소유권 유지

심볼릭 링크 업데이트 시 소유권 유지

파일 시스템을 마이그레이션하고 있으며 마이그레이션으로 인해 끊어질 수천 개의 기호 링크를 업데이트해야 합니다. 내 계획은 영향을 받은 모든 링크를 찾아 각 링크를 처리하는 스크립트를 작성하는 것입니다. 예를 들어:

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|")"

스크립트를 루트로 실행해야 하지만 이로 인해 모든 링크의 소유권이 루트:루트로 변경되는 것 같습니다. 링크를 업데이트하고 기존 UID:GID를 유지할 수 있는 방법이 있습니까? 링크를 열거하고 각 링크를 삭제하는 명령을 추가하면 소유권을 얻을 수 있다고 확신하지만 소유권을 유지하는 더 좋은 방법이 있는지 궁금합니다.

관련 정보