ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [리눅스] 파일시스템, 링크파일
    서버/리눅스 2017. 3. 30. 20:23

    #파일 시스템

    저장 장치에서 파일을 관리하기 위한 체계


    이 체계는 운영체제마다 다르다.

    Window : NTFS, FAT16/32/64 ....

    MAC : HFS ...

    Linux : ext2/3/4 ...



    디스크에 저장되는 파일들은 각각의 i-node값을 가진다

    이 i-node는 파일 이름은 제외한 정보를 갖는다.

    i-node를 더 생성할 수 없다면 저장 장치에 용량이 남아도 사용불가 > i-node를 생성가능한 숫자가 있다.




    #링크 파일

    1) 하드링크파일

    i-node에 연결하는 방법



       맨앞이 아이노드 값입니다. 권한뒤에 나오는 숫자가 링크파일이구요.

      i-node값이 같다면 똑같은 파일을 참조하는 것입니다. 주소값이라는 표현도 맞을 수 있겠네요.



    #> ln <target file_path> <new Link_file_path>


    ln명령어를 통하여 똑같은 i-node값을 가진 파일이 생성되었습니다.


    이렇게 되면 원본파일인 ex3.txt파일이 사라져도 ex3.hard파일을 통하여 파일에 접근할 수 있다.

    >> 즉 원본과는 아무런 관계가 없다는 것이다.


    이런저런 테스트를 통하여 몇가지 사실을 알 수 있었다.


    #1 디렉터리는 우리가 보기 편하게 만들어진 구조이다.


    #2 디스크에 저장되는 파일( 용량을 차지하는 것 )들은 어떠한 공간에 차지되고 있고 

    파일들은 고유한 값인 i-node값과 매칭된다.


    #3 i-node가 같은 링크파일이 생성되면 링크파일은 i-node에 의해 참조하기 떄문에 링크파일은 용량을 차지하지않는다.


    #4 i-node가 값으로 참조되는 링크파일은 원본파일( 원본파일이 아닐수도 있다, i-node값만 같은 파일이니깐)

    이 이동되거나 지워져도 같은 데이터를 가르키고 있단는 사실은 같다.

    >> 이를 통해 링크파일은 파일복사와는 다른 개념으로 잡힌다.

    >> 파일복사는 데이터를 복사해서 다른 i-node값으로 만들어지기 때문이다.



    https://ko.wikipedia.org/wiki/%EC%95%84%EC%9D%B4%EB%85%B8%EB%93%9C 아이노드에 들어있는 정보 <위키백과>


         #5 i-node값과 파일데이터의 연결이 끊어질때 (원본파일과 링크파일.. i-node를 참조하는 모든파일이 다지워졌을때) 파일에 대한 접근이 끝난다.

     >> 이때 데이터는 남아있지만 이 데이터에 접근할 i-node값이 없기때문에 참조할 수 없다.

     >> i-node값은 파일시스템에의해 계산되고 만들어지는 값이며 정보이기때문에 하드구조를 다안다면 직접할당 할 수 있지만

     >> 모른다면( 기능만 사용하는 사용자들 ) 어쩔수 없기때문에 "포렌식"이라는 방법이 등장한 것이다.


    #6 데이터가 사라지지 않는다는 의미는 용량과 상관이 없다.

    파일시스템에서 용량을 체크할때 i-node와 연결된 데이터들을 체크할 뿐이지 i-node와 연결이 끊어진 데이터들은 나중 파일을 사용할 때

    덮어써지는 데이터들이기 때문에 용량을 체크하지 않는다.

    >> 이런 의미로 파일복구는 빠른 시간안에 복구해야 끊어진 데이터들을 살려낼수 있다는 것이다.

    >> 오랜시간이 지나면 데이터를 복구할 수 없다는 의미이다.



    2) 소프트 링크 파일(심볼릭 링크 파일)

    #>ln -s <target_file_path> <new_link_file_path>


    #>ln -s /temp/ex3.txt /root/ex3.soft


    심볼릭 링크파일은 파일 path에 연결된 파일이다.


    파일이 생성되는 순간 i-node값과 데이터가 생성되는데 이 데이터에는 참조된 path가 담겨있다.

    파일을 열면 > i-node를 통해 > 데이터를 참조하고 데이터에 있는 path를 통해 >

    path에 있는 파일로 가서 여는 형태이다. window의 바로가기 폴더와 비슷한 형태이다.

    >> 원본파일의 삭제, 이동, 이름변경... 원본파일의 path가 수정되는 순간 심볼릭 링크 파일은 파일의 기능을 상실 한다.



    #1원본을 수정할 때는 연결된 링크파일이 심볼릭 링크파일로 연결되었다면 경로변경을 생각해봐야 한다.


    #2 원본파일의 경로가 이동되고 다시 원본으로 돌아오면 링크파일은 다시 정상적인 기능을 할 수 있다.

         >>원본파일이아니라 그냥 똑같은 path가 생성되어도 심볼릭링크파일은 생성된 파일에 링크를 건다.



     

     하드 링크 파일

    소프트 링크 파일

    (심볼릭 링크 파일) 

    연결된 대상

    i-node 

    path 

    원본파일에 대한 의존성 

    i-node값

    원본과 같음 

    원본과 다름 


    댓글

Designed by Tistory.