old
2개의 큰 디렉토리 트리, 및 가 있는 상황이 있습니다 new
. 대부분의 파일은 동일하지만 일부는 다르거나 이전 버전에서 누락되었습니다. 다음을 포함하는 tar 파일을 자동으로 생성하는 방법을 찾고 싶습니다. a) 포함되지 않은
모든 파일 b) 및 사이에 다른 모든 파일new
old
new
old
에만 존재하는 파일은 old
무시해야 합니다. 심볼릭 링크를 유지해야 합니다. "다름"은 전체 이진 비교를 통해 결정되어야 합니다.
짐작하실 수 있듯이 저는 한 나무가 다른 나무와 일치하도록 패치를 만들려고 합니다. 어쩌면 이 작업을 수행하는 도구가 이미 있을 수도 있고, 아니면 몇 가지 명령을 함께 연결해야 할 수도 있습니다.
저는 우분투 리눅스에서 일하고 있습니다.
답변1
몇 가지 아이디어를 찾았습니다.이 게시물다른 파일 목록을 얻는 방법에 대해 알아보세요. 나는 다음 옵션을 사용하여 rsync 접근 방식을 사용했습니다 --dry-run
.
rsync -rv --dry-run --size-only --links old/ new/
파일 목록이 있으면 해당 파일로 tar를 호출했습니다. 이것은 한 곳과 다른 곳에서만 파일을 구별하는 문제를 완전히 해결하지는 못했지만 약간의 수동 개입을 통해 작동하게 만들었습니다. 완전히 자동화된 솔루션을 얻을 수 있었으면 좋았을 텐데, 이러한 일반적인 단계를 통해 즉각적인 문제를 해결할 수 있었습니다.