
소프트웨어 개발자로서 첫 번째 운영 체제를 선택하는 것은 호그와트 기숙사를 선택하는 것과 비슷합니다. 단순한 실용성을 넘어 자신의 언어를 사용하고, 가치를 공유하며, 코딩의 꿈을 이룰 수 있도록 힘을 실어주는 커뮤니티인 부족을 찾는 것과 같은 결정입니다. Mac, Windows, Linux 중에서 선택하려면 각 운영체제의 고유한 강점, 약점, 철학을 깊이 있게 살펴봐야 합니다. 이 글에서는 각 OS의 복잡성을 이해하고 숨겨진 단점을 밝혀내어 정보에 입각한 결정을 내릴 수 있는 지식을 제공합니다. macOS세련되고 강력한 매킨토시 컴퓨터에서 실행되는 Apple의 macOS는 미적으로 아름답고 세심하게 설계되었으며 매우 사용자 친화적인, 아름답게 꾸며진 정원과 같습니다. 하지만 벽으로 둘러싸인 정원과 마찬가..

Java는 많은 서버 측 애플리케이션을 실행할 수 있는 인기 있는 프로그래밍 언어 및 소프트웨어 플랫폼입니다. 이 글에서는 CentOS 9 Stream에 Java의 오픈 소스 구현인 OpenJDK를 설치하는 방법을 보여드리겠습니다. 1단계: 운영 체제 확인 먼저 다음 명령을 실행하여 사용 중인 운영 체제를 확인해 보겠습니다. cat /etc/*release 2단계: Package Repository 업데이트하기 다음으로 최신 소프트웨어를 다운로드할 수 있도록 dnf 패키지 리포지토리를 업데이트합니다. sudo dnf update 3단계: 현재 Java 버전 확인 이제 다음 명령을 실행하여 설치한 Java 버전을 확인해 보겠습니다. java -version Java가 설치되지 않은 경우 출력에 명령을 찾을..
![[리눅스] mount --bind 사용 방법](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkY9FO%2FbtsBugsf1Di%2FKFBNXqyHpjLIyR4nsa91L0%2Fimg.png)
mount 명령어는 디스크 드라이브와 같은 블록 디바이스(Block Device)만 마운트가 가능합니다. --bind 옵션을 추가하면 특정 디렉터리를 다른 디렉터리에 마운트(mount)해서 양쪽 디렉터리가 같은 곳으로 연결되도록 할 수 있습니다. $ mount --bind [원본 디렉토리] [붙일 디렉토리] 사용 예시 먼저 두 개의 디렉토리를 생성합니다. $ mkdir src $ mkdir dest --bind 또는 -B 옵션을 사용해서 src 디렉토리를 dest 디렉토리에 연결합니다. $ mount --bind src dest dest 디렉토리 하위에 파일을 생성을 하면 src 디렉토리에도 반영이 됩니다. $ touch dest/test 변경된 내용을 양쪽 모두 확인이 가능합니다. $ ls dest t..
![[리눅스] 네트워크 설정](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FH8WPt%2FbtsBqKnvJK4%2FKlhYLpsKmr5TrTm127F6eK%2Fimg.png)
리눅스 환경에서 ifconfig를 이용하여 네트워크 설정하는 방법을 알아보겠습니다. ifconfig 란 TCP/IP를 사용하여 네트워크의 네트워크 인터페이스 매개변수를 구성 또는 표시합니다. ifconfig 명령을 사용하여 네트워크 인터페이스에 주소를 지정하고 현재 네트워크 인터페이스 구성 정보를 구성 또는 표시할 수 있습니다. IP 주소 확인 옵션 없이 ifconfig 명령어만 실행하면 서버에 할당된 IP 주소를 확인합니다. $ ifconfig enp5s0: flags=4163 mtu 1500 inet 192.168.0.19 netmask 255.255.255.0 broadcast 192.168.0.255 inet6 fe80::d487:3f17:d845:654b prefixlen 64 scopeid 0..
![[CentOS] netstat 사용 포트 확인](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2Ig5K%2FbtsBqfudlBv%2FWLdkTxbFvGVXGExhYZlUs0%2Fimg.png)
리눅스 환경에서 netstat 명령어를 사용하여 네트워크 정보를 확인하는 방법에 대해 알아보겠습니다. netstat 란 netstat는 전송 제어 프로토콜, 라우팅 테이블, 수많은 네트워크 인터페이스, 네트워크 프로토콜 통계를 위한 네트워크 연결을 보여주는 명령 줄 도구이다. 위키백과 netstat는 네트워크 관련한 정보를 보는 유틸리티로 오래전부터 Unix 계열의 운영체제에서 사용되어 왔으며 현재 LISTEN 중인 포트, 모든 내외부/연결 정보 등을 확인할 수 있습니다. 자주 사용하는 netstat 옵션 -a : 모든 소켓보기, 이 옵션이 없으면 상태가 ESTABLISHED 인 것만 나옵니다. --all 옵션과 동일합니다. -n : 도메인 주소를 읽어들이지 않고 숫자로 출력합니다. -p : PID(프로..
![[CentOS] PM2 서비스 등록](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb9CoXN%2FbtsBk9uHHyh%2FWXxxQQal2VXrHnGKK3d8L1%2Fimg.png)
리눅스 환경에서 PM2 서비스 등록하는 방법에 대해 알아보겠습니다. PM2에서는 시스템이 부팅되고 나서 자동으로 실행되도록 하는 서비스를 등록해 주는 startup 명령어가 있습니다. pm2 등록 $ pm2 start [파일명] --name test $ pm2 list 서비스 등록 pm2 startup 명령어를 사용하여 PM2 서비스를 등록합니다. $ pm2 startup [PM2] Init System found: systemd Platform systemd Template [Unit] Description=PM2 process manager Documentation=https://pm2.keymetrics.io/ After=network.target [Service] Type=forking User=..
![[CentOS] Node.js 및 NPM 설치](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbNxe24%2FbtsBquEQd7S%2FAciJFvtM6ZBptwx9KWEQ0k%2Fimg.png)
리눅스 환경에서 Node.js 와 NPM 설치하는 방법에 대해 알아보겠습니다. 운영환경CentOS 7.6 저장소 추가설치하려는 Node.js 버전을 확인하여 NodeSource yum 저장소를 추가합니다.NodeSource Node.js Binary Distributions 사이트에 아래와 같은 내용이 정리되어 있습니다.Node.js v19.x# As root$ curl -fsSL https://rpm.nodesource.com/setup_19.x | bash -# No root privileges$ curl -fsSL https://rpm.nodesource.com/setup_19.x | sudo bash -Node.js v18.x# As root$ curl -fsSL https://rpm.nodeso..
![[CentOS] 사용자 계정 관리](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FX4rkQ%2FbtsBqZLalxs%2FE1wT08SaHqs6BJrEFtFeV0%2Fimg.png)
리눅스 환경에서 사용자 계정 조회, 추가, 수정, 삭제하는 방법에 대해 알아보겠습니다. 사용자 조회 모든 사용자를 출력합니다. $ cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin ... 사용자 계정 확인 root와 useradd 또는 adduser 명령어를 통해 생성한 사용자 계정을 출력합니다. $ grep /bin/bash /etc/passwd root:x:0:0:root:/root:/bin/bash hgko:x:1000:1000:hgko:/home/hgko:/bin/ba..

자주 사용하는 리눅스 명령어에 대해 알아보겠습니다. 명령어 설명 cdcd ..cd -cd ~cd /cd [path] 디렉토리 이동 cp [path] [target] -R 파일 복사 tar cvfz backup.tar.gz [target] tar 로 압축 tar cvfz backup.tar.gz /test --exclude "/test/backup" 특정 디렉토리 제외하고 tar 로 압축 tar xvfz backup.tar.gz 압축 풀기 which [command]예) which find 특정 명령어의 위치 source /etc/profile 환경 설정 적용 find / -name [파일명]예) find / -name 'test' 파일 찾기 ls -al 디렉토리 조회 du -skh 디렉토리 용량 확인 d..
![[CentOS] Service 등록 및 실행 방법](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdw0BTy%2FbtsBq1CenU3%2FOFjKbKYyke0hHoSSwp2kok%2Fimg.png)
리눅스 환경에서 Tomcat을 구동하는 서비스를 등록하고 실행하는 방법에 대해 알아보겠습니다. Service 파일 생성 /etc/systemd/system/ 위치에 service 파일을 생성합니다. $ sudo vi /etc/systemd/system/tomcat-server.service [Unit] Description=TOMCAT SERVER Service After=network.target syslog.target [Service] Type=forking User=root Group=root ExecStart=/usr/local/tomcat-server/bin/startup.sh ExecStop=/usr/local/tomcat-server/bin/shutdown.sh [Install] Wante..