Loading AI tools
sistema operativo Da Wikipédia, a enciclopédia livre
Linux Standard Base (LSB), traduzido para Base Padrão do Linux, é um projeto conjunto de diversas distribuições Linux sob a estrutura organizacional da Fundação Linux para padronizar a estrutura de sistemas de software, incluindo a hierarquia de sistema de arquivos usada no sistema operacional Linux. A LSB é baseada na especificação POSIX, na Single UNIX Specification e em diversos outros padrões abertos, mas estende-os em determinadas áreas.
As referências deste artigo necessitam de formatação. (Dezembro de 2020) |
De acordo com a LSB:
O objetivo da LSB é desenvolver e promover um conjunto de padrões abertos que aumentarão a compatibilidade entre distribuições Linux e permitir que aplicações de software rodem em qualquer sistema compatível, mesmo em formato binário. Ademais, a LSB ajudará a coordenar esforços para recrutar fornecedores de software a portarem e escreverem seus produtos para Sistemas Operacionais Linux.
A conformidade LSB pode ser certificada para um produto através de um procedimento de certificação.[1] A certificação é realizada pelo The Open Group na cooperação com a Free Standards Group.
O LSB especifica, por exemplo: bibliotecas padrões, um número de comandos e utilitários que estendem o padrão POSIX, o leiaute da hierarquia do sistema de arquivos, níveis de execução, o sistema de impressão, incluindo spoolers como o CUPS e ferramentas como o Foomatic, e diversas extensões para o sistema X-Window.
O comando lsb_release -a
está disponível em muitos sistemas para obter detalhes da versão LSB, ou pode ser disponibilizado pela instalação de um pacote apropriado, por exemplo o pacote redhat-lsb
em distribuições derivadas do Red Hat, como o Fedora,[2] ou o pacote lsb_release
em distribuições derivadas do Debian.
A Linux Standard Base, iniciada em 1998, foi projetada não apenas para impedir a fragmentação, mas permitir que os fabricantes da aplicação liberem uma única versão de software certificada ao funcionamento em toda a distribuição com conformidade LSB Linux. Para empresas, o sucesso do LSB deve significar a habilidade de mudar entre diferentes distribuições e levar todas de aplicações em conformidade com LSB junto sem nenhuma modificação necessária.
O LSB veio para padronizar as grandes distâncias que as distribuições GNU/Linux estavam tomando.
O LSB propõe um módulo principal obrigatório e outros módulos opcionais que podem ou não ser utilizados pelas aplicações. Na versão 3.2 do padrão, existem 4 módulos opcionais.
São as especificações essenciais para garantir a interoperabilidade básica entre as diferentes distribuições Linux. Esse módulo possui três partes: definição do formato ELF utilizada pelos executáveis, definição das interfaces exigidas e definição do formato dos pacotes de distribuição. A documentação completa pode ser encontrada na parte 1 da especificação do LSB.[3]
Na versão 3.2 do LSB, são exigidas 14 bibliotecas básicas: Libdl, libcrypt, libz, libncurses, libutil, libpthread, librt, libpam, libgcc_s, libm, libc, proginterp.
O padrão LSB define uma lista de utilitários e comandos que devem ser obrigatoriamente disponibilizados pela distribuição Linux. O comportamento dos comandos segue o padrão ISO POSIX 2003, exceto quando mencionado explicitamente na especificação do LSB.
Na versão 3.2 do LSB, apenas cinco comandos devem ser fornecidos obrigatoriamente pelo Shell.
São eles: cd, getops, read, umask e wait.
Na versão 3.2 do LSB, são exigidos os seguintes utilitários:
ar, at, awk, batch, bc, chfn, chsh, col, cpio, crontab, cut, df, dmesg, du, echo, egrep, fgrep, file, find, fuser, gettext, grep, groupadd, groupdel, groupmod, groups, gunzip, gzip, hostname, Install, install_initd, ipcrm, ipcs, killall, lpr, ls, lsb_release, m4, md5sum, mknod, mktemp, more, mount, msgfmt, newgrp, od, passwd, patch, pidof, remove_initd, renice, sed, sendmail, sh, shutdown, su, sync, tar, umount, useradd, userdel, usermod, xargs e zcat.
O LSB exige que a distribuição Linux utilize a estrutura de sistema de arquivos proposta na versão 2.3 do padrão FHS – File Hierarchy Standard.[4]
O LSB provê uma infra-estrutura básica para a internacionalização baseada nos locales do padrão POSIX 2003. Expressões regulares são suportadas conforme especificado no padrão POSIX 2003, apenas com algumas exceções descritas na especificação do LSB.[5]
Estão definidas regras para o agendamento de tarefas do Cron, bem como o detalhamento da estrutura necessária nos scripts de inicialização e dos runlevels recomendados ao sistema.
O padrão exige que o UserID e o GroupID do usuário root possuam valor zero. Os demais usuários e grupos do sistema não possuem valores pré-determinados. O usuário bin pertencente ao grupo bin e o usuário daemon pertencente ao grupo daemon devem existir por questão de compatibilidade com sistemas antigos.
Exige apenas a Biblioteca padrão do C++ (libstdc++).
As implementações desse módulo devem seguir as especificações da Itanium C++ ABI,[6] da ISO/IEC 14882: 2003 C++ Language e da especificação LSB Genérica (Parte 1).[3]
A especificação completa do módulo C++ para a versão 3.2 do LSB pode ser encontrada em LSB 3.2 Specification - C++.[7]
Este módulo provê interfaces relacionadas à interação com o usuário e manipulação de imagens e dados. São utilizadas as definições do FreeDesktop.org para a organização das informações utilizadas por diferentes ambientes gráficos.
A especificação completa do módulo desktop para a versão 3.2 do LSB pode ser encontrada em LSB 3.2 Specification - Desktop.[8]
Esse módulo provê funcionalidades completas de impressão para as aplicações e permite que os fabricantes de dispositivos construam drivers que podem ser compartilhados por diversas distribuições Linux.
A especificação completa do módulo de impressão para a versão 3.2 do LSB pode ser encontrada em LSB 3.2 Specification - Printing.[9]
Este módulo provê suporte a linguagens de programação interpretadas. Na versão 3.2 da LSB, esse módulo provê as seguintes linguagens:
As linguagens devem ter seu ambiente de execução totalmente funcional, conforme as especificações das mesmas.
Na versão 4.0 do LSB, a linguagem Java foi adicionada ao conjunto experimental de linguagens suportadas. Na versão 4.1 do LSB, o Java foi removido da especificação devido à impossibilidade de prover uma implementação de software livre 100% compatível com a versão proprietária (o conjunto de testes de conformidade do Java possui restrições em sua licença de uso). [10]
O padrão LSB é suportado pela maioria das distribuições Linux modernas. Mesmo distribuições não certificadas provêm bibliotecas de compatibilidade com o padrão. É o caso de distribuições populares, tais como o Debian, o Ubuntu, o Fedora, o SuSE, dentre outras.
A Linux Foundation provê uma lista com as distribuições certificadas LSB, bem como a versão do padrão para o qual foram certificadas. A lista completa pode ser encontrada em aqui:
Dentre as distribuições Linux certificadas, podemos destacar:
As aplicações com certificação de compatibilidade LSB abrangem uma vasta gama de utilidades, de impressão à DRM. Dentre as aplicações certificadas, podemos destacar:
Uma descrição detalhada do processo de certificação pode ser encontrada no site Linux Foundation. Processo de Certificação
O custo da certificação varia conforme o número de arquiteturas para qual o produto será certificado. Para cada arquitetura será cobrada uma taxa adicional. Para aplicações, o custo da certificação é a partir dos US$ 250. Para distribuições, o custo da certificação é a partir de US$2500.
Os valores cobrados para a certificação são significativamente menores para os membros filiados à Linux Foundation. Mais detalhes sobre o custo de certificação pode ser encontrado no site da Linux Foundation. Custo de Certificação
A LSB tem sido criticada por ser influenciada por empresas membros, declara o projeto Debian, que também é membro da LSB. Por exemplo, a LSB especifica que os programas deveriam ser distribuídos em formato RPM da Red Hat, do qual foi inventado muito depois do formato de empacotamento do projeto Debian, o APT.
A qualidade dos testes de conformidade com o LSB também foi criticada por conter erros nos testes e pelos testes serem incompletos. Em 2005, Ulrich Drepper criticou os testes por possibilitarem inconsistências entre as distribuições certificadas LSB. Algumas distribuições poderiam alterar seu comportamento para passar nos testes defeituosos, enquanto outras poderiam conseguir isenção desses erros no processo de certificação (os resultados dos testes sabidamente defeituosos não são levados em conta na validação final).[13]
Ulrich também reclamou da ausência de testes para as aplicações, dizendo que testar apenas a compatibilidade com algumas distribuições não evidencia os problemas causados quando a aplicação depende de um comportamento definido por uma implementação específica.[13] Em resposta as críticas, a Linux Foundation publicou em 2008, juntamente com o SDK, uma aplicação para validar a compatibilidade das aplicações.[14]
Em outras áreas a operação da LSB é menos controversa, e é recebida com considerável gratificação.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.