패키지·시스템 정보 (dnf·rpm)
4. 응용 변형 예제
4.1 서버 스펙 한 장
{ hostnamectl | grep -E 'Static|Operating|Kernel'; echo "CPU: $(nproc)"; free -h | awk 'NR==2{print "MEM:", $2}'; df -h / | awk 'NR==2{print "DISK /:", $2, $5}'; } 2>/dev/null용량 산정이나 장애 보고서에 붙이는 요약입니다. 08 셸 활용 레슨에서 이런 조각을 함수로 만듭니다.
4.2 JDK 설치와 선택
sudo dnf install -y java-21-openjdk-devel # javac·jstack 포함
alternatives --config java # 여러 JDK 중 기본 선택
readlink -f $(which java) # 실제 경로headless 는 실행만, devel 은 개발 도구까지입니다. 서버에서 jstack 을 쓰려면 devel 이 필요합니다.
4.3 폐쇄망 rpm 묶음 반입
dnf download --resolve htop # 인터넷 되는 PC 에서 의존성까지 받기
scp *.rpm deploy@server:/tmp/rpms/
sudo dnf install /tmp/rpms/*.rpm # 서버에서 한 번에--resolve 가 의존 패키지까지 내려받아 rpm -ivh 의 의존성 실패를 피합니다. 운영 묶음 04 의 체크섬 확인을 함께 합니다.
4.4 시각 동기화 확인
timedatectl | grep -E 'Time zone|synchronized'
chronyc sources -v | tail -n 3
date; ssh app2 date # 두 서버 비교두 서버 시각 차이가 1초를 넘으면 NTP 설정을 봅니다. 폐쇄망은 사내 NTP 서버를 /etc/chrony.conf 에 적습니다.
4.5 별칭과 PATH 추가
echo 'alias ll="ls -la"' >> ~/.bashrc
echo 'export PATH="$PATH:/opt/tools/bin"' >> ~/.bashrc
source ~/.bashrcPATH 는 항상 기존 값 뒤에 붙입니다. 앞에 붙이면 같은 이름의 시스템 명령을 가릴 수 있습니다.