sudo
가 설치되기 전까지 유용하게 사용 가능합니다.Linux From Scratch - Version 12.1-systemd | ||
---|---|---|
Chapter 8. Instqlling Basic System Software | ||
이전 | 위로 / 처음으로 | 다음 |
Meson-1.3.2 | Check-0.15.2 |
Coreutils 패키지에는 모든 운영 체제에 필요한 기본 유틸리티 프로그램이 포함되어 있습니다.
POSIX에서는 멀티바이트 로캘에서도 Coreutils의 프로그램이 문자 경계를 올바르게 인식해야 합니다. 다음 패치는 이 규정 미준수 및 기타 국제화 관련 버그를 수정합니다.
patch -Np1 -i ../coreutils-9.4-i18n-1.patch
참고
이 패치에서 많은 버그가 발견되었습니다. Coreutils 유지 관리자에게 새로운 버그를 보고할 때는 먼저 이 패치 없이도 재현 가능한 버그인지 확인해 주세요.
split 유틸리티의 보안 취약점을 수정합니다.
sed -e '/n_out += n_hold/,+4 s|.*bufsize.*|//&|' \
-i src/split.c
Coreutils 패키지를 컴파일할 준비를 합니다.
autoreconf -fiv
FORCE_UNSAFE_CONFIGURE=1 ./configure \
--prefix=/usr \
--enable-no-install-program=kill,uptime
패키지를 컴파일합니다.
make
테스트 스위트를 실행하지 않는 경우 “패키지 설치”로 건너뛰세요.
이제 테스트 스위트를 실행할 준비가 되었습니다. 먼저 root 사용자로 테스트를 실행합니다.
make NON_ROOT_USERNAME=tester check-root
나머지 테스트는 tester 사용자로 실행하겠습니다. 특정 테스트에서는 사용자가 둘 이상의 그룹의 구성원이어야 합니다. 이러한 테스트가 건너뛰지 않도록 임시 그룹을 추가하고 사용자 tester를 임시 그룹의 일부로 만드세요.
groupadd -g 102 dummy -U tester
root가 아닌 사용자도 테스트를 컴파일하고 실행할 수 있도록 일부 권한을 수정합니다.
chown -R tester .
테스트를 진행합니다.1)
su tester -c "PATH=$PATH make RUN_EXPENSIVE_TESTS=yes check"
임시 그룹을 삭제합니다.
groupdel dummy
패키지를 설치합니다.
make install
FHS에 부합하는 위치로 프로그램을 이동합니다.
mv -v /usr/bin/chroot /usr/sbin
mv -v /usr/share/man/man1/chroot.1 /usr/share/man/man8/chroot.8
sed -i 's/"1"/"8"/' /usr/share/man/man8/chroot.8
LS_COLOR
환경 변수를 설정하는 명령을 출력합니다.y
또는 지정된 문자열을 반복적으로 출력합니다.—-
사소한 정정
2024년 5월 24일 기준
Coreutils 테스트 스위트에서 test-getlogin 및 test/tty/tty.sh라는 이름의 두 가지 테스트가 실패하는 것으로 알려져 있지만 책에는 언급되어 있지 않습니다. 테스트 스위트를 실행할 때 표준 입력을 리디렉션하여 이러한 오류를 억제할 수 있습니다.
sudo
가 설치되기 전까지 유용하게 사용 가능합니다.