Wisdom’s Cloud

[LINUX] 5. 리눅스 운영에 필요한 개념 본문

LINUX/Beginner

[LINUX] 5. 리눅스 운영에 필요한 개념

지혜로운지혜쓰 2021. 1. 21. 16:45
시작과 종료
  • [전원 아이콘]을 누르고 [컴퓨터 끄기] 버튼을 클릭해도 되지만, 터미널에서 poweroff, shutdown -P now, halt -pinit 0 명령어를 사용해도 된다.

  • shutdown 명령의 옵션 중 'now' 부분에 시간을 지정하면 지정한 시간에 시스템을 종료하며, 예를 들면 다음과 같다.

          # shutdown -P +10      → 10분 후 종료(P: poweroff)

          # shutdown -r 22:00      → 오후 10시에 재부팅(r: reboot)

          # shutdown -c      → 예약된 shutdown 취소(c: cancel)

          # shutdown -k +15    → 현재 접속한 사용자에게 15분 후 종료된다는 메시지를 보내지만 실제로는 종료되지 않음

 

시스템 재부팅
  • 마찬가지로 [전원 아이콘]을 누르고 [다시 시작] 버튼을 클릭해도 되지만, 터미널에서 reboot, shutdown -r now, init 6 명령어를 사용해도 된다.

 

로그아웃
  • 마찬가지로 [전원 아이콘]을 누르고 [로그아웃] 버튼을 클릭해도 되지만, 텍스트 모드에서 logout 또는 exit 명령어를 사용해도 된다.

 

 

가상 콘솔
  • CentOS는 총 6개의 가상 콘솔을 제공한다. 즉, 컴퓨터 한 대에 모니터 6개가 연결된 효과를 낼 수 있다.

  • Server 가상머신을 부팅하면 X 윈도가 자동으로 실행되며, 이 X 윈도가 가동된 화면은 6개의 가상 콘솔 중 첫 번째라고 생각하면 된다. 나머지 2~6번 가상 콘솔은 텍스트 모드로 제공되며, 각각의 가상 콘솔로 이동하는 단축키는 Ctrl+Alt+F1~6이다. (리눅스 버전에 따라서 1번이 현재 X 윈도인 경우도 있고, 2번이 현재 X 윈도인 경우도 있다.)

 

 

런레벨(RunLevel)
  • init 명령 뒤에 붙는 숫자를 런레벨이라고 부르며, 리눅스에서는 시스템이 가동되는 방법을 다음과 같이 7가지 런레벨로 나눌 수 있다.

런레벨 영문 모드 설명 비고
0 Power Off 종료 모드  
1 Rescue 시스템 복구 모드 단일 사용자 모드
2 Multi-User   사용하지 않음
3 Multi-User 텍스트 모드의 다중 사용자 모드  
4 Multi-User   사용하지 않음
5 Graphical 그래픽 모드의 다중 사용자 모드  
6 Reboot 재부팅 모드  
  • 일반적으로 런레벨 3번을 Multi-User 모드로 사용하고, 2번과 4번은 CentOS 8에서 사용하지 않지만 호환성을 위해 런레벨 3번과 동일한 것으로 취급한다.

  • 런레벨 모드를 확인하려면 /lib/systemd/system 디렉터리의 runlevel?.target 파일을 확인하면 된다.

  • Server와 Client 가상머신은 자동으로 X 윈도가 시작되므로 런레벨 5번으로 지정되어 있고, Server(B) 가상머신은 텍스트 모드로 시작되므로 런레벨 3번으로 지정되어 있다. 

  • 현재 시스템에 설정된 런레벨은 링크 파일인 /etc/systemd/system/default.target을 확인하면 알 수 있다.

 

 

자동 완성과 히스토리
  • 자동 완성이란 파일 이름의 일부만 입력하고 Tab을 눌러 나머지 파일 이름 또는 폴더 이름을 자동으로 완성하는 기능을 말하며, 도스 키(Dos Key)란 이전에 입력한 명령을 /를 눌러 다시 나타나게 하는 것을 말한다.

  • 기존에 사용했던 명령을 모두 보려면 history 명령을 입력하면 되고, -c 옵션을 사용해 저장되었던 명령을 모두 삭제할 수 있다.

 

 

에디터 사용
  • Windows의 메모장처럼 X 윈도에서 제공하는 편리한 에디터로 gedit이 있으며, 터미널에서 간단히 gedit 파일_이름 명령을 입력하면 해당 파일을 편집할 수 있다.

  • gedit보다 더 전통적으로 사용되어 온 에디터로는 vi 에디터가 있고, 텍스트 모드에서는 gedit을 사용할 수 없으므로 vi 에디터를 사용할 수 있어야 한다. 다음 그림은 vi 에디터의 사용법 개요다.

  • 만약 vi 에디터가 비정상적으로 종료되면 임시 스왑 파일(swap file)인 '.파일 이름.swp' 파일이 자동으로 생성되고, vi 에디터를 정상적으로 종료하면 자동으로 제거된다. 그러므로 이 파일이 남아 있다는 것은 기존 작업이 정상적으로 종료되지 않았다는 의미다.

 

 

