패키지·시스템 정보 (dnf·rpm)
5. 자주 하는 실수 (Tip)
❌ 실수 1: 운영 서버에서 dnf update 를 바로 돌린다
커널과 라이브러리가 바뀌어 앱이 안 뜨거나 재부팅이 필요해집니다. ✅ 개발 서버에서 먼저 하고, 운영은 점검 시간에 --security 부터 적용합니다.
❌ 실수 2: rpm -ivh 로 의존성 오류를 만나고 --nodeps 로 넘긴다
설치는 되지만 실행 시 라이브러리 없음으로 죽습니다. ✅ 의존 rpm 을 함께 옮기거나 dnf install ./파일.rpm 으로 저장소에서 해결합니다.
❌ 실수 3: 시간대를 확인하지 않는다
로그가 UTC 로 찍혀 9시간 어긋나고 새벽 배치가 낮에 돕니다. ✅ 접속 첫날 timedatectl 로 시간대와 동기화를 봅니다.
❌ 실수 4: ~/.bashrc 에 넣고 cron 에서도 될 거라 믿는다
cron 은 그 파일을 읽지 않습니다. ✅ cron 파일 상단에 PATH 를 적거나 스크립트 안에서 export 합니다.
❌ 실수 5: PATH 를 덮어쓴다
export PATH=/opt/tools/bin 처럼 쓰면 ls 조차 못 찾습니다. ✅ PATH="$PATH:/opt/tools/bin" 으로 뒤에 붙입니다.
❌ 실수 6: which 결과가 링크인 줄 모른다
/usr/bin/java 가 alternatives 링크라 실제 JDK 를 모릅니다. ✅ readlink -f $(which java) 로 실제 경로를 봅니다.
❌ 실수 7: 폐쇄망에서 인터넷 저장소를 켜 둔다
dnf 가 매번 접속을 기다려 몇 분씩 멈춥니다. ✅ 안 쓰는 .repo 는 enabled=0 으로 끄고 사내 미러만 남깁니다.
❌ 실수 8: date 형식을 스크립트마다 다르게 쓴다
파일 이름이 정렬되지 않고 찾기 어렵습니다. ✅ +%Y%m%d_%H%M%S 하나로 통일합니다. 사전순이 시간순입니다.
❌ 실수 9: load average 를 CPU 사용률로 읽는다
8코어에서 4.0 은 50% 정도이지 과부하가 아닙니다. ✅ nproc 과 비교해 판단합니다.
❌ 실수 10: 다른 사람이 작업 중인데 재부팅한다
편집 중인 파일과 실행 중인 작업이 날아갑니다. ✅ who 로 접속자를 보고 shutdown -r +10 으로 알린 뒤 재부팅합니다.