리눅스는 컴퓨터 운영체제의 한 종류이자, 커널 자체를 의미하기도 한다.
리눅스의 가장 큰 특징은 두 가지인데,
첫째는 소스 코드가 공개되어있는 '자유 소프트웨어'와 '오픈 소스 개발'의 가장 유명한 표본이라는 점,
둘째는 다중 사용자, 다중 작업(멀티 태스킹), 다중 스레드를 지원하는 네트워크 운영체제(NOS)로, 여러 사람이 하나의 리눅스 시스템에 접속해서 다수의 프로그램을 동시에 실행할 수 있다는 점이다.
오픈소스 운영체제로 오픈소스이기 때문에 누구나 소스에 접근할 수 있다.
리눅스와 유닉스의 경우 서버 OS에 주로 쓰이는데, 유닉스는 유료이고 리눅스는 무료이다.
과거 유닉스가 서버 OS 점유율이 훨씬 높았는데, 현재는 리눅스가 더 높다.
이러한 변화가 생긴 이유는 유닉스 서버는 독점적이고 폐쇄적이라 안정성은 높지만, 서버 자체가 비싸고 리눅스 서버 대비 전력 소모량도 많다.
또한, 유닉스의 독점적인 성격으로 인해 사용자가 적절한 버그 수정을 지원받는데까지 오랜 시간이 걸린다.
리눅스의 경우 버그가 발생하더라도 기업 입맛에 맞게 재구성해서 사용할 수 있다. (-> 오픈소스니까!)
금융권이나 알만한 대기업은 아직도 유닉스를 쓰는데, 아마 그 이유는 리스크를 떠안아가며 리눅스로 바꿀 이유가 없기 때문이다. (이미 안정적으로 잘 작동하고 있고, 전산망도 매우 복잡하게 구성되어 있기 때문에 옮겨가는데 위험요소가 많기 때문이다)
자유 소프트웨어의 핵심은 '자유'인데, 이 자유는 무료를 뜻하는 것이 아니다.
자유 소프트웨어는 사용자가 소프트웨어를 실행시키거나 이를 복제 및 배포할 수 있는 자유와 함께 소스 코드에 대한 접근을 통해서 이를 학습하고 수정, 개선시킬 수 있는 원천적인 자유까지를 모두 포괄하는 것이다.
4가지 종류의 자유를 내포하고 있는데, 다음과 같다.
자유 0. 프로그램을 어떠한 목적을 위해서도 실행할 수 있는 자유
자유 1. 프로그램의 작동 원리를 연구하고 이를 자신의 필요에 맞게 변경시킬 수 있는 자유. 이러한 자유를 위해서는 소스 코드에 대한 접근이 선행되어야 한다.
자유 2. 이웃을 돕기 위해서 프로그램을 복제하고 배포할 수 있는 자유.
자유 3. 프로그램을 향상시키고 이를 공동체 전체의 이익을 위해서 다시 환원시킬 수 있는 자유. 이러한 자유를 위해서는 소스 코드에 대한 접근이 선행되어야 한다.
이 정의에 대해 알려진 최초의 발행은 지금은 존재하지 않는 GNU의 FSF(자유 소프트웨어 재단)에 있었다고 한다.
GNU 프로젝트는 리처드 스톨먼(자유 소프트웨어 운동의 중심, FSF와 GUN 프로젝트 설립자)의 주도하에 시작된 공개 소프트웨어 프로젝트이다.
GNU 프로젝트는 누구나 자유롭게 "실행, 복사, 수정, 배포"할 수 있고, 누구도 그런 권리를 제한하면 안된다는 사용 허가권(License) 아래 소프트웨어를 배포한다.
카피레프트로 불리는 이런 생각은 GPL(GNU 일반 공중 사용 허가서)에 나타나 있다.
카피레프트 또는 저좌권은 저작권(카피라이트)에 반대되는 개념으로, 저작권에 기반을 둔 사용 제한이 아니라 저작권을 기반으로 한 정보의 공유를 위한 조치이다.
즉, 저작권 소유자가 자신의 창작물을 무료로 사용하도록 허용하는 것이다.
카피레프트를 주장하는 사람들은 보통, 지식과 정보는 소수에게 독점되어서는 안되며, 모든 사람에게 열려 있어야 한다고 주장한다.
리눅스 OS에서 유명한 건 우분투, 센토스, 데비안이다.
리눅스 배포판은 리눅스 커널을 중심으로 여러 시스템 소프트웨어 및 응용 소프트웨어를 같이 묶어서 구성한 운영 체제이다. 여러 용도의 배포판이 존재하는데, 대표적인 것은 슬랙웨어, 데비안, 레드햇이 있다.
슬랙웨어는 가장 오래된 배포판이며 초보자가 쓰기에는 좀 어렵다. 설치할 때 의존성 문제를 일으킨다.
데비안도 초보자가 쓰기에는 어려운데 안정성이 높고 다양한 패키지 활용이 가능하다. 다만 소프트웨어가 구시대적이다..?
슬랙웨어 대비 관리가 매우 편하다..!
우분투는 데비안 계열에서 파생되었다..!
따라서 데비안과 우분투는 비슷한 점이 많은데, 차이점이 무엇이냐면 데비안은 애초에 안정성을 기반으로 나온 모델이고, 우분투는 정기적으로 버전이 업데이트 되는 모델이다.
안정성을 기반으로 둔 데비안은 안정성이 강하다는 장점이 있지만, 구시대적이다.(오랜 검증 시간을 가졌다.)
데비안 계열: Ubuntu, Linux Mint 등등
기업용 서버 OS로 인기가 높다.
예전에는 무료 버전도 있었는데, 지금은 RHEL(RedHatEnterpriseLinux) 상용 버전만 존재한다.
RHEL에 사용될 기능 테스트를 위해 배포하는 페도라(Fedora)와 예전 레드햇의 무료 버전 계보를 잇는 CentOS가 레드햇 계열이다.
RedHat은 현재 상용버전(회사 버전)만 존재하고 RedHat의 무료 버전 계보를 잇는 CentOS가 있다!
-> 서버 시장이 주 타겟인 배포판이다!!
CentOS는 RHEL의 소스 코드를 기반으로 만들어진 리눅스 배포판이다. 그러니까, CentOS는 RHEL와 매우 유사하면서도 무료로 안정적인 리눅스를 사용할 수 있다.
CentOS는 RHEL 새 버전 발표 후 한 달 내에 거의 동일한 소스코드로 배포되는 리눅스 배포판이다. 따라서, 로고만 다르지 사실상 RHEL의 복제이기 때문에 매우 안정적이며, 무료로 RHEL을 사용할 수 있었다.
(RHEL과 CentOS가 같다면 무료인 CentOS때문에 RHEL을 안쓰겠다고 생각할 수 있지만 레드햇으로부터 각종 기술지원을 받을 수 있다)
RHEL은 Enterprise 버전이기 때문에 무료로 사용이 불가했는데, RHEL을 무료로 사용할 수 있다는 이점을 가지고 있어 널리 사용되어 왔다.
근데, CentOS가 지원을 종료한다.
centos가 기존의 지원을 종료하고 stream 버전만 지원한다고 한다..!
기존에는 Red Hat Enterprise Linux(RHEL)에서 재구축 환경인 CentOS Linux 배포로 운영되고 있었는데
앞으로는 RHEL의 업스트림(개발)용 역할을 하게 된다.
Fedora Linux와 RHEL 사이의 중간 포지션으로 역할이 변경된다고 한다.
기존에는 Fedora 리눅스를 통해 RHEL 버전에 들어갈 새로운 기능과 오류를 검증해왔다.
페도라 리눅스는 RHEL보다 6개월 앞서 새 버전을 발표하며, 레드햇은 커뮤니티의 반응과 피드백을 받아 RHEL 업데이트에 적용 여부를 결정했다.
CentOS Stream은 페도라 리눅스와 RHEL 사이의 중간 포지션 역할을 하게 됨으로써 CentOS Stream에서 RHEL 새 버전에 들어갈 기능과 코드를 만들고, 이를 검증해 RHEL 최신 버전을 만들게 된다.
CentOS Stream은 검증용이기 때문에 안정성이 떨어지게 된다.
위키를 참고하니까 소프트웨어 개발에서 업스트림이란 소스 코드로 배포되는 소프트웨어의 원래 작성자 또는 유지 보수 관리자에게 전송하는 방향을 말한다고 한다.
주로 버그 또는 패치 자격으로 전송하는 것을 의미한다.
예를 들어, 업스트림으로 전송된 패치는 소프트웨어의 원본 작성자 또는 유지 보수 관리자에게 제공된다.
centos stream은 대애충 개발용을 말하는 것 같다.
이전에는 배포할 수 있었다면 지금은 배포는 안되고 개발만 할 수 있는..? 용도로만 쓸 수 있다는 것 같다..! (-> 배포는 할 수 있는데,, 그동안 CentOS를 썼던 이유가 안정적인 서버용 리눅스를 제공했기 때문이고 개발용으로 나온 리눅스를 굳이 배포해서 모험을 할 필요는 없으니까..? 개발용으로 봐도 될 것 같다..!)
Rocky Linux는 RHEL의 소스 코드를 이용해서 만들어진 무료 리눅스 배포판이다. CentOS가 Stream 버전에 집중한다고 발표하면서 CentOS 창립자 중 한 명의 주도로 진행되어 나온 리눅스 배포판이다. 2021년 6월 RHEL 8.4 기반 STABLE 버전이 나온 상태이다.
리눅스 종류와 역사 - Linux OS
centos의 변화(centos 지원종료 / centos stream)
CentOS 8 에서 CentOS Stream 으로 변환하기
[리눅스 서버 구축하기] 1. 기초 지식 알아보기
자유 소프트웨어란 무엇인가?