일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- resultMap
- JPA
- @Configuration
- kafka
- mybatis
- 스프링 빈
- 스프링부트
- java
- spring
- 스프링 컨테이너
- 필드 주입
- assertThat
- sqld
- DIP
- 싱글톤
- jdbc
- 생성자 주입
- 스프링 부트 기본
- thymeleaf
- Effective Java
- 스프링
- assertThrows
- db
- Javascript
- SQL
- 스프링 부트 입문
- DI
- 스프링 부트
- 스프링 프레임워크
- springboot
- Today
- Total
선 조치 후 분석
[Linux] 리눅스 기본 개념 본문
이직한 회사에서 드디어 서버 쪽으로 접할 수 있는 기회가 생겨서 Linux 기본 개념에 대해서 정리해보았다.
리눅스를 사용하는 이유?
- 무료 오픈소스
- 안정성
- 보안성 (권한관리 강력)
- 다중접속
- 유연성과 확장성
1) 무료 오픈소스
- 리눅스는 무료 오픈소스 운영체제로, 완전 무료 정책이다. 윈도 서버에 비해 상당한 비용 절감 효과
2) 안정성
- 리눅스는 서버 운영체제로 널리 사용되며, 높은 안정성을 자랑한다.
특히 장기간 실행되는 서비스에서도 다운타임이 적다
- 장애가 발생해도 빠르게 복구하거나 문제를 진다하기 위한 도구와 로그 시스템이 잘 갖추어져 있다
3) 보안성
- 리눅스는 강력한 사용자 및 그룹 기반 권한 관리 시스템을 제공하여 보안성이 뛰어나다
- 필요한 보안 설정(방화병, 암호화 등)을 세밀히 조정할 수 있다
4) 다중접속
- 멀티유저 운영체제로 설계된 리눅스가 여러 사용자가 동시에 시스템에 접속하여 작업을 수행할 수 있도록
지원한다. 이 기능은 서버나 네트워크 환경에서 특히 유용
- 리눅스는 기본적으로 여러 사용자가 동시에 시스템에 접속해 독립적으로 작업할 수 있는 환경 제공
- 각각의 사용자는 고유한 계정과 권한을 가지고 작업하며, 다른 사용자의 작업에 영향을 주지 않는다
- 리눅스는 멀티태스킹 기능을 통해 어려 사용자의 요청을 병렬로 처리
- SSH를 통해 사용자는 원격에서 리눅스 서버에 안전하게 접속할 수 있다
5) 유연성과 확장성
- 서버 특성과 요구사항에 따라 Ubuntu, CentOS, RedHat듵 다양한 배포판 선택 가능
- Docker, Kubernetes와 같은 자동화 및 컨테이너화 도구를 활용하기에 적합
- AWS, GCP, Azur등 주요 클라우드 플랫폼은 리눅스 환경을 기본으로 제공하며, 이에 최적화된 이미지를 제공
왜 윈도우 서버가 아닌, 리눅스 서버에 Web서버나 WAS를 설치하는 이유는?
1) 비용 효울성
- 리눅스는 대부분 배포판이 무료이며, 추가적으로 설치하는 Web서버, WAS도 오픈소스인 경우가 많아
비용이 절감된다. 즉, 윈도우 서버에 비해 리눅스를 사용하는 것은 상당한 라이센스 비용 절감 효과가 있다
2) 리소스 효율성
- 리눅스는 상대적으로 가벼워 CPU, 메모리, 디스크 사용량이 적다. 같은 하드웨어 조건에서 더 많은 요청을
처리할 수 있다
3) 성능과 안정성
- 리눅스는 장기간 실행되는 서버 환경에서 안정적입니다.
주요 웹 서비스 기업(Google, Facebook, Amazon 등)대부분 리눅스를 기반으로 운영
- 리눅스는 네트워크 처리 성능이 뛰어나, 트래픽이 많은 환경에 유리
- 리눅스는 동시에 여러 작업을 효율적으로 처리할 수 있는 멀티태스킹 환경에 적합
4) 유연성 및 커스터마이징
- 리눅스는 오픈소스이므로 커널부터 소프트웨어까지 사용자 환경에 맞게 수정이 가능
- 리눅스는 Bash와 같은 스크립트로 시스템을 자동화 및 관리하기 쉬워 DevOps 환경에서 유리
- Ubuntu, CentOS, RedHat 등 다양한 배포판이 있어 사용 목적에 맞게 선택 가능
5) 보안성
- 리눅스는 권한과 사용자 기반의 보안이 강력하다. 기본적으로 사용자별로 분리된 환경을 제공하여
해킹이나 권한 침해를 방지
- 전 세계 커뮤니티에서 정기적으로 보안 패치를 제공받으며, 보안 취약점을 신속히 해결 가능
6) 개발 및 배포 환경의 일관성 (최신 기술과의 호환성)
- AWS, GCP, Azure와 같은 주요 클라우드 플랫폼은 리눅스를 기본 운영체제로 사용하며,
이에 최적화된 이미지를 제공
- Docker, Kubernetes 와 같은 컨테이너화 기술은 리눅스를 우선 지원한다.
이 환경에서 운영하려면 리눅스 기반의 배포가 더 적합
- Java, Python, PHP 등 오픈소스 기반 언어 및 프레임워크는 리눅스에서 최적의 호환성을 보인다.
윈도우 대비 리눅스의 장점 요약
윈도우 (Windows) | 리눅스 (Linux) |
유료 라이센스 필요 | 무료 또는 오픈소스 |
GUI 중심으로 리소스 소모 많음 | CLI 중심으로 리소스 소모 적음 |
네트워크/서버 관리 기능 한정적 | 강력한 네트워크 및 서버 관리 도구 제공 |
보안 위협(랜섬웨어 등)에 민감 | 강력한 사용자 권한 시스템과 빠른 패치 제공 |
컨테이너와 DevOps 환경에 부적합 | 컨테이너, 클라우드, DevOps에 최적화 |
리눅스 계열
Debian
- Ubuntu, Linux Mint 등 현대적인 데스크톱 배포판의 기반
- .deb 패키지 사용, APT로 패키지 관리
- 커뮤니티 중심, 개인 사용자 및 개발자 친화적
Fedora
- RedHat, CentOS 등 기업 및 서버 환경에서 주로 사용
- .rpm 패키지 사용, DNF(YUM)로 패키지 관리
- 기업 지원, 안정성, 상업적 사용
더 다양한 계열이 있지만, Debian과 RedHat(Fedora 계열 시초)은 리눅스 초기부터 존재 했던
대표적인 배포판들로, 다른 배포판들이 이들을 기반으로 파생되었다.
'Solution > Linux' 카테고리의 다른 글
[Linux] 자주 사용되는 명령어 정리 (0) | 2024.12.31 |
---|---|
[Linux] 리눅스 파일/폴더 권한 개념 (0) | 2024.12.31 |
[Linux] 마운트(Mount)란?.. (0) | 2024.12.30 |