리눅스 기본 규격
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
리눅스 기본 규격(LSB)은 리눅스 배포판 간의 호환성을 목표로 2001년에 처음 등장한 규격이다. LSB는 응용 프로그램 바이너리 인터페이스(ABI)를 제공하여 독립 소프트웨어 벤더(ISV)가 바이너리 호환성을 확보하도록 설계되었으며, 버전 5.0부터 하위 호환성이 깨졌다. LSB는 ISO 표준으로 등록되어 있으며, 다양한 버전의 규격이 존재한다. LSB는 데비안 프로젝트 등에서 비판을 받았으며, 패키지 형식 논란, 준수 테스트 스위트의 품질 문제 등이 지적되었다. 데비안과 우분투는 2015년에 LSB 지원을 중단했다.
더 읽어볼만한 페이지
- 리눅스 재단 - 젠 (하이퍼바이저)
젠은 하나의 물리적 하드웨어에서 여러 운영 체제를 동시에 실행할 수 있게 하는 하이퍼바이저로, 다양한 가상화 방식을 지원하며 여러 분야에서 활용된다. - 리눅스 재단 - 오픈 소스 개발 연구소
오픈 소스 개발 연구소는 기업 환경에서 리눅스 사용 개선을 목표로 산업 이니셔티브를 후원하고, 자유 소프트웨어 및 오픈 소스 커뮤니티에 하드웨어 자원을 제공하며, 리눅스 개발자 고용, 오픈 소스 소프트웨어 테스트 및 보고 등의 활동을 수행했던 조직이다. - 리눅스 커널 인터페이스 - 장치 파일
유닉스 및 유닉스 계열 운영 체제에서 하드웨어 장치 접근을 위해 사용되는 특수 파일 시스템 객체인 장치 파일은 문자 장치와 블록 장치로 나뉘며 주 번호와 부 번호로 식별되고, 물리 장치 외에 가상 장치도 존재하며 다른 운영 체제에서도 유사한 개념으로 특정 포트와 장치에 접근하는 데 사용된다. - 리눅스 커널 인터페이스 - Glibc
Glibc는 GNU C 라이브러리의 약자로, 다양한 운영 체제에서 사용되는 핵심 C 표준 라이브러리이며, ANSI C와 POSIX 표준을 지원하고 꾸준히 기능을 확장해 왔다. - 리눅스 API - 와인 (소프트웨어)
와인(Wine)은 유닉스 계열 운영체제에서 윈도우 응용 프로그램을 실행하기 위한 호환성 계층으로, 윈도우 API를 직접 구현하여 윈도우 프로그램이 리눅스, macOS 등에서 실행되도록 지원하며, 여러 기업의 후원을 받아 꾸준히 발전해왔다. - 리눅스 API - OpenAL
OpenAL은 3차원 오디오를 위한 크로스 플랫폼 API로, 소스 객체, 오디오 버퍼, 리스너를 사용하여 3차원 공간에서 소리를 구현하며 다양한 운영 체제와 하드웨어를 지원한다.
리눅스 기본 규격 | |
---|---|
개요 | |
역사 | |
최초 버전 | 2001년 |
최신 버전 | 5.0 (2016년 4월) |
상태 | 중단됨 |
기술적 세부 사항 | |
핵심 구성 요소 | '라이브러리' 컴파일러 '헤더 파일' 패키징 표준 '명령어 인터페이스' |
주요 목표 | 다양한 배포판 간의 애플리케이션 호환성 보장 |
사용 예 | '특정 LSB 버전을 대상으로 빌드된 애플리케이션은 해당 버전을 준수하는 모든 배포판에서 실행 가능' |
기술적 접근 방식 | '표준 인터페이스 및 서비스 집합 정의, 배포판이 준수해야 함' |
인증 | |
인증 기관 | '리눅스 재단' |
인증 프로세스 | '애플리케이션이 LSB 사양을 준수하는지 확인' |
관련 기술 및 표준 | |
관련 표준 | 'POSIX' '유닉스' |
기타 | |
추가 정보 | init 스크립트 주석 규칙 정의 기능 이름 표준화 '공유 라이브러리 이름: ld-lsb.so' |
2. 역사
리눅스 재단의 전신인 자유 표준 그룹(Free Standards Group)이 2001년에 리눅스 배포판 간의 호환성을 보장하기 위해 LSB를 처음 발표하였다.[9] LSB는 2001년 6월 버전 1.0이 출시된 이후 여러 버전을 거치면서 발전했다. 초기에는 주로 하드웨어 관련 규격을 추가했는데, 2002년 1월에는 IA-32 아키텍처, 6월에는 PowerPC 32비트 아키텍처 규격이 추가되었다.[9]
2004년 버전 2.0에서는 LSB-Core, LSB-CXX, LSB-Graphics, LSB-I18n (미출시) 등으로 모듈화가 이루어졌다. AMD64, PowerPC 64비트 등 새로운 하드웨어 규격이 추가되었고, Single UNIX Specification (SUS) 버전 3과 동기화되었다.
이후 버전에서는 라이브러리 API, GNU C 라이브러리 버전, ISO POSIX 표준 등이 업데이트되었다. 2015년 6월 2일 출시된 버전 5.0은 이전 버전과 하위 호환되지 않는 첫 번째 주요 릴리스였다.
2. 1. 버전 역사
버전 | 릴리스 날짜 | 내용 |
---|---|---|
1.0 | 2001년 6월 29일 | 최초 릴리스 |
1.1 | 2002년 1월 22일 | IA-32 하드웨어별 규격 추가 |
1.2 | 2002년 6월 28일 | PowerPC 32비트 하드웨어별 규격 추가, 2002년 7월부터 인증 시작 |
1.2.1 | 2002년 10월 | Itanium 하드웨어별 규격 추가 |
1.3 | 2002년 12월 17일 | Itanium, Enterprise System Architecture/390, z/Architecture 하드웨어별 규격 추가 |
2.0 | 2004년 8월 31일 | |
2.0.1 | 2004년 10월 21일 | 모든 하드웨어 아키텍처에 대한 명세서(LSB-Graphics 제외, 제네릭 버전만 제공)가 포함된 LSB 2.0의 ISO 버전. |
2.1 | 2005년 3월 11일 | |
3.0 | 2005년 7월 1일 | |
3.1 | 2005년 10월 31일 | ISO/IEC 23360:2006으로 제출. |
3.2 | 2008년 1월 28일 | ISO/IEC 23360:2006으로 제출. |
4.0 | 2008년 11월 11일 | |
4.1 | 2011년 2월 16일 | |
5.0 | 2015년 6월 2일 |
LSB는 공식 ISO 표준이다.[32] LSB 버전 3.1과 5.0은 ISO/IEC 국제 표준으로 등록되어 있으며, 각 버전별 상세 규격은 하위 섹션에 정리되어 있다. ISO/IEC 23360 (리눅스 표준 기반 3.1 사양)과 ISO/IEC 9945:2003 (POSIX) 국제 표준 간의 충돌 영역을 식별하는 ISO/IEC TR 24715:2006도 있다.[33] ISO/IEC 23360과 ISO/IEC TR 24715는 ISO 웹사이트에서 내려받을 수 있다.[34]
3. ISO 표준
3. 1. LSB 3.1
LSB는 ISO의 공식 표준이다.[32]
LSB 버전 3.1은 ISO/IEC 국제 표준으로 등록되어 있으며, 다음과 같이 구성되어 있다.
규격 번호 | 내용 |
---|---|
ISO/IEC 23360-1:2006 | 리눅스 표준 기반(LSB) 코어 사양 3.1 — 파트 1: 일반 사양 |
ISO/IEC 23360-2:2006 | 리눅스 표준 기반(LSB) 코어 사양 3.1 — 파트 2: IA-32 아키텍처 사양 |
ISO/IEC 23360-3:2006 | 리눅스 표준 기반(LSB) 코어 사양 3.1 — 파트 3: IA-64 아키텍처 사양 |
ISO/IEC 23360-4:2006 | 리눅스 표준 기반(LSB) 코어 사양 3.1 — 파트 4: AMD64 아키텍처 사양 |
ISO/IEC 23360-5:2006 | 리눅스 표준 기반(LSB) 코어 사양 3.1 — 파트 5: PPC32 아키텍처 사양 |
ISO/IEC 23360-6:2006 | 리눅스 표준 기반(LSB) 코어 사양 3.1 — 파트 6: PPC64 아키텍처 사양 |
ISO/IEC 23360-7:2006 | 리눅스 표준 기반(LSB) 코어 사양 3.1 — 파트 7: S390 아키텍처 사양 |
ISO/IEC 23360-8:2006 | 리눅스 표준 기반(LSB) 코어 사양 3.1 — 파트 8: S390X 아키텍처 사양 |
ISO/IEC 23360 (리눅스 표준 기반 3.1 사양)과 ISO/IEC 9945:2003 (POSIX) 국제 표준 간의 충돌 영역을 식별하는 ISO/IEC TR 24715:2006도 있다.[33]
ISO/IEC 23360과 ISO/IEC TR 24715는 ISO 웹사이트에서 다운로드할 수 있다.[34]
3. 2. LSB 5.0
LSB 버전 5.0은 ISO/IEC 국제 표준으로 등록되어 있다.LSB 5.0의 표준 목록은 다음과 같다.
파트 번호 | 규격 내용 |
---|---|
ISO/IEC 23360-1-1:2021 | 공통 정의 |
ISO/IEC 23360-1-2:2021 | 코어 사양 일반 부분 |
ISO/IEC 23360-1-3:2021 | 데스크톱 사양 일반 부분 |
ISO/IEC 23360-1-4:2021 | 언어 사양 |
ISO/IEC 23360-1-5:2021 | 이미징 사양 |
ISO/IEC TS 23360-1-6:2021 | 그래픽 및 Gtk3 사양 |
ISO/IEC 23360-2-2:2021 | X86-32 아키텍처용 코어 사양 |
ISO/IEC 23360-2-3:2021 | X86-32 아키텍처용 데스크톱 사양 |
ISO/IEC 23360-3-2:2021 | IA64(Itanium™) 아키텍처용 코어 사양 |
ISO/IEC 23360-3-3:2021 | IA64(Itanium™) 아키텍처용 데스크톱 사양 |
ISO/IEC 23360-4-2:2021 | AMD64(X86-64) 아키텍처용 코어 사양 |
ISO/IEC 23360-4-3:2021 | AMD64(X86-64) 아키텍처용 데스크톱 사양 |
ISO/IEC 23360-5-2:2021 | PowerPC 32 아키텍처용 코어 사양 |
ISO/IEC 23360-5-3:2021 | PowerPC 32 아키텍처용 데스크톱 사양 |
ISO/IEC 23360-6-2:2021 | PowerPC 64 아키텍처용 코어 사양 |
ISO/IEC 23360-6-3:2021 | PowerPC 64 아키텍처용 데스크톱 사양 |
ISO/IEC 23360-7-2:2021 | S390 아키텍처용 코어 사양 |
ISO/IEC 23360-7-3:2021 | S390 아키텍처용 데스크톱 사양 |
ISO/IEC 23360-8-2:2021 | S390X 아키텍처용 코어 사양 |
ISO/IEC 23360-8-3:2021 | S390X 아키텍처용 데스크톱 사양 |
ISO/IEC 23360 및 ISO/IEC TR 24715는 ISO 웹사이트에서 무료로 내려받을 수 있다.
4. 하위 호환성
LSB는 바이너리 호환성을 위해 설계되었으며 독립 소프트웨어 벤더를 위한 안정적인 응용 프로그램 바이너리 인터페이스(ABI)를 생성했다. 하위 호환성을 달성하기 위해 각 후속 버전은 순수하게 추가하는 방식이었다. 즉, 인터페이스는 추가만 되었고 제거된 인터페이스는 없었다. LSB는 인터페이스가 LSB에서 제거될 경우 애플리케이션 개발자에게 충분한 시간을 제공하기 위해 인터페이스 폐지 정책을 채택했다.
이를 통해 개발자는 LSB의 모든 인터페이스를 알려진 기간 동안 신뢰할 수 있었고 변경 사항을 계획할 수도 있었다. 인터페이스는 최소 3개의 주요 버전 또는 약 11년 동안 "폐지됨"으로 표시된 후에만 제거되었다.[6]
LSB 5.0은 이전 버전과의 하위 호환성을 깬 최초의 주요 릴리스였다.[7]
5. 비판 및 논란
LSB는 회원사 외부, 특히 데비안 프로젝트로부터 의견을 수렴하지 않았다는 비판을 받았다.[15][16][17][18] LSB가 표준이었고 경쟁자가 없었음에도 불구하고, 소수의 리눅스 배포판에서만 이를 따랐다. LSB 버전 4.0에 대해 인증을 받은 배포판 릴리스는 21개에 불과했는데, 레드 플래그 리눅스 데스크톱 6.0, 레드햇 엔터프라이즈 리눅스 6.0, SUSE 리눅스 엔터프라이즈 11, Ubuntu 9.04 (Jaunty Jackalope) 등이 대표적이다.[14] 버전 4.1에 대해서는 이보다 훨씬 적은 수가 인증을 받았다.
또한, 인증 테스트 스위트의 버그와 불완전함에 대한 비판도 제기되었다. GNU C 라이브러리 주요 개발자인 울리히 드레퍼는 LSB 테스트 스위트에 버그가 있어, 배포판 간 비호환성을 유발할 수 있다고 지적했다. 그는 배포판 테스트만으로는 애플리케이션 호환성 문제를 해결할 수 없다고 비판하며, 애플리케이션 테스트가 부족하다는 점을 강조했다.
5. 1. 패키지 형식 논란
LSB는 소프트웨어 패키지 형식으로 RPM 패키지 관리자의 제한된 형태를 사용하도록 규정했다.[20] 이는 deb 형식을 사용하는 데비안 등 다른 배포판과의 논쟁을 일으켰다.[15][16][17][18] 데비안은 Alien 프로그램을 통해 LSB 호환 RPM 패키지를 변환하여 설치할 수 있지만, 완전한 LSB 준수는 아니라고 명시하고 있다.[21]5. 2. 데비안의 LSB 지원 중단
데비안은 2015년 7월경 프로젝트 내부의 관심 부족과 인력 부족으로 리눅스 기본 규격(LSB) 지원을 중단했다.[23] 2015년 9월, 데비안 프로젝트는 파일 시스템 계층 표준(FHS)에 대한 지원은 계속하지만, LSB에 대한 지원은 중단되었음을 확인했다.[24] Ubuntu는 2015년 11월 데비안을 따라 LSB 지원을 중단했다.[25]5. 3. 준수 테스트 스위트의 품질 문제
LSB 준수 테스트 스위트는 버그가 많고 불완전하다는 비판을 받았다. 특히 2005년 울리히 드레퍼는 LSB의 테스트가 부실하게 작성되어, 버그가 있는 테스트가 작동하도록 일부 구현에서 잘못된 동작을 유발하여 LSB 인증 배포판 간의 비호환성을 유발할 수 있다고 비판했다. 다른 배포판은 테스트 준수에 대한 면제를 신청하고 받았다.[26] 그는 또한 애플리케이션 테스트 부족을 비난하며, 배포판만 테스트하는 것은 구현 정의 동작에 의존하는 애플리케이션 문제를 해결할 수 없다고 지적했다.[26]참조
[1]
웹사이트
Certifying an Application to the LSB
http://www.linuxfoun[...]
Linux Foundation
2010-04-26
[2]
웹사이트
Facility Names
http://refspecs.linu[...]
[3]
웹사이트
Comment conventions for init scripts
https://refspecs.lin[...]
[4]
웹사이트
Package redhat-lsb
https://apps.fedorap[...]
2015-08-15
[5]
웹사이트
Re: Archive of this Mailing List
https://lists.linuxf[...]
2023-02-07
[6]
웹사이트
LSB Roadmap
http://ldn.linuxfoun[...]
Linux Foundation
2010-04-26
[7]
웹사이트
LSB 5.0 Release Notes
https://wiki.linuxfo[...]
2015-06-03
[8]
웹사이트
Java removed from Linux Standard Base 4.1
http://www.h-online.[...]
2011-03-10
[9]
웹사이트
Java removed from Linux Standard Base 4.1
http://www.h-online.[...]
2015-08-15
[10]
웹사이트
LSB 5.0 Release Notes: Qt 3 Removed
https://wiki.linuxfo[...]
2015-06-03
[11]
간행물
ISO/IEC 23360-1:2006 - Linux Standard Base (LSB) core specification 3.1 -- Part 1: Generic specification
2011-10-15
[12]
간행물
ISO/IEC TR 24715:2006 - Information technology -- Programming languages, their environments and system software interfaces -- Technical Report on the Conflicts between the ISO/IEC 9945 (POSIX) and the Linux Standard Base (ISO/IEC 23360)
2011-10-15
[13]
웹사이트
ISO Publicly Available Standards
http://standards.iso[...]
2011-10-15
[14]
웹사이트
Certified Products Product Directory
https://archive.toda[...]
2015-01-12
[15]
웹사이트
bugs.debian.org
http://bugs.debian.o[...]
[16]
웹사이트
linuxfoundation.org
http://ldn.linuxfoun[...]
[17]
웹사이트
openacs.org
http://openacs.org/f[...]
[18]
웹사이트
osnews.com
http://www.osnews.co[...]
[19]
웹사이트
Chapter 22. Software Installation 22.1. Introduction
http://refspecs.linu[...]
[20]
웹사이트
Chapter 22. Software Installation 22.3. Package Script Restrictions
http://refspecs.linu[...]
[21]
웹사이트
Debian -- Details of package lsb in lenny (stable) -- Linux Standard Base 3.2 support package
http://packages.debi[...]
Debian Project
2010-04-26
[22]
웹사이트
Debian LSB
http://wiki.debian.o[...]
Debian Project
2010-04-26
[23]
웹사이트
Debian LSB ML discussion
https://lists.debian[...]
Debian Project
2015-09-12
[24]
웹사이트
Debian dropping the Linux Standard Base
https://lwn.net/Arti[...]
[25]
웹사이트
lsb 9.20150917ubuntu1 source package in Ubuntu
https://launchpad.ne[...]
2015-11-19
[26]
웹사이트
Do you still think the LSB has some value?
http://udrepper.live[...]
2010-04-26
[27]
웹사이트
All About the Linux Application Checker
http://www.linuxfoun[...]
Linux Foundation
2010-04-26
[28]
웹사이트
LSB Roadmap
http://ldn.linuxfoun[...]
Linux Foundation
2010-04-26
[29]
웹사이트
LSB 5.0 Release Notes
https://wiki.linuxfo[...]
2015-06-03
[30]
웹인용
리눅스 기본 규격 : 지식백과
https://terms.naver.[...]
한국정보통신기술협회
[31]
웹인용
Certifying an Application to the LSB
http://www.linuxfoun[...]
리눅스 재단
2010-04-26
[32]
웹인용
ISO/IEC 23360-1:2006 - Linux Standard Base (LSB) core specification 3.1 -- Part 1: Generic specification
http://www.iso.org/i[...]
2011-10-15
[33]
웹인용
ISO/IEC TR 24715:2006 - Information technology -- Programming languages, their environments and system software interfaces -- Technical Report on the Conflicts between the ISO/IEC 9945 (POSIX) and the Linux Standard Base (ISO/IEC 23360)
http://www.iso.org/i[...]
2011-10-15
[34]
웹인용
ISO Publicly Available Standards
http://standards.iso[...]
2011-10-15
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com