홈 › 리눅스 명령어 › 04 / 10

패키지·시스템 정보 (dnf·rpm)

섹션 7진행 0 / 10

3. 코드 예제

예제 1: 시스템 식별 — 01_system_info.sh 발췌

bash
uname -r
uname -m
hostname
cat /etc/os-release | head -n 2
nproc
text
5.14.0-427.13.1.el9_4.x86_64
x86_64
app-prod-01
NAME="Red Hat Enterprise Linux"
VERSION="9.4 (Plow)"
8

리눅스 서버 출력입니다. el9_4 가 RHEL 9.4 커널이라는 표시이고 nproc 8 이 load average 의 기준선입니다.

예제 2: date — 01_system_info.sh 발췌

bash
date +%F
date +%Y%m%d_%H%M%S
date -d '-7 day' +%F
date +%s
TZ=UTC date +%T
text
2026-09-10
20260910_171431
2026-09-03
1789028071
08:14:31

로컬 17:14 가 UTC 08:14 로 9시간 차이입니다. 로그 시각과 DB 시각이 9시간 어긋나면 이 시간대 문제입니다.

예제 3: 환경 변수 상속 — 01_system_info.sh 발췌

bash
MYVAR=hello; bash -c 'echo "자식1: ${MYVAR:-없음}"'
export MYVAR;  bash -c 'echo "자식2: ${MYVAR:-없음}"'
type cd
type -p bash
text
자식1: 없음
자식2: hello
cd is a shell builtin
/usr/bin/bash

export 전에는 자식이 못 보고 후에는 봅니다. java 를 띄우는 스크립트에서 JAVA_OPTS 를 export 하지 않아도 되는 이유는 같은 셸 안에서 명령 인자로 넘기기 때문입니다.

예제 4: 패키지 조회 — 01_system_info.sh 명령 목록

bash
rpm -qa | grep -i openjdk
rpm -qf /usr/bin/java
dnf provides */ss
dnf history | head -n 5
text
java-21-openjdk-headless-21.0.4.0.7-1.el9.x86_64
java-21-openjdk-21.0.4.0.7-1.el9.x86_64
java-21-openjdk-21.0.4.0.7-1.el9.x86_64
iproute-6.2.0-5.el9.x86_64 : Advanced IP routing and network device configuration tools
ID | Command line              | Date and time    | Action(s) | Altered
 12 | install java-21-openjdk    | 2026-09-01 10:20 | Install   |  3

dnf provides 가 ss 명령이 iproute 패키지에 있다고 알려 줍니다. dnf history undo 12 로 그 설치를 되돌릴 수 있습니다.