반응형
우분투에서 기본 쉘을 dash에서 bash로 변경하는 방법
우분투는 기본적으로 dash를 /bin/sh의 기본 셸로 사용하고 있습니다. 이는 부팅 속도를 최적화하고 시스템 스크립트를 빠르게 실행하기 위함입니다.
우분투가 dash를 기본으로 사용하는 이유
더 빠른 부팅 속도
- dash가 bash보다 가볍고 실행 속도가 빠름
- 시스템 스크립트(/bin/sh) 실행 시 부팅 시간 단축
POSIX 호환성
- dash는 POSIX 표준을 엄격히 준수
- 시스템 스크립트의 이식성 향상
경량화
- 메모리 사용량이 bash보다 적음
- 디스크 공간도 적게 차지
보안성
- 기능이 간결하여 보안 취약점 가능성 감소
bash vs dash 비교
| dash (Debian Almquist Shell) | bash (Bourne Again SHell) | |
| 장점 | 빠른 실행 속도 적은 메모리 사용 POSIX 표준 준수 시스템 스크립트에 적합 |
풍부한 기능 세트 우수한 인터랙티브 환경 자동 완성, 히스토리 등 사용자 편의 기능 스크립팅 기능이 풍부 |
| 단점 | 인터랙티브 기능 부족 사용자 친화적이지 않음 bash-specific 기능 사용 불가 |
상대적으로 무거움 실행 속도가 느림 메모리 사용량이 많음 |
728x90
현재 사용 가능한 Shell 목록 확인
cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/usr/bin/sh
/bin/dash
/usr/bin/dash
/usr/bin/tmux
/usr/bin/screen
현재 사용 중인 쉘 확인
echo $SHELL
기본 시스템 쉘 변경하기
update-alternatives 사용(권장)
sudo update-alternatives --config sh
- 출력된 목록에서 bash를 선택합니다.
심볼릭 링크 직접 변경
sudo ln -sf /bin/bash /bin/sh
dpkg-reconfigure 사용
sudo dpkg-reconfigure dash
- 메뉴에서 "No"를 선택하여 dash를 기본 셸로 사용하지 않도록 설정합니다.
사용자별 로그인 쉘 변경
- 현재 사용자 계정의 로그인 쉘을 bash로 변경할 수 있습니다.
chsh -s /bin/bash
- 변경 적용 후에는 다시 로그인하거나 새로운 터미널을 열어야 적용됩니다.
변경 확인
/bin/sh가 어떤 쉘을 가리키는지 확인
ls -l /bin/sh
현재 셸 확인
echo $0
echo $SHELL
시스템 및 사용자 스크립트 사용 예시
시스템 스크립트용(/bin/sh)
#!/bin/sh
# 시스템 초기화 스크립트 - dash 사용
echo "시스템 시작 중..."
사용자 스크립트용(/bin/bash)
#!/bin/bash
# 사용자 스크립트 - bash 기능 활용
for i in {1..10}; do
echo "Count: $i"
done
728x90
반응형
'리눅스' 카테고리의 다른 글
| HAProxy Statistics Page(Statistics Dashboard) (0) | 2025.11.14 |
|---|---|
| 일반 사용자 계정으로 root 소유의 파일을 직접 쓰는 방법 (0) | 2025.11.14 |
| Apache에 커스텀 헤더 추가하기 (0) | 2025.11.13 |
| HAProxy의 Stats 페이지에서 백엔드 서버의 상태를 제어할 때 사용하는 관리 명령 (0) | 2025.11.07 |
| HPE DL360 Gen9 서버에서 Smart Array Controller에 진입하여 RAID 설정하는 방법 (0) | 2025.11.06 |