tar xvzf a.tgz -C abc 식으로 압축을 abc 디렉토리에 해제 하려고 할 경우 abc 라는 디렉토리가 이미 있어야 하는데..
mkdir -p abc && tar xvzf a.tgz -C abc 이런식으로..들.. 해결을 하는듯..
mkdir -p abc && 를 쳐야 한다는것 자체가.. 굉장히.. 거슬리고 불편하다.
그래서 -C 옵션을 줄 경우 mkdir 을 자동으로 하도록 패치
x230 /etc/portage/patches/app-arch/tar-1.30 # pwd
/etc/portage/patches/app-arch/tar-1.30
x230 /etc/portage/patches/app-arch/tar-1.30 # cat create_directory.patch
--- a/src/names.c
+++ b/src/names.c
@@ -186,6 +186,7 @@
switch (key)
{
case 'C':
+ mkdir(arg, 0755);
name_add_dir (arg);
break;
x230 ~ # cd /usr/portage/distfiles/
x230 /usr/portage/distfiles # tar xjf tar-1.30.tar.bz2
x230 /usr/portage/distfiles # cp -ap tar-1.30 tar-1.30.new
x230 /usr/portage/distfiles # vim tar-1.30.new/src/names.c
case 'C': 를 검색해서 name_add_dir (arg); 위에 mkdir(arg, 0755); 를 추가
x230 /usr/portage/distfiles # diff -Nru tar-1.30 tar-1.30.new > create_directory.patch
x230 /usr/portage/distfiles # mkdir -p /etc/portage/patches/app-arch/tar-1.30
x230 /usr/portage/distfiles # cp -ap create_directory.patch /etc/portage/patches/app-arch/tar-1.30/