리눅스 부트2
리눅스 부트2
목차
- 부트 로더
- 런 레벨
- 로그인 및 로그아웃
- 시스템 종료 명령어
- 시스템 재시작 명령어
부트 로더(Boot Manager)
그러면 부트 로더 정리를 해보기로 하자. 부트 로더는 이전 포스팅인 “리눅스 부트1”에서 소개된 바 있지만, 여기서 다시 정리해보기로 하자. 부트 로더(Boot Loader)는 컴퓨터가 켜진 후 운영 체제를 메모리에 로드하고 실행하는 프로그램이다. 부트 로더는 하드웨어와 운영 체제의 중개자 역할을 하는데, 그 역할과 동작 과정은 아래와 같다. 이전 포스팅 내용과 중복이 있으나, 그래도 다시 한번 정리하기로 한다.
부트 로더의 역할과 동작 과정
- 하드웨어 초기화 : 컴퓨터 전원이 켜지면 CPU는 처음으로 실행할 코드를 찾는다. 이 코드는 일반적으로 ROM에 저장되어 있으며, POST(Power-On Self Test)라는 과정을 통해 하드웨어를 검사하고 초기화한다.
- 부트 로더 로드 : POST가 완료되면, 부트 로더는 하드 디스크의 특정 위치(예: MBR 또는 UEFI 파티션)에서 로드된다. MBR은 하드 디스크의 첫번째 섹터(512바이트)로, 부트 로더의 첫번째 단계 코드를 포함하고 있다.
- 운영 체제 선택 : 부트 로더는 시스템에 설치된 여러 운영 체제를 확인하고, 사용자에게 선택 메뉴를 제공한다. 사용자는 이 메뉴를 통해 부팅할 운영 체제를 선택할 수 있다.
- 커널 로드 : 사용자가 운영 체제를 선택하면, 부트 로더는 해당 운영 체제의 커널을 메모리에 로드한다. 커널은 운영 체제의 핵심 부분으로, 시스템 자원을 관리하고 응용 프로그램이 하드웨어에 접근할 수 있도록 한다.
- 제어 권한 전달 : 커널이 메모리에 로드되고 초기화되면, 부트 로더는 커널에 제어를 넘긴다. 이후 커널이 시스템의 제어를 담당하게 된다.
이러한 부트 로더의 종류로는 GRUB과 LILO가 존재한다. GRUB과 LILO 모두 부트 로더로써 작동하며, 이들은 운영 체제의 커널을 로드하고 제어를 넘기는 역할을 한다. 그러나, 우린 앞서서 GRUB과 LILO 모두 부트 매니저라고 배웠었다. 그런데, 부트 로더라니? 이는 GRUB과 LILO가 부트 매니저로서의 기능 뿐만 아니라, 부트 로더로서의 역할도 하기 때문이다. 그래서 각각에 따라 기능이 다른데, 아래와 같다.
GRUB(GRand Unified Bootloader)
부트 로더 기능 : GRUB은 운영 체제의 커널을 로드하고 실행하는 역할을 한다.
부트 매니저 기능 : GRUB은 여러 운영 체제를 관리하고, 부팅 시 사용자가 선택할 수 있는 메뉴를 제공한다. 따라서 GRUB은 부트 로더이자 부트 매니저로서의 역할을 모두 수행한다.LILO(LInux LOader)
부트 로더 기능 : LILO는 운영 체제의 커널을 로드하고 실행하는 역할을 한다.
부트 매니저 기능 : LILO는 기본적으로 부트 로더로서의 기능이 강하며, 간단한 다중 부팅 관리 기능도 제공하지만, GRUB만큼 다양한 기능을 제공하지는 않는다.
각각에 대해 자세히 다시 설명하자면 아래와 같다.
GRUB(GRand Unified Bootloader)
- 주로 리눅스와 유닉스 계열 운영 체제에서 사용되는 부트 로더이다. 다양한 기능과 유연성을 제공하여, 여러 운영 체제를 쉽게 관리하고 부팅할 수 있다.
- 주요 특징
- 다양한 파일 시스템 지원 : ext2, ext3, ext4, Btrfs, FAT, NTFS 등 여러 파일 시스템을 지원한다.
- 다양한 운영 체제 지원 : 리눅스, 유닉스, 윈도우 등 다양한 운영 체제를 부팅할 수 있다.
- 유연한 구성 : 설정 파일(grub.cfg)을 통해 쉽게 설정을 변경할 수 있다.
- 복구 모드 : 부팅 문제가 발생할 경우, 복구 모드를 통해 시스템을 복원할 수 있다.
- 스크립트 기능 : 스크립트를 작성하여 복잡한 부팅 시나리오를 구현할 수 있다.
- 주요 특징
LILO(LInux Loader)
- GRUB 이전에 리눅스 시스템에서 많이 사용되었던 부트 로더이다. 현재는 많이 사용되지 않지만, 여전히 일부 시스템에서 사용되고 있다.
- 주요 특징
- 간단한 구성 : LILO는 설정 파일(lilo.conf)을 통해 간단하게 구성할 수 있다.
- 다중 부팅 지원 : 여러 운영 체제를 부팅할 수 있으며, 부팅 시 메뉴를 제공한다.
- 설정 변경 후 재설치 필요 : 새로운 커널을 설치하거나 설정을 변경할 때마다 LILO를 다시 설치해야 한다.
- 제한된 파일 시스템 지원 : LILO는 GRUB에 비해 지원하는 파일 시스템 종류가 적다.
- 주요 특징
비교 : GRUB vs LILO
- 유연성 : GRUB은 LILO에 비해 훨씬 유연하고 다양한 기능을 제공한다. 예를 들어, GRUB은 파일 시스템을 인식하고, 부팅 시 설정을 변경할 수 있지만 LILO는 그렇지 않다.
- 설정 관리 : GRUB은 설정 파일을 통해 쉽게 설정을 변경할 수 있으며, 부팅 시 실시간으로 변경 사항을 적용할 수 있다. 반면, LILO는 설정을 변경할 때마다 부트 로더를 재설치해야 한다.
- 지원 : GRUB은 다양한 운영 체제와 파일 시스템을 지원하는 반면, LILO는 지원 범위가 제한적이다.
- 복구 기능 : GRUB은 복구 모드를 제공하여 부팅 문제를 해결할 수 있지만, LILO는 이러한 기능이 부족하다.
런 레벨(Run Level)
런 레벨은 유닉스와 유닉스 계열 운영 체제에서 시스템이 동작하는 상태를 나타내는 번호이다. 주로 리눅스 시스템에서 사용되며, 각 레벨은 특정 서비스와 프로세스의 실행 여부를 결정한다. 이에 대한 자세한 내용은 앞서 부팅 과정 설명하면서 하였으므로, 이정도로 정리하고 넘어가기로 한다.
로그인 및 로그아웃
- 로그인 및 로그아웃 환경
- GUI(X 윈도) 환경에서 로그인/로그아웃
- CLI(Command Line Interface) 환경에서 로그인/로그아웃
- 로그인
- 로그인 과정
- 로그인 프롬프트에서 ID/Password를 입력 -> 입력한 패스워드와 /etc/passwd 파일 비교 후 일치하면 로그인 허용
- 프롬프트 종류
- root 사용자 로그인 프롬프트
1
root@noah-VirtualBox:~#
- 일반 사용자 로그인 프롬프트
1
noah@noah-VirtualBox:~$
- root 사용자 로그인 프롬프트
- 로그인 메세지 출력
- 로그인 과정
출력 파일 | 설명 | 상태 |
/etc/issue | 로컬 접속 시 메시지 출력 | 로그인 전 |
/etc/issue.net | 원격 접속 시 메시지 출력 | 로그인 전 |
/etc/motd | 로컬, 원격 접속 시 로그인 성공 후 메시지 출력 | 로그인 후 |
ex.
1
2
3
4
5
6
7
#/etc/issue 예시
noah@noah-VirtualBox:~$ cat /etc/issue
Ubuntu 20.04.6 LTS \n \l
#/etc/issue.net 예시
noah@noah-VirtualBox:~$ cat /etc/issue.net
Ubuntu 20.04.6 LTS
- 로그아웃
- 명령어 종류
- 로그아웃 실행하기 위한 명령어(logout, exit 명령)
- ctrl + D 키 입력.
- 명령어 종류
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
noah@noah-VirtualBox:~$ logout
Connection closed.
Disconnected from remote host(noah) at 21:27:27.
Type `help' to learn how to use Xshell prompt.
[C:\~]$
noah@noah-VirtualBox:~$ exit
로그아웃
Connection closed.
Disconnected from remote host(noah) at 21:27:41.
Type `help' to learn how to use Xshell prompt.
[C:\~]$
- 자동 로그아웃 설정(일정 시간 지난 후)
- 30초 후에 자동 로그아웃
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
sudo vi /etc/profile
#입력
#/etc/profile에 아래 내용 작성(30초 후에 자동 로그아웃 되도록 TMOUT 설정 및 export)
...
export TMOUT=30
...
#출력
noah@noah-VirtualBox:~$ 입력 대기중 시간 초과: 자동으로 로그아웃
Connection closed.
Disconnected from remote host(noah) at 22:08:47.
Type `help' to learn how to use Xshell prompt.
참조
CLI(Command Line Interface)CLI는 “Command LIne Interface”의 약자로, 명령어를 입력하여 컴퓨터와 상호 작용하는 방식의 인터페이스를 말함. ClI에서는 사용자가 텍스트 명령어를 입력하면 컴퓨터가 해당 명령어를 실행하고 결과를 텍스트 형태로 반환함. 이는 그래픽 사용자 인터페이스(GUI)와는 반대되는 개념으로, GUI에서는 사용자가 마우스를 사용하여 아이콘이나 메뉴를 클릭하여 작업을 수행함.
주요 특징
- 텍스트 기반 : 명령어와 출력이 모두 텍스트 형태로 이루어짐.
- 고속 처리 : 숙련된 사용자에게는 마우스를 사용하지 않고 빠르게 작업을 수행할 수 있는 효율적인 방법.
- 원격 접속 : 네트워크를 통해 원격 서버에 접속하여 작업할 때 주로 사용됨. 예를 들어, ssh를 사용하여 원격 서버에 접속할 수 있음.
- 스크립트 작성 용이 : 명령어를 스크립트 파일에 저장하여 반복적인 작업을 자동화할 수 있음.
- 작업 제어 : 프로세스 관리, 파일 시스템 탐색, 프로그램 실행 등 다양한 시스템 작업을 세부적으로 제어할 수 있음.
CLI 도구
- 셸 :
- bash : Bourne Again Shell로, 가장 널리 사용되는 셸.
- zsh : Z Shell로, 사용자 친화적인 기능과 강력한 확장성을 제공.
- sh : Bourne Shell로, 가장 기본적인 셸.
- fish : Friendly Interface Shell로, 사용하기 쉬운 셸.
- CLI 프로그램 :
- vim/nano : 텍스트 편집기
- grep : 텍스트 검색 도구
- find : 파일 검색 도구
- awk : 텍스트 처리 도구
- sed : 스트림 편집기
요약 :
- CLI는 명령어를 통해 컴퓨터와 상호 작용하는 인터페이스.
- 텍스트 기반으로, 효율적이고 강력한 시스템 제어를 제공.
- 스크립트 작성이 용이하여 반복 작업을 자동화할 수 있음.
- 주요 셸로는 bash, zsh, sh, fish 등이 있음.
/etc/passwd
/etc/passwd파일은 리눅스와 유닉스 계열 운영체제에서 사용자 계정 정보를 저장하는 중요한 시스템 파일. 각 사용자 계정에 대한 다양한 정보를 포함하고 있으며, 모든 사용자에 대해 읽기 가능하지만, 수정은 주로 관리자만 할 수 있음.
/etc/passwd 파일 구조
- /etc/passwd 파일은 여러 줄로 구성되어 있으며, 각 줄은 하나의 사용자 계정을 나타낸다. 각 줄은 콜론(:)으로 구분된 7개의 필드를 포함한다. 예를 들어 아래와 같은 형식으로 구성된다.
username:x:uid:gid:comment:home_directory:shell
각 필드의 의미는 다음과 같다.
- username : 사용자 이름. 로그인할 때 사용하는 이름으로, 시스템 내에서 유일해야 함.
- password (x) : 원래는 암호화된 비밀번호를 저장하는 필드였지만, 보안 문제로 인해 현재는 x로 표시됨. 실제 암호화된 비밀번호는 /etc/shadow 파일에 저장된다.
- UID(User ID) : 사용자 식별 번호. 각 사용자에게 고유한 번호가 할당된다. 일반적으로 시스템 사용자(ex: root)는 낮은 UID를 가지며, 일반 사용자는 1000 이상의 UID를 가진다.
- GID(Group ID) : 기본 그룹 식별 번호. 각 사용자에게는 기본 그룹이 할당되며, 그룹 ID는 /etc/group 파일에서 확인 가능할 수 있다.
- comment(GECOS) : 사용자 전체 이름이나 기타 정보를 저장하는 필드. 이 필드는 선택 사항이며, 쉼표로 구분된 여러 값을 가질 수 있다.
- home_directory : 사용자의 홈 디렉터리 경로. 사용자가 로그인하면 이 디렉터리로 이동함.
- shell : 사용자가 로그인할 때 기본으로 사용할 셸 프로그램. 예를 들어 /bin/bash나 /bin/sh가 사용됨.
예시
다음은 /etc/passwd 파일의 몇 가지 예시 줄
1 2 3 root:x:0:0:root:/root:/bin/bash user1:x:1000:1000:User One:/home/user1:/bin/bash guest:x:1001:1001:Guest User:/home/guest:/bin/shroot 계정은 UID와 GID가 0이고, 홈 디렉터리는 /root, 셸은 /bin/bash이다. user1 계정은 UID와 GID가 1000이고, 홈 디렉터리는 /home/user1, 셸은 /bin/bash이다. guest 계정은 UID와 GID가 1001이고, 홈 디렉터리는 /home/guest, 셸은 /bin/sh이다.
주요 기능
- 사용자 정보 저장 : 사용자 이름, UID, GID, 홈 디렉터리, 셸 등을 저장하여 사용자 계정을 관리함.
- 시스템 접근 제어 : 시스템이 사용자를 인증하고 접근 권한을 제어하는데 사용됨.
- 호환성 유지 : 다양한 유닉스 계열 시스템과의 호환성을 유지.
보안 고려사항
- 비밀번호 저장 : 원래 비밀번호가 /etc/passwd 파일에 저장되었지만, 현재는 보안을 위해 /etc/shadow 파일에 저장됨.
- 파일 권한 : /etc/passwd 파일은 읽기 권한이 모든 사용자에게 있지만, 쓰기 권한은 관리자(root)만 가지도록 설정됨.
요약
- /etc/passwd 파일은 리눅스와 유닉스 계열 시스템에서 사용자 계정 정보를 저장하는 파일.
- 각 줄은 하나의 사용자 계정을 나타내며, 콜론(:)으로 구분된 7개의 필드를 포함.
- 시스템이 사용자를 인증하고 관리하는데 중요한 역할을 함. 이 파일을 통해 시스템은 사용자를 관리하고, 각 사용자에게 적절한 권한과 환경을 제공.
/etc/profile
/etc/profile은 리눅스 및 유닉스 계열 운영체제에서 시스템 전역의 셸 초기화 스크립트로, 사용자가 서버에 접속하여 로그인할 때 자동으로 실행되는 스크립트. 이 파일은 Bourne 셸(sh) 및 호환 셸 (ex: bash, ksh, ash)을 사용하는 모든 사용자가 로그인할 때 실행됨. /etc/profile 파일은 사용자의 셸 환경을 설정하고 초기화하는데 중요한 역할을 함.
주요 기능
- 환경 변수 설정
- /etc/profile 파일은 시스템 전체에서 적용되는 환경 변수를 설정할 수 있다. 예를 들어, PATH 변수를 설정하여 기본 경로를 지정할 수 있다.
- 셸 프롬프트 설정
- 대화형 셸의 프롬프트를 설정. 예를 들어, root 사용자와 일반 사용자의 프롬프트를 다르게 설정할 수 있다.
- 시스템 전역 초기화 스크립트 실행
- /etc/profile.d 디렉터리 내에 있는 개별 스크립트를 실행하여 추가적인 초기화 작업을 수행할 수 있다. 이는 시스템 관리자가 특정 패키지나 환경을 설정할 때 유용함.
- 셸 옵션 및 설정
- 셸의 다양한 옵션과 설정을 지정할 수 있다. 예를 들어, 히스토리 설정, 파일 제한 설정 등을 할 수 있다.
작동 방식
- 사용자가 로그인할 때, 셸은 /etc/profile 파일을 먼저 읽고 실행한다. 이 파일은 시스템 전역에 적용되므로, 모든 사용자가 동일한 초기화 설정을 공유하게 된다.
- 사용자의 개별 설정 파일인 ~/.profile, ~/.bash_profile, ~/.bashrc 등이 존재하면, 이 파일들도 차례로 읽고 실행된다.
/etc/profile 예제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 noah@noah-VirtualBox:~$ cat /etc/profile # /etc/profile: system-wide .profile file for the Bourne shell (sh(1)) # and Bourne compatible shells (bash(1), ksh(1), ash(1), ...). if [ "${PS1-}" ]; then if [ "${BASH-}" ] && [ "$BASH" != "/bin/sh" ]; then # The file bash.bashrc already sets the default PS1. # PS1='\h:\w\$ ' if [ -f /etc/bash.bashrc ]; then . /etc/bash.bashrc fi else if [ "`id -u`" -eq 0 ]; then PS1='# ' else PS1='$ ' fi fi fi if [ -d /etc/profile.d ]; then for i in /etc/profile.d/*.sh; do if [ -r $i ]; then . $i fi done unset i fi
1 2 # /etc/profile: system-wide .profile file for the Bourne shell (sh(1)) # and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).=> 이 주석은 파일이 시스템 전역에서 사용되는 .profile 파일이라는 것과 다양한 Bourne 호환 셸에서 사용된다는 것을 나타낸다.
if [ "${PS1-}" ]; then
=> 이 조건문은 PS1 변수가 설정되어 있는지 확인한다. PS1은 프롬프트 문자열을 나타내며, 셸이 대화형인지 확인하는데 사용된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 if [ "\\${BASH-}" ] && [ "\\$BASH" != "/bin/sh" ]; then # The file bash.bashrc already sets the default PS1. # PS1='\h:\w\$ ' if [ -f /etc/bash.bashrc ]; then . /etc/bash.bashrc fi else if [ "`id -u`" -eq 0 ]; then PS1='# ' else PS1='$ ' fi fi=> 이 부분은 두 개의 조건문으로 나뉜다. 첫 번째 조건문 (if [ “\${BASH-}” ] && [ “$BASH” != “/bin/sh” ]; then)은 현재 셸이 Bash인지 확인한다. 만약 Bash라면, /etc/bash.bashrc 파일을 실행한다. 이 파일은 Bash용 추가 설정을 포함한다.
- PS1의 기본 설정은 주석 처리되어있다.(PS1=’\h:\w$ ‘)
- /etc/bash.bashrc 파일이 존재하면 이를 소스(source)하여 실행한다. 두번째 조건문 (else)은 현재 셸이 Bash가 아니거나 /bin/sh인 경우에 실행된다.
- 사용자가 root일 경우(id -u가 0이라면), PS1을 #으로 설정한다.
- 일반 사용자일 경우, PS1을 $로 설정한다.
1 2 3 4 5 6 7 8 if [ -d /etc/profile.d ]; then for i in /etc/profile.d/*.sh; do if [ -r $i ]; then . $i fi done unset i fi이 부분은 /etc/profile.d 디렉터리가 존재하는지 확인한다. 존재한다면, 해당 디렉터리 내의 모든 읽을 수 있는 .sh 파일을 순차적으로 소스(source)하여 실행한다. 마지막으로, 루프 변수 i를 해제한다(unset i).
요약
- 이 파일은 로그인 시 모든 사용자에게 적용되는 기본 설정을 포함한다.
- PS1 변수를 통해 프롬프트 문자열을 설정한다.
- Bash 셸일 경우 /etc/bash.bashrc 파일을 실행한다.
- 비 Bash 셸일 경우, 사용자가 root인지 여부에 따라 프롬프트를 설정한다.
- /etc/profile.d 디렉터리 내의 모든 .sh 파일을 실행한다. 이러한 설정은 시스템 전역의 셸 환경을 표준화하고, 필요한 초기화 작업을 자동으로 수행하게 한다.
추가적으로 ~/.profile, ~/.bash_profile, ~/.bashrc 세 파일에 대해 알아보기로 하자. 해당 세 파일들은 리눅스와 유닉스 계열 운영체제에서 사용자 계정의 셸 환경을 설정하는데 사용된다. 각 파일은 사용자가 로그인할 때 또는 셸을 시작할 때 실행되는 스크립트를 포함하고 있다. 이 파일들은 각기 다른 상황에서 사용된다.
~/.profile
- 역할 : 사용자가 시스템에 로그인할 때 실행되는 초기 설정 파일.
- 내용 : 일반적인 환경 설정과 기본적인 초기화 작업 담당. 예를 들어, 사용자의 홈 디렉터리 경로 설정, 기본적인 환경 변수 설정 등이 포함될 수 있다.
~/.bash_profile
- 역할 : Bash 셸에서 사용자가 로그인할 때 실행되는 초기화 파일.
- 내용 :
- ~/.profile을 호출하여 공통 설정을 가져온다.
- Bash 특화 설정을 추가한다. 예를 들어, 추가적인 환경 변수 설정, 별칭(alias) 설정 등이 포함될 수 있다.
~/.bashrc
- 역할 : Bash 셸에서 사용자가 새로운 창을 열 때마다 실행되는 초기화 파일.
- 내용 :
- ~/.bash_profile에서 가져올 필요가 없는 별도의 설정 파일
- 대화형 셸에서 필요한 설정을 제공. 예를 들어, 대화형 환경에서만 필요한 별칭 설정, 프롬프트 설정 등이 포함될 수 있다.
각 파일들 간 관계
- ~.profile과 ~/.bash_profile :
- ~/.bash_profile은 Bash 셸에서 로그인할 때 실행되는 파일인데, 이 파일은 보통 ~/.profile에서 설정한 일반적인 초기화 작업을 가져와서 사용함. 그리고 그 위에 추가적인 Bash 특화 설정들을 넣어서 사용자가 Bash 셸에서 사용할 수 있게 준비해둠.
- ~/.bash_profile과 ~/.bashrc :
- ~/.bashrc 파일은 새로운 Bash 셸 창을 열 때마다 실행되는 파일. 이 파일은 주로 대화형 환경에서 필요한 설정들을 담고 있다. ~/.bash_profile에서 가져온 것이 아니라, 별도로 필요한 설정들을 여기에 추가함.
요약
- ~/.profile은 모든 종류의 셸에서 공통으로 사용되는 초기화 파일이며, 주로 시스템 로그인 시에 실행된다.
- ~/.bash_profile은 Bash 셸에서 로그인할 때 실행되며, 일반적으로 ~/.profile을 호출하여 공통 설정을 가져오고 Bash 특화 설정을 추가한다.
- ~/.bashrc는 Bash 셸에서 새로운 창을 열 때마다 실행되며, 대화형 환경에서 필요한 추가 설정을 제공한다.
시스템 종료 명령어
- shutdown
- 시스템을 종료하거나 재시작하는 명령어.
- 현재 실행 중인 프로세스나 저장되지 않은 데이터를 안전하게 디스크에 저장하고, 모든 파일 시스템을 unmount 시킨 후 시스템 종료한다.
- 기본 형식
1
noah@noah-VirtualBox:~$ shutdown [옵션] [시간] [경고 메시지]
- 옵션
- shutdown 다음에 –help를 붙여서 실행시켜 shutdown에 대한 옵션을 확인할 수 있지만, 이 페이지에서는 간단하게나마 정리하고 넘어가기로 한다.
-c | 예약된 종료 명령을 취소 |
-h | 시스템을 안전하게 종료 |
-k | 종료 명령을 수행하지 않고 메시지만 전달 |
+m | ‘m’분 후에 시스템 종료 |
-P | 시스템 강제 종료 |
-r | 시스템 재시작 |
-t | 지정 시간에 시스템을 종료하거나 재시작 |
- init
- 시스템을 종료하거나 재시작하는 명령어이다.
- 기본 형식
1
noah@noah-VirtualBox:~$ sudo init [런 레벨]
- 예시
- 런 레벨을 6으로 지정할 경우에는 시스템 재시작
1 2 3 4 5 6 7 8 9
noah@noah-VirtualBox:~$ sudo init 6 [sudo] noah 암호: noah@noah-VirtualBox:~$ Connection closing...Socket close. Connection closed by foreign host. ... Disconnected from remote host(noah) at 21:58:00. ... Type `help' to learn how to use Xshell prompt. [C:\~]$
- 런 레벨을 6으로 지정할 경우에는 시스템 재시작
- halt
- 시스템을 종료하는 명령어이다.
- 기본 형식
1
noah@noah-VirtualBox:~$ halt [옵션]
- 옵션
- 옵션은 아래 정리한 옵션 이외에 많은 옵션들이 있으나, 아래 케이스에 대해서만 정리하기로 한다.
-t | 시스템 강제 종료 (power off) |
- 예시
- 옵션 없이 사용하면 모든 프로세스는 종료되지만 전원(power)은 꺼지지 (off) 않는다.
- 옵션(-f)을 지정할 경우 모든 프로세스는 종료되고 전원(power)도 꺼진다(off).
- poweroff
- 시스템을 종료하는 명령어이다.
- 기본 형식
1
root@noah-VirtualBox:~# poweroff
시스템 재시작 명령어
- reboot
- 시스템을 재시작하는 명령어이다.
- 기본 형식
1
root@noah-VirtualBox:~# reboot [옵션]
- 옵션
- 옵션은 아래 정리한 옵션 이외에 많은 옵션들이 있으나, 아래 케이스에 대해서만 정리하기로 한다.
-t | 시스템 강제 재시작 |