반응형

데브옵스(DevOps)/Linux 8

[Linux] 우분투(Ubuntu) 서버 시간 설정하기

현재 설정된 시간 확인하기 현재 컴퓨터에 설정된 시간 정보는 다음 명령어를 통해 확인할 수 있다. timedatectl 실행 결과 Local time: Thu 2023-09-07 01:11:49 KST Universal time: Wed 2023-09-06 16:11:49 UTC RTC time: Wed 2023-09-06 16:11:49 Time zone: Asia/Seoul (KST, +0900) System clock synchronized: yes NTP service: active RTC in local TZ: no 만약, AWS EC2 인스턴스를 생성한 후 처음 접속했다면 시간 설정이 서울로 되어있지 않을 것이다. 설정할 수 있는 시간 리스트 확인하기 다음은 우분투에 시간을 설정할 수 있는 도..

[Linux] SSH 접속 시 WARNING: UNPROTECTED PRIVATE KEY FILE! 문제 해결 방법

문제 데스크톱 환경에서 AWS EC2 인스턴스에 SSH Key로 접속할 때 개인키를 통해 접속하다가 다음과 같은 문제를 마주했다. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0644 for './example.pem' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored. Load..

[AWS] 프리티어 EC2 인스턴스 메모리 부족 현상 해결하기(램 성능 개선)

Intro AWS 프리티어 계정으로 EC2를 사용하다 보면 램 부족 현상으로 인해 서버가 자주 터지게 된다. 프로젝트 빌드 도중에 멈추기도 하고, 서버가 갑자기 다운되는 현상이 자주 발생할 수 있다. AWS 프리티어 EC2 인스턴스 AWS에서 제공하는 프리티어 EC2 인스턴스의 성능은 기본적으로 1GB 메모리와 스토리지 최대 30GB를 제공한다. 스토리지 공간은 충분하지만, 램 부족 현상으로 인해 서버가 자주 다운되는 현상이 발생하게 된다. 따라서, 리눅스에서 제공하는 RAM swap을 통해 부족한 메모리 현상을 해결하고자 한다. Swap Space(스왑 공간) 먼저, Swap Memory 사용하기 전에 메모리 스왑을 할 공간(Swap Space)을 마련해야 한다. Swap Space는 물리적인 메모리 ..

[Linux] 리눅스의 사용자 권한과 chmod 명령어

리눅스의 사용자 권한 확인하기 리눅스의 파일과 디렉토리는 사용권한이 존재한다. 사용 권한에 대해 알아보기 위해 다음 명령어로 디렉토리와 파일을 생성한다. mkdir hello nano hello.java 파일과 디렉토리를 생성한 뒤, ls -l 명령어를 통해 목록을 살펴보면 다음과 같은 정보를 얻을 수 있다. hello 디렉토리는 drwxrwxr-x hello.java 파일은 -rw-rw-r-- 이를 해석하면, 첫 글자 d와 -에서 d : 디렉토리(directory)를 뜻한다. : 디렉토리가 아닌(not directory) 것을 뜻한다. 이어지는 r, w, x는 읽기 권한(read permission), 쓰기 권한(wirte permission), 실행 권한(execute permission)을 나타낸다..

[Linux] 리눅스의 apt 명령어 정리 (리눅스 패키지와 패키지 매니저)

패키지와 패키지 매니저 리눅스 운영체제에서는 패키지와 패키지 매니저를 지원한다. 리눅스 패키지는 여러 파일을 모아 하나의 파일로 저장하고 있는 압축파일이다. 각 패키지 안에 들어 있는 파일들의 구성은 다음과 같다. 프로그램 파일 프로그램 설치 파일 프로그램 설치 설명서 프로그램에 대한 정보를 담은 파일 패키지 안에는 하나의 프로그램이 정상적으로 설치되고 동작하기 위한 모든 파일들이 압축되어 있으며, 프로그램에 대한 정보도 담겨 있다. 따라서, A라는 프로그램을 설치하기 위해 B라는 프로그램이 필요하다는 가정을 하고, B라는 패키지가 설치되지 않은 상태에서 A라는 프로그램을 설치한다면, 패키지에 포함된 정보를 통해 프로그램 B를 먼저 설치하고 나서 프로그램 A를 설치한다. 패키지 매니저는 패키지의 설치, ..

[Linux] 리눅스의 텍스트 에디터 nano

텍스트 에디터 nano CLI 환경에서 일반적으로 자주 쓰이는 텍스트 에디터는 vim(vi), emacs, nano 등이 있다. vim과 emacs 에디터는 다양한 기능을 제공하는 반면, 사용을 위해 따로 학습을 해야 할 정도로 진입장벽이 높다. 따라서, CLI 사용에 익숙하지 않은 사람들의 경우 nano 에디터 사용을 추천한다. VS Code와 같은 에디터를 사용하지 않고 터미널에서 에디터를 사용하는 이유는 AWS와 같은 원격 서버 환경에서 원격으로 텍스트 파일을 편집해야 하는 경우가 있기 때문이다. 따라서 개발 분야에서 CLI는 여전히 유용하게 사용되고 앞으로도 계속 사용될 것이기에 터미널 내의 에디터를 반드시 숙지해야 한다. nano 실행 터미널 창에서 nano 명령어를 통해 실행할 수 있다. na..

[Linux] 리눅스의 관리자 권한과 절대 경로 및 상대 경로

관리자와 사용자 컴퓨터의 운영체제(Window, Mac, Linux 등)에는 사용자와 관리자가 따로 구분되어 있다. 사용자는 일반적으로 PC를 켜서 바탕화면에 진입하기 전에 로그인하는 계정이다. 프로그램을 설치하거나 업데이트할 때 이를 승인 또는 인증 절차를 거치도록 하는 경험을 한 적이 있을 것이다. 이 뿐만 아니라 프로그램을 변경, 삭제할 때도 관리자의 권한을 필요로 하기도 한다. 관리자와 사용자를 따로 구분하는 이유는, 다른 사용자의 해킹 또는 악성코드로부터 방지하기 위함이다. 관리자 권한으로 실행되는 PC에서는 악성코드가 삽입된 프로그램이 유입될 가능성이 높기 때문이다. 따라서, 리눅스 기반의 여러 운영체제에서도 관리자와 사용자를 구분하고 있다. 같은 리눅스 기반으로 개발된 운영체제에서도 다양한 ..

[Linux] 리눅스 CLI 기본 개념과 명령어 정리

CLI(Command-Line Interface) CLI는 가상 터미널 또는 터미널을 통해 사용자와 컴퓨터가 상호 작용을 하는 방식을 뜻한다. 리눅스의 터미널은 키보드의 입력과 모니터의 출력으로 모든 작업을 할 수 있다. 리눅스는 GUI가 개발되기 이전부터 컴퓨터를 조작하기 위해 사용된 프로그램으로 GUI가 할 수 있는 모든 작업을 CLI로 할 수 있다. 프롬프트(Prompt) 터미널 창에서 키보드의 입력을 확인하고 편집할 수 있는 한 줄의 공간을 뜻한다. 프롬프트를 통해 키보드로 입력하여 사용한다. CLI 기본 명령어 pwd : 현재 위치 확인 pwd는 터미널이 현재 위치를 알려주는 명령어로 현재 작업 중인 디렉토리의 절대 경로를 출력한다. pwd 디렉토리(Directory) : 컴퓨터에서 파일을 분류..

반응형