도움말 사용법
  • 리눅스에는 많은 명령어가 있으며 각 명령어의 옵션까지 합하면 수천 개가 넘기 때문에 man 명령어를 사용하여 해당 명령어에 대한 도움말을 확인할 수 있다.

  • 위쪽 행과 아래쪽 행으로 이동하려면 /를 사용하고, 페이지 단위로 이동하려면 Space bar를 사용하면 된다.

  • man 명령어는 섹션을 1~9까지 9개 페이지로 나누기 때문에 man [섹션 번호] 명령어 명령으로 검색할 수 있으며, 특별히 섹션 번호를 지정하지 않으면 1번 섹션부터 9번 섹션까지 차례로 검색해 가장 먼저 만나는 도움말을 출력해준다. 참고로 섹션 1은 명령어, 섹션 2~3은 프로그래밍, 섹션 4는 디바이스, 섹션 5는 파일 형식, 섹션 6은 게임, 섹션 7은 기타 주제, 섹션 8은 시스템 관리, 섹션 9는 커널 관련 설명을 포함한다.

 

 

마운트와 CD/DVD/USB의 활용
  • 리눅스에서 하드디스크의 파티션, CD/DVD, USB 메모리 등을 사용하려면 지정한 위치(폴더)에 연결해야 되는데, 이렇게 물리적인 장치를 특정한 위치에 연결시키는 과정을 '마운트'라고 한다.

 

 

[실습]  CD/DVD를 마운트해보자.

  step 0 스냅숏 받은 데이터를 이용해서 Server를 초기화하자.

1. Server를 처음 설치 상태로 초기화한 후 root 사용자로 접속하여 터미널을 연다.

 

  step 1 Server의 기존 마운트 정보를 확인해보자.

1. "mount" 명령을 입력해 현재 마운트된 장치들을 확인한다. 우선 /dev/sda2가 루트 파티션(/)에 마운트된 것만 확인한다.

* Server를 설치할 때 '/'를 sda2에 76GB로 설정했기 때문에 /dev/sda2가 '/'에 계속 마운트되어 있는 것이다. *

 

  step 2 Server에 CD/DVD를 넣어보자.

1. 기존에 CD/DVD가 마운트되어 있을 수도 있으니 "umount /dev/cdrom" 명령을 입력해서 마운트를 해제한다.
2. Setting의 CD/DVD에서 [Device status]의 체크를 모두 켜고, [Use ISO image file]을 CentOS 8 DVD ISO 파일로 선택한 후 [OK]를 클릭한다.
3. 잠시 기다리면 자동으로 화면 위쪽에 DVD가 연결되었다는 표시가 잠깐 나왔다가 사라진다. 그리고 다시 터미널에서 "mount" 명령을 입력하면 CD/DVD 장치인 /dev/sr0이 /run/media/root/CentOS-8-BaseOS-x86_64 디렉터리에 자동으로 마운트되어 있는 것을 확인할 수 있다.

 

  step 3 Server에 마운트된 CD/DVD를 사용해보자.

1. DVD 패키지가 들어 있는 디렉터리로 이동한 후 DVD 안의 파일을 확인한다.

cd /run/media/root/CentOS-8-BaseOS-x84_64/     → 디렉터리 이동
pwd     → 현재 디렉터리 위치를 보여줌
ls

cd BaseOS/Packages/     → BaseOS 아래 Packages 디렉터리로 이동
ls     → BaseOS 아래 Packages 디렉터리 안에는 알파벳 순으로 정렬된 rpm 파일들이 있는데,
              이 파일들은 CentOS를 설치할 때 자동으로 설치된 것이다.

 

2. DVD를 더 이상 사용하지 않는다면 "umount /dev/cdrom" 명령을 입력해 마운트를 해제한다.

* DVD의 마운트를 해제할 때 현재 마운트된 디렉터리에서 명령을 실행하면

'target is busy'라고 나오면서 마운트 해제에 실패하기 때문에

마운트 디렉터리가 아닌 디렉터리로 이동한 후 마운트를 해제해야 한다. *

 

  step 4 Clinet에서 USB 메모리를 사용해보자. USB 포트 장치를 Client에 장착시킨다.

1. CentOS는 기본적으로 FAT32 방식의 USB만 인식할 수 있기 때문에 USB 메모리를 마우스 오른쪽 버튼을 클릭한 후 [속성]을 선택해 내용을 살펴보면 확인할 수 있다.
2. Client의 Setting에서 [USB Controller]를 선택하고 본인의 USB에 맞는 호환성으로 [USB compatibility]를 변경한 후 [OK]를 클릭해 설정을 마친다.
3. Client를 부팅하고 컴퓨터에 USB 메모리를 꽂는다. 그리고 USB 모양의 아이콘을 오른쪽 버튼으로 클릭한 후 [Connect(Disconnect from host)]를 선택한다.
4. 메시지 창이 나오면 [OK]를 클릭한다. 그러면 호스트에서는 USB 메모리 연결이 해제되고 가상머신 안에 USB 메모리가 마운트되고 아이콘 색상이 진하게 바뀐다.
5. 현재 활동에서 파일을 선택하면 파일 관리자 프로그램이 열리고 USB 메모리를 클릭하여 USB 내부 내용을 확인할 수 있다.
6. 터미널을 열고 직접 해당 디렉터리로 이동해서 다른 곳의 파일을 복사한다.

