Linux 표준 베이스

Linux Standard Base
LSB 로고

Linux Standard Base(LSB; Linux 표준 베이스)는 Linux Foundation의 조직 구조 하에 Linux 커널에서 사용되는 파일 시스템 계층 표준을 포함하여 소프트웨어 시스템 구조를 표준화하기 위해 여러 Linux 배포판이 공동으로 진행한 프로젝트입니다.LSB는 POSIX 사양, Single UNIX 사양(SUS) 및 기타 몇 가지 개방형 표준을 기반으로 했지만 특정 영역에서 확장되었습니다.

LSB에 따르면:

LSB의 목표는 Linux 디스트리뷰션 간의 호환성을 높이고 소프트웨어 애플리케이션을 바이너리 형식으로도 호환 시스템에서 실행할 수 있도록 하는 일련의 오픈 스탠다드를 개발 및 추진하는 것입니다.또, LSB는, Linux operating systems 용 제품의 포트 및 기입에 필요한 소프트웨어 벤더를 모집하기 위한 대처의 조정을 지원합니다.

LSB 준수는 인증 [1]절차에 따라 제품에 대해 인증될 수 있습니다.

LSB 지정 표준 라이브러리(주변)ld-lsb.soPOSIX 표준, 파일 시스템 계층의 레이아웃, 실행 수준, 인쇄 시스템(CUPS 등의 스풀러와 Foomatic 도구 포함) 및 X Window 시스템에 대한 몇 가지 확장 기능을 확장하는 다수의 명령 및 유틸리티입니다.또한 시스템 V 스타일의 [2]초기화 스크립트에서 서비스 종속성을 나타내기 위해 사용되는 $local_fs, $network와 같은 부팅 기능을 지정했습니다.스크립트 상부에 있는 기계 판독 가능한 코멘트블록은 스크립트를 호출하는 초기화 프로세스의 어느 시점에서 실행할지를 결정하기 위해 필요한 정보를 제공합니다.이 정보를 LSB [3]헤더라고 부릅니다.

명령어lsb_release -a많은 시스템에서 LSB 버전의 상세 정보를 얻거나 적절한 패키지를 설치함으로써 사용할 수 있도록 할 수 있습니다.예를 들어,redhat-lsbFedora [4]등의 Red-Hat-flavior 배포 패키지 또는lsb-release패키지를 데비안 기반 디스트리뷰션으로 제공합니다.

이 표준은 2015년에 업데이트가 중지되었으며 현재 Linux 배포판은 이 표준을 준수하거나 제공하지 않습니다. 단,lsb_release명령어를 사용할 [citation needed]수 있는 경우가 있습니다.

단말기의 LSB 출력 예시(Debian 버전 11)

하위 호환성

LSB는 사용자 공간 바이너리를 휴대할 수 있도록 하는 것을 목표로 합니다.

LSB는 바이너리 호환성을 갖도록 설계되었으며 독립 소프트웨어 벤더를 위한 안정적인 애플리케이션 바이너리 인터페이스(ABI)를 생산했습니다.하위 호환성을 확보하기 위해 이후의 각 버전은 완전히 추가되었습니다.즉, 인터페이스가 추가되었을 뿐, 인터페이스는 삭제되지 않았습니다.LSB는 LSB에서 인터페이스가 삭제되었을 경우에 대비하여 애플리케이션 개발자에게 충분한 시간을 주기 위해 인터페이스 폐지 정책을 채택했습니다.

이를 통해 개발자는 LSB의 모든 인터페이스에 기존 시간 동안 의존할 수 있으며 변경 계획도 세울 수 있습니다.인터페이스는 적어도 3개의 메이저버전(약 11년)[5] 동안 '권장되지 않음'으로 표시된 후에야 삭제되었습니다.

LSB 5.0은 이전 [6]버전과의 하위 호환성이 깨진 최초의 메이저릴리즈입니다

