목록DevOps (89)
내 잡다한 노트
방화벽(Firewall)은 외부에서 들어오는 패킷인 인바운드와 서버에서 나가는 패킷인 아웃바운드에 대한 정책을 설정하여 정책에 따라 패킷을 허가하거나 거부하는 방식으로 작동함. 리눅스 방화벽은 크게 리눅스 커널을 제어하여 실제 네트워크 패킷을 필터링하는 방화벽 처리부와 필터링 정책을 추가/제거하는 방화벽 제어부로 구성된다. 내가 사용하는 우분투 리눅스는 데비안 리눅스 기반으로 하는 ufw 방화벽 시스템을 사용한다. nftables 프레임워크에서 필터링을 진행한다. 패킷이 오면 여기서 필터링을 할 지 안 할지 결정함. sudo ufw status 명령으로 방화벽 서비스가 켜져 있는지 확인할 수 있다. sudo ufw enable 을 하면 방화벽이 활성상태가 된다. sudo ufw status verbose..
# fork( ) : 기존 프로세스를 복사하여 새 프로세스를 만드는 시스템 함수 부모 프로세스의 fork 리턴 값은 자식 프로세스의 pid 자식 프로세스의 fork 리턴 값은 0 부모 프로세스와 자식 프로세스는 독립적으로 실행된다. 그래서 멀티프로세싱이라고 부를 수도 있다. 부모에서 fork가 호출되면 부모의 복사본인 새로운 자식이 생성되고, 둘 다 fork 호출이 발생한 지점부터 계속 실행된다. 즉, 부모에서 이미 실행된 코드는 하위에서 실행되지 않는다. fork 호출 후, 메모리의 code, stack, data 부분에서 자식은 read only 상태로만 부모 메모리에 있는 변수 등을 보다가 활용을 해야하는 순간이 오면 그 변수를 새롭게 만들어서 부모 메모리의 변수와는 독립적으로 움직인다. 이렇게 하..
복사를 yank(y), 잘라내기를 delete(d), 붙여넣기를 paste(p)라고 한다. 밑의 과정들은 esc키를 누르고 진행하면 됨. # 복사 여러 명령어가 있지만 간단하게 ny만 기억하자. n은 정수로 커서가 위치한 라인에서 시작해 n개의 줄을 복사해준다. # 삭제 dd - 현재 줄을 삭제. ndd - 위와 똑같이 n개의 라인을 삭제한다. d$ - 커서에서 줄 끝까지 다 삭제 #붙여넣기 커서를 원하는 위치로 이동하고 p를 누르면 붙여넣기를 한다.
esc키를 누르고 :을 입력해 명령어 모드로 진입해야한다. /검색할 문자열 ====> 현재 커서 아래로 검색 /는 현재 커서를 기준으로 아래로 해당 문자열을 찾는다. ?검색할 문자열 =====> 현재 커서 위로 검색 ?는 현재 커서를 기준으로 위 방향으로 해당 문자열을 찾는다. 만약 파일 속에 해당 문자열이 여러개가 있다면 n, N을 활용할 수 있다. n은 다음 찾기, N은 이전 찾기. 문자열 부분에 정규 표현식을 사용할 수도 있다.
gcc 리눅스 환경에서 컴파일을 실행할 수 있는 툴 컴파일에 필요한 전처리기, 컴파일러, 어셈블러, 링커를 호출 gcc [-옵션] 옵션 내용 사용법 -o 출력할 파일명을 지정 gcc -o (출력파일) (컴파일 할 파일들) -c 링크를 하지 않음 gcc - c (컴파일 할 파일) 오브젝트 파일을 출력 Make Make를 쓰는 이유 - 각 파일에 대한 반복적 명령의 자동화로 인한 효율성 증가 - 프로그램의 종속 구조를 빠르게 파악할 수 있으며 관리가 용이하다. - 많은 c소스들중에 하나를 수정해도 make를 하면 전체 재 컴파일을 할 수 있다. vi Makefile 로 파일을 만든다. make 구성 - 목적파일(Target) : 명령어가 수행되어 나온 결과를 저장할 파일 (목적 or 실행파일) - 의존성(D..
각 지역별로 리전이 있고 가용영역들이 존재한다. 리전에 속해있지 않은 IAM, Amazon CloudFront. 리전안에 있지만 가용영역에는 속해있지 않은 vpc, S3가 존재하고, 가용영역에는 RDS와 EC2가 있다. 리전이란 전세계에 분포돼있다. 리전은 AWS의 서비스가 제공되는 서버의 물리적 위치이다. 각 리전에는 고유의 코드가 부여된다. 예시로 서울 리전은 ap-northeast-2 이다. 리전별로 가능한 서비스가 다르다. 리전을 선택할 때 고려할 점 1. 지연속도 2. 법률(데이터, 서비스 제공 관련) 3. 사용 가능한 AWS 서비스 가용영역(Availability Zone) 리전의 하부 단위. 하나의 리전은 반드시 2개 이상의 가용영역으로 구성. 간단하게 생각하면 데이터 센터라고 생각하면 된다..
# sudo 명령어 일반 사용자가 root 권한을 사용하기 위한 명령어 /etc/sudoers 에서 허가된 사용자만 사용 가능 # apt-get 우분투, 데비안 계열 리눅스의 패키지 관리 도구 ex) apt-get install : 패키지를 설치한다. apt-get remove apt-get update : 패키지 정보를 업데이트 apt-get upgrade : 모든 패키지를 최신 버전으로 업데이트 비슷한 명령어로 apt가 있다. apt가 더 사용하기 좋다고 함. 같은 기능을 제공한다. apt-get과 명령어가 똑같다. apt install [패] # clear 터미널 화면 초기화 # ls [-option] 경로 내 파일 및 디렉토리 목록 확인 (LiSt) -l 옵션 : 상세 정보를 출력 -a 옵션 : ..
클라우드 컴퓨팅 모델, 클라우드 컴퓨팅 배포 모델 2가지로 나눌 수 있다. # 클라우드 컴퓨팅 모델 어플리케이션의 구성 어플리케이션 os : windows/linux computing : cpu + ram storage : hdd/ssd network : 랜카드/랜선 # Iaas : Infrastructure as a Service 인프라만 제공 OS를 직접 설치하고 필요한 소프트웨어를 개발해서 사용 가상의 컴퓨터를 하나 임대하는 것과 비슷함 아까 어플의 구성에서 COMPUTING, STORAGE, NETWORK를 제공하고 그 외는 직접 개발하는 것 예 : AWS EC2 요리하려 할 때 주방만 빌려주는 것 # PaaS : Platform as a Service 인프라+OS+기타 프로그램 실행에 필요한 부..