본문 바로가기

수업

UUID

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 와같은 명령어 추가
        실제로는 둘다 상관없음 

======================================

 

'수업' 카테고리의 다른 글

계정  (0) 2023.06.22
SHELL  (0) 2023.06.21
MOUNT  (0) 2023.06.21
NCS  (0) 2023.06.20
umask  (0) 2023.06.19