Agora chegou o momento da nossa primeira aula do curso de “Administração de Sistemas Linux“, neste primeiro momento você vai entender algumas nomenclaturas, elas devem seguir você em toda a jornada e é bom você ficar por dentro de cada uma delas e também as suas razões.
Conceitos iniciais sobre o Linux
O Linux Kernel surgiu em outubro de 1991, e foi criado pelo Linus Torvalds na universidade de Helsink-Finlandia a ideia dele era criar um sistema semelhante ao MINIX, que existe até hoje, a ideia era que o Linux rodasse na arquitetura Intel 80386(IBM-PC).
O que é Linux?
Quando falamos de Linux, estamos falando somente do Kernel, ou o Linux Kernel, mas será que é correto chamar as distribuições somente de Linux? A resposta é, não! Linux é tão somente o Kernel, o núcleo do sistema, é como o nosso cérebro, parece muito maluco mas vou explicar como essa comparação funciona.
O nosso cérebro assim como o Kernel precisa de instruções, e para isso precisamos inserir essas informações, no caso do cérebro temos que estudar e no Kernel um desenvolvedor deve inserir os códigos, que são as instruções, a equipe do Linux Kernel é ainda guiada pelo Linus Torvalds, e claro, existem milhares de desenvolvedores e uma hierarquia entre eles.
E dentro do nosso famoso Linux Kernel há uma salada de linguagens, mas, as mais famosas são C e Assembly e algumas outras linguagens menos populares. Agora você já sabe o que é o Linux Kernel e para que serve.
Inclusive temos alguns artigos sobre o Linux:
- Motivos para usar o Linux
- Distribuição Linux para iniciantes! Saiba por onde começar!
- Distribuições Linux para PCs de 32 bits
- As 13 melhores distribuições Linux para PCs antigos!
O que é GNU?
E o GNU? O que é? Primeiro é importante dizer que o GNU significa GNU is Not UNIX (GNU Não é UNIX). O GNU surgiu em 1984 através de Richard Stallman tão conhecido no nosso mundo, a ideia inicial era criar um sistema que fosse compatível com o UNIX, mas sem conter nenhum código proprietário. E aí o tempo passou o GNU foi amadurecendo, ganhou editores de texto, compiladores, tudo para que o GNU funcionasse nos conformes, mas faltava uma coisa, o Kernel.
E foi aí que tudo começou a melhorar, o Richard e sua equipe começaram a desenvolver um novo Kernel que existe até hoje e é chamado de Hurd, mas, o tempo era curto diante de tantas ideias e a possibilidade do sistema se tornar algo grandioso, sendo assim resolveram usar o Linux Kernel ao invés do Hurd.
Inclusive, fizemos um vídeo dublado de uma palestra do Richard Stallman, você pode assistir logo abaixo antes de continuar a leitura, ele é curto e bem objetivo!
E o que é GNU/Linux?
É justamente a junção entre o Linux Kernel e o GNU, ou seja, é a inclusão do Linux Kernel e outros softwares que chamamos de aplicações, com essa junção é formada a nomenclatura das distribuições GNU/Linux, que geralmente é chamada apenas de distribuições Linux ou apenas distros.
O que é GNU/Hurd e GNU/Linux-libre
Sei que este curso abrange somente o GNU/Linux, mas não custa nada explicar mais um detalhe. O GNU/Hurd é justamente o uso das aplicações seguido pelo Kernel da Free Software Foundation, o Hurd, assim formando essa nomenclatura pouco conhecida, mas que vem ganhando novos admiradores a cada ano, no site da FSF há uma lista das distribuições homologadas por ela e todas com o Kernel Hurd.
Já o GNU/Linux-libre é o famoso e popular Linux Kernel, mas sem códigos privados. Todos os nomes do GNU/** foram criados para facilitar a identificação do código ali contido, e são usados até hoje pelo Richard, por desenvolvedores, por mim e por milhares de pessoas ao redor do mundo.
E o que é GPL?
Quando falamos sobre software livre, não podemos esquecer da licença GPL – General Public License ou “carinhosamente” GPL, essa licença surgiu em 1989 e claro, foi criada pelo nosso amigo Richard Stallman. Com a GPL as famosas quatro liberdades são garantidas, um detalhe, não existe meio software livre, se o código não atender as 4 liberdades, ele é outra coisa menos software livre.
Veja a lista das quatro liberdades:
- Você pode executar o programa para qualquer finalidade.
- Você pode estudar como o programa funciona, e pode modificar de acordo com as suas necessidades, então, o acesso ao código fonte é essencial.
- Você pode distribuir cópias para todo mundo.
- Você pode melhorar o código existente e também distribuir essas melhorias a quem desejar, e é claro, essas melhorias devem ser GPL e ter o código fonte.
E aí vem aquelas dúvidas que todo mundo tem sobre software livre! Vamos lá!
O Software livre deve ser sempre gratuito?
Não, o código deve ser livre, seguindo as quatro liberdades, você pode até mesmo vender, mas não pode impedir ninguém de pegar o código fonte e fazer o que as 4 liberdades permitem. Pagando pelo software livre ou doando aos projetos, você ajuda os desenvolvedores a se dedicarem mais ao projeto e assim mantê-lo vivo e sempre atualizado.
Sou obrigado a usar Software livre?
Ninguém é obrigado a nada, o Software livre é ideal para quem quer proteger seus dados, e não esconder. Além de ter uma imensa chance deste mesmo software ser melhorado sem ter que pedir tantas autorizações burocráticas, seria bom se você usasse somente software livre quando possível.
Usei um drive com o código livre e esse drive é uma #$%$%%!
Verdade, a maioria das empresas que fabricam hardware lançam seus drivers privativos, e demora muito tempo até que a engenharia reversa seja feita, afim de descobrir como ele funciona, em razão disso o hardware pode funcionar parcialmente e demorar muito tempo para que se torne completo.
Além disso, há também o hardware livre, não que ele seja gratuito, mas que o seu projeto esteja disponível para quem quiser aproveitar as liberdades que são semelhantes as do software, inclusive fizemos um artigo tratando de como fazer projetos de hardware livre.
E o que é SHELL?
O SHELL é o interpretador de linha de comando, são constantemente usados pelo administrador de sistemas, ele funciona como uma interface entre o usuário e o Kernel, este Kernel pode ser qualquer um dos que citamos acima.
O nome SHELL em português seria algo como casca, e assim como o prompt do DOS os tantos Shells do Linux usam caracteres, é possível mudar o Shell a qualquer momento, inclusive fizemos um artigo sobre 3 maneiras de alterar o Shell padrão de um usuário no GNU/Linux.
Veja um pequeno exemplo abaixo de identificação sobre quem esta logado no sistema:
Entendendo o que é exibido no Terminal Linux
Como fazer a leitura do Terminal disso?”
- emanuel -> É o nome do usuário que logou no sistema.
- @ – > É um símbolo que apenas separa o nome do usuário logado com o nome da máquina.
- negromonte -> É o nome da máquina.
- : -> É outro símbolo que separa o nome da máquina do diretório atual.
- ~ -> Isso representa que estamos no diretório home.
- $ -> Isso diz que você esta em um shell de um usuário comum.
- # -> Isso diz que você esta em um shell como usuário ROOT, isso mesmo, você tem acesso total para fazer qualquer coisa em seu sistema.
E como eu sei quais os SHELL’s que estão disponíveis no meu sistema?
Existem vários tipos de SHELL para saber quais estão disponíveis você pode executar o comando abaixo para visualizar todos:
cat /etc/shells