버전 이력

  • 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일 출시
    • LSB는 LSB-Core, LSB-CXX, LSB-Graphics 및 LSB-I18n으로 모듈화되어 있습니다(릴리스되지 않음).
    • 새로운 하드웨어 고유의 사양(전력)PC 64비트, AMD64)
    • 단일 UNIX 사양(SUS) 버전 3으로 동기화
  • 2.0.1: 2004년 10월 21일에 발매된 LSB 2.0의 ISO 버전에는 모든 하드웨어 아키텍처의 사양이 포함되어 있습니다(LSB-Graphics는 제외, 범용 버전만 사용 가능).
  • 2.1: 2005년 3월 11일 출시.
  • 3.0: 2005년7월 1일 출시기타 라이브러리 변경 사항:
    • GNU C 라이브러리 버전 2.3.4
    • C++ ABI가 gcc 3.4에서 사용되는 ABI로 변경됨
    • 코어 사양이 ISO POSIX(2003)로 갱신되었습니다.
    • 테크니컬 코리젠다1 : 2005
  • 3.1: 2005년 10월 31일 출시.이 버전은 ISO/IEC 23360:2006으로 제출되었습니다.
  • 3.2: 2008년 1월 28일 출시.이 버전은 ISO/IEC 23360:2006으로 제출되었습니다.
  • 4.0: 2008년 11월 11일 출시.이 버전에는 다음 기능이 포함되어 있습니다.
    • GNU C 라이브러리 버전 2.4
    • LSB 3.x와의 바이너리 호환성
    • SDK 사용 편의성
    • GTK 카이로 그래픽 라이브러리의 새로운 버전 지원
    • Java(옵션 모듈)
    • LSB 준거 RPM 패키지를 간단하게 작성하는 방법
    • Crypto API(Network Security Services 라이브러리 사용) (옵션 모듈)
  • 4.1:[7] 2011년 2월 16일 출시:
    • Java[8] 삭제
    • LSB 4.0에서는 멀티미디어(ALSA), 보안(NSS) 및 데스크톱 기타(xdg-utils)를 대상으로 하는 '시용' 모듈이 필요한 서브 모듈로 승격되었습니다.
    • GTK+, 카이로 CUPS 라이브러리 업데이트
    • 3개의 새로운 테스트 스위트 추가
  • 5.0: 2015년 6월 2일 출시, 이 버전은 ISO/IEC 23360:2021로 제출되었습니다.
    • GNU C 라이브러리 버전 2.10(psiginfo용)
    • 이전 버전과의 하위 호환성이 깨지는 첫 번째 메이저릴리즈(LSB 3.0과 호환되며 LSB 3.1 이후와 대부분 호환되지만 일부 예외[9] 있음)
    • FHS 3.0에서 변경된 내용을 포함합니다.
    • QT 3 라이브러리가 삭제되었습니다.
    • 모듈 전략 진화: LSB는 LSB Core, LSB Desktop, LSB 언어, LSB Imaging 및 LSB 트라이얼 사용으로 모듈화됩니다.

ISO/IEC 표준

LSB 버전 3.1은 공식 ISO/IEC [10]국제 표준으로 등록되어 있습니다.주요 부분은 다음과 같습니다.

  • ISO/IEC 23360-1:2006 Linux Standard Base(LSB) 코어 사양 3.1 - 파트 1: 범용 사양
  • ISO/IEC 23360-2:2006 Linux Standard Base(LSB) 코어 사양 3.1 - Part 2: IA-32 아키텍처 사양
  • ISO/IEC 23360-3:2006 Linux Standard Base(LSB) 코어 사양 3.1 - Part 3: IA-64 아키텍처 사양
  • ISO/IEC 23360-4:2006 Linux Standard Base(LSB) 코어 사양 3.1 - Part 4: AMD64 아키텍처 사양
  • ISO/IEC 23360-5:2006 Linux Standard Base(LSB) 코어 사양 3.1 - Part 5: PPC32 아키텍처 사양
  • ISO/IEC 23360-6:2006 Linux Standard Base(LSB) 코어 사양 3.1 - Part 6: PPC64 아키텍처 사양
  • ISO/IEC 23360-7:2006 Linux Standard Base(LSB) 코어 사양 3.1 - Part 7: S390 아키텍처 사양
  • ISO/IEC 23360-8:2006 Linux Standard Base(LSB) 코어 사양 3.1 - Part 8: S390X 아키텍처 사양

ISO/IEC 23360 (Linux Standard Base 3.1 사양)과 ISO/IEC 9945:2003 (POSIX) International Standard [11]간에 모순되는 영역을 식별하는 ISO/IEC TR 24715:2006도 있습니다.