cd /run/media/centos/USB이름    → USB 메모리의 디렉터리로 이동
pwd     → 현재 디렉터리 출력
ls     → 파일이 목록을 보여줌
cp /boot/config-4.18.0-80.el8.x86_64 .     → 해당 파일을 현재 디렉터리(.)에 복사
ls

 

7. "mount" 명령을 입력해서 USB 메모리가 마운트된 장치를 확인해보면 /dev/sda1이라는 장치로 인식되어 있음을 확인할 수 있다.
8. 다시 USB 메모리를 마우스 오른쪽 버튼으로 클릭하고 [Disconnect(Connect to host)]를 선택하여 USB 메모리 마운트를 해제한다.
9. 호스트 컴퓨터의 파일 탐색기에서 확인하면 USB 메모리가 확인되며, 아까 CentOS에서 복사했던 파일도 확인할 수 있다.

 

  step 5 X 윈도가 없는 Server(B)의 텍스트 모드에서 CD/DVD와 USB 메모리를 사용해보자.

1. Server(B)에는 USB 장치를 추가하지 않았으므로 Server(B)의 Setting에서 [Add]를 클릭한 후 [USB Controller]를 선택하여 추가한다.
2. 마찬가지로 [USB Controller]를 선택하고 본인의 USB에 맞는 호환성으로 [USB compatibility]를 변경한 후 [OK]를 클릭해 설정을 마친다.
3. Server(B)를 부팅하고 root 사용자로 접속하다. 그리고 "mount" 명령을 입력해 기존에 마운트된 장치가 있는지 확인해보면 CD/DVD 장치인 /dev/sr0와 USB 장치인 /dev/sdb1은 아직 마운트되어 있지 않다는 것을 확인할 수 있다.
4. CentOS 8 DVD ISO 파일을 넣고, USB 메모리를 연결한 뒤 "ls /dev/sd*" 명령을 입력해 장치 이름을 확인한다.

* 텍스트 모드에서는 CD/DVD를 넣거나 USB 메모리를 연결했다고 자동으로 마운트되는 것이 아니다.

CD/DVD 장치 이름은 전통적인 /dev/cdrom으로 제공되지만,

USB 장치 이름은 종종 변할 수 있으므로 장치 이름을 확인해야 한다.

또한 /dev/sd*는 하드디스크나 USB 메모리 등을 의미한다.

/dev/sda는 CentOS가 설치된 최초 하드디스크를 나타내며,

/dev/sdb는 추가한 USB 메모리를 나타낸다. *

 

5. CD/DVD 및 USB 메모리를 직접 마운트시킨다.

mkdir /media/cdrom     → CD/DVD를 마운트하는 디렉터리 생성
mkdir /media/usb     → USB 메모리를 마운트하는 디렉터리 생성
mount /dev/cdrom /media/cdrom     → CD/DVD 마운트
mount /dev/sdb1 /media/usb     → USB 메모리 마운트

 

6. "mount" 명령을 입력해 마운트한 장치의 디렉터리를 확인한다. 그리고 "ls /media/cdrom" 명령과 "ls /media/usb" 명령을 입력해 해당 파일들이 잘 보이는지 확인한다.
7. 마찬가지로 USB 메모리에 필요한 파일을 저장하거나 복사할 수 있으므로 CentOS 리눅스의 아무 파일이나 USB 메모리에 복사한다.

cp /media/usb/config-4.18.0-80.el8.x86_64 .     → 해당 파일을 현재 디렉터리(.)에 복사
ls
cp anaconda-ks.cfg /media/usb     → 해당 파일을 USB 메모리에 복사
ls /media/usb

 

8. 사용이 끝났다면 "umount 마운트장치" 명령을 입력해 마운트된 장치의 연결을 해제한다.
9. 마찬가지로 USB 메모리의 마운트를 해제하고 DVD의 연결도 끊는다. 그리고 호스트 컴퓨터의 파일 탐색기에서 확인하면 USB 메모리가 연결되어 있고 앞서 CentOS에서 복사했던 파일도 확인할 수 있다.

'LINUX > Beginner' 카테고리의 다른 글

[LINUX] 7. 사용자 관리와 파일 속성  (0) 2021.01.22
[LINUX] 6. 리눅스 기본 명령어  (0) 2021.01.21
[LINUX] 4. CentOS 리눅스 설치  (0) 2021.01.19
[LINUX] 3. 리눅스란?  (0) 2020.12.31
[LINUX] 2. 가상머신 생성  (0) 2020.12.30