명령줄의 ZIP 파일에서 웹 소프트웨어 패키지를 어떻게 업데이트합니까?

명령줄의 ZIP 파일에서 웹 소프트웨어 패키지를 어떻게 업데이트합니까?

내 Linux 서버에 웹 소프트웨어 패키지가 설치되어 있습니다. 업데이트를 ZIP 파일로 다운로드했는데 변경된 내용만 덮어쓰고 싶습니다. (예를 들어 모든 핵심 파일을 교체해야 하지만 추가한 파일은 건드리면 안 됩니다.) 명령줄에서 이 작업을 어떻게 수행합니까?

내 방법은 개인용 컴퓨터에서 압축을 푼 다음 GUI 파일 관리자를 사용하여 변경된 파일을 업로드하는 것이지만 명령줄에서 이 작업을 수행하는 방법을 배우고 싶습니다.

제 경우에는 Ubuntu 서버에서 YOURLS를 업데이트하려고 하는데 이 질문은 WordPress나 이와 유사한 대부분의 웹 소프트웨어에 일반적으로 적용되는 것 같습니다.

답변1

따라서 가장 간단한 방법 중 하나는 zip 파일을 다운로드하여 임시 위치에 압축을 풀고 필요하지 않은 파일을 삭제한 다음 YOURLS 파일을 방금 다운로드한 업데이트된 파일로 바꾸는 것입니다.

파일을 다운로드하고(wget 또는 컬 사용) 임시 디렉터리에 추출하려면 다음을 수행하세요.

cd /tmp/
mkdir update
cd update
wget http://linktozipfile/file.zip

또는

curl http://linktozipfile/file.zip -o file.zip

그 다음에

unzip file.zip

이제 필요하지 않은 파일을 결정하고 rm(제거/삭제) 도구를 사용하여 제거할 수 있습니다.

rm config.php
rm someotherfileidontwannareplace.php

그런 다음 업데이트된 모든 파일을 동일한 디렉터리로 이동하여 이전 파일을 교체하여 모든 파일을 교체할 수 있습니다.

cd ..
rsync -av newfolder/ oldfolder/

단순히 새 파일을 추가해야 하는 경우 비슷한 방법을 사용할 수 있지만 --existingmv에 플래그를 사용하여 기존 파일을 덮어쓰지 않습니다.

이것은 다음과 같습니다

cd /tmp/
mkdir update
cd update
wget http://linktozipfile/file.zip
unzip file.zip
cd ..
rsync -av --existing newfolder/ oldfolder/

관련 정보