RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR
'dumpe2fs'에 해당되는 글 1

출처 : 대전국제IT교육센터 정성재 강사

 

1. dumpe2fs
(1) 설명: dumpe2fs는 파일시스템의 슈퍼블록과 블록 그룹에 대한 정보를 보여주고 이 명령어는 BSD
          Fast File System의 dumpfs와 유사하다. ext2 파일시스템과 ext3파일시스템에서 사용가능
          하다.
(2) 사용법
   dumpe2fs [options] 장치명
(3) 사용예
   dumpe2fs /dev/hda7

2. debugfs
(1) 설명: ext2 파일시스템 디버거로 파일시스템의 상태를 조사하고 변화시킬 수 있는 명령이다.
          대화형 디버거로 해당 명령을 알아야 하고 ext3 도 일부지원한다.
(2) 사용법
   debugfs [option] [장치명]
(3) option
   -w : 쓰기가 가능한 상태로 파티션을 만들어준다.
(4) debugfs의 명령어
   1) cat 파일명: 파일의 내용을 보여준다.
   2) cd 디렉토리: 작업디렉토리를 변경한다.
   3) chroot 디렉토리: 지정한 디렉토리를 루트디렉토리로 변경한다.
   4) close : 현재 열려진 파일시스템을 닫는다.
   5) clri 파일명: 파일에 해당하는 아이노드의 내용을 지운다.
   6) dump 파일명 출력파일명: 아이노드의 내용을 파일로 덤프한다.
   7) expand_dir 파일명: 디렉토리를 확장한다.
   8) find_free_block 목표: 목표로부터 시작해서 첫번째 블록을 찾아 할당한다.
   9) find_free_inode 디렉토리 : 빈 아이노드를 찾아서 할당한다.
   10) freeb 블록: 블록을 할당되지 않은 것으로 표시한다.
   11) freei 파일명: 파일명에 해당하는 아이노드를 해제한다.
   12) help :debugfs가 인식하는 명령어 목록을 출력한다.
   13) icheck 블록: 블록의 아이노드 변환을 수행한다.
   14) iname 아이노드: 아이노드에 해당하는 파일명을 출력한다.(현재 구현되지 않는다. ncheck를
                      참고할 것)
   15) initialize 장치명: 장치명에 ext2 파일시스템을 생성
   16) kill_file 파일명: 파일을 삭제하고 사용한 블록을 해제한다.
   17) ln 원본파일 링크파일: 링크를 만든다.
   18) ls : 디렉토리나 파일의 목록을 보여준다.
   19) modify_inode : 파일명에 해당하는 아이노드의 내용을 수정한다.
   20) mknod : 특별한 장치파일을 생성한다.
   21) ncheck 아이노드: 아이노드의 이름을 변환한다.
   22) open 디바이스명 : 해당 디바이스의 파일시스템을 연다.
   23) pwd : 현재 작업디렉토리를 출력한다.
   24) quit : debugfs를 종료한다.
   25) rm 파일명: 파일을 삭제한다.
   26) rmdir 디렉토리명: 디렉토리를 삭제한다.
   27) setb 블록: 블록을 할당된 것으로 표시한다.
   28) seti 파일명: 파일명에 해당하는 아이노드를 사용중이라고 표시한다.
   29) show_super_stats : 슈퍼블록의 내용을 보여준다.
   30) stat 파일명: 파일에 해당하는 아이노드의 내용을 덤프한다.
   31) testb 블록넘버: 블록이 할당되어 있다고 표시되어 있는 확인한다.
   32) testi 파일명: 해당파일에 아이노드가 할당되어 있는지 표시한다.
   33) unlink 파일명 : 파일의 링크를 지운다.
   34) write 원본파일 파일명: 파일명을 갖는 파일 시스템에 파일하나를 만들고 나서 원본파일의
                             내용을 복사한다.
(5) 사용예
   1) [root@www root]# debugfs /dev/hda7
       => /dev/hda7 디바이스를 debugfs로 디버깅한다. 기본 읽기전용이다.
   2) [root@www root]# debugfs -w /dev/hda7
       => /dev/hda7 디바이스를 debugfs로 디버깅하는데 쓰기가 가능하도록 한다.
