Linux 93

[Linux] curl 로 Restful API 호출 및 JSON 데이터 전송

REST API를 JSON 형태로 호출하기 위해 curl 명령어를 사용하는 방법은 다음과 같습니다: curl -X HTTP_METHOD -H "Content-Type: application/json" -d '{"key1": "value1", "key2": "value2"}' API_URL 여기서 각 항목을 설명하겠습니다: HTTP_METHOD: API에 대한 요청 메서드를 지정합니다. 예를 들어, GET, POST, PUT, DELETE 등이 있습니다. -H "Content-Type: application/json": HTTP 요청 헤더를 설정하여 JSON 데이터를 전달한다고 서버에 알립니다. 이 헤더는 JSON 데이터의 형식을 지정합니다. -d '{"key1": "value1", "key2": "val..

Linux 2023.09.19

[Linux] Shell in a box 설치하여, Web 브라우저에서 사용하기

"Shell in a Box"는 웹 브라우저를 통해 리눅스나 Unix 기반 시스템에서 쉘(터미널)에 원격으로 접속할 수 있도록 하는 웹 기반 터미널 에뮬레이터입니다. 이를 통해 웹 브라우저만 있으면 어디서든지 시스템에 접근하고 관리할 수 있습니다. 주요 특징 및 개념: 웹 기반 인터페이스: "Shell in a Box"는 웹 브라우저를 사용하여 사용자가 리눅스 쉘에 접속하고 명령을 실행할 수 있도록 합니다. 따라서 별도의 SSH 클라이언트 소프트웨어를 설치할 필요가 없습니다. 암호화: 기본적으로 "Shell in a Box"는 HTTPS를 사용하여 웹 트래픽을 암호화합니다. 이를 통해 보안이 강화됩니다. 다중 사용자 지원: 다중 사용자 환경에서 여러 사용자가 별도의 인증 정보를 사용하여 동시에 접속할 수..

Linux 2023.08.29

[Linux] HA Proxy 와 keepalived 를 구축하여, 이중화 구성하기

HAProxyHAProxy는 오픈 소스 로드 밸런서 및 프록시 소프트웨어로, 웹 서버나 애플리케이션 서버의 부하 분산과 고가용성을 위해 사용됩니다. 주요 기능은 다음과 같습니다: 1. 로드 밸런싱: 클라이언트 요청을 여러 대의 서버로 분산하여 서버 부하를 고르게 분배합니다. 이를 통해 서버 응답 시간을 최적화하고 성능을 향상시킵니다. 2. 프록시 서버: 클라이언트와 서버 간의 중계 역할을 수행하여 보안 및 성능을 향상시킵니다. 클라이언트로부터 받은 요청을 실제 서버로 전달하고, 서버의 응답을 클라이언트로 전달합니다. 3. 세션 유지 관리: 세션 지속성을 유지하면서 로드 밸런싱을 수행할 수 있습니다. 클라이언트의 요청이 항상 같은 서버로 전달되도록 합니다. 4. 헬스 체크: 백엔드 서버의 상태를 주기적으로..

Linux 2023.08.27

[Proxmox] 헤놀로지(Xpenology) NAS 설치부터 볼륨 생성까지!

"헤놀로지 NAS"는 "Synology NAS"라고도 불리며, 네트워크 연결 스토리지(Network Attached Storage)를 제공하는 기기 및 소프트웨어 솔루션을 개발하는 회사인 Synology Inc.의 제품군을 나타냅니다. 이것은 가정 및 비즈니스 사용자를 위한 데이터 저장, 공유, 보호 솔루션을 제공하는데 중점을 둔 제품군입니다. Synology NAS는 다음과 같은 주요 특징과 기능을 가지고 있습니다: 1. **데이터 저장 및 공유**: Synology NAS는 여러 하드 드라이브를 포함할 수 있으며, 이를 통해 파일과 데이터를 중앙에서 관리하고 공유할 수 있습니다. 사용자들은 로컬 네트워크 또는 인터넷을 통해 파일에 접근하고 공유할 수 있습니다. 2. **클라우드 서비스 통합**: Sy..

Linux 2023.08.25

[Linux] service 등록하는 방법

리눅스에서 시스템 재부팅 후에 서비스를 자동으로 시작하도록 구성하는 방법은 배포판에 따라 다를 수 있지만, 일반적으로 다음과 같은 단계를 따릅니다: 1. 서비스 파일 생성: 서비스를 자동으로 시작하기 위해 시스템에 서비스 파일을 생성해야 합니다. 서비스 파일은 서비스의 구성 및 시작 방법을 정의합니다. 서비스 파일은 일반적으로 `/etc/systemd/system/` 디렉토리에 저장됩니다. 새로운 서비스 파일을 생성하려면 다음과 같은 명령을 사용할 수 있습니다: sudo nano /etc/systemd/system/my-service.service 위 명령에서 `my-service.service`는 서비스 파일의 이름을 나타냅니다. 실제로는 서비스의 이름을 나타내는 것이 좋습니다. 2. 서비스 파일 구성..

