■diff로 patch 파일 만들기
/opt/gate1.orig와 /opt/gate1 두 디렉토리를 비교하여 변경 부분을 patch 파일 형태로 출력한다.
diff -Nur /opt/gate1.orig /opt/gate1 > gate1.patch
/opt/gate1.orig와 /opt/gate1 두 디렉토리를 비교하여 변경된 파일들만 체크 한다.
diff -qr /opt/gate1.orig /opt/gate1 > gate1.patch
■diff
-q: 두 파일이 다를 경우에만 알려준다.
-u: unified 출력 형식을 사용한다.
-q: 두 파일의 자세한 차이점이 비교하는 것이 아니라, 단순히 두 파일이 다른지만 알려준다.
-N, --new-file: 디렉토리 비교에서, 어떤 파일이 한 디렉토리에만 있다면 다른 디렉토리에는 비어었는 파일이 있는 것처럼 비교한다.
-r: 두 디렉토리를 비교할 때, 모든 하위 디렉토리는 재귀적으로(recursively) 비교한다.
diff -Nur <old file> <new file> > test.patch
■patch
patch -p1 < ../gate1.patch
-p1는 patch 파일 내 경로에서 앞에서 몇개를 지우고 적용할지를 명시한다. p0는 원본 풀패스 그대로 적용한다.
patch -p1 -R < main.patch
-R 옵션은 이미 적용된 패치를 제거하여 원본으로 되돌린다.