Compreendendo diferentes distribuições Linux

12

Estou tendo um pouco de confusão ao entender os sistemas operacionais baseados em Linux. Quando eu baixa a versão mais recente do Mint e Ubuntu, eles não são os "mesmos" em seu núcleo (kernel)? Parece que eles têm GUI diferentes? Tecnicamente, uma GUI não é apenas um programa executado na inicialização de um computador? O mesmo que com o Windows (dos é o núcleo, mas explorer.exe é a GUI). Alguém é capaz de explicar isso?

Com o comando sudo apt-get, não consigo instalar o Ubuntu a partir de um terminal mint?

Eu sei que isso é uma bagunça de perguntas, mas espero que alguém possa esclarecer as diferenças entre várias distribuições antes que a GUI apareça e depois que a GUI apareça.

EGHDK
fonte

Respostas:

10

Primeiro: o Windows não é uma GUI do DOS há um bom tempo; O Windows baseado em NT (NT / 2000 / XP / Vista / 7/8) é totalmente independente do DOS. explorer.exe também não é a GUI: é apenas um shell (você também pode encontrar substitutos para o Windows)

No fundo, todas as distribuições são baseadas no kernel do Linux; as principais diferenças (do ponto de vista do usuário final - existem diferenças, por exemplo, em sistemas init, arquivos sob /etce outros locais) - entre distribuições são:

  • gerenciamento de pacotes

O Ubuntu, o Mint e todas as outras distribuições baseadas no Debian usam o dpkg / APT como sistema de empacotamento. Outras distribuições usarão outros sistemas (por exemplo, Red Hat, Fedora, SuSE usarão RPM, Arch usará pacman).

  • seleção de pacotes

Efetivamente, o Mint é um Ubuntu com alguns pacotes extras (por exemplo, codecs, não incluídos no Ubuntu por motivos de patentes / direitos autorais) e um tema diferente (para criar uma identidade personalizada e evitar questões de marca / plágio e confusão do usuário).

Obviamente, você pode instalar qualquer outra GUI no Mint: você pode usar o ambiente de desktop do Mint ( Cinnamon ) no Ubuntu e tecnicamente (a realidade é outra história: você provavelmente encontrará conflitos de pacotes), poderá instalar a identidade visual do Unity e do Ubuntu (temas, ícones) no Mint.

Então, em teoria, você pode transformar seu Ubuntu em um sistema Mint-ish, mas na prática isso é bastante difícil de fazer.


Conforme o comentário sobre a diferença entre 'interface' e 'shell', o que pode gerar alguma confusão:

No mundo UNIX, 'shell' já tem um significado específico e bem aceito :

Um shell Unix é um interpretador de linha de comando ou shell que fornece uma interface de usuário tradicional para o sistema operacional Unix e para sistemas similares ao Unix.

Compare com o shell do Windows, que é uma coisa totalmente diferente :

O shell do Windows é a principal interface gráfica do usuário no Microsoft Windows. O shell do Windows inclui componentes conhecidos do Windows, como a barra de tarefas e o menu Iniciar. O shell do Windows não é o mesmo que um "shell de linha de comando", mas os dois conceitos estão relacionados.

No nosso caso, chamaríamos o Cinnamon (ou KDE, GNOME, Unity, XFCE) de um ambiente de área de trabalho : um conjunto de aplicativos (gerenciador de janelas, painéis, itens da bandeja de notificação etc.) que proporcionam a experiência do usuário.

Renan
fonte
Interface da Casa da Moeda (Cinnamon), é uma "interface" ou mais uma "concha" como você estava falando?
EGHDK 24/08/12
No UNIX / Linux, o termo 'interface' é mais adequado para GUIs, já que 'shell' já tem um significado específico (um shell de linha de comando como bashou zsh). Ou você pode chamá-lo de 'ambiente de desktop'.
Renan
Então o terminal a é uma concha?
EGHDK
1
@EGHDK Não é bem assim: um shell (no significado UNIX) é executado dentro de um terminal. Isso é explicado em Qual é a diferença exata entre um 'terminal', um 'shell', um 'tty' e um 'console'?
Renan
Perfeito. Você respondeu a todas as minhas perguntas. Obrigado! Eu realmente gostei disso.
EGHDK 24/08/12
8

Para entender qual é a diferença entre as distribuições, talvez você deva examinar novamente o que é uma distribuição.

O que é uma distribuição

