관리 메뉴

Hacking Arts

[Solaris] Fsck(Fike System ChecK) 본문

Computer & ETC/Solaris

[Solaris] Fsck(Fike System ChecK)

Rakehell 2014. 8. 23. 02:19

<file-system>

사전적의미 : 컴퓨터에서 데이터를 기록하기 위해서는 미리 하드디스크드라이브에 데이터를 읽고, 쓰고, 찾기 위한 준비를 해둬야 한다. 파일 시스템은 그 준비의 규칙을 정리해 놓은 것으로서 파일에 이름을 붙이고, 저장이나 검색을 위해 파일을 어디에 위치시킬 것인지를 나타내는 체계를 의미한다. 도스나 윈도·OS/2·매킨토시·유닉스 등 모든 OS가 반드시 갖추고 있는데, 예를 들면 윈도의 FAT16·FAT32·NTFS, 리눅스의 ext2·raiserFS·ext3 등이 있다. 


파일을 디렉터리에 저장시키며 새로 생긴 파일에 이름을 붙이는데, 파일명의 길이를 제한하기도 하고, 어떤 문자들이 사용될 수 있는지를 나타내기도 하며, 파일명 확장자의 길이를 제한하기도 한다. 또 디렉터리 구조를 통하여 파일까지 가는 경로를 설정하는 형식을 포함한다. 때로는 파일을 체계적으로 정리할 수 있게 지원하는 OS나 부가 프로그램의 일부를 의미하기도 한다. NFS(Network file system)나 AFS(Andrew file system)가 대표적이다.


<file system check>

fsck 는 file system을 체크해주는 기능을 하는 명령어 이다. 

------------------------------------------

※이론적 의미 : fsck utility가 검사하는 ufs file system 항목.

super block : file system의 모든 요약 정보 포함. 가장 일반적인 문제 발생.

-   inode : inode 일치 여부 검사

indirect block : inode에 의해 소유. 이 block의 문제점은 inode에 영향을 

     준다.

-   data block : inode는 직/간접적으로 3종류의 data block을 참조한다.

                      평범한 data block, symbolic link data block, directory

                       data block

------------------------------------------

※fsck의 단계 : 

- phase1 : check blocks and sizes

 inode 검사단계->파일유형 이상유무, disk block 주소, size, link count 검사.

- phase2 : check pathnames

 파일시스템의 directory 구조 검사단계->root 이하의 모든 directory에 대해 각

 파일 이름과 inode link에 대한 이상유무 검사.

- phase3 : check connectivity

 파일시스템의 directory 검사->directory 구조가 잘못되어 파일이름과 inode link의 directory entry가 없을 경우 복구.

- phase4 : check reference counts

 superblock 내의 할당된 file 수와 directory 검사, file수를 비교 후 복구.

- phase5 : check cyl groups

 consistency를 위해 사용된 inode map과 free block 검사.

-------------------------------------------


<super-block 복구법>
newfs -Nv /dev/dsk/[Disk명] -> ()에 있는 것을 주의해서 보자 (fsck -F ufs -o b=[아래있는 숫자])
덧붙이자면 32번은 무조건 슈퍼블록 백업이다. 그래서 무조건 존재함!
fsck -F ufs -o b=32 /dev/dsk/[Disk명] : super block을 이용하여 복구!

<swap>

window의 가상메모리 같은 것이라고 생각하자!

기본적으로 tmp디렉토리에 mount 되어 있음


swap -l : 현재 잡혀있는 swap을 보여줌

★★★★★df -k : swap의 사용 가능한 공간이나 파일시스템의 mount지점 여유용량 총용량등 파일시스템 정보를 보여줌


----------swap 추가 방법----------

일단 여유 있는 파일시스템에 가서 mkfile을 이용해서 파일을 생성

mkfile [용량] [file명] -> swap -a /~~~~/[file명]

다음 swap -l 로 확인 하면 swap이 잡혀있는 것을 확인 할 수 있다.

but 일시적이고 영구적으로 올리기 위해서는 /etc/vfstab에 넣어주어야함

/~~~~/[file명] - - swap - no - 이런식으로 기록함


swap -d /~~~~/[file명] : swap을 지우는 명령어