6.74. Util-linux-2.35.1

Util-linux 패키지는 다양한 유틸리티 프로그램을 포함하고 있다. 그 중에는 파일 시스템, 콘솔, 파티션 및 메시지를 처리하는 유틸리티들이 있다.

예상 빌드 시간: 1.1 SBU
필요 디스크 공간: 289 MB

6.74.1. FHS 준수 사항

FHS는 adjtime 파일을 일반적인 /etc 디렉토리 대신 /var/lib/hwclock 디렉토리에 둘 것을 권장한다. 먼저 hwclock 프로그램이 저장될 디렉토리를 생성한다:

mkdir -pv /var/lib/hwclock

6.74.2. Util-linux 설치

Util-linux 컴파일을 준비한다:

./configure ADJTIME_PATH=/var/lib/hwclock/adjtime   \
            --docdir=/usr/share/doc/util-linux-2.35.1 \
            --disable-chfn-chsh  \
            --disable-login      \
            --disable-nologin    \
            --disable-su         \
            --disable-setpriv    \
            --disable-runuser    \
            --disable-pylibmount \
            --disable-static     \
            --without-python     \
            --without-systemd    \
            --without-systemdsystemunitdir

--disable과 --without 옵션들은 LFS에 없는 패키지가 필요하거나 다른 패키지에 의해 설치된 프로그램과 호환되지 않는 구성 요소의 빌드에 대한 경고를 무시한다.

패키지를 컴파일한다:

make

테스트를 원한다면 root가 아닌 유저로 실행하라:

[주의]

주의

테스트 스위트를 root 유저로 실행하는 것은 시스템에 피해를 끼칠 수 있다. 이를 실행하려면, 커널에 대한 CONFIG_SCSI_DEBUG 옵션을 반드시 실행 중인 시스템에서 사용할 수 있어야 하며, 반드시 모듈로 빌드되어야 한다. 커널에 포함시켜서 빌드하면 부팅이 되지 않는다. 완전한 테스트를 위해선 다른 BLFS 패키지를 설치해야 한다. 원한다면 이 테스트는 완성된 LFS 시스템으로 재부팅해서 다음 명령으로 실행할 수 있다:

bash tests/run.sh --srcdir=$PWD --builddir=$PWD
chown -Rv nobody .
su nobody -s /bin/bash -c "PATH=$PATH make -k check"

패키지를 설치한다:

make install

6.74.3. Util-linux의 내용

설치된 프로그램들: addpart, agetty, blkdiscard, blkid, blkzone, blockdev, cal, cfdisk, chcpu, chmem, choom, chrt, col, colcrt, colrm, column, ctrlaltdel, delpart, dmesg, eject, fallocate, fdformat, fdisk, fincore, findfs, findmnt, flock, fsck, fsck.cramfs, fsck.minix, fsfreeze, fstrim, getopt, hexdump, hwclock, i386, ionice, ipcmk, ipcrm, ipcs, isosize, kill, last, lastb (last로 링크), ldattach, linux32, linux64, logger, look, losetup, lsblk, lscpu, lsipc, lslocks, lslogins, lsmem, lsns, mcookie, mesg, mkfs, mkfs.bfs, mkfs.cramfs, mkfs.minix, mkswap, more, mount, mountpoint, namei, nsenter, partx, pivot_root, prlimit, raw, readprofile, rename, renice, resizepart, rev, rfkill, rtcwake, script, scriptreplay, setarch, setsid, setterm, sfdisk, sulogin, swaplabel, swapoff (swapon로 링크), swapon, switch_root, taskset, ul, umount, uname26, unshare, utmpdump, uuidd, uuidgen, uuidparse, wall, wdctl, whereis, wipefs, x86_64, 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.35.1, /var/lib/hwclock

요약

addpart

리눅스 커널에 새 파티션 알림

agetty

tty 포트를 열고, 로그인 이름을 입력하라는 메시지를 표시한 다음, login 프로그램을 호출

blkdiscard

장치의 섹터 무시

blkid

블록 장치 속성을 찾아 출력하는 명령줄 유틸리티

blkzone

지정된 블록 장치에서 zone 명령 실행

blockdev

명령줄에서 블록 장치 ioctl을 호출

cal

간단한 달력을 표시

