NTFS write 해보신분 ~ 안계신가여 ? ^^;;

zzollook의 이미지

NTFS write 때문에 몇가지 질문드리려구 하는데요. ^^

제가 커널 2.4.22 버전에서 sourceforge의 ntfs소스를 다운받아 ntfs 하드디스크를 마운트 해보았습니다.

커널 설정은 ntfs rw support 하도록 하였구요. read는 성공적이었습니다. 하지만 역시 쓰기가 문제였는데요.

과정을 보여드리면여..

먼저 마운트..

:/# mount -t ntfs -o nls=cp949,uid=501,gid=500,umask=002 /dev/ide/host0/bus0/target0/lun0/part1 mnt
NTFS volume version 3.1.

결과..

/dev/ide/host0/bus0/target0/lun0/part1 on /mnt type ntfs (rw,uid=501,gid=500,umask=02,nls=cp949,errors=continue,mft_zone_multiplier=1)

쓰기 시도..

:/mnt# touch a
touch: a: Permission denied

퍼미션엔 문제가 없는데..
여기서 커널 2.6처럼 덮어쓰기만 가능한게 아닌가 하는 생각에 cp 시도 ^^;; ( HDD 내에 ac3.mpg이 이미 있는 상태입니다. )

:/mnt# cp /test/bin/media/ac3.mpg /mnt/ac3.mpg
NTFS-fs error (device 03:01): ntfs_setattr(): Changes in i_size are not supporte
d yet. Sorry.
cp: unable to open `/mnt/ac3.mpg': Operation not supported

이렇게 해보고 커널 컴파일도 이것저것 바꿔가며 시도해봐도 안되네요 ^^;;

제가 원하는 것은 dangerous한 현상이라도 보고 싶은건데여..
누가 해보신분 없나여 ?
여기서 ntfs 관련한건 다 읽어보았는데.. 쓰기 시도하면 위험하다는 정보밖엔 없고 .. 결과에 대한건 없어서..^^;;

부탁드려요 ~
궁금한 점은 sourceforge의 ntfs소스가 커널 2.6에서와 같이
덮어쓰기만 가능한 것인지 .. 지금 제가 한 것이 쓰기가 되는것인데 커널 2.4의 dangerous의 일종인지 ..^^;; 이건 아니겠져 ?
그리구 덮어쓰기가 제가한 것처럼 하는것인지... ㅡ,.ㅡ;;
아니면 통째로 쓰기 설정 과정 보여주시면 정말 정말 감사하구요 ..

제가 모르는게 너~~~~무 많아서 질문도 이해 안되실 수도 있겠네요 .. 말그대로 비기너입니당 ...
양해해 주시고 답변 부탁드려요.

아! 그리구 captive는 사용할 수가 없어여 .. 제가 보드 상에서 하는데 윈도우를 에뮬레이션 할 수 없거든요 .. ^^??

ntfs 땜에 잠을 못이룹니다... ㅜㅜ

익명 사용자의 이미지

zzollook wrote:
NTFS write 때문에 몇가지 질문드리려구 하는데요. ^^

제가 커널 2.4.22 버전에서 sourceforge의 ntfs소스를 다운받아 ntfs 하드디스크를 마운트 해보았습니다.

커널 설정은 ntfs rw support 하도록 하였구요. read는 성공적이었습니다. 하지만 역시 쓰기가 문제였는데요.

과정을 보여드리면여..

먼저 마운트..

:/# mount -t ntfs -o nls=cp949,uid=501,gid=500,umask=002 /dev/ide/host0/bus0/target0/lun0/part1 mnt
NTFS volume version 3.1.

결과..

/dev/ide/host0/bus0/target0/lun0/part1 on /mnt type ntfs (rw,uid=501,gid=500,umask=02,nls=cp949,errors=continue,mft_zone_multiplier=1)

쓰기 시도..

:/mnt# touch a
touch: a: Permission denied

퍼미션엔 문제가 없는데..
여기서 커널 2.6처럼 덮어쓰기만 가능한게 아닌가 하는 생각에 cp 시도 ^^;; ( HDD 내에 ac3.mpg이 이미 있는 상태입니다. )

:/mnt# cp /test/bin/media/ac3.mpg /mnt/ac3.mpg
NTFS-fs error (device 03:01): ntfs_setattr(): Changes in i_size are not supporte
d yet. Sorry.
cp: unable to open `/mnt/ac3.mpg': Operation not supported

