Acho que consigo entender sua confusão porque as pessoas usam a palavra 'Linux' para se referir a várias coisas relacionadas. Uma descrição muito simplificada que é "correta o suficiente", mas não completamente correta em vários ou muitos detalhes técnicos:
-
'Linux' pode se referir ao kernel do Linux. O kernel do Linux é um programa de computador altamente técnico que é executado como um sistema operacional de computador. Quando um computador é ligado, o kernel do Linux é inicializado e aguarda que outros programas peçam que ele faça um trabalho, como conectar-se a uma rede ou ler um arquivo de um disco.
-
'Linux' pode se referir ao kernel Linux mais um conjunto de programas padrão para interagir com o kernel. O conjunto de programas predominantemente padrão geralmente vem do projeto GNU e replica ferramentas que eram (e são) comumente encontradas em computadores UNIX. Estes incluem grandes ferramentas como os editores de texto Vim e Emacs; conchas como Bash; e programas shell comuns como cd
, ls
, grep
etc.
-
O agrupamento de alguns programas com o kernel Linux é chamado de 'distribuição Linux' ou 'distro'. O Ubuntu 16.04, o Ubuntu 15.10, o Kbuntu 16.04, etc. são diferentes distribuições Linux e cada um empacota um conjunto diferente de programas com o Kernel do Linux. Provavelmente é útil pensar no Ubuntu como uma família de distribuições Linux. Fedora, Mint, Arch e Debian são exemplos de outras famílias de distribuições Linux (o Ubuntu é uma família dentro da família Debian).
Para uma primeira aproximação, qualquer programa Linux será executado em qualquer distribuição. Muitas vezes um programa em particular estará disponível como um executável binário usando o gerenciador de pacotes ( apt
para o Ubuntu e outros membros da família Debian). O gerenciador de pacotes descobre quais outros programas são necessários para executar o programa que está sendo baixado, quais dessas dependências já estão no computador e recupera quaisquer que não estejam.
Mesmo quando nenhum executável binário está disponível, o código-fonte geralmente é e o programa pode ser compilado pelo computador do usuário para criar um arquivo executável binário. A compilação a partir do código-fonte geralmente requer a abertura de um shell de comando e a execução de um script ou a execução de make
. Hoje em dia, isso não conta como fácil de usar e pode demorar um pouco. Por outro lado, compilar a partir de fontes torna um vasto número e diversidade de programas de computador disponíveis em uma grande variedade de computadores.
O Ubuntu e outras distribuições Linux não são tão fáceis de usar como o sistema operacional em um smartphone. No entanto, as formas básicas pelas quais uma pessoa pode controlar o Linux são aproximadamente as mesmas de 25 anos atrás e bastante semelhantes às maneiras pelas quais os sistemas Unix poderiam ser controlados há quarenta anos.
Assim, enquanto se leva um tempo relativamente longo para percorrer a confusão, quase tudo que eu aprendo sobre o Ubuntu e o Linux não se tornará obsoleto quando a próxima versão for lançada.