[완료] tar 특정 폴더 제외하고 압축하기 (숨김파일 제외하기)

sshey의 이미지

안녕하세요..

pax 에 이어 다시 글을 올리네요..

이전 글은 잊어주시구요..

tar 로 압축을 하는데 특정 폴더를 제외하고 압축하고자 합니다.

svn 으로 소스코드를 관리하다보니.

이미지 파일들 또한 svn 으로 관리되고, string 이라는 폴더가 있다하면. 이눔이 " .svn " 이렇게 되어있네요

저 " .svn " 이라는 폴더를 빼고, string 폴더를 압축하고 싶은데...

그래서 이렇게 해봤습니다.

tar -cvf testX.tar -X ./string/.svn ./string

tar: ./string/.svn: Is a directory
tar: Error is not recoverable: exiting now

이렇게 뜨네요...

숨김파일은 어떻게 제거해야하는지 알려주세요....윽..

ls -al 한 결과로...

drwxr-xr-x 6 root mcu 4096 Mar 19 17:25 .svn

이렇게 나옵니다...

auditory의 이미지

tar는 잘 모르겠지만..
원하시는 목적에 따라서 문제를 다르게 풀수도 있지 않을까요?

백업이 목적이시라면 svn의 dump를 사용하시면되고
순수 소스만 추출하여 보관하는게 목적이라면 svn의 export 명령어를 쓰면 어떨까요?

물론 tar를 써서도 쉽게 해결되리라고는 생각합니다.

==

예전글을 보니 export 명령어를 싫어하시는듯하군요.. ^^
아래 링크를 참고하세요~
http://kldp.org/node/69623#comment-329562

세이군의 이미지

이미 모든 답은 다 나와 있는데 글을 다시 올리면서 이전 글을 무시하라고 하면 이전 스레드에 답변을 단 사람은 상당히 기분이 나쁩니다.

그 스레드에 이미 정답이 나와 있습니다.
밥상을 다 차려줬는데 떠먹여까지 달라는 건가요!!!

danskesb의 이미지

비빔밥에 비유하자면, 지금 님이 질문하시는 것은 "고추장을 넣고 야채들을 넣으려면 어떻게 해야 하나요?"고, 그래서 알려 준 것은 "야채들을 다 넣고 고추장을 넣는 게 더 간단한 방법이고, 이렇게 하면 된다"입니다. 그런데 문제의 이전 스레드에 달린 댓글들은 "아니 그게 아니라 고추장에 야채들을 넣으려면 어떻게 하면 되냐고요?"에 비유할 수 있을 것 같습니다.

고추장을 먼저 넣든, 야채를 먼저 넣든, 맛있는 비빔밥이 탄생하는 것은 같습니다.

+ 추가: 좀 더 상세히 설명하겠습니다.
님이 질문하시는 것은 불필요한 파일들을 압축하면서 빼는 방법인 것 같은데, 이전 스레드에서는 불필요한 파일들을 뺀 다음 압축하는 이야기를 하고 있었습니다. 압축하면서 빼나, 압축하기 전에 빼나, 불필요한 파일들이 빠지는 것은 같은 게 아닌가요?
---- 절취선 ----
http://blog.peremen.name

익명 사용자의 이미지

tar 명령 한줄만 써주면 될거 가지고, 뭐하러 재수없는 소리하면서 개소리 하는건지 쩝...
당신보고 먹여달라고 한게 아닌거 같은데.. 쯧.

M.W.Park의 이미지

왜 export를 하라는 이전 글을 무시하시는지는 잘 모르겠지만,
꼭 tar에서 제외하고자하신다면....

       --exclude=PATTERN
              exclude files matching PATTERN

-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂

-----
오늘 의 취미는 끝없는, 끝없는 인내다. 1973 法頂

sshey의 이미지

음.. auditory 님 말씀이 맞네요
제가 svn 과 친하지 않아서 export 명령이랑 친하지 않네요.
좀더 친숙한 tar를 이용하여 폴더를 제거하고자 하는게 그리도 틀려먹은 방법인가요?

