cat /etc/fstab
UUID=0524779c-7301-4f80-9183-103019a33c70 /boot ext4 defaults 1 2
[디바이스] [m.p] [filesystem] [mount옵션] [dump기록] [fsck검사여부]
dump : 0 기록X
1 기록O
fsck검사: 0 검사X
1 우선체크 (/전용)
2 차순체크 (보통사용)
** 디바이스 **
/dev/sdxn 으로 주거나 UUID 를 입력
** UUID를 쓰는이유 **
부팅순서가 바뀌거나 하드디스크를 추가할때 우선순위에 따라
sdb sdc 가 바뀔수 가 있습니다 이때 error가 나서 부팅이 안됨
가급적 UUID 를 사용해서 fstab 구성할것
ex)
UUID="4eab30b4-afda-4465-9645-55cb80a62ee8" /m2 ext4 defaults 1 2 (UUID 방식)
/dev/sdb5 /m1 ext4 defaults 1 2 (디바이스방식)
설정후에 반드시 mount -a로 확인할것
*** 정리 ***
자동마운트를 할때는 /etc/fstab을 사용
단 설정후 반드시 mount -a 를 통해 확인
=================================
OS : 시스템을 제어
Kernel : HW/SW를 OS가 제어할수 있도록 연결해주는 중계 프로그램
shell : 사용자가 kernel과 의사소통할수 있도록 연결해주는 명령어도구(해석기)
기본프로그램 : /bin
응용프로그램 : /usr/bin
# /bin <==== 명령어 저장소
# /etc <==== 설정파일 저장소
쉘 확인 명령
cat /etc/shells
chsh -l
/bin/sh 복구쉘(커널쉘) 본쉘
/bin/ksh unix 기본쉘
/bin/bash linux 전용 응용쉘 (리차드스톨만) ( ksh+sh )
/usr/bin/sh unix 기본쉘 (별도 설치)
/usr/bin/bash linux 전용 응용쉘 (별도 설치)
/bin/dash 데비안전용쉘
/bin/csh c프로그램 전용쉘
/bin/tcsh csh확장쉘
/sbin/nologin 시스템쉘
/bin/zsh 칼리쉘 , (bash+ksh+tcsh)
======================================================================
쉘정의
shell => 조개껍데기 => 명령어 해석기 (kernel에게 명령 전달)
======================================================
init system-runlevel (시스템 구동 순서)
0 halt 종료
1 sigle
2 tui (NFS 미지원)
3 tui (NFS 지원 ) FULL-TUI ******
4 unuse
5 GUI ( X11 ) ******
6 reboot 재부팅
종료 명령 : poweroff, halt, shutdown -h now , init 0
재부팅 : reboot, shutdown -r now , init 6
===================================================
booting (/boot/grub2/grub.cfg)
[centos6 부팅순서 ]
init (inittab => sysinit => rc5.d=> rc.local)
[ centos7 ]
/usr/lib/systemd 시스템 명령어 (/lib/systemd)
/lib/systemd/system 데몬(이안에서 해결)
** /etc/rc.d/init.d/rc.local은 자동실행담당 **
## 쉘의 구동 순서 ### ( ~,$HOME : 로그인한 사용자 홈디렉토리)
[csh의 순서]
vi /etc/csh.cshrc
echo " /etc/csh.cshrc" << 모든 csh 적용 (첫번째)
vi /etc/csh.login
echo " /etc/csh.login" << 로그인을 할때만 실행 (두번째)
vi /home/sevas/.cshrc(생성)
echo "sevas /home/sevas/.cshrc" <<< 계정 적용 (세번째)
chown sevas. /home/sevas/.cshrc
ls -l /home/sevas/.cshrc
전체설정 개인설정
로그인 : /etc/csh.cshrc => /etc/csh.login => $HOME/.cshrc
쉘구동 : /etc/csh.cshrc => $HOME/.cshrc
echo : 출력명령
$ : 변수호출
**순서**
/etc/csh.cshrc => /etc/csh.login(로그인시만) => $HOME/.cshrc
=============================================================
[bash의 순서]
[bash의 순서]
vi /etc/profile <<< 모든 기본쉘 적용
echo "1. /etc/profile"
vi /root/.bash_profile <<< 계정로그인시만 배쉬쉘 적용
echo "2. /root/.bash_profile"
vi /root/.bashrc <<< 계정배쉬쉘 적용
echo "3. /root/.bashrc"
vi /etc/bashrc <<< 모든 배쉬쉘 적용
echo "4./etc/bashrc"
순서
/etc/profile => $HOME/.bash_profile => $HOME/.bashrc=>/etc/bashrc
모든기본쉘 로그인시 계정배쉬쉘구동 모든배쉬쉘구동
쉘구동방법
/bin/bash or bash = bash쉘 구동
env ( 시스템 환경 변수 확인 )
대표적인 시스템 변수
$USER = 계정명
$HOME = 홈디렉토리
$SHELL = 쉘
$PWD = 현재 디렉토리
문제 ) 다음중 4개의 파일에 1줄씩 내용을 넣어서
root 로그인시
다음과 같은 문장이 나올수 있도록 하세요.
ex) echo "안녕하세요 $USER님"
"안녕하세요 [계정]님" /etc/profile
"[홈디렉토리] 로 로그인하셨습니다" ~/.bash_profile
" [계정]님이 [쉘]을 구동하셨습니다" ~/.bashrc
"현재위치는 [현재위치] 입니다" /etc/bashrc
======결과======
[root]
안녕하세요 root님 /etc/profile
/root 로 로그인하셨습니다 ~/.bash_profile
root님이 /bin/bash을 구동하셨습니다 ~/.bashrc
현재위치는 /root 입니다 /etc/bashrc
[sevas]
안녕하세요 sevas님 /etc/profile
현재위치는 /home/sevas 입니다 /etc/bashrc
결론: /etc 는 전역설정
~/.bash_profile 나 ~/.bashrc는 계정별로 따로 운영
POINT : 시험에서는 .bash_profile 환경변수를 추가
.bashrc 는 alias 와같은 명령어 추가
실제로는 둘다 상관없음
======================================