(6) command 사용예
   1) debugfs:  ls -l
       128258   40750 (2)      0      0    4096  5-Feb-2003 21:56 .
            2   40755 (2)      0      0    4096  5-Feb-2003 16:43 ..
       128259  100644 (1)      0      0   66420 27-Dec-2002 01:13 install.log
       128260  100644 (1)      0      0    4096 27-Dec-2002 00:48 install.log.syslog
        32102   40700 (2)      0      0    4096  5-Feb-2003 11:13 .gconfd
       132579  100644 (1)      0      0      24 11-Jun-2000 06:00 .bash_logout
       132578  100644 (1)      0      0    1126 24-Aug-1995 04:02 .Xresources
        48673   40700 (2)      0      0    4096 26-Dec-2002 19:24 .kde
       177385   40700 (2)      0      0    4096  5-Feb-2003 11:13 .gconf
       132580  100644 (1)      0      0     234  6-Jul-2001 03:23 .bash_profile
       132581  100644 (1)      0      0     176 24-Aug-1995 04:04 .bashrc
       132582  100644 (1)      0      0     210 11-Jun-2000 06:09 .cshrc
        => (설명) 총 8개의 필드로 구성되어 있다.
                 1. Inode 번호
                 2. 맨 앞 두 숫자는 inode의 종류를 의미하고 남은 4개의 숫자는 운영체제에서
                   정해진다. 또한 (1)은 파일을, (2)는 디렉토리를 의미한다.
                    2 : 문자디바이스
                    4 : 디렉토리
                    6 : 블록 디바이스
                    10 : 일반 파일
                    12 : 심볼릭 링크
                 3. 소유자의 UID
                 4. 소유그룹의 GID
                 5. 파일이나 디렉토리의 크기(바이트)
                 6. 날짜
                 7. 시간
                 8. 파일이나 디렉토리명
   2) debugfs:  quit
       => debugfs를 종료한다.
(7) 참고 : ext2 파일시스템에서 파일 복구하기 (ext3에서는 안됨)
   1) 가정 : /home/doc.txt 라는 파일이 존재하고 문서를 삭제했다고 가정하자.
   2) 복구절차
    ㄱ. debugfs -w /dev/hda6
        => /dev/hda6 파티션을 디버깅한다. (/home의 파티션을 /dev/hda6이라고 가정)
    ㄴ. debugfs: 프롬프트에서 'lsdel' 이라고 친다.
        debugfs:  lsdel
         Inode  Owner  Mode    Size    Blocks   Time deleted
        48730    500 100644   9232    3/   3 Thu Jan 30 00:02:05 2003
        16346    500 100644   8947    1/   3 Sun Feb  2 16:50:44 2003
         => 그럼 지워진 목록이 나온다. 시간과 파일명을 알고 있어야 한다.
    ㄷ. debugfs에서 'dump <아이노드번호> 경로를_포함한_파일명'을 입력한다.
        debugfs: dump <16436> /home/doc.txt
         => 파일이 복구되었음을 알 수 있다.

3. tune2fs
(1) 설명: ext2파일시스템을 튜닝하고 조정하는 명령어이다.
(2) 사용법
   tune2fs [option] 장치명
(3) option
   -j : ext2파일시스템을 ext3파일시스템으로 바꾼다.
   -c 마운트횟수: ext2파일시스템에서는 어느 정도의 수를 마운트한 뒤에는 자동으로 파일시스템을
                 체크하도록 되어 있다. 이 마운트횟수를 지정하는 옵션이다. 0으로 하면 마운트횟
                 수의 제한이 없다.
   -i 점검시간[d|w|n] : 파일시스템의 점검시간을 설정한다. 접미어를 쓰기않거나 'd'를 사용하면
                       날짜단위로 설정하는 것이고, 'm'은 달, 'w'은 주 단위로 설정한다. 값을
                       0으로하면 시간 점검을 하지 않는다.
(4) 사용예
   1) [root@www root]# tune2fs -j /dev/hda6
       => /dev/hda6을 ext3파일시스템으로 바꾼다.
   2) [root@www root]# tune2fs -c 0 -i 0 -j /dev/hda7
       => /dev/hda7을 마운트횟수제한이 없고 기간제한이 없도록 하고 ext3파일시스템으로 바꾼다.
   3) [root@www root]# tune2fs -L /backup /dev/hda8
       => /dev/hda8에 backup이라는 레이블을 설정한다.
(5) 주의 : 이 명령을 이용하여 파일시스템을 조정할 경우에는 마운트가 되지 상태에서 해야한다.

4. stat
(1) 설명: 파일이나 파일시스템의 상태를 보여준다.
(2) 사용법
   stat [options] 파일이름