cfdisk

지정된 장치의 파티션 테이블 조작

chcpu

CPU 상태 수정

chmem

메모리 설정

choom

OOM-killer 점수를 표시하고 조정

chrt

프로세스의 실시간 속성 조작

col

Reverse line feeds를 필터링함

colcrt

오버 스트라이킹(overstriking) 및 하프 라인(half-lines)과 같은 일부 기능이 없는 터미널에 대한 nroff 출력 필터링

colrm

지정된 열 필터링

column

지정된 파일을 여러 열로 서식화

ctrlaltdel

Ctrl+Alt+Del 키 조합의 기능을 하드 또는 소프트 리셋으로 설정

delpart

리눅스 커널에서 파티션을 제거하도록 요청

dmesg

커널 부트 메시지 덤프

eject

이동식 미디어 추출

fallocate

파일의 공간을 사전 할당

fdformat

플로피 디스크를 로우 레벨로 포맷

fdisk

지정된 장치의 파티션 테이블 조작

fincore

코어에 있는 파일 내용의 페이지 수를 계산

findfs

레이블이나 Universally Unique Identifier (UUID)를 사용하여 파일 시스템 검색

findmnt

mountinfo, fstab 및 mtab 파일 작업을 위한 libmount 라이브러리에 대한 명령줄 인터페이스

flock

파일을 잠근 다음 잠금을 유지한 상태에서 명령 실행

fsck

파일 시스템을 확인하고 복구하는 데 사용

fsck.cramfs

지정된 장치의 Cramfs 파일 시스템에서 일관성 검사 수행

fsck.minix

지정된 장치의 Minix 파일 시스템에서 일관성 검사 수행

fsfreeze

FIFREEZE/FITHAW ioctl 커널 드라이버 작업을 다루는 매우 간단한 래퍼

fstrim

마운트된 파일 시스템에서 사용되지 않는 블록 삭제

getopt

지정된 명령줄의 옵션 구문 파싱

hexdump

지정된 파일을 16진수 또는 다른 지정된 형식으로 덤프

hwclock

Real-Time Clock (RTC) 또는 Basic Input-Output System (BIOS) 클럭이라고도 하는 시스템의 하드웨어 시계를 읽거나 설정 clock

i386

setarch로의 심볼릭 링크

ionice

프로그램에 대한 io 스케줄링 클래스 및 우선 순위를 가져오거나 설정

ipcmk

다양한 IPC 리소스 생성

ipcrm

지정된 프로세스 간 통신(Inter-Process Communication, IPC) 리소스 제거

ipcs

IPC 상태 정보 제공

isosize

iso9660 파일 시스템의 크기를 출력

kill

프로세스에 신호 전송

last

/var/log/wtmp 파일을 검색하고 마지막으로 로그인(및 로그아웃)한 유저를 표시; 시스템 부팅, 종료 및 run-level 변경 사항도 표시

lastb

/var/log/btmp 로그인 시 실패한 로그인 시도 표시

ldattach

직렬 장치 파일에 송/수신 데이터를 처리하기 위한 회선을 첨부

linux32

setarch로의 심볼릭 링크

linux64

setarch로의 심볼릭 링크

logger

시스템 로그에 지정된 메시지 입력

look

지정된 문자열로 시작하는 행 표시

losetup

루프 장치 설정 및 제어

lsblk

모든 또는 선택한 블록 장치에 대한 정보를 트리 형식으로 나열

lscpu

CPU 아키텍처 정보 출력

lsipc

시스템에서 현재 사용 중인 IPC 설비에 대한 정보 출력

lslocks

로컬 시스템 잠금(locks) 나열

lslogins

유저, 그룹 및 시스템 계정에 대한 정보 나열

lsmem

가용한 메모리의 범위와 작동 상태를 나열

lsns

네임스페이스 나열

mcookie

xauth용 매직 쿠키 생성 (128-bit 랜덤 16진수)

mesg

다른 사용자가 현재 사용자의 터미널로 메시지를 보낼 수 있는지의 여부 제어

mkfs

장치에 파일 시스템 구축(대개 하드 디스크 파티션)

mkfs.bfs

Santa Cruz Operations (SCO) bfs 파일 시스템 생성

mkfs.cramfs

