본문 바로가기
교육/Java&Spring

kosta 클라우드 네이티브 애플리케이션 개발 과정 day 42

by Renechoi 2023. 2. 22.

kosta 클라우드 네이티브 애플리케이션 개발 과정 day 42

 


프로세스 : 현재 시스템에서 실행중인 프로그램 

 

- 프로세스는 부모 자식 관계 

- 프로세스의 번호 : 고유한 번호를 갖고 있는데 PID라고 함 

- 종류 : 데몬, 고아, 좀비 

 

현재 실행중인 프로세스의 목록을 보는 명령 : ps

- 유닉스 옵션 : 묶어서 사용할 수 있고, 붙임표로 시작한다 (-ef) 

- BSD 옵션 : 묶어서 사용할 수 있고, 붙임표로 시작하지 않는다 (aux) 

- GNU 옵션 : 붙임표 두 개로 시작한다 (--pid) 

 

 

 

현재 단말기의 프로세스 목록 출력하기 : ps 

 

 

 

 

 

터미널에서 실행한 프로세스의 정보 출력하기 : a 옵션 

 

u 옵션 

 

 

 

 

 

ps -ax 

 

 

s : 슬립을 의미

r : 현재 구동중인 시스템을 의미 

 

 

계정이 실행중인 프로세스 확인 

 

 

 

특정 pid로 찾기 

 

 

 

전체를 찾고 grep에게 전달하여 찾기 

 

 

 

 

톰캣을 찾는다고 하면 

ps -ef | grep tomcat

 

 

 

 

시그널 

 

목록

 

 

SIGKILL 이 제일 중요하다 

 

주요 시그널 

 

 

 

 

다른 터미널에서 실행중인 프로세스 죽이기 

 

kill -9 프로세스id 

pkill 명령이름 

 

 

 

 

 

top 명령으로 현재 실행중인 프로세스를 작업관리자 창처럼 볼 수 있다 

 

 

 

 

 

포그라운드 작업 : 사용자가 입력한 명령이 실행되어 결과가 출력될 때까지 기다려야 하는 포그라운드 방식으로 처리되는 프로세스 

sleep 100 => sleep 명령이 끝날 때까지 기다려야 한다 

 

 

백그라운드 작업 : 명령을 실행하면 명령의 처리가 끝나는 것과 관계없이 곧바로 프롬프트가 출력되어 사용자가 다른 작업을 계속할 수 있음 

sleep 100 => 프롬프트가 바로 나와 다른 명령을 실행할 수 있다 

 

 

실행 시간이 오래 걸릴 거 같으면 백그라운드로 작업 방향 전환하기 

 

find / -name passwd > pw.dat 2>&1 & 

 

 

 

jobs 백그라운드 실행 현황을 보여줌 

 

 

 

 

작업 전환하기 

sleep 100 

ctrl +z 

bg %1 

 

 

ctrl + z = 일시정지 

ctrl + c = 종료 

kill pid 또는 %작업번호 

 

 

 

 

로그아웃 후에도 백그라운드 작업 계속 실행하기 : nohup 

실행된 파일 확인까지 

 

 

 

 


 

 

리눅스 파일 시스템

 

파일 시스템 : 파일과 디렉터리의 집합을 구조적으로 관리하는 체계 

 

리눅스에서 지원하는 다른 파일 시스템

msdos

iso9660

nfs

ufs

vfat

hpfs

ntfs

sysv

hfs 

 

 

 

 

 

ext4 파일 시스템의 구조 

- 효율적으로 디스크를 사용하기 위해 저장장치를 논리적인 블록의 집합으로 구분

- 일반적으로 4kb이고 실제 크기는 시스템의 설정에 따라 변경 가능 

- 블록 그룹 유형 : 블록 그룹 0, 블록 그룹 a, 블록 그룹 b 

 


 

리눅스의 부팅과 종료 

 

 

 

처음 바이오스 단계에서부터 시작한다 

 

 

 

 

 

윈도우의 안전모드 같은 모드가 리눅스의 init  

 

런레벨을 다르게 설정할 수 있다 

 

 

 

 

특정 종류의 유닉 출력하기 : -t 옵션 

 

 

유닛 서비스 시작하기 : stdart 명령 

cron이라는 서비스를 스타트 시킴 

sudo systemctl start cron 

 

다시 중지시키기 

sudo stop cron 

 

 

 

상태 확인하기 

systemctl status cron 

 

 

 

런레벨은 현재 시스템의 상태를 나타내는 한 자리 숫자 

 

 

 

 

 

리눅스 시스템의 종료 

 

종료하는 방법 

- shutdown 명령을 사용한다

- halt 명령을 사용한다

- powerOff 명령을 사용한다

- 런레벨을 0이나 6으로 전환한다 (재시작)

- reboot 명령을 사용한다 (재시작)

