차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
linuxfromscratch:12.1:127-coreutils-9.4 [2024/06/11 21:03] – [8.57. Coreutils-9.4] baecy | linuxfromscratch:12.1:127-coreutils-9.4 [2024/06/18 01:57] (현재) – [8.57.2. Coreutils 패키지 구성] baecy | ||
---|---|---|---|
줄 16: | 줄 16: | ||
------ | ------ | ||
- | ===== 8.57.1. Coreutils 설치 ===== | + | ==== 8.57.1. Coreutils 설치 ==== |
POSIX에서는 멀티바이트 로캘에서도 Coreutils의 프로그램이 문자 경계를 올바르게 인식해야 합니다. 다음 패치는 이 규정 미준수 및 기타 국제화 관련 버그를 수정합니다. | POSIX에서는 멀티바이트 로캘에서도 Coreutils의 프로그램이 문자 경계를 올바르게 인식해야 합니다. 다음 패치는 이 규정 미준수 및 기타 국제화 관련 버그를 수정합니다. | ||
+ | |||
<code bash> | <code bash> | ||
patch -Np1 -i ../ | patch -Np1 -i ../ | ||
</ | </ | ||
+ | |||
<WRAP info center round 90%> | <WRAP info center round 90%> | ||
**참고** \\ 이 패치에서 많은 버그가 발견되었습니다. Coreutils 유지 관리자에게 새로운 버그를 보고할 때는 먼저 이 패치 없이도 재현 가능한 버그인지 확인해 주세요. | **참고** \\ 이 패치에서 많은 버그가 발견되었습니다. Coreutils 유지 관리자에게 새로운 버그를 보고할 때는 먼저 이 패치 없이도 재현 가능한 버그인지 확인해 주세요. | ||
</ | </ | ||
- | split 유틸리티의 보안 취약점을 수정합니다. | + | |
+ | **split** 유틸리티의 보안 취약점을 수정합니다. | ||
<code bash> | <code bash> | ||
sed -e '/ | sed -e '/ | ||
-i src/split.c | -i src/split.c | ||
</ | </ | ||
+ | |||
Coreutils 패키지를 컴파일할 준비를 합니다. | Coreutils 패키지를 컴파일할 준비를 합니다. | ||
+ | |||
<code bash> | <code bash> | ||
autoreconf -fiv | autoreconf -fiv | ||
줄 36: | 줄 43: | ||
--enable-no-install-program=kill, | --enable-no-install-program=kill, | ||
</ | </ | ||
- | ==== 설정 | + | |
+ | === configure | ||
* **autoreconf** \\ 국제화 패치로 빌드 시스템이 수정되었으므로 구성 파일을 다시 생성해야 합니다. | * **autoreconf** \\ 국제화 패치로 빌드 시스템이 수정되었으므로 구성 파일을 다시 생성해야 합니다. | ||
* **force_unsafe_configure=1** \\ 루트 사용자가 패키지를 빌드할 수 있습니다. | * **force_unsafe_configure=1** \\ 루트 사용자가 패키지를 빌드할 수 있습니다. | ||
줄 42: | 줄 51: | ||
패키지를 컴파일합니다. | 패키지를 컴파일합니다. | ||
+ | |||
<code bash> | <code bash> | ||
make | make | ||
</ | </ | ||
+ | |||
테스트 스위트를 실행하지 않는 경우 " | 테스트 스위트를 실행하지 않는 경우 " | ||
이제 테스트 스위트를 실행할 준비가 되었습니다. 먼저 //root// 사용자로 테스트를 실행합니다. | 이제 테스트 스위트를 실행할 준비가 되었습니다. 먼저 //root// 사용자로 테스트를 실행합니다. | ||
+ | |||
<code bash> | <code bash> | ||
make NON_ROOT_USERNAME=tester check-root | make NON_ROOT_USERNAME=tester check-root | ||
</ | </ | ||
+ | |||
나머지 테스트는 //tester// 사용자로 실행하겠습니다. 특정 테스트에서는 사용자가 둘 이상의 그룹의 구성원이어야 합니다. 이러한 테스트가 건너뛰지 않도록 임시 그룹을 추가하고 사용자 // | 나머지 테스트는 //tester// 사용자로 실행하겠습니다. 특정 테스트에서는 사용자가 둘 이상의 그룹의 구성원이어야 합니다. 이러한 테스트가 건너뛰지 않도록 임시 그룹을 추가하고 사용자 // | ||
+ | |||
<code bash> | <code bash> | ||
groupadd -g 102 dummy -U tester | groupadd -g 102 dummy -U tester | ||
</ | </ | ||
- | //root가 아닌 사용자//도 테스트를 컴파일하고 실행할 수 있도록 일부 권한을 수정합니다. | + | |
+ | //root//가 아닌 사용자도 테스트를 컴파일하고 실행할 수 있도록 일부 권한을 수정합니다. | ||
<code bash> | <code bash> | ||
chown -R tester . | chown -R tester . | ||
</ | </ | ||
+ | |||
테스트를 진행합니다.((아래의 구문을 익혀두면 '' | 테스트를 진행합니다.((아래의 구문을 익혀두면 '' | ||
+ | |||
<code bash> | <code bash> | ||
su tester -c " | su tester -c " | ||
</ | </ | ||
+ | |||
임시 그룹을 삭제합니다. | 임시 그룹을 삭제합니다. | ||
+ | |||
<code bash> | <code bash> | ||
- | gruopdel | + | groupdel |
</ | </ | ||
+ | |||
패키지를 설치합니다. | 패키지를 설치합니다. | ||
+ | |||
<code bash> | <code bash> | ||
make install | make install | ||
</ | </ | ||
+ | |||
FHS에 부합하는 위치로 프로그램을 이동합니다. | FHS에 부합하는 위치로 프로그램을 이동합니다. | ||
+ | |||
<code bash> | <code bash> | ||
mv -v / | mv -v / | ||
줄 77: | 줄 101: | ||
sed -i ' | sed -i ' | ||
</ | </ | ||
- | ===== 8.57.2 Coreutils 내용 ===== | ||
- | * **설치된 프로그램: | + | ---- |
+ | ==== 8.57.2. Coreutils 패키지 구성 ==== | ||
+ | |||
+ | * **설치된 프로그램: | ||
* **설치된 라이브러리: | * **설치된 라이브러리: | ||
+ | * **설치된 디렉토리: | ||
- | * **설치한 디렉토리: | + | === 간략한 설명 === |
- | ==== 간략한 설명 ==== | ||
* **[** \\ 실제 명령인 /usr/bin/[; **test** 명령의 동의어입니다. | * **[** \\ 실제 명령인 /usr/bin/[; **test** 명령의 동의어입니다. | ||
* **base32** \\ base32 사양(RFC 4648)에 따라 데이터를 인코딩 및 디코딩합니다. | * **base32** \\ base32 사양(RFC 4648)에 따라 데이터를 인코딩 및 디코딩합니다. | ||
줄 97: | 줄 123: | ||
* **chmod** \\ 각 파일의 권한을 지정된 모드로 변경합니다. 모드는 변경할 내용을 기호로 표현하거나 새 권한을 나타내는 8진수일 수 있습니다. | * **chmod** \\ 각 파일의 권한을 지정된 모드로 변경합니다. 모드는 변경할 내용을 기호로 표현하거나 새 권한을 나타내는 8진수일 수 있습니다. | ||
* **chown** \\ 파일 및 디렉터리의 사용자 및 그룹 소유권을 변경합니다. | * **chown** \\ 파일 및 디렉터리의 사용자 및 그룹 소유권을 변경합니다. | ||
- | * **chroot** \\ 지정한 디렉터리를 "/" | + | * **chroot** \\ 지정한 디렉터리를 "/" |
* **cksum** \\ 순환 중복 검사(CRC) 체크섬과 지정한 각 파일의 바이트 수를 출력합니다. | * **cksum** \\ 순환 중복 검사(CRC) 체크섬과 지정한 각 파일의 바이트 수를 출력합니다. | ||
* **comm** \\ 정렬된 두 파일을 비교하여 고유한 줄과 공통된 줄을 세 개의 열에 출력합니다. | * **comm** \\ 정렬된 두 파일을 비교하여 고유한 줄과 공통된 줄을 세 개의 열에 출력합니다. | ||
줄 107: | 줄 133: | ||
* **df** \\ 마운트된 모든 파일 시스템 또는 선택한 파일이 있는 파일 시스템에서만 사용 가능한 (그리고 사용된) 디스크 공간의 양을 보고합니다. | * **df** \\ 마운트된 모든 파일 시스템 또는 선택한 파일이 있는 파일 시스템에서만 사용 가능한 (그리고 사용된) 디스크 공간의 양을 보고합니다. | ||
* **dir** \\ 지정된 각 디렉터리의 내용을 나열합니다 (ls 명령과 동일). | * **dir** \\ 지정된 각 디렉터리의 내용을 나열합니다 (ls 명령과 동일). | ||
- | * **dircolors** \\ ls에서 사용하는 색 구성표를 변경하기 위해 LS_COLOR 환경 변수를 설정하는 명령을 출력합니다. | + | * **dircolors** \\ **ls**에서 사용하는 색 구성표를 변경하기 위해 |
* **dirname** \\ 주어진 이름의 디렉터리 부분을 추출합니다. | * **dirname** \\ 주어진 이름의 디렉터리 부분을 추출합니다. | ||
* **du** \\ 현재 디렉토리, | * **du** \\ 현재 디렉토리, | ||
줄 142: | 줄 168: | ||
* **paste** \\ 지정된 파일을 병합하여 순차적으로 해당되는 줄을 나란히 탭 문자로 구분하여 병합합니다. | * **paste** \\ 지정된 파일을 병합하여 순차적으로 해당되는 줄을 나란히 탭 문자로 구분하여 병합합니다. | ||
* **pathchk** \\ 파일 이름이 유효한지 또는 이식 가능한지 확인합니다. | * **pathchk** \\ 파일 이름이 유효한지 또는 이식 가능한지 확인합니다. | ||
- | * **pinky** \\ 가벼운 | + | * **pinky** \\ 가벼운 |
* **pr** \\ 인쇄할 파일을 페이지 매김하고 열을 매깁니다. | * **pr** \\ 인쇄할 파일을 페이지 매김하고 열을 매깁니다. | ||
* **printenv** \\ 환경 변수을 출력합니다 | * **printenv** \\ 환경 변수을 출력합니다 | ||
줄 185: | 줄 211: | ||
* **unlink** \\ 지정된 파일을 제거합니다. | * **unlink** \\ 지정된 파일을 제거합니다. | ||
* **users** \\ 현재 로그온한 사용자의 이름을 보고합니다. | * **users** \\ 현재 로그온한 사용자의 이름을 보고합니다. | ||
- | * **vdir** \\ ls -l과 동일합니다. | + | * **vdir** \\ **ls -l**과 동일합니다. |
* **wc** \\ 주어진 각 파일의 줄, 단어 및 바이트 수를 보고하며, | * **wc** \\ 주어진 각 파일의 줄, 단어 및 바이트 수를 보고하며, | ||
* **who** \\ 로그온한 사용자를 보고합니다. | * **who** \\ 로그온한 사용자를 보고합니다. | ||
* **whoami** \\ 현재 유효한 사용자 ID와 연결된 사용자 이름을 보고합니다. | * **whoami** \\ 현재 유효한 사용자 ID와 연결된 사용자 이름을 보고합니다. | ||
- | * **yes** \\ 종료될 때까지 y 또는 지정된 문자열을 반복적으로 출력합니다. | + | * **yes** \\ 종료될 때까지 |
- | * libstdbuf \\ stdbuf에서 사용하는 라이브러리 | + | * libstdbuf \\ **stdbuf**에서 사용하는 라이브러리 |
- | |||
---- | ---- | ||
- | |||
[[https:// | [[https:// |