É possível executar o GNU puro?

23

Na página do projeto GNU , há uma subseção chamada " Todos os pacotes GNU " que lista os vários softwares no projeto GNU.

Existem distribuições GNU que usam apenas esses pacotes - ou seja, um sistema operacional GNU "puro" que roda apenas em pacotes GNU?

Não estou particularmente interessado em saber se esse seria um sistema operacional prático , apenas se for teoricamente possível executar o GNU Hurd com puramente os pacotes GNU . Caso contrário, que tipo de software ainda deve ser implementado para atingir esse objetivo (ou seja, o que está faltando)?

Se o GNU Hurd é o fator limitante, do que se fosse feita uma exceção para o kernel, um sistema operacional GNU puro seria possível usando o kernel do Linux ?

Vilhelm Grey
fonte
4
Como você pode inicializar um sistema Linux (ou Hurd) que executa apenas bash, então, em qualquer caso, é possível.
Stéphane Chazelas
@StephaneChazelas Isso deve responder à minha pergunta, se possível. Gostaria de saber se alguém configurou uma distribuição como essa como prova de conceito.
Vilhelm Gray
3
Atualização: Existe o sistema operacional GNU Guix desenvolvido pelo projeto GNU!
Pandya
Claro que você não terá uma GUI porque X não é um projeto GNU
farhangfarhangfar
Um pouco relacionado: Posso executar o Ubuntu em algo que não seja o Linux Kernel?
G-Man diz 'Reinstate Monica'

Respostas:

20

O objetivo explícito do projeto GNU é fornecer um sistema operacional completo de código aberto / livre / gratuito.

Existem distribuições GNU que usam apenas esses pacotes - ou seja, um sistema operacional GNU "puro" que roda apenas em pacotes GNU?

aqui uma referência a uma distribuição binária oficial do GNU com base no Hurd, que "consiste no GNU Mach, no Hurd, na biblioteca C e em muitos aplicativos". No entanto, ele pode ou não ser mantido no momento, pois não encontrei outras referências on-line. Mas parece que se encaixa nos seus critérios.

Não estou particularmente interessado em saber se esse seria um sistema operacional prático, apenas se for teoricamente possível executar o GNU Hurd com puramente os pacotes GNU.

A resposta à pergunta anterior implica uma resposta óbvia ao WRT Hurd. Obviamente, pode ajudar a definir com mais precisão o que seria considerado um "sistema operacional" razoavelmente completo. Vou fornecer duas definições:

  1. Uma coleção de software suficiente para inicializar em um prompt de shell.

  2. Um sistema que atende aos critérios POSIX. Esta é essencialmente uma versão mais rígida do nº 1, já que a entidade obrigatória de mais alto nível em um sistema POSIX seria o shell.

Isso é um pouco arbitrário, pois um sistema operacional projetado para atender a algum propósito especial pode não precisar de um shell. No entanto, nesse caso, seria uma questão mais específica sobre a natureza do "propósito especial".

De qualquer forma, a resposta é sim , embora a implementação de algumas coisas pelo GNU possa não ser 100% perfeitamente compatível com POSIX (e existem alguns utilitários necessários, como o crontabque o GNU não fornece). Aqui estão os componentes em potencial:

  • Núcleo (Hurd)
  • Biblioteca C (glibc)
  • Utilitários essenciais (GNU core-utils, etc.)
  • Shell (bash, que é um projeto GNU)

Eu não incluí um gerenciador de inicialização, já que isso não faz parte do sistema operacional - mas, de qualquer forma, grubtambém é um projeto GNU.

Cachinhos Dourados
fonte
1
O Debian Hurd também atende aos critérios.
jordanm
5
@jordanm: Eu duvido, já que a instalação básica provavelmente inclui, por exemplo, vixie cron, que é um software não-GNU. Isso abre um buraco na minha tese. POSIX tho, uma vez que crontabé um utilitário necessário.
GOLDILOCKS
2
@ goldilocks: No Debian, cronnão é prioritário requiredou essential, então você pode ter um sistema Debian sem ele.
jordanm
7

O Guix SD , uma das distribuições endossadas pelo GNU, é desenvolvido pelo próprio projeto GNU! Ele vem com o gerenciador de pacotes GNU Guix. Embora ele use o kernel Linux-Libre, no entanto, também suporta o GNU Hurd. Ele usa o sistema init GNU Shepherd .

A Distribuição do sistema Guix (GuixSD) é uma distribuição avançada do sistema operacional GNU desenvolvido pelo Projeto GNU - que respeita a liberdade dos usuários de computador.

O GuixSD é uma distribuição do sistema operacional GNU centralizado no gerenciador de pacotes GNU Guix. Ele usa o kernel Linux-libre, e o suporte ao Hurd está sendo trabalhado. Como uma distribuição GNU , está comprometida em respeitar e aprimorar a liberdade de seus usuários. Como tal, segue as Diretrizes de distribuição do sistema livre GNU.

Nota: Ainda está na versão beta e ainda não é um GNU puro.

Pandya
fonte
3

Dê uma olhada no site GNU. Eles mantêm uma lista de distribuições GNU / Linux lá:

Eles ainda estão executando o kernel do Linux, mas poderiam ser adaptados para rodar apenas com o kernel GNU Hurd.

Também existe este link que explica como executar o Debian usando o kernel Hurd:

Essa mesma página também possui links para algumas outras distribuições, como o Arch + Hurd.

slm
fonte
Sinto muito, minha pergunta provavelmente é um pouco enganadora. Estou curioso para saber se é teoricamente possível executar um sistema operacional exclusivamente em pacotes GNU (ou seja, sem X11, etc).
Vilhelm Gray
2
Esses são todos baseados em Linux. São distros que estão de acordo com a filosofia do GNU sobre software livre, não necessariamente distros que usam apenas o software GNU.
GOLDILOCKS
Dê uma olhada na outra resposta. Para responder sua pergunta, no entanto, sim, você pode executar um sistema operacional inteiro apenas com o GNU.
slm
@goldilocks - obrigado por esclarecer.
slm