님들의 따끔한 질책, 좋습니다만 상당히 기분나쁘네요.

나름 서베이도 하고 메뉴얼도 보고 해보았지만 숨김파일은 다른 방법을 취해야 하는것 같아서 글을 남긴것입니다.

제 질문이 그리도 당돌하고 건방졌단 말입니까?

아니 제 무지가 잘못이라면 잘못이었겠군요.

이전 스레드의 내용은 pax 관련한 글이었고, 댓글의 대부분이 제가 싫어라 하는 svn 내용이더군요.
그래서 무시해 달라고 한겁니다.
무시해 달라고 한건, 이전 스레드에 댓글을 다신 분들에 대한 무시가 아니란 말입니다.
pax 가 아니 tar 로 다시 질문하고자 해서 무시해 달라는 거였습니다.

제가 알기로는 쓰임새야 비슷하겠지만, tar 와 pax 는 다르더군요

뭘 어쩌란 말입니까. 위에 두분, 예시까지 들어가며 질책을 해 주셨던데, 님들은 낯선 명령어도 바쁜시간을 쪼개가며 서베이해서 사용하나요?

전 짬밥이 안되서 그럴 시간도 없고, 워낙 바쁘다보니 낯선 명령어들은 기피합니다. 개인적인 취향이 그런데 뭘 어쩌란 말입니까.

상당히 불쾌하군요.

답글 달아주신 분들 감사하고 죄송합니다.

gg

jick의 이미지

여기에 이딴 글 싸지를 시간이면 svn export 쳐봤겠구먼......

남들은 뭐 시간이 남아돌아서 바쁜 시간 쪼개가면서 질문에 답해주는 줄 아나...

sshey의 이미지

심히 열받네요...

세이님과 peremen 님은

저보다 많은 지식을 갖고 계실지 모르겠지만,

잘 안다고 해서, 몰라서 질문은 하는 이들에 대해, 싸잡아 욕하지 마십시요.

모두가 서베이하지않고서 질문을 올리지는 않는단 말입니다.

젠장...열받네..

정말 기본적인 네티켓이 없으신 분들인것 같군요.

댓글 달아버리면 단줄 아십니까?

기본은 하고 삽시다.

gg

bushi의 이미지

소스관리에 대해 고민한 수백,수천,수만,수억명의 선배들이 계셨습니다.

선배들이 고민 끝에 내놓은 결과물을 사용하는 수백,수천,수만,수억명의 후배들이 있습니다.

이 수억명의 후배들 중에,
정말로 다행스럽게도 sshey 님의 글을 본 사람이 몇명 있었습니다.

sshey 님의 조상님들중에 어떤 분이 공덕을 많이 쌓으셨는지,
저 분들 중에서 어떤 분이 자기 시간을 쪼개서 sshey 님에게 방법을 알려주셨습니다.

sshey 님이 해야할 일이 있다면,
친절하게 방법을 알려주신 분이 시간을 낭비했다는 생각을 가지지 못하도록 하는 일입니다.

sshey 님 이후에도,
모르는 것을 질문해야 할 수많은 후배들이 있습니다.

자기 자신이 싫어서 망하는 것은 신경쓰지 않겠습니다.
선배들이 누려야 할 기쁨, 후배들이 누려야 할 행운을 빼앗아 버리는 것은 정말로 수치스러워 해야 합니다.

OTL

세이군의 이미지

확인한 시스템은 이렇습니다.
#cat /etc/gentoo-release
Gentoo Base System release 1.12.11.1

우선 checkout부터.

#svn checkout svn://svnhost/svnroot/myproject/trunk
....
blablah
#ls -aF trunk
.svn/ 1/ 2/ 3/ Makefile
# tar cvzf ../project.tgz trunk --exclude .svn
trunk/Makefile
trunk/1/
trunk/2/
trunk/3/
#