(3) 사용예
    [root@www root]# stat /etc/passwd
      File: "/etc/passwd"
      Size: 2386            Blocks: 8          IO Block: 4096   Regular File
    Device: 307h/775d       Inode: 225622      Links: 1
    Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
    Access: Sun Jan 12 19:33:00 2003
    Modify: Mon Jan  6 00:54:42 2003
    Change: Mon Jan  6 00:54:42 2003
      => 파일명, 사이즈, 파일타입, 권한, 접근시간, 수정정보, 변경정보 등을 알 수 있다.

5. mkfs.ext2
(1) 설명: ext2 파일시스템 생성해주는 명령이다.
(2) 사용법
   mkfs.ext2 장치명
(3) 사용예
   mkfs.ext2 /dev/hdb1

6. mkfs.ext3
(1) 설명: ext3파일시스템을 생성해주는 명령이다.
(2) 사용법
   mkfs.ext3 장치명
(3) 사용예
   mkfs.ext3 /dev/hdb1

7. lsattr
(1) 설명: ext2 와 ext3파일시스템은 파일의 권한이외에 속성을 조작할 수 있는 명령을 제공한다.
          이 명령은 해당 파일의 속성을 보여주는 명령이다.
(2) 사용법
   lsattr [option] [파일명]
(3) option
   -R : 서브디렉토리까지 한꺼번에 파일속성을 확인할 수 있다.
   -a : .으로 시작되는 숨김파일과 디렉토리까지 모두 속성을 확인할 수 있다.
   -V : 프로그램의 버전을 확인할 수 있다.
   -v : 파일생성과 관련된 넘버를 확인할 수 있다.
(4) 사용예
   [posein@www posein]$ lsattr /etc/passwd
   -------------- /etc/passwd
    => 현재 이 파일은 어떠한 속성도 설정되어 있지 않다.

8. chattr
(1) 설명: 이 명령은 파일의 속성을 변경시키는 명령이다. 참고로 몇가지 속성은 리눅스커널에서
         지원하지 않을 수도 있다.
(2) 사용법
   chattr [option] mode 파일명
(3) option
   -R : 서브디렉토리까지 그 속성을 변경할 때 지정한다.
   -V : 프로그램의 버전을 출력해준다.
   -v : 지정된 파일에 넘버를 설정할 수 있다.
(4) mode: 기호와 속성으로 이루어진다.
   1) 기호
     + : 해당 속성을 부여한다.
     - : 해당 속성을 해제한다.
     = : 해당 속성만 부여하고 나머지는 해제한다.
   2) 속성
     A : 파일수정시에 atime을 수정하지 않는다.
     a : 해당 파일에 추가만을 할 수 있는 속성이다.
     d : 이 속성이 설정된 파일은 dump로 백업되지 않는다.
     i : 이 속성이 지정되면 해당 파일의 변경, 삭제, 이름변경, 파일추가 및 링크파일도 불가능해
        진다.
     c : 이 속성이 설정되면 커널에 의해 디스크상에 자동적으로 압축된 상태로 저장이 되어 있다.
        파일을 읽을 경우에는 압축을 해제한 상태로 되돌려주며 쓰기시에는 디스크에 저장하기 전에
        파일을 압축한다.
     j : 이 속성을 지정되면 저장할 때 저널링 파일시스템으로 데이타를 저장한다.
     s : 이 속성이 설정된 파일은 파일삭제가 될 경우에 해당블록이 모두 0으로 되어 버리고 디스크
        에 다시 쓰기가 발생한다. 따라서 보안상 안전한 삭제가 이루어진다.
     S : 이 속성이 설정되면 파일이 변경될 경우 디스크동기화가 일어나는 효과를 누릴 수 있다.
     u : 이 속성을 가진 파일이 삭제되면 그 내용이 저장되어 삭제되기 전의 데이터로 복구가 가능
        하다.
(5) 사용예
   1) [root@www root]# chattr +i test.txt
       => test.txt 불변의 속성(i)을 지정하였다.
         (확인) [root@www root]# lsattr test.txt
                ---i---------- test.txt
         (제거) [root@www root]# rm test.txt
                rm: remove write-protected regular file `test.txt'? y
                rm: cannot remove `test.txt': 명령이 허용되지 않음
   2) [root@www root]# chattr +a /var/log/messages
       => /var/log/messages 파일에 삭제는 불가하고 추가만 가능하게 설정하였다.

9. badblocks
(1) 설명: 장치의 배드블록(Bad Block)을 검색한다.
(2) 사용법
   badblocks [option] 장치명
