TIL

[리눅스] Linux 프로세스 관리, 파티션 설정 4일차-1

엥이게되네 2023. 4. 27. 20:34
728x90

1. 리눅스 프로세스 관리하기

 

리눅스의 프로세스는 PID 로 식별 가능하다

 

$ps -ef | grep bash  # 사용자들의 PID 사용 가능
$ps -ef | grep http  # httpd가 실행중인지 검색
$ps aux              # 프로세스 상태
$ps                  # 프로세스 상태 (부모와 자식프로세스 사이를 보기 용이)

 

$kill -9 PIDno     # 사용자의 PID를 넣어 로그아웃 시킬 수 있다.
$kill -l           # signal 정보보기
$kill -9           # 200 200번 프로세스 kill
$top               # table 정보 보기
$pstree            # process tree

 

 

systemd : 모든 프로세스의 부모프로세스

 

 


2. 시스템 관련 명령어

 

명령어 내용
# arch cpu 정보 확인
# df -h disk 사용 정보 확인
# du /etc -sh   /etc의 용량 요약
# du -sh ~blue   user blue의 사용량
# dnf list | more (cent os) 설치된 관리자 용량
# apt list | more (ubuntu os) 설치된 관리자 용량
# uname -ar 현재 사용중인 커널 버전 확인
# top 현재 system의 상태
# ps aux 현재 프로세스의 상태
# who 현재 로그인한 계정
# mount 현재의  mount 정보 확인
# ifconfig 랜카드 설정 상태 
#free memory check

 

 - 내장된 쉘 명령어를 5줄로 출력하기

 


3. 리눅스 파일 시스템

운영체제에 따라 파일시스템이 다르다

윈도우에서 쓰는 NTFS

리눅스에서 쓰는 ext4가 있다

 

하드디스크를 파티션 하기 위해 2개의 하드디스크와 각 하드디스크 별로 3개의 파티션이 있다고 생각해보자

 

sda1(첫번째 파티션)

sda2(두번째 파티션)

sda3(세번째 파티션)

 

sdb1(첫번째 파티션)

sdb2(두번째 파티션)

sdb3(세번째 파티션)

...

 

하드디스크가 늘어날수록 sda->sdb->sdc 순이 된다.

파티션이 늘어날 수록 sda1->sda2->sda3 순이 된다.

 

파티션의 종류로는  primary, extended, logical 파티션이있다.

 

primary(주 파티션)은 최대 4개까지 가능하며 그 이후로는 확장 파티션을 통해 추가할 수 있다. 운영체제는 이곳에 설치한다.

extended(확장 파티션)은 속 안에 논리 파티션이 들어올 수 있으며 데이터를 저장할 수 없다.

logical (논리 파티션)은 확장파티션 안에 들어있다. 데이터 저장이 가능하고 운영체제를 설치 할 수 없다. 확장파티션이 가능한 만큼 생성할 수 있다.

 


4. 마운트 

마운트는 물리적으로 존재하는 장치를 논리적인 디렉터리에 연결하는 것을 의미한다. 특정장치를 사용하기 위해 메모리를 할당한다.

 

마운트 관련 명령어 내용
# mount -l 현재 마운트 정보 확인
# fdisk -l 현재 마운트 정보 확인
# df -h 파티션 정보 확인
   

 

4.1 마운트 / 언마운트 해보기

 

/data 를 마운트 해제 해보자

 

먼저 df -h로 파티션을 확인해보자

$df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 4.0M     0  4.0M   0% /dev
tmpfs                    982M     0  982M   0% /dev/shm
tmpfs                    393M  5.5M  388M   2% /run
/dev/mapper/rl_lsh-root   12G  2.6G  9.5G  22% /
/dev/sda1               1014M  232M  783M  23% /boot
/dev/mapper/rl_lsh-data   10G  104M  9.9G   2% /data
/dev/mapper/rl_lsh-home  5.0G   69M  5.0G   2% /home
tmpfs                    197M  4.0K  197M   1% /run/user/0

 


/dev/mapper/rl_lsh-root 
/dev/mapper/rl_lsh-data  -> 마운트 해제해보자
/dev/mapper/rl_lsh-home 

$umount /data   # /data 해제
$ls /data/      # /data 정보 확인, 없다고 뜬다.
$mount /dev/mapper/rl_lsh-data /k1    # k1 으로 mount 해보자
$df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 4.0M     0  4.0M   0% /dev
tmpfs                    982M     0  982M   0% /dev/shm
tmpfs                    393M  5.5M  388M   2% /run
/dev/mapper/rl_lsh-root   12G  2.6G  9.5G  22% /
/dev/sda1               1014M  232M  783M  23% /boot
/dev/mapper/rl_lsh-home  5.0G   69M  5.0G   2% /home
tmpfs                    197M  4.0K  197M   1% /run/user/0
/dev/mapper/rl_lsh-data   10G  125M  9.9G   2% /k1

k1 에 정상적으로 연결이 된 것을 확인할 수 있다.


5. Linux 부팅과 커널

5.1 리눅스 부팅 순서 

1) power ON
2) ROM-BIOS
3) 부트매니저 로드(GRUB)
4) 커널 로드
5) 파일 시스템
6) 파일 시스템 마운트
7) 시스템 초기화(init, systemd)
8) 로그인

 

 

부팅레벨을 확인할 수 있다.

 

5 : xWindow로 부팅된 상태
3 : 정상 부팅
0 : 재부팅

 

5.2 리눅스 커널과 드라이버

 

기본적으로 커널은 하드웨어를 조작할 수 있지만 

추가적인 장치를 조작 하기위해서는 드라이버를 설치하여 커널이 하드웨어를 조작하게 할 수 있다.

 

커널의 주요 기능은 다음과 같다.

 

메모리 관리, 프로세스 관리, 파일시스템 관리, 디바이스 관리, 네트워크 관리

 

$lsmod # 커널들의 목록을 확인할 수 있다
$lsblk # 부팅 파트 블록 확인

 

추가적인 커널의 정보는 http://kernel.org 에서 확인가능하다

728x90