tar
로 설명했습니다. 은”테이프 질문에”모든 사람들 마그네틱 스토리지 드라이브는 인기있는 모든 방식을 1950 년대에 다시.
는tar
tar
은 전원과 값입니다.
이 기사에서는 내 Linux In Action book 의 내용을 기반으로 tar 아카이브 생성,압축 및 복원의 기본 사항을 보여 드리겠습니다. 시작부터 시작합시다.
이 예제에 걸릴 것입니다 모든 파일과 디렉터리 내에서 아래에는 현재 작업 디렉터리 구축 아카이브는 파일을 나는 교묘하게 이라는archivename.tar
.
여기서 tar 명령 뒤에 세 개의 인수를 사용합니다:
c
말한 타르를 만드는 새로운 보관v
설정 화면이 출력하여 자세한 정보도록 하겠 업데이트 받기,그리고f
포인트 파일 이름을 주고 싶습니다.
*
tar
포함하는 모든 파일과 로컬 디렉토리 재귀적으로.
$ tar cvf archivename.tar *file1file2file3directory1directory1/morestuffdirectory1/morestuff/file100directory1/morestuff/file101
tar 명령이지로 이동하거나 삭제하지는 원래 디렉토리와 파일 당신이 그것을 먹이–그것만 보관된 복사본입니다.
당신은 또한 점을 사용하는 것을주의해야한다(. 어)에서 대신의 별표(*)는 이전에 명령을 포함하도 숨겨진 파일(그 파일 이름으로 시작 점)에 보관합니다.
당신이(당신이 확실히해야)자신의 컴퓨터에 따라하는 경우,당신은 archivename 라는 이름의 새 파일을 볼 수 있습니다.타르. 는.tar 파일 이름 확장자가 필요하지 않지만,그것은 항상 좋은 아이디어를 분명하게 전달할 수 있습니의 목적은 파일에 많은 방법으로 가능합니다.
파일을 복원하기 위해 아카이브를 추출하는 것은 쉽습니다: 그냥cvf
xvf
를 사용하십시오. 즉,예제에서 원본 파일과 디렉토리의 새 복사본을 현재 위치에 저장합니다.
$ tar xvf archivename.tarfile1file2file3directory1directory1/morestuffdirectory1/morestuff/file100directory1/morestuff/file101
의 물론 당신은 또한 수 있습니다 tar 보내는 파일을 다른 장소를 사용하는-C
인수,다음에 의하여 목표 위치:
$ tar xvf archivename.tar -C /home/mydata/oldfiles/
당신은 항상 포함하려는 모든 파일이 디렉토리 내에 나무의 보관합니다.
했다고 가정합니다 일부를 생산 동영상,그러나 그들은 현재에 보관 디렉토리의 모든 종류와 함께 그래픽,오디오,텍스트 파일(가 포함된 메모)입니다. 백업해야하는 유일한 파일은.mp4 파일 이름 확장자를 사용하는 최종 비디오 클립입니다. 이 작업을 수행하는 방법은 다음과 같습니다.
$ tar cvf archivename.tar *.mp4
좋아요. 그러나 그 비디오 파일은 엄청납니다. 압축을 사용하여 해당 아카이브를 조금 더 작게 만드는 것이 좋지 않을까요? 더 이상 말하지 마십시오! 그냥z
(zip)인수로 이전 명령을 실행합니다. 그러면 gzip 프로그램에 아카이브를 압축 할 수 있습니다.
규칙을 따르고 싶다면.gz
.tar
이미 있습니다. 기억하십시오:선명도.
여기에 어떻게는 것 재생:
$ tar czvf archivename.tar.gz *.mp4
경우 이 시도합니다.mp4 파일을 실행 ls-l 디렉토리에를 포함하는 새로운 아카이브에,당신은 알 수 있습니다.tar.gz
.tar
파일은,아마도 10%니다. 그게 뭐야?
음,.mp4
파일 형식 자체가 압축되어 있으므로 gzip 이 작업을 수행 할 여지가 훨씬 적습니다.
tar 는 Linux 환경을 완벽하게 알고 있으므로 현재 작업 디렉토리 외부에 거주하는 파일 및 디렉토리를 선택하는 데 사용할 수 있습니다. 이 예제에서는/home/myuser/Videos/
.mp4
파일을 추가합니다:
$ tar czvf archivename.tar.gz /home/myuser/Videos/*.mp4
기 때문에 아카이브 파일을 얻을 수 있도 때로는 의미로 그들을 무너뜨리는 여러 개의 작은 파일을 전송,그들의 새로운 가정한 다음 다시 만드는 원본 파일에서 다른 쪽 끝. 이 목적을 위해 분할 도구가 만들어집니다.
이 예에서-b
는 Linux 에서 archivename 을 분할하도록 지시합니다.타르.1gb 크기의 부분으로 gz 파일. 그런 다음 작업은 각 부품의 이름을 지정합니다-archivename.타르.지즈.파타아,아치베네임.타르.지즈.파탑아키베네임타르.지즈.partac 등:
$ split -b 1G archivename.tar.gz "archivename.tar.gz.part"
다른 쪽에서 각 부분을 순서대로 읽음으로써 아카이브를 다시 만듭니다(cat archivename.타르.지즈.part*),그런 다음 출력을 archivename 이라는 새 파일로 리디렉션합니다.타르.gz:
$ cat archivename.tar.gz.part* > archivename.tar.gz
스트리밍 파일 시스템에 아카이브
여기에는 좋은 물건을 시작합니다. 내가 당신을 보여주는 방법을 아카이브를 만들의 이미지를 작동하는 리눅스 설치 및 스트리밍을 원격 저장 위치를 모두 하나의 명령입니다. 다음은 명령입니다:
# tar czvf - --one-file-system / /usr /var \ --exclude=/home/andy/ | ssh [email protected] \ "cat > /home/username/workstation-backup-Apr-10.tar.gz"
보다는 설명하려고 모든 것이 바로 내가 사용하는 작은 예제는 그것을 탐구 하나가기 위해 노력하고 있습니다.
자를 만들의 아카이브 디렉터리 내용이라는 importantstuff 으로 가득,가 아니라,정말 중요한 재료:
$ tar czvf - importantstuff/ | ssh [email protected] "cat > /home/username/myfiles.tar.gz"importantstuff/filename1importantstuff/[email protected]'s password:
나를 설명하는 예입니다. 명령 인수(지금까지 수행 한 방식)바로 뒤에 아카이브 이름을 입력하는 대신 대시(czvf-)를 사용했습니다. 대시는 데이터를 표준 출력으로 출력합니다. 그것은 당신이 푸시 아카이브 파일이름 정보의 끝에 명령을 말한 타르를 기대에 대한 원본 콘텐츠에 아카이브 대신 합니다.
그런 다음 이름이 아닌 압축 된 아카이브를 내 암호를 묻는 원격 서버의 ssh 로그인으로 파이프(/)했습니다.
인용 부호로 묶인 명령은 스트림 내용을 myfiles 라는 파일에 쓴 아카이브 데이터 스트림에 대해 cat 를 실행했습니다.타르.원격 호스트의 내 홈 디렉토리에 gz.
이런 식으로 아카이브를 생성하는 한 가지 장점은 중간 단계의 오버 헤드를 피할 수 있다는 것입니다. 로컬 머신에 아카이브 사본을 임시로 저장할 필요조차 없습니다. 110gb 의 128gb 의 사용 가능한 공간을 채우는 설치를 백업한다고 상상해보십시오. 아카이브는 어디로 갈 것입니까?
그것은 단지 파일의 디렉토리였습니다. 활성 Linux OS 를 usb 드라이브에 백업해야하므로 별도의 컴퓨터로 이동하여 해당 컴퓨터의 주 드라이브에 놓을 수 있다고 가정합니다.
가 이미 있는 신선한 설치의 리눅스 버전에서 두 번째로 기계,다음 복사/붙여넣기 동작을 생성합니다 정확한 복제의 첫 번째입니다.
참고:이미 Linux 파일 시스템이 설치되어 있지 않은 대상 드라이브에서는 작동하지 않습니다. 해당 상황을 처리하려면
dd
다음 예제는/dev/sdc1
로 알려진 USB 드라이브에 압축 된 아카이브를 만듭니다.
--one-file-system
/sys/
/dev/
/usr/
/var/
이 예에서),다음,그들이 명시적으로 추가됩니다.
마지막으로,제외할 수 있습니다 데이터가 현재의 파일 시스템을 사용하는--exclude
인수:
# tar czvf /dev/sdc1/workstation-backup-Apr-10.tar.gz \ --one-file-system \ / /usr /var \ --exclude=/home/andy/
이제 돌아가자는 풀 서비스령은 예입니다. 이미 배운 것을 사용하여 파일 시스템의 모든 중요한 디렉토리를 보관하고 아카이브 파일을 USB 드라이브에 복사하십시오. 그것은 지금 당신에게 의미가 있어야합니다:
# tar czvf - --one-file-system / /usr /var \ --exclude=/home/andy/ | ssh [email protected] \ "cat > /home/username/workstation-backup-Apr-10.tar.gz"
더 많은 관리를 선한 형태의 도서,과정 및 기사에 나 bootstrap-it.com.