Cramfs 파일 시스템 생성

mkfs.minix

Minix 파일 시스템 생성

mkswap

스왑 영역으로 사용될 지정된 장치나 파일을 초기화

more

한 번에 한 화면씩 텍스트를 페이징하는 필터

mount

지정된 장치의 파일 시스템을 파일 시스템 트리의 지정된 디렉토리에 연결

mountpoint

디렉토리가 마운트 지점인지 확인

namei

지정된 경로 이름의 심볼릭 링크를 표시

nsenter

다른 프로세스의 네임스페이스로 프로그램 실행

partx

커널에 디스크 파티션의 존재와 순번을 인식시킴

pivot_root

지정된 파일 시스템을 현재 프로세스의 새 root 파일 시스템으로 만듬

prlimit

프로세스의 리소스 제한 설정

raw

리눅스 raw 장치를 블록 장치에 바인딩

readprofile

커널 프로파일링 정보를 읽음

rename

지정된 파일의 이름을 변경하고 지정된 문자열을 다른 문자열로 대체

renice

프로세스 실행 우선순위 변경

resizepart

리눅스 커널에 파티션 크기 조정 요청

rev

지정된 파일의 행 반전

rkfill

무선 장치 활성화 및 비활성화 도구

rtcwake

지정된 절전 해제 시간까지 시스템 절전 상태로 들어가는 데 사용

script

터미널 세션의 타입스크립트 생성

scriptreplay

타이밍 정보를 사용해 타입스크립트 재생

setarch

새로운 프로그램 환경에서 보고된 아키텍쳐 변경 및 특성 플래그 설정

setsid

지정된 프로그램을 새 세션에서 실행

setterm

터미널 특성 설정

sfdisk

디스크 파티션 테이블 설정 도구

sulogin

root를 로그인할 수 있게 함; 일반적으로 시스템이 단일 사용자 모드로 전환될 때 init에 의해 호출됨

swaplabel

스왑 영역 UUID 및 레이블 변경

swapoff

페이징 및 스와핑을 위한 장치 및 파일 비활성화

swapon

페이징 및 스와핑을 위한 장치 및 파일 활성화, 현재 사용 중인 장치와 파일 나열

switch_root

마운트 트리의 root로 다른 파일 시스템으로 전환

tailf

로그 파일의 증가를 추적; 로그 파일의 마지막 10줄을 표시한 다음 로그 파일의 새 항목들을 계속 출력

taskset

프로세스의 CPU 선호도 검색 또는 설정

ul

밑줄을 터미널에서 밑줄을 나타내는 이스케이프 시퀀스로 변환하는 필터

umount

시스템의 파일 트리에서 파일 시스템 연결 해제

uname26

setarch로의 심볼릭 링크

unshare

상위 네임스페이스와 공유되지 않은 일부 네임스페이스로 프로그램 실행

utmpdump

지정된 로그인 파일의 내용을 보다 사용하기 쉬운 형식으로 표시

uuidd

UUID 라이브러리에서 안전하고 보장된 고유의 방식으로 시간 기반 UUID를 생성하기 위해 사용되는 데몬

uuidgen

새 UUID 생성. 각각의 새 UUID는 과거나 미래에 로컬 시스템과 다른 시스템에서 생성된 모든 UUID 중 고유한 값을 가진다.

uuidparse

고유 식별자를 파싱하는 유틸리티

wall

파일 내용이나, 기본적으로는 표준 입력을 현재 로그인한 모든 유저의 터미널에 출력

wdctl

하드웨어 watchdog 상태 표시

whereis

지정된 명령에 대한 바이너리, 출처, man 페이지의 위치를 출력

wipefs

장치에서 파일 시스템 서명 제거

x86_64

setarch로의 심볼릭 링크

zramctl

zram(압축된 램디스크) 장치를 설정하고 제어하는 프로그램

libblkid

장치 식별 및 토큰 추출 루틴 포함

libfdisk

파티션 테이블을 조작하는 루틴 포함

libmount

블록 장치 마운트 및 마운트 해제 루틴 포함

libsmartcols

표 형식의 화면 출력 지원 루틴 포함

libuuid

로컬 시스템 외부에서 액세스할 수 있는 개체의 고유 식별자를 생성하는 루틴 포함