tar파일 용량별로 생성하는 방법?

shwezarl의 이미지

tar는 압축을 하지않고 묶는거자나요... 질문입니다..

TT디렉토리 밑에 aa bb cc dd ...라는 디렉토리가 있고요

aa bb... 각각의 디렉토리에는 파일들이 잔뜩들어있습니다..

tar를 사용해서 묶어 서버로 올리는데 파일 하나당 용량을 설정해서 올리고 싶습니다..

풀리는건 TT디렉토리를 만들어놓고 그안에 풀때 aa bb cc 그대로 풀리도록...묶고싶습니다..

고수님들 도움좀 부탁드립니다..

초보에 글솜씨도 없어서 두서없이 써서... 죄송ㅠㅠ

분할압축이긴 한데.. gzip이런거말고 tar -cvf 로해서 압축을 안하고 ..가능할까요??

ymir의 이미지

tar 만으로는 안 될겁니다. split 하고 같이 쓰세요.

$ tar cvf - wlan_modules | split -b1m - wlan_modules.tar
$ ls -al
total 150108
drwxrwxr-x  5 ymir ymir   12288 May  2 08:55 ./
drwxrwxr-x 18 ymir ymir    4096 Apr 29 16:03 ../
drwxrwxr-x 14 ymir ymir    4096 Apr  8 14:27 wlan_modules/
-rw-rw-r--  1 ymir ymir 1048576 May  2 08:55 wlan_modules.taraa
-rw-rw-r--  1 ymir ymir 1048576 May  2 08:55 wlan_modules.tarab
-rw-rw-r--  1 ymir ymir 1048576 May  2 08:55 wlan_modules.tarac
-rw-rw-r--  1 ymir ymir 1048576 May  2 08:55 wlan_modules.tarad
....
$ cat wlan_modules.tar* | tar xvf -

되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』

shwezarl의 이미지

감사합니다. 저렇게 해서 사용해도 무방할거 같은데...기존 보여지던방식?으로

확장자가 tar로 되서 개별로 풀릴수있게 방법 없을까요??

wlan_modules 이거면 wlan_modules_1.tar...wlan_modules_2.tar 이런식으로..

개별로 있어도 에러없이 압축이 풀리게요..^^*

ymir의 이미지

그렇게 하시려면 일단 tar 로 묶을 파일들을 find 로 찾은 후에..
파일 크기를 계산해서 몇 개씩 선택적으로 tar 로 묶는 수 밖에 없을 것 같네요.
푸는 건 tar 명령 하나로 풀 수 있겠지만, 묶는 건 명령 한 두 개로 간단히는 안 될 것 같고..
따로 스크립트를 만들어야 할 것 같네요.

되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』

shwezarl의 이미지

힌트를 주셔서 감사합니다..( ' ' )( . . )꾸뻑

근데 스크립트를 말씀하신대로 만들기가.. 생각만큼 쉽지않네요 ㅠㅠ

ymir의 이미지

사족입니다만...

전통적으로 *nix 에서는 분할 압축이 필요하면 split 을 써라.. 라고 얘기합니다.
중복과 낭비를 피하기 위해.. 오랫동안 simple 을 추구해 온 결과이기도 하죠.

물론 필요에 의해, 또는 연습 삼아 시도해 볼 수도 있겠지만...
한 번 쓰고 말 것에 들어갈 시간과 노력은 좀 아까울 것 같습니다.

이런 경우라면.. 디렉토리나 파일을 사전에 적당히 규칙을 정해서 집어넣고..
그냥 서브 디렉토리나 파일 종류별로 묶는게 나을 수도 있을 것 같네요.
한번 스크립트로 만들어 두면, 굳이 일일이 칠 필요도 없을테니까요..

$ tar cvf dir_a.tar dir_a/
$ tar cvf dir_b_jpg.tar dir_b/*.jpg
$ tar cvf dir_b_png.tar dir_b/*.png
$ tar cvf dir_c_jpg_main.tar dir_c/main_*.jpg
$ tar cvf dir_c_jpg_etc.tar dir_c/etc_*.jpg

되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』

shwezarl의 이미지

해보다가 그냥 알려주신걸 쓰는걸로 결정했는데요..

분할압축을 하니까...바로 그 디렉토리에 생기던데요..

다른경로에 압축파일이 생기게 할려면 어떻게 해야하나요..??

압축해제할때는 -C 를 써서 풀긴하는데..

압축할때 그 드라이브에 용량이 별로없어서... -C붙이는거면 명령어 어디에 붙이는건지..

ymir의 이미지

$ tar cvf - dir_a | split -b1m - /path/to/dir_a.tar

되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』

shwezarl의 이미지

ㅎㅎ 저렇게 간단한걸...

제가 센스가 0점이라...ㅎㅎㅎㅎ감사합니다.

shwezarl의 이미지

쓰다보니 좀더 궁금한게 생겨서요..ㅎㅎ

이렇게 분할압축을 하면 파일 뒤어 aa ab ac 이렇게 쭉~~ 붙던데..

이거를 1 2 3 ... 이런식으로 다르게 바꿀순 없나요??

ymir의 이미지

$ man split

suffix 관련 옵션 찾아 보세요.

되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』

익명 사용자의 이미지

gnu tar의 경우 -M --multi-volume 을 지원합니다.

원글자의 입장에서 split 을 사용하는 것과 비교하여 장점은
개별파일이 일반적인 tar 명령어로 풀린다는 것이겠고요..

단점은
1. 압축은 지원하지 않습니다.
2. 하나의 원본 파일이 두개 이상의 tar파일로 나눠져서 묶일 수 있습니다.

--

여전히 spilt을 쓰는 것을 추천은 합니다..

익명 사용자의 이미지

원글자가 하고자 하는 일은 spanning이라고 부르는 것입니다.

정해진 용량의 백업매체 (dvd)에 disk를 backup하는 상황으로 생각해보면 되고요..

이와 관련 툴이 많이 있습니다. (tar도 이런 툴입니다만.. )

dar 을 많이 쓰는 것 같습니다.

ymir의 이미지

gnu tar 에 multi volume 이 있었다니.. 검색이라도 해 볼 걸 그랬네요.. ;;
찾아 보니.. 이 기능이 들어간지도 꽤 오래전 일이군요.
linux 로 갈아탄지도 꽤 오래되었는데, 그동안 얼마나 발전이 없었는지 알겠네요.

만약 스크립트로 multi volume 기능 까지 만들었다면.. 최고의 헛발질이 될 뻔 했습니다.
댓글 고맙습니다.

되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』

shwezarl의 이미지

그럼 단점의 원본파일이 두개 이상의 tar로 나눠져서 묶인다면

파일이 쪼개져서 묶인다는말인가요? 아니면 정상적인 원본이 두개가 된다는말인가요??

qiiiiiiiip의 이미지


파일이 쪼개져서 묶입니다.

예를 들어 10G짜리 단일파일을 4G에 맞게 나누려면 쪼개는 수밖에 없겠지요..

그래서 풀 때 좀 주의를 해야하는 듯.

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.