#keywords tar,untar,archive,library,sample,example,package #title mzuntar [wiki:Home 대문] / [wiki:CategoryOpenProject 공개프로젝트] / [wiki:mzuntar mzuntar] ---- == [wiki:mzuntar mzuntar] == * 개발자 조재혁([mailto:minzkn@minzkn.com]) * 기록사항 2005년 5월 12일 : 첫 구현[[br]] [[TableOfContents]] === 개요 === Archive 파일의 하나인 TAR 형식에 대한 untar를 구현해본겁니다. 본래 취지는 library 로 만들어서 쉽게 tar파일을 다룰수 있게 하고 FUSE구현부를 추가하여 간단한 파일시스템으로 다룰수 있도록 하는게 목표였으나 아직은 갈길이 많이 남아 있네요. 현재는 그냥 utility로써 다른분들이 소스를 활용할수 있는 정도수준으로만 공개합니다. 언젠가는 목표했던바 완벽한 Library로 제공할수 있는 시간적 여유가 있으면 좋겠네요. === TAR의 Header 구조 === {{{#!enscript c typedef enum { E_TAR_HEADER_SIZE_NAME = 100, E_TAR_HEADER_SIZE_MODE = 8, E_TAR_HEADER_SIZE_UID = 8, E_TAR_HEADER_SIZE_GID = 8, E_TAR_HEADER_SIZE_SIZE = 12, E_TAR_HEADER_SIZE_MAKETIME = 12, E_TAR_HEADER_SIZE_CHECKSUM = 8, E_TAR_HEADER_SIZE_TYPEFLAG = 1, E_TAR_HEADER_SIZE_LINKNAME = 100, E_TAR_HEADER_SIZE_MAGIC = 6, E_TAR_HEADER_SIZE_VERSION = 2, E_TAR_HEADER_SIZE_UNAME = 32, E_TAR_HEADER_SIZE_GNAME = 32, E_TAR_HEADER_SIZE_DEVMAJOR = 8, E_TAR_HEADER_SIZE_DEVMINOR = 8, E_TAR_HEADER_SIZE_PREFIX = 155, E_TAR_HEADER_SIZE_PADDING = 12, }e_TAR_HEADER typedef struct { char Name[E_TAR_HEADER_SIZE_NAME]; char Mode[E_TAR_HEADER_SIZE_MODE]; char UID[E_TAR_HEADER_SIZE_UID]; char GID[E_TAR_HEADER_SIZE_GID]; char Size[E_TAR_HEADER_SIZE_SIZE]; char MakeTime[E_TAR_HEADER_SIZE_MAKETIME]; char CheckSum[E_TAR_HEADER_SIZE_CHECKSUM]; char TypeFlag[E_TAR_HEADER_SIZE_TYPEFLAG]; char LinkName[E_TAR_HEADER_SIZE_LINKNAME]; char Magic[E_TAR_HEADER_SIZE_MAGIC]; char Version[E_TAR_HEADER_SIZE_VERSION]; char UName[E_TAR_HEADER_SIZE_UNAME]; char GName[E_TAR_HEADER_SIZE_GNAME]; char DevMajor[E_TAR_HEADER_SIZE_DEVMAJOR]; char DevMinor[E_TAR_HEADER_SIZE_DEVMINOR]; char Prefix[E_TAR_HEADER_SIZE_PREFIX]; char Padding[E_TAR_HEADER_SIZE_PADDING]; }t_TAR_HEADER; /* Total header size is 512 bytes */ }}} === 사용권한 === mzuntar utility source 는 수정없이 사용하신다면 누구나 그대로 사용하셔도 좋습니다. 단, source를 수정하셔서 사용하시려고 한다면 해당 수정사항에 대한 부분을 저에게 알려주시길 바랍니다. === 다운로드 === * [attachment:mzuntar-1.0.0.tar.gz mzuntar-1.0.0 source]