728x90
개요
HPC나 컴파일러 환경에서 특정 환경변수나 초기 설정을 사용자마다 반복 입력하지 않고 자동화하려면, 두 가지 방법을 주로 활용합니다
✅ 시스템 전체 사용자에게 공통 적용: /etc/profile.d
✅ 신규 사용자에게만 초기값으로 설정: /etc/skel
이 글에서는 각각의 차이와 활용법, 그리고 Intel oneAPI와 같은 환경 설정을 예시로 정리해보겠습니다.
1. etc/profile.d - 시스템 전역 설정
/etc/profile.d는 시스템 전체 사용자에게 공통적으로 적용되는 쉘 환경 설정 스크립트를 저장하는 디렉터리입니다.
/etc/profile이 실행될 때 내부에서 이 디렉터리의 .sh 파일들을 실행합니다.
💡 적용 대상
- 로그인 시 모든 사용자(ex ssh, su -)
🧩 예시: Intel oneAPI 설정
cat /etc/profile.d/intel64_v2022.sh
#!/bin/sh
source /APP/enhpc/compiler/intel/v2022/setvars.sh intel64
export PATH=/APP/enhpc/compiler/intel/v2022/mpi/2021.6.0/bin:$PATH
🟨 장점
- 한 번만 설정하면 모든 사용자에게 자동 적용
- 관리가 중앙화되어 유지보수가 용이
🟥 단점
- 모든 사용자에게 강제로 적용되기 때문에 사용자별 커스터마이징 어려움
- 특정 사용자에게만 적용하기 어렵다
2. /etc/skel - 신규 사용자 초기 값 설정
/etc/skel은 새 사용자 계정을 생성할 때 초기 홈 디렉터리 파일들을 복사하는 디렉터리입니다.
즉, useradd로 계정을 만들면 /etc/skel/.bashrc, .bash_profile 등이 /home/새계정/으로 복사됩니다.
💡 적용 대상
- 신규 생성된 계정에만 적용
- 이미 존재하는 계정에는 적용되지 않음
🧩 예시: Intel oneAPI 설정
cat /etc/skel/.bashrc
```
if [ -f /APP/enhpc/compiler/intel/v2022/setvars.sh ]; then
source /APP/enhpc/compiler/intel/v2022/setvars.sh intel64
export PATH=/APP/enhpc/compiler/intel/v2022/mpi/2021.6.0/bin:$PATH
fi
```
cat /etc/skel/.bash_profile
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
🟩 장점
- 사용자별로 자유롭게 설정 가능
- 기존 설정을 복사하는 방식이라 확장성 있음
🟥 단점
- 기존 계정에는 적용되지 않음 → 수동으로 .bashrc에 추가 필요
- 여러 계정에 일괄 적용하려면 별도 스크립트 필요
'OS > Linux' 카테고리의 다른 글
[Rocky Linux 8.10] Linux Network Bonding 실습 매뉴얼 (0) | 2025.02.25 |
---|---|
[Linux] Prometheus & Grafana 소스 컴파일 설치 및 Trouble Shooting (0) | 2025.02.21 |
[Linux] PostgreSQL & Airflow 연동간 발생한 문제 (0) | 2025.02.20 |
[Linux] Dell 서버 iDRAC(IPMI) 관리용 ipmitool 소스 컴파일 설치 가이드 (0) | 2025.02.19 |
[Linux] PostgreSQL, Airflow 및 OS 계정 연동 (0) | 2025.02.18 |