Linux 2023.06.25

[Linux] curl 명령어를 이용한 wol(Wake on Lan) 호출

`curl` 명령어를 사용하여 Wake-on-LAN(WoL) 패킷을 보내는 것은 일반적인 사용 사례는 아닙니다. 일반적으로 WoL 패킷은 네트워크 레벨에서 직접 보내는 것이 아니라 MAC 주소를 목적지로 하는 특수한 UDP 패킷을 생성하여 전송해야 합니다. 하지만 `curl` 명령어로 WoL 패킷을 보내는 것은 가능합니다. 아래는 `curl` 명령어를 사용하여 WoL 패킷을 보내는 방법입니다: curl --data-binary "" udp://: 여기서 ``는 WoL을 수행할 대상 컴퓨터의 MAC 주소를 입력해야 합니다. ``는 로컬 네트워크의 브로드캐스트 주소를 입력하고, ``는 WoL 패킷을 전송할 UDP 포트 번호를 입력해야 합니다. 일반적으로 WoL에는 포트 9를 사용합니다. 예를 들어, MAC ..

Linux 2023.06.23

[Linux] wakeonlan 명령어로 WoL 신호 호출

Wake-on-LAN (WoL)은 원격 장치로부터 네트워크를 통해 컴퓨터를 켜는 기능입니다. 리눅스에서 Wake-on-LAN을 설정하려면 몇 가지 단계를 따라야 합니다. 다음은 일반적인 방법입니다. 1. 네트워크 카드 확인: 먼저, 컴퓨터에 장착된 네트워크 카드가 Wake-on-LAN을 지원하는지 확인해야 합니다. 터미널을 열고 다음 명령을 실행합니다: sudo ethtool 여기서 ``은 네트워크 카드의 인터페이스 이름입니다. 예를 들어, `eth0`이나 `enp3s0`과 같은 이름입니다. 명령을 실행하면 네트워크 카드에 대한 정보가 출력됩니다. "Supports Wake-on" 또는 "Wake-on"이라는 항목이 나타나는지 확인하고, 이 항목의 값이 "g" 또는 "d"인 경우 Wake-on-LAN을 ..

Linux 2023.06.22

[Linux] tar 압축시 여러개의 폴더제외 방법

tar 압축 시 여러 개의 폴더를 제외하는 방법은 `--exclude` 옵션을 사용하여 원하는 폴더를 제외할 수 있습니다. 다음은 tar 압축 시 여러 개의 폴더를 제외하는 예시입니다: tar -czvf archive.tar.gz --exclude=folder1 --exclude=folder2 source_folder 위의 명령어에서: - `archive.tar.gz`: 생성할 압축 파일의 이름입니다. - `folder1`, `folder2`: 제외할 폴더의 이름입니다. 여러 개의 폴더를 제외하려면 `--exclude` 옵션을 반복하여 사용하면 됩니다. - `source_folder`: 압축할 대상 폴더의 이름입니다. 제외된 폴더를 제외한 나머지 폴더와 파일이 포함됩니다. 위의 예시에서는 `folder1..

Linux 2023.06.12

[Linux] jq 명령어 다양한 옵션을 통한 예제

아래 테이블은 jq 명령어의 일부 옵션과 예제를 자세히 설명한 것입니다. jq는 JSON 데이터를 처리하고 쿼리하고 변환하는 유용한 명령줄 도구입니다. 옵션 설명 예제 -c 각 JSON 객체를 단일 줄로 압축하여 출력합니다. jq -c '.' data.json -r 원시 출력을 수행하고 JSON 문자열을 제거합니다. jq -r '.key' data.json --rawfile 파일의 내용을 원시 입력으로 사용합니다. jq --rawfile file.json '.key' -s 입력을 슬라이싱하여 배열을 만듭니다. jq -s 'map(.key)' data.json .key JSON 객체의 특정 키에 대한 값을 선택합니다. jq '.name&#39..

Linux 2023.06.06

[Linux] 호스트 방화벽 확인 방법

리눅스 호스트의 방화벽 설정은 종류에 따라 다르지만, 대표적으로 iptables, firewalld, ufw 등이 있습니다. 각 방화벽 설정 도구마다 확인 방법이 조금씩 다를 수 있습니다. 1. iptables 확인 방법: 현재 설정된 iptables 규칙을 확인하려면 다음 명령어를 실행합니다. sudo iptables -L iptables의 규칙을 편집하려면, 다음과 같이 실행합니다. sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT 이 예시는 SSH 포트(22번)을 열어주는 명령어입니다. 2. firewalld 확인 방법: 현재 firewalld의 상태를 확인하려면 다음 명령어를 실행합니다. sudo firewall-cmd --state 현재 적용된 규칙을 확..

Linux 2023.05.26