(3) option
   -b 블록사이즈: 블록의 크기를 바이트수로 나타낸다.
   -o 출력파일 : 배드블록의 목록을 지정한 파일에 기록한다.
   -v : 자세히 보여준다.
   -w : 쓰기 모드 테스트를 해서 배드블록을 찾아낸다. 이 옵션을 사용하면 파일시스템의 내용이
       지워지므로 주의를 요한다.
(4) 사용예
   1) [root@www root]# badblocks /dev/fd0H1440
      8
      9
      10
      11
      60
      171
      1438
      1439
        => 배드블록의 목록을 보여준다.
   2) [root@www root]# badblocks -o badblock /dev/fd0H1440
        => 배드블록의 목록을 badblock이라는 파일에 저장한다.

10. mknod
(1) 설명: 블록디바이스나 캐릭터디바이스 같은 특별한 파일을 만들 때 쓰는 명령어이다.
(2) 사용법
   mknod  파일명 type [major minor]
(3) type
   b : block 장치 파일을 생성한다.
   c : character 장치 파일을 생성한다.
   p : FIFO 장치파일을 생성한다.
(4) 사용예
   mknod myfd0 b 2 0
    => myfd0라는 블록디바이스 파일을 생성하고 major 넘버는 2이고 minor넘버는 0이다.
      현재 이 설정은 첫번째 플로피디스크에 대한 설정이다. 즉 /dev/fd0 와 같다. 이 장치파일로
      마운트시킬 수 있다.

11. hdparm
(1) 설명: HDD Parmeters의 약자로 하드디스크의 설정을 보여주거나 설정을 조절할 수 있는 명령어
          이다. 하드디스크의 튜닝하여 최적의 성능을 발휘하도록 할 때 사용한다. 잘못사용하면
          하드디스크의 자료를 잃어버릴 수 있으니 사용에 주의를 요한다.
(2) 사용법
   hdparm [option] 디바이스명
(3) option
   -i : 부팅시에 확인되는 정보를 표시해준다.
   -t : 비교를 목적으로 벤치마크를 위해 장치의 읽는 시간을 잰다.
   -T : 비교를 목적으로 벤치마크를 위해 캐쉬의 읽는 시간을 잰다.
   -d 값 : 직접 메모리 접근(DMA)옵션의 on/off를 지정한다. 1이면 on, 0이면 off
   -c 값 : 32bit 입출력(I/O)기능을 켜거나 끌 수 있다. 0이면 16bit, 1 이면 32bit, 3이면 동기배
          열(Sync Sequence)을 포함한 32bit 입출력을 한다.
   -m 값 : 다중섹터(MultSec)의 값을 지정한다.
   -X 값 : IDE의 전송모드를 설정한다. PIO 모드는 8을 기본으로 해서 더하고, 일반 DMA 모드는 32
          를 기본으로 더하고, UltraDMA인 경우에 는 64를 기본으로 더한다. -i 옵션으로 나온 결과
          를 토대로 지원여부를 확인한다.
   -a 값 : 미리읽기(Read-ahead) 섹터값을 설정한다. 기본값은 8이다.
   -u 값 : unmaskirq 설정유무를 지정한다. 1이면 on, 0이면 off 이다.