Você provavelmente sabe tudo isso, mas pense novamente. Linux é apenas um kernel. Na maioria dos casos, isso é completamente inútil por si só. A maior parte do que ele faz é simplesmente fornecer uma interface de software para o hardware da sua máquina, para que outros programas a usem. Uma distribuição é muito mais complexa que isso. Leve em consideração:

  • Uma escolha de aplicativos e biblioteca específicos para o uso da distribuição.
  • Ferramentas para gerenciar e manter o sistema.
  • Canal de documentação e suporte.
  • Um ciclo de lançamento e gerenciamento comunitário.

Existem muitas camadas de software adicionadas no Linux para criar algo como Ubuntu ou Mint, com infinitas possibilidades de configurações e escolhas a serem feitas.

Você também deve levar em conta a natureza do editor da distribuição. Projetos como Red Hat, SuSE ou Ubuntu atendem aos propósitos de negócios, enquanto outros como Mint, Debian ou Gentoo são gerenciados por voluntários.

Qual é a diferença entre uma distribuição e outra

Virtualmente, qualquer aplicativo em execução em uma distribuição está disponível (ou facilmente portátil) para outra. Afinal, todos eles são sistemas Unix muito semelhantes. No entanto, não importa o que você faça, não será possível alterar o ciclo de lançamento da sua distribuição, a velocidade com que as novas versões são empacotadas ou simplesmente a aparência do fórum oficial. Talvez um exemplo lhe mostre melhor:

Digamos que estou esperando impacientemente pela nova versão do meu software, por exemplo, Python-3.3, que deve chegar em alguns dias. Como estará disponível para diferentes distribuições:

  • As distribuições de versões contínuas (como Arch Linux ou Gentoo) as disponibilizarão rapidamente em seus repositórios. Assim que o mantenedor o empacota e os testes básicos são executados, ele fica disponível.
  • As distribuições empresariais provavelmente o prometerão para as "próximas versões". Enquanto isso, ainda está disponível, mas não estará em nenhum canal oficial.
  • O Debian não o disponibilizará antes de ser completamente testado, um processo que pode levar anos. No entanto, torna o repositório de teste muito facilmente disponível ao público. (Por exemplo, o Ubuntu cria suas versões a partir deste repositório de versões a cada 6 meses).

Qual é a diferença real entre o Mint e o Ubuntu.

Para constar, devo salientar que não uso o Ubuntu há mais de 2 anos e mal uso o Mint há alguns meses, há 4 anos. O que estou dizendo aqui pode não ser muito preciso.

A diferença entre o Mint e o Ubuntu é mínima, afinal o Mint é completamente baseado no Ubuntu. Originalmente, o Mint era simplesmente uma reembalagem do Ubuntu com três diferenças:

  • Ele forneceu tecnologias proprietárias em sua instalação padrão (algo que o Ubuntu não fornece).
  • Ele forneceu algumas ferramentas gráficas, como o menu da barra de tarefas ou o instalador do aplicativo, que foi corrigido na parte superior da instalação básica do Ubuntu.
  • Ele tinha um foco maior na estética. Seu solgan ainda é "Da liberdade veio a elegância".

Alguns anos atrás, o cisma se expandiu à medida que o Ubuntu tentava impulsionar o ambiente gráfico do Unity, a comunidade Mint fez um grande esforço ao rejeitá-lo. Foi assim que a canela surgiu.

Eu nunca tentei, mas não ficaria surpreso se alguém fizesse o Cinnamon rodar no Ubuntu e o Unity no Mint. O argumento que estou tentando fazer é:

As diferenças entre distribuições como Mint e Ubuntu são muito mais sobre a comunidade e as opções sutis do que sobre o próprio software.

Leitura adicional

rahmu
fonte
Não consegui editar a resposta porque quero adicionar apenas uma palavra e uma edição requer seis caracteres ... Gostaria de ressaltar que você provavelmente está perdendo uma palavra perto do início da resposta, algumas linhas abaixo indicam: "outros programas de usá-lo" deve ser "outros programas de canusá-lo"
somethingSomething
5

