검색 엔진의 방문이 늘어나고 있군...

Posted
Filed under 프로그램과 명령어/커맨드 라인 트릭
원문 참조 : Manual Backups in Linux, DD

  dd는 비트 레벨로 복사를 할 수 있는 유용한 프로그램입니다. 그 말은 포렌식이나 백업 용도로도 유용히 사용할 수 있다는 뜻을 내포합니다.

  일단 dd는 작업 진행률을 보여주지 않는 단점이 있기 때문에 파이프로 넘어온 데이터의 진행을 모니터링할 수 있는 pv라는 프로그램을 별도로 사용하는 것이 좋습니다. 우분투에서는 간단히 아래처럼 설치할 수 있습니다.
sudo apt-get install pv
  pv를 이용하여 하드 디스크를 똑같이 복사(if는 입력, of는 출력)하는 dd의 기초적인 사용법은 아래와 같습니다.
#dd if=/dev/sdX | pv | dd of=/dev/sdY
  아래는 곧바로 다른 하드 디스크에 출력(복사)하는 대신 파일로 출력한 후 압축하는 방법과 그렇게 만든 파일을 사용해서 복원하는 방법입니다.
#dd if=/dev/sdX bs=64k conv=noerror,sync | pv | gzip -c -9 > sdX.img.gz
#gunzip -c sdX.img.gz | pv | dd of=/dev/sdX conv=sync,noerror bs=64K
  아래는 한 단계 더 진화해 압축한 파일을 다른 서버에 SSH로 전송해서 백업하는 방법입니다.
#dd if=/dev/sdX bs=64k conv=noerror,sync | pv | gzip -c -9 | ssh user@remote_server dd of=sdX.img.gz
  그리고 아래는 흔한 dd 사용법들입니다.
플로피 복사: dd if=/dev/fd0 of=floppy.img bs=2x80x18b conv=notrunc
CD ISO 이미지 뜨기: dd if=/dev/sr0 of=mycd.iso bs=2048 conv=notrunc
MBR 복사: dd if=/dev/sda of=mbr.img bs=512 count=1
MBR 삭제: dd if=/dev/zero of=/dev/sda bs=512 count=1
디스크 와이프: dd if=/dev/zero of=/dev/sda bs=64k
(디스크 와이프의 경우 여기에 추가로 /dev/random이나 /dev/urandom을 입력으로 실행한 후 다시 /dev/zero를 입력으로 실행하면 더 완벽히 와이프가 가능하다.)
  참고로 출력에 /dev/sdx 대신 일반 파일명을 집어넣어 와이프를 할 수도 있습니다. 먼저 파일 크기를 확인한 후 bs 옵션 값을 그 크기와 동일하게 설정하고 count 옵션 값은 1로 설정합니다. 마지막으로 conv 옵션 값에 notrunc를 추가하면 됩니다.

2010/11/24 11:25 2010/11/24 11:25