LSB 버전 5.0은 ISO/IEC 국제 표준으로도 등록되어 있습니다.

  • ISO/IEC 23360-1:1:2021 Linux Standard Base(LSB) - Part 1-1: 공통 정의
  • ISO/IEC 23360-1-2:2021 Linux Standard Base (LSB; Linux 표준 베이스) Part 1-2: 핵심 사양
  • ISO/IEC 23360-1-3:2021 Linux Standard Base(LSB) - Part 1-3: 데스크톱 사양 범용 부품
  • ISO/IEC 23360-1-4:2021 Linux Standard Base(LSB) - Part 1-4: 언어 사양
  • ISO/IEC 23360-1-5:2021 Linux Standard Base (LSB; Linux 표준 베이스) - Part 1-5: 이미징 사양
  • ISO/IEC TS 23360-1-6:2021 Linux Standard Base (LSB; Linux 표준 베이스) - Part 1~6: 그래픽스 및 Gtk3 사양
  • ISO/IEC 23360-2:2021 Linux Standard Base(LSB) Part 2-2: X86-32 아키텍처의 핵심 사양
  • ISO/IEC 23360-2-3:2021 Linux Standard Base(LSB; Linux 표준 베이스)— Part 2-3: X86-32 아키텍처용 데스크톱 사양
  • ISO/IEC 23360-3-2: Linux Standard Base (LSB; 표준 베이스) - Part 3-2: IA64 (Itanium™)아키텍처의 핵심 사양
  • ISO/IEC 23360-3:2021 Linux Standard Base(LSB)— Part 3-3: IA64(Itanium TM) 아키텍처용 데스크톱 사양
  • ISO/IEC 23360-4-2:2021 Linux Standard Base(LSB; Linux 표준 베이스) Part 4-2: AMD64(X86-64) 아키텍처의 핵심 사양
  • ISO/IEC 23360-4-3:2021 Linux Standard Base(LSB; Linux 표준 베이스) - Part 4-3: AMD64(X86-64) 아키텍처용 데스크톱 사양
  • ISO/IEC 23360-5-2:2021 Linux Standard Base(LSB) Part 5-2: PowerPC 32 아키텍처의 핵심 사양
  • ISO/IEC 23360-5-3:2021 Linux Standard Base(LSB) Part 5-3: PowerPC 32 아키텍처 데스크톱 사양
  • ISO/IEC 23360-6-2:2021 Linux Standard Base(LSB) Part 6-2: 전력의 핵심 사양PC64 아키텍처
  • ISO/IEC 23360-6-3:2021 Linux Standard Base(LSB)— Part 6-3: 데스크톱 전원 사양PC64 아키텍처
  • ISO/IEC 23360-7-2:2021 Linux Standard Base(LSB) Part 7-2: S390 아키텍처의 핵심 사양
  • ISO/IEC 23360-7-3:2021 Linux Standard Base(LSB)— Part 7-3: S390 아키텍처용 데스크톱 사양
  • ISO/IEC 23360-8-2:2021 Linux Standard Base(LSB) Part 8-2: S390X 아키텍처의 핵심 사양
  • ISO/IEC 23360-8-3:2021 Linux Standard Base(LSB)— Part 8-3: S390X 아키텍처용 데스크톱 사양

ISO/[12]IEC 23360 및 ISO/IEC TR 24715는 ISO 웹사이트에서 무료로 다운로드할 수 있습니다.

접수처

LSB는 표준이고 경쟁 상대가 없었지만 Linux 배포판은 거의 없었습니다.예를 들어 LSB 버전 4.0에 대해 인증된 배포 릴리스(버전)는 21개뿐이며, 특히 Red Flag Linux Desktop 6.0, Red Hat Enterprise Linux 6.0, SUSE Linux Enterprise 11 및 Ubuntu 9.04(Jaunty Jackalope)[13] 버전 4.1에 대해 인증된 릴리스는 더 적습니다.

LSB는 회원사 이외의 프로젝트, 특히 데비안 프로젝트로부터 입력을 받지 않았다는 비판을[14][15][16][17] 받았다.

RPM 패키지 형식 선택 가능

LSB는 소프트웨어 패키지를 LSB 준거 [18]설치로 전달하거나 (가능하면) RPM Package Manager [19]형식의 제한된 형식으로 전달하도록 지정했습니다.

이러한 패키지 포맷 선택으로 RPM과 호환되지 않는 다른 기존 패키지 포맷을 사용할 수 없게 되었습니다.이 문제에 대처하기 위해 표준에서는 시스템이 자체 패키지에 사용해야 하는 패키지 형식을 규정하지 않았습니다.단, 서드파티 디스트리뷰터의 패키지를 적합 시스템에 설치할 수 있도록 RPM을 지원해야 합니다.

데비안의 제한