#으로 시작하는 줄만 잘 보시면 됩니다.
svn://svnhost/svnroot/myproject/trunk 하고 svn://svnhost/svnroot/myproject/images 를 한번에 압축하려면 둘다 체크아웃 된 상태에서
#tar cvzf ../project.tgz trunk images --exclude .svn
하면 됩니다.

Hyun의 이미지

svn에 export를 사용하라는 저번 쓰래드의 답글과 이번 쓰래드의 답글이 맞는거 같아보이는데, 글 작성자 분께서 괜히 흥분하셨네요.
글이란게 말이랑 달라서 읽는 사람이 어떤 느낌으로 읽느냐에 따라 받아들이는게 많이 틀린 것 같더군요. 글쓴이가 날 무시한다고 생각하고 읽으면 그 글은 날 무시하고 있는 글이 되는거고, 글쓴이가 내가 모르는 것을 가르쳐주고 있다고 생각하고 읽으면 난 그 글을 통해 그걸 배울 수 있죠.
뭐, 모른다고 해서 수치심을 가질 필요도 없고 알고있다고 해서 자랑할 건 아니죠. 다만 모르는 상태에서 계속 머무르는걸 경계해야 할 따름이죠.

저도 위 질문에 답글을 달자면, 현재 작업중인 소스를 긁어서 바로 릴리즈 한다는건 상당히 위험한 생각입니다. 미래에 그 릴리즈 된 소스가 현재 svn의 어느위치에 있는지 알 수 있는 방법이 없습니다. 현재 작업복사본에 태그가 붙여져 있다 하더라도 실수 혹은 임의로 작업복사본을 수정했을 수도 있구요, 또한 실수로 commit를 하지 않은상태에서 릴리즈를 할 수 있습니다. 즉, svn을 통한 소스관리의 잇점이 없어지는것이죠.
그러므로 질문자의 상황에서는 위에 여러분이 설명했는 방법인 svn export 명령을 이용하는게 (제가보기엔) 정답인듯 합니다.

흠... 질문자님의 답글 포인트가 실시간으로 떨어지고 있군요...

송효진의 이미지

포럼형 게시판에서 같은 주제로 새로 글을 올리신게 실수였던듯 합니다.
간단히 이전글에서 'tar 로 할 순 없을까요?' 라는 답만 달았어도,
상위게시물이 되고, 다른 답변이 달렸겠죠.

emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇개 안되요~

sshey의 이미지

불평한 제가 민망하군요

세이님 답변으로 해결했습니다.

제가 원하던 거네요

svn 에 등록 되어있는걸, 감히 제가 export 를 시키지 못하는 입장입니다....뭐...개인적인 사정이고..

그리고, 소스코드는 릴리즈될 일이 없습니다.

그래서 전 tar로 히든폴더인 .svn 만을 없애고자 했던겁니다..

그래서 세이님의 답변으로 해결했네요

# tar cvzf ../project.tgz trunk --exclude .svn

이렇게 하니까. 하위폴더의 .svn 도 모두 압축할때 빼는군요

답변 감사합니다.

gg

sshey의 이미지


#tar cvf filename.tar [압축하고자하는 폴더] --exclude [빼고자 하는 폴더 이름]

#tar cvf compress_image.tar image --exclude .svn

gg

M.W.Park의 이미지

오늘 tar를 좀 복잡하게 사용할 일이 있어서 여기저기 좀 돌아다니다가...
여기 페이지에서 나왔던 문제에 딱 맞는 옵션이 tar 1.19 버전에 새롭게 포함된 것을 발견했습니다.
참고

New option --exclude-vcs excludes directories and files, created by several widely used version control systems, e.g. CVS/, .svn/, etc.

-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂

-----
오늘 의 취미는 끝없는, 끝없는 인내다. 1973 法頂

익명 사용자의 이미지

다수의 --exclude 하려면

--exclude .git --exclude bbs_data

하면 되네요 감사합니다.

익명 사용자의 이미지

다수의 --exclude 하려면

--exclude .git --exclude bbs_data

하면 되네요 감사합니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.