- 전원을 끈다 

 

 

 

 

shutdown 명령 사용하기 

 

즉시 종료하기 

sudo shutdown -h now 

 

재시작 하기

sudo shutdown -r 

 

 

 

 


 

데몬 프로세스 

데몬 :

- 리눅스의 백그라운드에서 동작하면서 특정한 서비스를 제공하는 프로세스

- 리눅스 시스티ㅔㅁ에서 동작하는 각종 서비스를 제공하는 프로세스들이 바로 데몬 

 

 

 

 

pstree 로 

데몬 트리를 볼 수 있다 

 

 

리눅스의 주요 데몬 

 

 

 


 

소프트웨어 관리하기 

 

리눅스에서 주로 사용하는 패키지

- deb : 데비안, 우분투 계열에서 사용하는 패키지

- RPM : 레드햇 계열 리눅스에서 주로 사용 

 

우분투 패키지의 특징

- 바이너리 파일로 구성되어 컴파일이 필요 없다 

- 패키지의 파일이 관련 디렉토리에 바로 설치된다

- 패키지를 삭제할 때 관련된 파일을 일괄적으로 삭제할 수 있다

- 기존에 설치한 패키지를 삭제하지 않고 바로 업그레이드할 수 있다

- 패키지의 설치 상태를 검증할 수 있다

- 패키지에 대한 정보를 제공한다

- 해당 패키지와 의존성을 가지고 있는 패키지가 무엇인지 알려준다. 따라서 의존성이 있는 패키지를 미리 설치할 수도 있고, apt-get 명령을 사용하면 의존성이 있는 패키지가 자동으로 설치된다. 

 

 

 

 

네 개의 카테고리로 나누어 소프트웨어 제공

- main : 공식적, 자유

- restricted : 완전한 자유는 아님

- universe : 대부분 사용 가능, 기술적 지원은 x

- multivers : 자유 소프트웨어가 아닌 것이 포함, 개인이 직접 라이선스 확인 

 

 

 

 

 

apt 명령으로 패키지 관리하기

apt-cache : apt 캐시에서 정보를 검색하여 출력 

 

패키지 통계 정보 보기 

 

 

 

사용 가능한 패키지 이름 보기 : pkgnames 

 

 

 

패키지 정보 업데이트하기 

 

 

 

업그레이드도 하기 

 

sudo-apt-get upgrade

 

설치해보기 

 

 

 

 

파일 아카이브 

tar (tape archive) 명령은 원래 여러 파일이나 디렉터리를 묶어서 마그네틱 테이프와 같은 이동식 저장 장치에 보관하기 위해 사용하는 명령 

 

 

아카이브 생성하기 : cvf 

 

tar cvf ch2.tar ch2 

 

 

gzip으로 압축하기

 

gunzip으로 압축 파일 풀기 

 

 

 


 

 

사용자 관리 

- 리눅스는 다중 사용자 시스템이므로 사용자를 구별하고 사용자에게 적절한 자원을 할당해주는 방법이 필요

- 사용자 계정은 사용자가 시스템에 접근할 수 있는 유일한 방법

- 시스템 관리자의 입장에서도 사용자의 접근 권한을 통제할 수 있는 중요한 수단 

 

 

/etc/passwd 파일 

=> 사용자 계정 정보가 저장된 기본 파일 

 

 

 

 

 

- gid : 그룹 id, 시스템에 등록된 그룹에 대한 정보는 /etc/group 파일에 저장

- 설명 : 사용자의 실명이나 부서명, 연락처 등 사용자에 대한 일반적인 정보 기록 

- 홈 디렉터리 : 사용자 계정에 할당된 홈 디렉터리의 절대 경로 기록 

- 로그인 셸 : 사용자의 로그인 셸을 지정, 우분투에서는 배시 셸을 기본 셸로 사용 

 

 

 

etc/shadow 파일의 구조 

 

 

 

 

/etc/login.defs 파일 

 

 

 

압호화되어 있는 gshadow 파일 열기 

 

 

 

 

 

useradd 

 

사용자 계정 생성하기 

 

 

옵션 지정하여 사용자 계정 생성하기 

 

 

 

shadow 명령어로 비밀번호 보기 없으니까 아직 뜨지 않음 

 

 

 

 

adduser로 사용자계정 만들기 

 

 

만들어진 것을 확인하려면 

tail -10 /etc/passwd

 

 

 

사용자 로그인 정보 확인하기 : who 

- 현재 시스템을 사용하는 사용자의 정보를 출력 

 

 

 

 

 

chown : 파일과 디렉터리의 소유자와 소유 그룹을 변경한다 

 


 

 

원격 접속과 네트워크 접속 

 

 

sudo apt install network-manager : 네트워크 관리자 설치하기 

 

ifconfig로 네트워크 상태 파악하기 

 

 

반응형