Debian은 초기에 LSB에 대한 옵션 지원을 포함했으며, 버전 1.1은 "woody"(2002년 7월 19일), 2.0은 "sarge"(2005년 6월 6일), 3.1은 "etch"(2007년 4월 8일, 3.2는 "leny"(2009년 2월 14일, 4월 14일)외부 LSB 준거 RPM 패키지를 사용하려면 최종 사용자는 Debian의 Alien 프로그램을 사용하여 네이티브 패키지 형식으로 변환한 후 설치해야 합니다.

LSB 지정 RPM 포맷에는 제한된 RPM 기능의 서브셋이 있었습니다.즉, Alien이나 다른 패키지 변환 프로그램에서는 .deb에 번역할 수 없는 RPM 기능의 사용을 차단하거나 그 반대의 경우도 마찬가지입니다.각 포맷에는 다른 RPM 기능이 없기 때문입니다.실제로는 모든 Linux 바이너리 패키지가 LSB에 준거하고 있는 것은 아니기 때문에 대부분은 .rpm과 .deb 사이에서 변환할 수 있었지만, 이 조작은 패키지의 서브셋으로 한정되어 있었습니다.

Alien을 사용함으로써 Debian은 모든 면에서 LSB와 호환성이 있었지만, 그 설명에 따르면lsb패키지의 [20]존재는 Debian이 Linux Standard Base에 완전히 적합하다고 믿는 것은 아니며 Debian이 LSB에 [20]적합하다고 해석되어서는 안 됩니다.

데비안은 LSB를 준수하기 위해 노력했지만 많은 [21]제한이 있었습니다.그러나 프로젝트 [22]내에서의 관심과 인력 부족으로 2015년 7월경 이러한 노력이 중단되었습니다.2015년 9월, Debian 프로젝트는 FHS(Filesystem Hierarchy Standard)에 대한 지원은 계속되지만 LSB에 대한 지원은 [23]중단되었음을 확인했습니다.Ubuntu는 2015년 [24]11월에 Debian을 팔로우했습니다.

Quality of Compliance 테스트 스위트

또한 컴플라이언스 테스트 스위트는 버그가 많고 불완전하다는 비판을 받았습니다.특히 2005년 Ulrich Drepper는 LSB가 불량하게 기술된 테스트로 인해 일부 버그테스트가 동작하기 위한 잘못된 동작을 구현하고 있는 경우 LSB 인증 디스트리뷰션 간의 호환성을 저해할 수 있으며, 다른 테스트 스위트는 LSB에 대해 면제를 신청하고 있습니다.테스트를 [25]준수합니다.또, 애플리케이션 테스트의 부족에 대해서도 비판하고, 디스트리뷰션만을 테스트하는 것으로는, 실장 정의의 [25]동작에 의존하는 애플리케이션의 문제를 해결할 수 없다고 지적했습니다.

Linux Foundation은 LSB 인증을 검토하는 벤더를 위해 LSB를 [26]넘어서는 기호와 라이브러리를 분석하고 가이드라인을 제공하는 툴을 후원했습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Certifying an Application to the LSB". Linux Foundation. 2008. Archived from the original on July 15, 2009. Retrieved April 26, 2010.
  2. ^ "Facility Names". Linux Standard Base Core Specification 3.1. 2005.
  3. ^ "Comment conventions for init scripts". Linux Standard Base Core Specification 3.1. 2005.
  4. ^ "Package redhat-lsb". fedoraproject.org. Retrieved August 15, 2015.
  5. ^ "LSB Roadmap". Linux Foundation. 2008. Retrieved April 26, 2010.
  6. ^ "LSB 5.0 Release Notes". linuxfoundation.org. Archived from the original on July 8, 2017. Retrieved June 3, 2015.
  7. ^ djwm (March 10, 2011). "Java removed from Linux Standard Base 4.1". Archived from the original on December 7, 2013.
  8. ^ "Java removed from Linux Standard Base 4.1". h-online.com. March 10, 2011. Retrieved August 15, 2015.
  9. ^ "LSB 5.0 Release Notes: Qt 3 Removed". linuxfoundation.org. Retrieved June 3, 2015.
  10. ^ ISO/IEC 23360-1:2006 - Linux Standard Base (LSB) core specification 3.1 -- Part 1: Generic specification
  11. ^ 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)
  12. ^ "ISO Publicly Available Standards". Retrieved October 15, 2011.
  13. ^ linuxbase.org 인증제품 제품 디렉토리(2015-01-12)
  14. ^ "bugs.debian.org".
  15. ^ "linuxfoundation.org".[영구 데드링크]
  16. ^ "openacs.org".
  17. ^ "osnews.com".
  18. ^ "Chapter 22. Software Installation 22.1. Introduction". Linux Standard Base Core Specification 3.1. 2005.
  19. ^ "Chapter 22. Software Installation 22.3. Package Script Restrictions". Linux Standard Base Core Specification 3.1. 2005.
  20. ^ a b "Debian -- Details of package lsb in lenny (stable) -- Linux Standard Base 3.2 support package". Debian Project. August 18, 2008. Retrieved April 26, 2010.
  21. ^ "Debian LSB". Debian Project. Retrieved April 26, 2010.
  22. ^ "Debian LSB ML discussion". Debian Project. Retrieved September 12, 2015.
  23. ^ "Debian dropping the Linux Standard Base". LWN.net.
  24. ^ "lsb 9.20150917ubuntu1 source package in Ubuntu".
  25. ^ a b Drepper, Ulrich (September 17, 2005). "Do you still think the LSB has some value?". Retrieved April 26, 2010.
  26. ^ "All About the Linux Application Checker". Linux Foundation. 2008. Retrieved April 26, 2010.

외부 링크

미디어: