리눅스는 오픈소스이기때문에 해킹 시도 다수, 패키지를 최소화하는 방식으로 보안

systemctl로 systemd를 제어
unit으로 구분
unit 중 target : 실행수준을 제어할 수 있는 서비스 그룹
unit은 확장자로 구분
systemctl은 주로 service를 제어
runlevel0 halt
runlevel1 single user
runlevel3 multi user
runlevel6 reboot
mount hidden되어있는 메모리 기반 file system 전부가 보임
cgroup 리소스 할당할때 사용, systemctl에서는 slice라는 개념으로 할당
기본은 로컬의 요청만 받아서 처리, 옵션을 추가 가능해 외부의 요청도 받아들일 수 있게 변경 가능
systemd의 원본 /usr/lib/systemd/system
복사본 /etc/systemd/system
복사해서 쓰는 것을 권장, 복사본을 먼저 실행

/lib/systemd/system/docker.service를 자신의 ip를 추가해 수정
수정 후 daemon-reload를 통해 restart하지 않고도 systemd에게 conf?를 재참조하도록 reload하도록 알려줌
vi편집기에서 서버용 docker인 ubuntu ip를 넣어 수정 후 daemon을 reload, docker을 restart한 뒤 ip가 적용됐는지 확인
클라이언트(rocky)에서 docker 서버(ubuntu)에 연결 후 nginx 이미지 실행(없어서 다운 후 실행)
docker 서버 ip를 dockeru라는 alias로 지정 후 bashrc에 저장
다른 rocky 쉘에서도 적용하기 위해 . ~/.bashrc를 사용해 bashrc파일을 다시 로드하여 alias 설정이 적용된 것을 확인
docker daemon을 특정 ip와 포트에 바인딩하지 않으면 클라이언트에서 docker 데몬에 접근하는 방식이 복잡하고 어려워질 수 있기 때문에(동일한 시스템이 아닐 시 SSH를 통해 서버에 접속해야 함) 서버의 docker ip를 저장해놓고, 해당 ip로 docker에 접근할 수 있게 만든 것

RSS real memory
disk와 memory간의 이동 단위 page
start 언제 시작했는지
time cpu를 사용한 누적 time
stat 상태
page를 계속 생성 = memory 부족
좀비 상태 Defunct
N 다른 프로세스보다 우선순위가 떨어지는 프로세스(cpu를 다른 프로세스보다 덜 사용)
O/S가 process를 중재
여러 노드(host)를 그룹으로 묶어서 사용하는 것 cluster
주기적인 작업은 cron에서 담당
cron의 보조적 기능을 anacron에서 담당
/etc/cron.deny에 사용자 등록 시 해당 사용자 deny