이렇게 해보고 커널 컴파일도 이것저것 바꿔가며 시도해봐도 안되네요 ^^;;

제가 원하는 것은 dangerous한 현상이라도 보고 싶은건데여..
누가 해보신분 없나여 ?
여기서 ntfs 관련한건 다 읽어보았는데.. 쓰기 시도하면 위험하다는 정보밖엔 없고 .. 결과에 대한건 없어서..^^;;

부탁드려요 ~
궁금한 점은 sourceforge의 ntfs소스가 커널 2.6에서와 같이
덮어쓰기만 가능한 것인지 .. 지금 제가 한 것이 쓰기가 되는것인데 커널 2.4의 dangerous의 일종인지 ..^^;; 이건 아니겠져 ?
그리구 덮어쓰기가 제가한 것처럼 하는것인지... ㅡ,.ㅡ;;
아니면 통째로 쓰기 설정 과정 보여주시면 정말 정말 감사하구요 ..

제가 모르는게 너~~~~무 많아서 질문도 이해 안되실 수도 있겠네요 .. 말그대로 비기너입니당 ...
양해해 주시고 답변 부탁드려요.

아! 그리구 captive는 사용할 수가 없어여 .. 제가 보드 상에서 하는데 윈도우를 에뮬레이션 할 수 없거든요 .. ^^??

ntfs 땜에 잠을 못이룹니다... ㅜㅜ

현재 지원되고 있는 NTFS_RW는 덮어쓰기만 가능하고, 파일을 새로 만들거나, 파일 크기를 늘리거나 하는것은 가능하지 않습니다.

captive는 읽기/쓰기 모두 가능하지만, 커널에 기본적으로 포함된 RW는 사실 RW가 아니라 반쪽짜리 RW죠.

그러나, 덮어쓰기만 가능하다 할지라도, NTFS의 임의 파티션에 1GB 비어있는 파일을 미리 만들어두면 (윈도우즈 상태에서)
리눅스로 부팅해서 NTFS마운트 한 후에, NTFS의 파일을 loop디바이스로 활용해서 사용하실 수 있습니다.

익명 사용자의 이미지

답변 감사해여~ ^^
그런데 덮어쓰기란 것이 어떻게 하는건가요 ?
제가 한 방법이 맞는듯도, 아닌듯도 하고.. 다른 방법이 ??? ;;
또 윈도우에선 어떻게 빈 파일을 만드는지 알려주시면 안될까요 ?^^;; 죄송하지만 다시 한번 부탁드립니다.

익명 사용자의 이미지

> 그런데 덮어쓰기란 것이 어떻게 하는건가요 ?

overwrite, 어떤 파일이 존재할 경우 그 파일을 변경하는 것만 할 수 있다는 뜻이었습니다.

> 또 윈도우에선 어떻게 빈 파일을 만드는지

우선 리눅스상에서 dd명령을 이용해서 적당한 크기의 비어있는 파일을 만듭니다.

dd if=/dev/zero of=file_100mb bs=1024kb count=100

(구글링해보시면 비슷한 방법이 나와있을겁니다)

얻어진 file_100mb 파일을 압축하면 1MB 크기정도 됩니다. 이 파일이 file_100mb.gz라고 하면, 이 파일을 USB로 복사하거나, ftp로 다른 곳에 이동시켜 둔 뒤, 윈도우즈로 재 부팅, 윈도우즈에서 압축된 빈 파일을 받아서 압축을 풉니다. 이렇게 하면 비어있는 파일을 원하는 크기로 만들 수 있습니다.

리눅스에서 이 파일을 쓰실 때는, swap으로 만드신다거나, loop 디바이스로 만드실 수 있습니다.

단, 이렇게 만들어 loop디바이스로 쓸 경우, 이것을 윈도우즈에서 읽거나 하는 방법은 모르겠군요.

uriel의 이미지

안정성 등을 장담할 수는 없겠지만 http://www.jankratochvil.net/project/captive/ 이런 것도 있습니다. ntfs 읽기를 구현 한 게 아니라, wine 쪽처럼 windows의 ntfs.sys를 이용해서 파일 억세스를 한다는군요. (제가 써 본 게 아니라서..) 핵심 구현이 다 구현 되었다는 이유로 2004년 1월 이후로는 더 개발 안되고 있네요.

욱성군의 이미지

Anonymous wrote:
zzollook wrote:
NTFS write 때문에 몇가지 질문드리려구 하는데요. ^^

제가 커널 2.4.22 버전에서 sourceforge의 ntfs소스를 다운받아 ntfs 하드디스크를 마운트 해보았습니다.

커널 설정은 ntfs rw support 하도록 하였구요. read는 성공적이었습니다. 하지만 역시 쓰기가 문제였는데요.

과정을 보여드리면여..

먼저 마운트..

:/# mount -t ntfs -o nls=cp949,uid=501,gid=500,umask=002 /dev/ide/host0/bus0/target0/lun0/part1 mnt
NTFS volume version 3.1.

결과..

/dev/ide/host0/bus0/target0/lun0/part1 on /mnt type ntfs (rw,uid=501,gid=500,umask=02,nls=cp949,errors=continue,mft_zone_multiplier=1)

쓰기 시도..

:/mnt# touch a
touch: a: Permission denied

퍼미션엔 문제가 없는데..
여기서 커널 2.6처럼 덮어쓰기만 가능한게 아닌가 하는 생각에 cp 시도 ^^;; ( HDD 내에 ac3.mpg이 이미 있는 상태입니다. )

:/mnt# cp /test/bin/media/ac3.mpg /mnt/ac3.mpg
NTFS-fs error (device 03:01): ntfs_setattr(): Changes in i_size are not supporte
d yet. Sorry.
cp: unable to open `/mnt/ac3.mpg': Operation not supported

이렇게 해보고 커널 컴파일도 이것저것 바꿔가며 시도해봐도 안되네요 ^^;;

제가 원하는 것은 dangerous한 현상이라도 보고 싶은건데여..
누가 해보신분 없나여 ?
여기서 ntfs 관련한건 다 읽어보았는데.. 쓰기 시도하면 위험하다는 정보밖엔 없고 .. 결과에 대한건 없어서..^^;;

부탁드려요 ~
궁금한 점은 sourceforge의 ntfs소스가 커널 2.6에서와 같이
덮어쓰기만 가능한 것인지 .. 지금 제가 한 것이 쓰기가 되는것인데 커널 2.4의 dangerous의 일종인지 ..^^;; 이건 아니겠져 ?
그리구 덮어쓰기가 제가한 것처럼 하는것인지... ㅡ,.ㅡ;;
아니면 통째로 쓰기 설정 과정 보여주시면 정말 정말 감사하구요 ..

제가 모르는게 너~~~~무 많아서 질문도 이해 안되실 수도 있겠네요 .. 말그대로 비기너입니당 ...
양해해 주시고 답변 부탁드려요.

아! 그리구 captive는 사용할 수가 없어여 .. 제가 보드 상에서 하는데 윈도우를 에뮬레이션 할 수 없거든요 .. ^^??

ntfs 땜에 잠을 못이룹니다... ㅜㅜ

현재 지원되고 있는 NTFS_RW는 덮어쓰기만 가능하고, 파일을 새로 만들거나, 파일 크기를 늘리거나 하는것은 가능하지 않습니다.

captive는 읽기/쓰기 모두 가능하지만, 커널에 기본적으로 포함된 RW는 사실 RW가 아니라 반쪽짜리 RW죠.

그러나, 덮어쓰기만 가능하다 할지라도, NTFS의 임의 파티션에 1GB 비어있는 파일을 미리 만들어두면 (윈도우즈 상태에서)
리눅스로 부팅해서 NTFS마운트 한 후에, NTFS의 파일을 loop디바이스로 활용해서 사용하실 수 있습니다.

커널에서 NTFS 쓰기를 활성화시켜서 vi j 후 :w 를 이용해 저장을 한적이 있는데 이건 어떤 건가요?

익명 사용자의 이미지

Quote:
커널에서 NTFS 쓰기를 활성화시켜서 vi j 후 :w 를 이용해 저장을 한적이 있는데 이건 어떤 건가요?

기존의 파일에서 크기 변화가 작아서 해당 cluster 내에서
write가 가능했기 때문이 아닐까요?

댓글 달기

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