Esta é uma boa pergunta. Meu entendimento é que você teoricamente poderia, mas pode não funcionar como o esperado. Embora o Mint seja baseado no Ubuntu, o Ubuntu e o Mint usam diferentes repositórios de software. Esses repositórios são o que torna cada distribuição exclusiva. Em qualquer sistema de desktop Mint ou Ubuntu, você pode definir os repositórios para o que quiser. Portanto, você pode pegar um sistema que foi instalado como Mint e alterar todos os repositórios para repositórios Ubuntu. Então, se você reinstalar todos os pacotes, você basicamente terá o Ubuntu. No entanto, o Ubuntu e o Mint fazem seus pequenos ajustes no código (que, por sua vez, é baseado no Debian). Portanto, se os pacotes Mint estão esperando um conjunto de ajustes, mas os pacotes do Ubuntu fornecem um conjunto completamente diferente de ajustes, você pode acabar com um sistema muito danificado.

Mesmo algumas das diferentes "versões" do Ubuntu têm ajustes realmente bizarros em seu código. Isso ocorre porque a Canonical se concentra na facilidade de uso, e não na correção ou interoperabilidade do código. Recentemente, tentei instalar o Xfce4 em uma instalação "servidor" do Ubuntu 13.04. Acabei com um sistema completamente quebrado. Foi uma bagunça completa. Acabei instalando o Ubuntu 13.04 normal e depois instalando o xfce em cima dele. Tudo funcionou misteriosamente. Certos menus e programas até pareciam melhores, como se estivessem sendo renderizados com um mecanismo completamente diferente. No entanto, usei todos os mesmos arquivos e pacotes de configuração que havia usado na instalação do servidor (e para uma instalação da Debian que é executada perfeitamente no mesmo computador).

Isso é apenas mágica canônica para você. Se você deixar tudo como eles fornecem, geralmente funcionará bem. Se você tocar no mínimo, as coisas podem começar a ficar realmente estranhas.

James Harris
fonte
A propósito, desculpe-me por postar em uma postagem antiga, mas essa pergunta aparece perto do topo de determinadas pesquisas no Google.
James Harris
Bem-vindo ao StackExchange do Unix e Linux! Responder a perguntas antigas não é desaprovado aqui. Certifique-se de parar pelo FAQ .
4

Eu focaria nos objetivos de diferentes distribuições, em vez de em detalhes, como qual gerenciador de pacotes eles usam ou quais versões de software são fornecidas atualmente. Um bom objetivo pode levá-lo de zero a líder de mercado em seu espaço, se é isso que você procura (é o Ubuntu quando eles foram lançados, mas anteriormente também a Red Hat) e algumas decisões de tecnologia bastante fundamentais podem mudar se isso for considerado importante para o objetivo (a insistência do Ubuntu no Unity pode ser um exemplo).

  • Red Hat: originalmente, (na época, extremamente inovador) sucesso comercial, fornecendo serviços pagos aos usuários do seu produto gratuito. Mais recentemente, efetue cobranças por esse produto (não sei como é a visão agora). A base de clientes de grandes empresas significa relutância em mudar - a estabilidade supera a inovação.
  • Debian: liberdade e portabilidade. "Universal" significa tentar executar em muitas plataformas; Um forte foco no código aberto significa que qualquer coisa com componentes de código fechado é duvidosa. A estabilidade é importante, portanto, bastante lenta e conservadora.
  • Fedora: originalmente, a versão gratuita do Red Hat, uma vez que foram comercializados. Na prática, semelhante ao Debian no zelo de código aberto, mas é mais provável que tente coisas novas e ousadas. Usado pela Red Hat como um banco de testes para novos desenvolvimentos.
  • CentOS: Red Hat gratuitamente.
  • Ubuntu: domínio no desktop. Facilidade de uso (ou pelo menos facilidade de familiarização) e suíte de aplicativos padronizados para atrair uma ampla base de usuários. Melhore o ritmo lento do Debian mantendo um ciclo fixo de lançamento de seis meses com base nos testes do Debian.
  • Hortelã: Ubuntu sem Unity.
  • Arco: forneça a versão estável mais recente de cada pacote upstream com o mínimo de pacotes específicos de distribuição, etc.
  • Slackware: seja simples e parecido com o Unix, e saia do caminho.
  • Gentoo: controle detalhado sobre a compilação local de pacotes com base em um novo gerenciador de pacotes chamado emerge.

Esta lista é obviamente resumida. Muitas distribuições populares são variantes, derivações ou garfos dos itens acima. A lista de distribuições Linux da Wikipedia é bastante abrangente e razoavelmente estruturada. Consulte também https://distrowatch.com/ para obter detalhes, como estatísticas de popularidade atuais.

