분류 전체보기
-
[Linux] 우분투 패키지 저장소 추가하기IT Tech/Linux 2021. 2. 2. 16:29
패키지 저장소는 왜 추가해야 할까요? ifconfig, netstat과 같이 정식 버전을 지원하는 소프트웨어는 apt install 명령어를 통해 간편하게 설치할 수 있습니다. 하지만 우분투 버전보다 높은 버전 또는 소프트웨어의 베타 버전 아니면 개인이 만들어서 유명하지 않는 소프트웨어를 패키지로 설치하려면 저장소를 추가하고 설치를 진행해야 합니다. sources.list 소스 목록 /etc/apt/sources.list에 포함된 파일은 여러 곳의 활성화된 소스 레포지토리를 지정하는 파일입니다. 형식으로는 하나의 줄에 한 곳의 소스 저장소를 지정하는 한 줄 스타일 여러 줄을 지정하는 deb822 스타일 이 있습니다. 파일은 두 스타일을 포함하며 가장 선호되는 소스가 가장 먼저 나열됩니다. 이 파일에 구성..
-
[Linux] 파일 접근 허가와 사용자 추가IT Tech/Linux 2021. 2. 2. 15:07
파일 접근 허가 ls -al 파일에 대한 권한을 확인할 수 있습니다. 1 필드 - : 파일 -d : 디렉토리 -l : 다른 파일을 가리키는 링크 -p : pipe. 두 개의 프로그램을 연결하는 파이프 파일 -b : block device. 블럭 단위로 하드웨어와 반응하는 파일 -c : character device. 스트림 단위로 하드웨어와 반응하는 파일 2~10 필드 소유주(USER) 권한 (2~4) 그룹(Group) 권한 (5~7) 그 외(Others) 권한 (8~10) 권한 별 숫자 r : 읽기 권한 = 4 w : 쓰기 권한 = 2 x : 실행 권한 = 1 - : 권한없음 = 0 chmod 기존 파일 또는 디렉토리에 대한 접근 권한을 변경할 때 사용합니다. 파일 모드의 변경은 슈퍼유저나 파일 소유자..
-
[Linux] 특정 조건으로 파일 찾기IT Tech/Linux 2021. 2. 2. 13:56
locate [파일명] 파일이 위치한 경로를 알 수 있습니다. $ locate apt-daily.service /usr/lib/systemd/system/apt-daily.service find [디렉토리] -name [파일명] 해당 디렉토리 아래에 있는 파일을 찾을 수 있습니다. $ find /usr -name apt-daily.service /usr/lib/systemd/system/apt-daily.service printenv 현재 지정된 환경변수를 출력합니다. echo $PATH 환경변수들의 경로인 path를 출력합니다. path들은 모두 :(콜론)으로 구별됩니다. grep -R -i [문자열] /etc/* etc 폴더 안에 있는 파일들 중 [문자열]을 내용물로 포함하는 파일을 찾을 수 있습니다..
-
[Linux] 특정 시간에 반복적으로 작업하기IT Tech/Linux 2021. 2. 2. 12:17
Cron과 Crontab 유닉스/리눅스 계열에서는 특정 작업을 하는 데몬을 크론(Cron)이라고 부릅니다. 그리고 이 크론을 특정 시각마다 특정 업무를 하도록 설정해 특정 파일에 저장하는 것이 크론탭(Crontab)입니다. Crontab 설정하는 방법 Crontab을 설정하는 방법은 두가지가 있습니다. crontab -e 명령어를 사용해 등록 /etc/crontab에 직접 등록하는 방법 -> 이 경우는 vi, nano와 같은 편집기로 crontab 파일을 열어 직접 편집해야 합니다. crontab -e 명령어를 사용해 등록 crontab -e 명령어를 입력합니다. 첫 입력 시 에디터를 선택하는 창이 나옵니다. 만약 이후에 변경하고 싶다면 select-editor 명령어를 통해 다시 설정할 수 있습니다. ..
-
[쿠버네티스] create VS apply컨테이너/쿠버네티스 2021. 1. 30. 13:45
쿠버네티스 공부를 하던 중 Pod을 생성할 때 명령어가 두 가지가 보여서 무엇에 차이가 있는지 궁금하여 찾아보았습니다. command object가 존재하지 않을 경우 object가 이미 존재할 경우 create 새로운 object가 생성됩니다. ERROR apply 새로운 object가 생성됩니다. object를 구성합니다. (부분적인 spec을 받아들입니다.) replace ERROR obejct가 삭제된 뒤 새롭게 생성합니다. create VS apply create 명령은 각 오브젝트의 구성이 그 구성파일 내에 완전하게 정의되고 기록되어질 경우 잘 작동합니다. 하지만 활성 오브젝트가 업데이트 되고, 구성파일 안에 병합하지 않으면, 업데이트 내용은 다음 replace가 될 때 삭제될 것입니다. 이렇..
-
[쿠버네티스] 큐브 시스템 컴포넌트와 라이브네스, 레디네스컨테이너/쿠버네티스 2021. 1. 29. 20:27
큐브 시스템 컴포넌트 큐브 API 서버 쿠버네티스 시스템 컴포넌트는 오직 API 서버와 통신하며 컴포넌트끼리는 서로 직접 통신하지 않습니다. RESTful API를 통해 클러스터 상태를 쿼리로 제공하고, 수정할 수 있는 기능을 제공합니다. 큐브 컨트롤러 매니저 API에 의해 받아진 요청을 처리하는 역할을 맡습니다. 레플리케이션 매니저 레플리카셋, 데몬셋, 잡 컨트롤러 디플로이먼트 컨트롤러 스테이트풀셋 컨트롤러 노드 컨트롤러 서비스 컨트롤러 엔드포인트 컨트롤러 네임스페이스 컨트롤러 영구 볼륨 컨트롤러 etc 큐브 스케줄러 요청 받은 리소스를 어느 노드에서 실행할지를 결정합니다. 현재 노드의 상태를 점검하고 최상의 노드를 찾아 배치하죠. 다수의 팟(Pod)을 배치하는 경우에는 라운드 로빈 방식을 채택합니다...
-
쿠버네티스 서비스 동작 구조컨테이너/쿠버네티스 2021. 1. 28. 20:57
팟(Pod)이란? 쿠버네티스는 kubectl get container와 같이 컨테이너를 취급하지 않습니다. 대신 여러 위치에 배치된 컨테이너 그룹이라는 팟(Pod)이라는 개념을 사용합니다. 팟(Pod)의 특징 팟은 하나 이상의 밀접하게 관련된 컨테이너로 구성된 그룹입니다. 팟은 동일한 리눅스 네임스페이스와 동일한 워커 노드에서 항상 함께 실행됩니다. 각 팟은 애플리케이션을 실행하는 자체 IP, 호스트 이름, 프로세스 등이 있는 별도의 논리적 시스템입니다. 디플로이먼트의 역할 디플로이먼트는 레클리카셋을 생성합니다. 레플리카셋은 지정된 수를 알려주면 그 수 만큼 팟이 생성됩니다. 어떤 이유로든 팟이 사라지면 레플리카셋은 누락된 포드를 대체할 새로운 포드를 생성합니다. 서비스의 역할 팟은 일시적인 존재이며 다..
-
[Linux] 서비스 포트 관리IT Tech/Linux 2021. 1. 28. 14:16
netstat -na $ netstat -na -a는 전체를 나타냅니다. -n은 DNS 쿼리를 하지 않겠다는 뜻입니다. 네트워크에 장애가 생겼을 경우, DNS timedout 쿼리를 기다리느라 한참 뒤에 실행이 완료될 수 있기 때문입니다. ss -ltp $ ss -ltp netstat에 비해 최근에 나온 명령어이기 때문에 다양한 옵션을 줄 수 있습니다. -l은 listening인 목록만 보여줍니다. -t는 tcp에 대한 항목만 보여줍니다. -p는 프로세스에 대한 항목만 보여줍니다. -u는 udp에 대한 항목만 보여줍니다. dnmap $ apt install nmap $ nmap localhost nmap은 로컬호스트만 접근해야 합니다. 외부 원격 호스트에 사용 시 열린 포트에 대한 공격으로 판단할 수도 ..