6.75. E2fsprogs-1.45.5

E2fsprogs 패키지에는 ext2 파일 시스템을 처리하기 위한 유틸리티가 포함되어 있다. 또 ext3ext4 저널링 파일 시스템도 지원한다.

예상 빌드 시간: 1.6 SBU
필요 디스크 공간: 108 MB

6.75.1. E2fsprogs 설치

E2fsprogs 문서에서는 패키지를 소스 트리의 하위 디렉토리에 빌드할 것을 권장한다:

mkdir -v build
cd       build

E2fsprogs 컴파일을 준비한다:

../configure --prefix=/usr           \
             --bindir=/bin           \
             --with-root-prefix=""   \
             --enable-elf-shlibs     \
             --disable-libblkid      \
             --disable-libuuid       \
             --disable-uuidd         \
             --disable-fsck

환경 변수와 configure 옵션들의 의미:

--with-root-prefix=""--bindir=/bin

어떤 프로그램(예를 들면 e2fsck 프로그램)들은 필수적인 프로그램이다. 예를 들어 /usr가 마운트되지 않았을 때에도, 이러한 프로그램들은 사용 가능해야 한다. 이들은 /lib/sbin과 같은 디렉토리에 속한다. 이 옵션이 E2fsprogs의 configure에 전달되지 않으면, 프로그램이 /usr 디렉토리에 설치된다.

--enable-elf-shlibs

이 패키지의 일부 프로그램이 사용하는 공유 라이브러리를 생성한다.

--disable-*

Util-Linux가 보다 최신 버전을 설치함에 따라 E2fsprogs가 libuuidlibblkid 라이브러리, uuidd 데몬, fsck 래퍼를 빌드하고 설치하는 것을 방지한다.

패키지를 컴파일한다:

make

결과를 테스트하려면 실행하라:

make check

E2fsprogs 테스트 중 하나는 256 MB의 메모리를 할당하려고 할 것이다. 이보다 훨씬 더 많은 RAM이 없는 경우 테스트를 위해 충분한 스왑 공간을 사용하도록 설정하라. 스왑 공간 생성 및 활성화에 대한 자세한 내용은 2.5절. “파티션에 파일 시스템 만들기”2.7절. “새 파티션 마운팅”를 참고하라.

패키지를 설치한다:

make install

디버깅 심볼을 나중에 제거할 수 있도록 설치된 정적 라이브러리를 쓰기 가능하게끔 설정하라:

chmod -v u+w /usr/lib/{libcom_err,libe2p,libext2fs,libss}.a

이 패키지는 gzip으로 압축된 .info 파일을 설치하지만 시스템 전체 dir 파일을 업데이트하지는 않는다. 다음 명령을 사용하여 이 파일의 압축을 푼 후 시스템 dir 파일을 업데이트하라:

gunzip -v /usr/share/info/libext2fs.info.gz
install-info --dir-file=/usr/share/info/dir /usr/share/info/libext2fs.info

필요하다면, 다음 명령으로 추가적인 문서 몇 가지를 생성하고 설치하라:

makeinfo -o      doc/com_err.info ../lib/et/com_err.texinfo
install -v -m644 doc/com_err.info /usr/share/info
install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info

6.75.2. E2fsprogs의 내용

설치된 프로그램들: badblocks, chattr, compile_et, debugfs, dumpe2fs,e2freefrag, e2fsck, e2image, e2label, e2mmpstatus, e2scrub, e2scrub_all, e2undo, e4crypt, e4defrag, filefrag, fsck.ext2, fsck.ext3, fsck.ext4, logsave, lsattr, mk_cmds, mke2fs, mkfs.ext2, mkfs.ext3, mkfs.ext4, mklost+found, resize2fs, tune2fs
설치된 라이브러리들: libcom_err.so, libe2p.so, libext2fs.so, libss.so
설치된 디렉토리들: /usr/include/e2p, /usr/include/et, /usr/include/ext2fs, /usr/include/ss, /usr/lib/e2fsprogs, /usr/share/et, /usr/share/ss

요약

badblocks

장치(보통 디스크 파티션)에서 잘못된 블록 검색

chattr

ext2 파일 시스템에서 파일 속성 변경; ext2 파일 시스템의 저널링 버전인 ext3 파일 시스템 변경

compile_et

에러 테이블 컴파일러; 에러 코드 이름 및 메시지 테이블을 com_err 라이브러리와 함께 사용하기에 적합한 C 소스 파일로 변환

debugfs

파일 시스템 디버거; ext2 파일 시스템의 상태를 검사하고 변경하는 데 사용할 수 있음

dumpe2fs

지정된 장치에 있는 파일 시스템에 대한 수퍼 블록 및 블록 그룹 정보 출력

e2freefrag

여유 공간 조각화 정보를 출력

e2fsck

ext2 파일 시스템과 ext3 파일 시스템을 확인하고 선택적으로 복구 하는데 사용

e2image

중요한 ext2 파일 시스템 데이터를 파일에 저장하는 데 사용

e2label

지정된 장치에 있는 ext2 파일 시스템의 레이블 표시 또는 변경

e2mmpstatus

ext4 파일 시스템의 MMP 상태 확인

e2scrub

마운트된 ext[234] 파일 시스템의 내용 확인

e2scrub_all

마운트된 모든 ext[234] 파일 시스템에 오류가 있는지 확인

e2undo

장치에 있는 ext2/ext3/ext4 파일 시스템에 대해 실행 취소 로그인 undo_log를 재생 [이는 e2fsprogs 프로그램에서 실패한 작업을 실행 취소하는 데 사용할 수 있다.]

e4crypt

Ext4 파일 시스템 암호화 유틸리티

e4defrag

ext4 파일 시스템용 조각 모음 도구

filefrag

특정 파일이 얼마나 심하게 파편화되었는지 출력

fsck.ext2

기본적으로 ext2 파일 시스템을 검사하는 e2fsck에 대한 하드 링크

fsck.ext3

기본적으로 ext3 파일 시스템을 검사하는 e2fsck에 대한 하드 링크

fsck.ext4

기본적으로 ext4 파일 시스템을 검사하는 e2fsck에 대한 하드 링크

logsave

명령의 출력을 로그 파일에 저장

lsattr

두 번째 확장 파일 시스템에 있는 파일 속성 나열

mk_cmds

명령 이름 및 도움말 메시지의 테이블을 libss 하위 시스템 라이브러리와 함께 사용하기 적합한 C 소스 파일로 변환

mke2fs

지정된 장치에 ext2ext3 파일 시스템 생성

mkfs.ext2

기본적으로 ext2 파일 시스템을 생성하는 mke2fs에 대한 하드 링크

mkfs.ext3

기본적으로 ext3 파일 시스템을 생성하는 mke2fs에 대한 하드 링크

mkfs.ext4

기본적으로 ext4 파일 시스템을 생성하는 mke2fs에 대한 하드 링크

mklost+found

ext2 파일 시스템에 lost+found 디렉토리를 생성하는 데 사용; e2fsck의 작업을 가볍게 하기 위해 디스크 블록을 이 디렉토리에 사전 할당함

resize2fs

ext2 파일 시스템을 확장하거나 축소하는 데 사용

tune2fs

ext2 파일 시스템에서 조정 가능한 파일 시스템 매개 변수 조정

libcom_err

일반 오류 표시 루틴

libe2p

dumpe2fs, chattr, lsattr에서 사용

libext2fs

유저-레벨 프로그램이 ext2 파일 시스템을 조작할 수 있게 하는 루틴 포함

libss

debugfs에서 사용