"gzip" 명령으로 아카이브 생성

"gzip" 명령으로 아카이브 생성

gzip 명령을 사용하여 아카이브를 생성해야 하며(tar가 아님 - 필수임) 아카이브에는 다른 디렉토리(예: /etc)의 파일이 포함되어야 합니다. 명령을 사용해 보았습니다.

gzip myetc.gz /etc

그러나 그것은 작동하지 않았습니다.

답변1

gzip디렉토리가 아닌 파일에서 작동합니다. 따라서 사용해야 하는 디렉토리의 아카이브를 생성하려면 tar(여러 파일에서 단일 타르볼을 생성합니다):

tar cvf myetc.tar /etc

또는 gzip으로 압축된 아카이브의 경우:

tar cvzf myetc.tar.gz /etc

답변2

Gzip은 단일 파일 또는 스트림(gzip으로 파이프된 데이터)에서만 작동합니다. 따라서 먼저 tar를 사용하여 하나의 파일을 생성한 다음 이를 gzip으로 압축할 수 있습니다. 다른 옵션은 모든 개별 파일을 gzip으로 압축한 다음 이를 하나의 파일로 tar하는 것입니다.

이 두 솔루션은 모두 어리석은 것이므로 사용해서는 안됩니다. 내장된 압축 옵션과 함께 tar를 사용해야 하며 이 모든 작업을 하나의 명령으로 수행해야 합니다.

답변3

실제로 tar를 사용할 수 없는 경우 gzip을 사용하여 옵션(-r - 재귀적으로)을 사용하여 디렉터리 백업을 생성할 수 있지만 아마도 기대했던 것과 정확히 일치하지 않을 수도 있습니다.

원래 디렉터리를 건드릴 수 없도록 유지하려면 먼저 디렉터리를 다른 이름으로 복사해야 합니다.

#cp -a directory my_gzip_alone_backup

둘째, 디렉터리의 모든 파일을 재귀적으로(-r) 압축합니다.

#gzip -r my_gzip_alone_backup

이제 my-gzip-alone-backup 내부를 살펴보겠습니다. 예상한 단일 파일 myfile.gz는 없지만 재귀적으로 gzip으로 압축된 파일은 많이 있습니다. 하지만 심볼릭 링크 때문에 etc로 그렇게 하는 것은 좋지 않습니다...

디렉토리의 압축을 풀려면 gunzip을 사용하여 동일한 논리를 적용할 수 있습니다.

또 다른 방법은 tar가 없지만 이 게시물에 설명된 것처럼 dd 유틸리티가 있는 경우 디렉터리를 단일 파일로 변환하는 것입니다.https://askubuntu.com/questions/626634/converting-a-file-to-directory

관련 정보