Linux From Scratch - Version 12.1-systemd | ||
---|---|---|
Chapter 8. Installing Basic System Software | ||
이전 | 위로 / 처음으로 | 다음 |
Procps-ng-4.0.4 | E2fsprogs-1.47.0 |
8.79. Util-linux-2.39.3
Util-linux 패키지에는 기타 유틸리티 프로그램이 포함되어 있습니다. 여기에는 파일 시스템, 콘솔, 파티션 및 메시지를 처리하기 위한 유틸리티가 포함되어 있습니다.
- 빌드 시간: 0.5 SBU
- 디스크 공간: 313 MB
8.79.1. Util-linux 설치
먼저 문제가 발생하는 테스트를 비활성화합니다.
sed -i '/test_mkfds/s/^/#/' tests/helpers/Makemodule.am
Util-linux 컴파일을 준비합니다.
./configure --bindir=/usr/bin \
--libdir=/usr/lib \
--runstatedir=/run \
--sbindir=/usr/sbin \
--disable-chfn-chsh \
--disable-login \
--disable-nologin \
--disable-su \
--disable-setpriv \
--disable-runuser \
--disable-pylibmount \
--disable-static \
--without-python \
ADJTIME_PATH=/var/lib/hwclock/adjtime \
--docdir=/usr/share/doc/util-linux-2.39.3
disable 및 –without 옵션을 사용하면 LFS에 없는 패키지가 필요하거나 다른 패키지로 설치된 프로그램과 호환되지 않는 빌드 구성 요소에 대한 경고가 표시되지 않습니다.
패키지를 컴파일합니다:
make
원하는 경우 루트가 아닌 사용자로 테스트 스위트를 실행합니다.
경고
테스트 스위트를 root 사용자로 실행하면 시스템에 해로울 수 있습니다. 실행하려면 현재 실행 중인 시스템에서 커널에 대한 CONFIG_SCSI_DEBUG 옵션을 사용할 수 있어야 하며 모듈로 빌드해야 합니다. 커널에 빌드하면 부팅되지 않습니다. 완전한 커버리지를 위해 다른 BLFS 패키지를 설치해야 합니다. 원하는 경우, 이 테스트는 완성된 LFS 시스템으로 부팅하여 실행할 수 있습니다:
bash tests/run.sh --srcdir=$PWD --builddir=$PWD
chown -R tester .
su tester -c "make -k check"
호스트의 커널에 CONFIG_CRYPTO_USER_API_HASH
옵션이 활성화되어 있지 않거나 SHA256 구현을 제공하는 옵션(예: CONFIG_CRYPTO_SHA256
또는 CPU가 Supplemental SSE3를 지원하는 경우 CONFIG_CRYPTO_SHA256_SSSE3
)이 활성화되지 않으면 하드링크 테스트가 실패합니다. 또한 misc: mbsencode의 하위 테스트 2개와 script: replay의 하위 테스트 1개가 실패하는 것으로 알려져 있습니다.
패키지를 설치합니다.
make install
8.79.2. Util-linux 패키지 구성
- 설치된 프로그램:
addpart, agetty, blkdiscard, blkid, blkzone, blockdev, cal, cfdisk, chcpu, chmem, choom, chrt, col, colcrt, colrm, column, ctrlaltdel, delpart, dmesg, eject, fallocate, fdisk, fincore, findfs, findmnt, flock, fsck, fsck.cramfs, fsck.minix, fsfreeze, fstrim, getopt, hardlink, hexdump, hwclock, i386 (link to setarch), ionice, ipcmk, ipcrm, ipcs, irqtop, isosize, kill, last, lastb (link to last), ldattach, linux32 (link to setarch), linux64 (link to setarch), logger, look, losetup, lsblk, lscpu, lsipc, lsirq, lsfd, lslocks, lslogins, lsmem, lsns, mcookie, mesg, mkfs, mkfs.bfs, mkfs.cramfs, mkfs.minix, mkswap, more, mount, mountpoint, namei, nsenter, partx, pivot_root, prlimit, readprofile, rename, renice, resizepart, rev, rfkill, rtcwake, script, scriptlive, scriptreplay, setarch, setsid, setterm, sfdisk, sulogin, swaplabel, swapoff, swapon, switch_root, taskset, uclampset, ul, umount, uname26 (link to setarch), unshare, utmpdump, uuidd, uuidgen, uuidparse, wall, wdctl, whereis, wipefs, x86_64 (link to setarch), 및 zramctl - 설치된 라이브러리:
libblkid.so, libfdisk.so, libmount.so, libsmartcols.so, 및 libuuid.so - 설치된 디렉토리:
/usr/include/blkid, /usr/include/libfdisk, /usr/include/libmount, /usr/include/libsmartcols, /usr/include/uuid, /usr/share/doc/util-linux-2.39.3, and /var/lib/hwclock
간략한 설명
- addpart
리눅스 커널에 새 파티션을 알립니다. - agetty
tty 포트를 열고 로그인 이름을 묻는 메시지를 표시한 다음 login 프로그램을 호출합니다. - blkdiscard
장치에서 섹터를 삭제합니다 - blkid
블록 장치 속성을 찾아 인쇄하는 명령줄 유틸리티 - blkzone
구역화된 스토리지 블록 디바이스를 관리하는 데 사용됩니다. - blockdev
사용자가 명령줄에서 블록 디바이스 ioctls를 호출할 수 있도록 합니다. - cal
간단한 캘린더를 표시합니다. - cfdisk
주어진 장치의 파티션 테이블을 조작합니다. - chcpu
CPU의 상태를 수정합니다 - chmem
메모리를 구성합니다 - choom
Linux의 메모리가 부족할 때 어떤 프로세스를 먼저 종료할지 결정하는 데 사용되는 OOM 킬러 점수를 표시하고 조정합니다. - chrt
프로세스의 실시간 속성을 조작합니다. - col
역방향 줄 바꿈 필터링 - colcrt
오버스트링, 반줄 등 일부 기능이 없는 터미널에 대해 nroff 출력을 필터링합니다. - colrm
지정된 열을 필터링합니다. - column
주어진 파일을 여러 열로 포맷합니다. - ctrlaltdel
Ctrl+Alt+Del 키 조합의 기능을 하드 리셋 또는 소프트 리셋으로 설정합니다. - delpart
Linux 커널에 파티션을 제거하도록 요청합니다. - dmesg
커널 부팅 메시지를 덤프합니다 - eject
이동식 미디어를 꺼냅니다 - fallocate
파일에 공간을 미리 할당합니다. - fdisk
지정된 장치의 파티션 테이블을 조작합니다. - fincore
코어에서 파일 콘텐츠의 페이지 수를 계산합니다. - findfs
레이블 또는 UUID(범용 고유 식별자)로 파일 시스템을 찾습니다. - findmnt
mountinfo, fstab, mtab 파일을 다루기 위한 libmount 라이브러리에 대한 명령줄 인터페이스입니다. - flock
파일 잠금을 획득한 다음 잠금이 유지된 상태에서 명령을 실행합니다. - fsck
파일 시스템을 검사하고 선택적으로 복구하는 데 사용됩니다. - fsck.cramfs
지정된 디바이스의 Cramfs 파일 시스템에서 일관성 검사를 수행합니다. - fsck.minix
지정된 장치에서 Minix 파일 시스템에서 일관성 검사를 수행합니다. - fsfreeze
FIFREEZE/FITHAW ioctl 커널 드라이버 작업을 위한 매우 간단한 래퍼입니다. - fstrim
마운트된 파일 시스템에서 사용되지 않는 블록을 삭제합니다. - getopt
주어진 명령줄의 옵션을 파싱합니다 - hardlink
하드 링크를 생성하여 중복 파일을 통합합니다. - hexdump
주어진 파일을 16진수, 10진수, 8진수 또는 ASCII로 덤프합니다. - hwclock
실시간 시계(RTC) 또는 기본 입출력 시스템(BIOS) 시계라고도 하는 시스템의 하드웨어 클럭을 읽거나 설정합니다. - i386
setarch에 대한 심볼릭 링크 - ionice
프로그램의 io 스케줄링 클래스 및 우선순위를 가져오거나 설정합니다. - ipcmk
다양한 IPC 리소스를 생성합니다. - ipcrm
주어진 프로세스 간 통신(IPC1)) 리소스를 제거합니다. - ipcs
IPC 상태 정보 제공 - irqtop
커널 인터럽트 카운터 정보를 top(1) 스타일 보기로 표시합니다. - isosize
iso9660 파일 시스템의 크기를 확인합니다. - kill
프로세스에 신호를 보냅니다. - last
마지막으로 로그인(및 로그아웃)한 사용자를 표시하고/var/log/wtmp
파일을 다시 검색하며 시스템 부팅, 종료 및 실행 수준 변경 사항도 표시합니다. - lastb
/var/log/btmp
에서 로그인한 실패한 로그인 시도를 표시합니다. - ldattach
시리얼에 대한 규율을 첨부합니다. - linux32
setarch에 대한 심볼릭 링크 - linux64
setarch에 대한 심볼릭 링크 - logger
주어진 메시지를 시스템 로그에 입력합니다. - look
주어진 문자열로 시작하는 줄을 표시합니다. - losetup
루프 장치를 설정하고 제어합니다. - lsblk
모든 또는 선택한 블록 장치에 대한 정보를 트리 형식으로 나열합니다. - lscpu
CPU 아키텍처 정보를 인쇄합니다 - lsfd
열린 파일에 대한 정보를 표시하고,lsof
를 대체합니다. - lsipc
현재 시스템에서 사용 중인 IPC 시설에 대한 정보를 출력합니다. - lsirq
커널 인터럽트 카운터 정보를 표시합니다. - lslocks
로컬 시스템 잠금을 나열합니다 - lslogins
사용자, 그룹 및 시스템 계정에 대한 정보를 나열합니다. - lsmem
온라인 상태와 함께 사용 가능한 메모리 범위를 나열합니다. - lsns
네임스페이스를 나열합니다 - mcookie
xauth에 대한 매직 쿠키(128비트 임의 16진수)를 생성합니다. - mesg
다른 사용자가 현재 사용자의 터미널로 메시지를 보낼 수 있는지 여부를 제어합니다. - mkfs
장치(일반적으로 하드 디스크 파티션)에 파일 시스템을 구축합니다. - mkfs.bfs
산타크루즈 운영(SCO) bfs 파일 시스템을 생성합니다. - mkfs.cramfs
cramfs 파일 시스템을 만듭니다. - mkfs.minix
Minix 파일 시스템을 만듭니다. - mkswap
스왑 영역으로 사용할 지정된 장치 또는 파일을 초기화합니다. - more
한 번에 한 화면씩 텍스트를 페이징하는 필터 - mount
지정된 장치의 파일 시스템을 파일 시스템 트리의 지정된 디렉토리에 연결합니다. - mountpoint
디렉터리가 마운트 지점인지 확인합니다. - namei
지정된 경로의 심볼릭 링크를 표시합니다. - nsenter
다른 프로세스의 네임스페이스를 가진 프로그램을 실행합니다. - partx
커널에 디스크 파티션의 존재와 번호에 대해 알려줍니다. - pivot_root
주어진 파일 시스템을 현재 프로세스의 새 루트 파일 시스템으로 만듭니다. - prlimit
프로세스의 리소스 제한을 가져오고 설정합니다. - readprofile
커널 프로파일링 정보를 읽습니다 - rename
주어진 문자열을 다른 문자열로 바꾸어 주어진 파일의 이름을 바꿉니다. - renice
실행 중인 프로세스의 우선순위를 변경합니다. - resizepart
리눅스 커널에 파티션 크기를 조정하도록 요청합니다. - rev
주어진 파일의 줄을 뒤집습니다. - rfkill
무선 장치를 활성화 및 비활성화하는 도구 - rtcwake
지정된 시간까지 시스템 절전 상태로 전환하는 데 사용됩니다. - script
터미널 세션의 타입스크립트를 만듭니다. - scriptlive
타이밍 정보를 사용하여 세션 타입스크립트를 다시 실행합니다. - scriptreplay
타이밍 정보를 사용하여 타입스크립트를 재생합니다. - setarch
새 프로그램 환경에서 보고된 아키텍처를 변경하고 특성 플래그를 설정합니다. - setsid
새 세션에서 주어진 프로그램을 실행합니다. - setterm
터미널 속성을 설정합니다 - sfdisk
디스크 파티션 테이블 조작기 - sulogin
루트의 로그인을 허용합니다. 일반적으로 시스템이 단일 사용자 모드로 전환될 때 init에 의해 호출됩니다. - swaplabel
스왑 영역의 UUID와 레이블을 변경합니다. - swapoff
페이징 및 스왑을 위해 장치와 파일을 비활성화합니다. - swapon
페이징 및 스왑을 위한 장치 및 파일을 활성화하고 현재 사용 중인 장치 및 파일을 나열합니다. - switch_root
마운트 트리의 루트로 다른 파일 시스템으로 전환합니다. - taskset
프로세스의 CPU 선호도를 검색하거나 설정합니다. - uclampset
시스템 또는 프로세스의 사용률 클램핑 속성을 조작합니다. - ul
밑줄을 사용 중인 터미널의 밑줄을 나타내는 이스케이프 시퀀스로 변환하는 필터입니다. - umount
시스템의 파일 트리에서 파일 시스템 연결을 끊습니다. - uname26
setarch에 대한 심볼릭 링크 - unshare
부모로부터 일부 네임스페이스를 공유하지 않은 프로그램을 실행합니다. - utmpdump
주어진 로그인 파일의 내용을 읽기 편한 형식으로 표시합니다. - uuidd
UUID 라이브러리에서 안전하고 고유성이 보장된 방식으로 시간 기반 UUID를 생성하는 데 사용되는 데몬. - uuidgen
새 UUID를 생성합니다. 각각의 새 UUID는 로컬 시스템과 다른 시스템에서 과거와 미래에 생성된 모든 UUID 중에서 매우 높은 확률로 고유할 가능성이 있는 난수입니다(2128개의 UUID 가능). - uuidparse
고유 식별자를 파싱하는 유틸리티 - wall
현재 로그인한 모든 사용자의 터미널에 파일 내용 또는 기본적으로 표준 입력을 표시합니다. - wdctl
하드웨어 감시 상태를 표시합니다. - whereis
주어진 명령에 대한 바이너리, 소스 및 매뉴얼 페이지 파일의 위치를 보고합니다. - wipefs
장치에서 파일 시스템 서명을 지웁니다. - x86_64
setarch에 대한 심볼릭 링크 - zramctl
zram(압축 램 디스크) 장치를 설정하고 제어하는 프로그램 - libblkid
장치 식별 및 토큰 추출을 위한 루틴을 포함합니다. - libfdisk
파티션 테이블 조작을 위한 루틴이 포함되어 있습니다. - libmount
블록 장치 마운트 및 마운트 해제를 위한 루틴이 포함되어 있습니다. - libsmartcols
표 형식의 화면 출력을 보조하는 루틴을 포함합니다 - libuuid
로컬 시스템 외부에서 접근할 수 있는 객체에 대한 고유 식별자를 생성하는 루틴이 포함되어 있습니다.