(4) 사용예
   1) [root@www root]# hdparm /dev/hda

      /dev/hda:
       multcount    = 16 (on)
       IO_support   =  0 (default 16-bit)
       unmaskirq    =  0 (off)
       using_dma    =  0 (off)
       keepsettings =  0 (off)
       readonly     =  0 (off)
       readahead    =  8 (on)
       geometry     = 2481/255/63, sectors = 39865392, start = 0
        => 하드디스크에 대한 정보를 보여준다.
          (주요설정 설명)
           multcount : 한번에 읽는 섹터의 수
           IO_support : 하드디스크의 동작모드(16/32/32sync)
           unmaskirq : 한 디스크 인터럽트를 처리할 때 다른 인터럽트를 언마스크하도록 허용할 것
                      인지를 지정한다. 요청된 데이터를 디스크가 리턴하기를 기다리는 동안, 시스
                      템이 다른 인터럽트와 관련된 작업을 처리하도록 한다. 이것은 전체적인 반응
                      시간(response time)을 향상시켜 주지만 주의해야 한다.
           using_dma : DMA 기능 사용여부를 표시한다.
           keepsettings : 소프트 리셋(Soft Reset)후의 설정을 유지하도록 한다.
           readonly : 장치가 읽기전용인지 아닌지를 시스템에 알려준다. 일반적으로 CD-ROM에만
                     1로 설정한다.
           readahead    =  8 (on)
           geometry : 하드디스크의 물리적인 정보를 보여준다. 실린더/헤드/섹터
   2) [root@www root]# hdparm -i /dev/hda

      /dev/hda:

       Model=SAMSUNG SV2042H, FwRev=PK100-12, SerialNo=0273J1FNB12589
       Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
       RawCHS=16383/16/63, TrkSize=34902, SectSize=554, ECCbytes=4
       BuffType=DualPortCache, BuffSize=426kB, MaxMultSect=16, MultSect=16
       CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=39865392
       IORDY=yes, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
       PIO modes:  pio0 pio1 pio2 pio3 pio4
       DMA modes:  mdma0 mdma1 mdma2
       UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5
       AdvancedPM=no WriteCache=enabled
       Drive conforms to: ATA/ATAPI-4 T13 1153D revision 17:  1 2 3 4 5 6
         => (주요설정 설명)
             MaxMultSect : 하드디스크가 한번에 읽을 수 있는 최대 섹터(Sector)의 수
             MultSect : 현재 한번에 읽는 섹터의 수
             PIO & DMA & UDMA modes : 하드디스크가 지원하는 모드를 나타내고 *로 표시된 것이
                                     현재 사용 하는 모드이다.
             AdvancedPM : APM(Advanced Power Management: 고급전원관리)지원여부를 표시한다.
             WriteCache : 쓰기 캐쉬의 지원여부이다.
   3) [root@www root]# hdparm -t /dev/hda

      /dev/hda:
       Timing buffered disk reads:  64 MB in 18.67 seconds =  3.43 MB/sec
        => 하드디스크의 읽는 시간을 잰다.
   4) [root@www root]# hdparm -Tt /dev/hda

      /dev/hda:
       Timing buffer-cache reads:   128 MB in  0.25 seconds =520.16 MB/sec
       Timing buffered disk reads:  64 MB in 18.54 seconds =  3.45 MB/sec
        => 디스크와 캐쉬의 읽는 시간을 잰다.
   5) hdparm -d 1 /dev/hda
        => DMA를 사용한다.
   6) hdparm -c 1 /dev/hda
        => 32bit I/O로 세팅한다.
   7) hdparm -m 8 /dev/hda
        => MultSec의 값을 8로 설정한다.
   8) hdparm -X34 /dev/hda
        => 일반 DMA모드인 mdma2로 설정한다.
   9) hdparm -X69 /dev/hda
        => UltraDMA모드인 umda5로 설정한다.
   10) hdparm /dev/cdrom
        => CD-ROM드라이브의 정보를 보여준다.
(5) 관련파일 : /etc/sysconfig/harddisks
    hdparm 명령의 실행시 설정과 관련된 파일이다.

12. e2label
(1) 설명: ext2 파일시스템을 사용하는 하드디스크 디바이스에 label을 부여하거나 확인하는 명령어
          이다.
(2) 사용법
   e2label 장치명 [새로운 label]
(3) 사용예
   1) [root@linux245 root]# e2label /dev/hda5
      /home
       => /dev/hda5에 부여된 레이블을 확인한다.
   2) [root@linux245 root]# e2label /dev/hda8 /backup
       => /dev/hda8의 레이블을 backup로 부여한다.
(4) 참고: 레이블을 부여하면 /etc/fstab파일에서 디바이스명 대신에 레이블을 사용해서 등록할 수
          있다.
    예) LABEL=/backup           /backup                 ext3    defaults        0 0

13. mkinitrd
(1) 설명: make init ramdisk의 약자로 초기화 램디스크 이미지를 만들어주는 명령이다. 보통 부팅
          할 때 필요한 블록 디바이스 모듈을 이미지로 만들때 사용하는 명령이다.
(2) 사용법
   mkinitrd 이미지파일명 커널버전
(3) 사용예
   mkinitrd /boot/initrd-2.4.21.img 2.4.21

Trackback
Reply
우주곰:지구곰이 아닙니다.
지구곰이 아닙니다.
Categories (190)
Information (5)
About uzoogom (5)
Blah.. blah.. (5)
My Advanced Linux (73)
RedHat Knowledge (10)
Advanced Linux (47)
Virtualization (7)
HA clustering (2)
Bash shell scripts (6)
Learning Linux (96)
Fundamental (41)
AdminCourse (32)
Security (23)
OperatingSystem (5)
AIX (2)
HPUX (3)
Databases (4)
Oralce (3)
Mysql (1)
OpenSource (1)
Tips! (1)
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31