Um corolário importante é o gerenciamento de expectativas. Uma distribuição que se concentra na compatibilidade e liberdade universais pode levar menos a sério a usabilidade ou a compatibilidade com um dispositivo específico atualmente popular e vice-versa. Uma distribuição que se concentre em tamanho reduzido e desempenho em hardware herdado provavelmente não desejará colocar muito esforço em colírio para os olhos, como efeitos animados na área de trabalho ou casos de uso como edição de vídeo, simulações em 3D ou jogos fotorrealistas que empurram o envelope mesmo nas últimas versões. geração de hardware. Uma distribuição cujo objetivo é fornecer uma experiência simples e uniforme para quem é novo em computadores não se importará se um driver de kernel de sistema de arquivos de ponta é executado em seus sistemas. Etc.

Isso também deve informar a resposta para sua pergunta concreta. Provavelmente não é muito difícil fazer o Unity rodar no Mint, mas por que você prefere isso ao invés de simplesmente rodar o Ubuntu? É claramente possível executar o Ubuntu com o Cinnamon, mas você acabaria reinventando o Mint, e o esforço é provavelmente significativo; caso contrário, por que eles teriam desmembrado um projeto separado apenas para fornecer isso? E isso na verdade ilustra como uma distribuição pode considerar uma parte da política ou arquitetura específica como técnica ou estrategicamente crítica o suficiente para afetar outros componentes na cadeia de dependência de maneiras não triviais, o que obviamente também significa que muitas soluções alternativas serão necessárias se você tentar para removê-lo de qualquer maneira.

E, no entanto, essas são duas distros estreitamente relacionadas; se você tentar portar o software entre as distribuições, fica cada vez mais difícil o distanciamento entre elas em termos de objetivos, políticas e decisões arquiteturais resultantes, além de herança e infraestrutura compartilhadas, como redes de distribuição de pacotes, padrões de suporte, por exemplo. periféricos de hardware ou internacionalização, etc.

triplo
fonte
Eu meio que fiquei sem vapor. Sinta-se livre para atualizar ou adicionar a isso.
tripleee
Como você reúne tudo, você também pode consultar as distribuições de slackware, como Porteus.
George Vasiliou
Eu acho que o openSUSE também deveria estar na lista, mas não consigo descobrir se eles têm algum objetivo, além de "ser alemão".
Tripleee
0

As distribuições Linux são muito mais que um kernel. Eles também são todos os aplicativos em execução no kernel (inclusive apt-get), incluindo muitos itens de nível muito baixo, como o sistema init. De fato, a escolha dos aplicativos utilizados é o ponto de definição de muitas distribuições.

Você não pode instalar o Ubuntu a partir do Mint, assim como não poderia levar o seu Cadilac a uma loja de carros e pedir que eles o transformassem em um Porsche, mas mantenha o Cadilac intacto. Eles poderiam converter seu Cadilac em um Porsche com muito esforço e despesa: afinal de contas, ambos têm motores semelhantes sob o capô. Da mesma forma, você poderia, teoricamente, converter uma instalação do Linux Mint em uma instalação do Ubuntu (não tente fazer isso, é um grande esforço), mas eles são dois produtos distintos. Ter um instalado no mesmo local que o outro não é significativo ou possível.

Matthew Scharley
fonte
0

Em poucas palavras: o que torna a identidade de uma distribuição Linux é composta por:

  • A configuração do kernel: yes: todas as distros são originárias do mesmo código fonte, mas entre o código fonte e o binário real em execução no computador, existe o processo de compilação, que envolve 'configurar', ou seja, fazer escolhas.

  • A escolha do software que cria a interface entre o hardware e o kernel, juntamente com sua configuração em tempo de compilação

  • A escolha do software que cria a interface que você, usuário, utilizará. É para lá que 99% do código de uma distribuição vai. Mais uma vez, tudo se resume a: qual software é escolhido e como é configurado e compilado.

Todas essas opções estão ocultas em uma distribuição, pois elas já foram feitas e 'empacotadas' para você. Dessa forma, uma distribuição Linux é construída na esperança de atender à maioria dos usuários. Mas o efeito colateral é que ele não é ajustado para suas necessidades.

Se você quiser aprender muitas coisas sobre como as distribuições Linux são criadas, sugiro que tente criar sua própria distribuição. O projeto 'Linux From Scratch' me ajudou muito.

Vincent Achard
fonte