Compartilhar via


Parte 1.2 - Operações básicas no Linux

Aplica-se a: .NET no Linux

Objetivo desta parte

Esta parte do treinamento se concentra em diretórios especiais do Linux, como executar comandos como um superusuário (root) e como instalar e desinstalar aplicativos usando gerenciadores de pacotes.

O uso de gerenciadores de pacotes para instalar e remover pacotes requer privilégios de root. Portanto, você deve primeiro entender como executar comandos como um superusuário.

Diretórios especiais do Linux

Para este treinamento, não é necessário se aprofundar em como gerenciar o Linux. No entanto, um resumo de alguns dos diretórios especiais seria útil porque você os usará no restante do treinamento.

Diretório Descrição
/ Diretório raiz (pasta de nível superior).
bin/ Contém binários de usuário, arquivos executáveis.
/sbin Contém binários de usuário, arquivos executáveis.
/etc Contém os arquivos de configuração para o sistema e os aplicativos locais. Por exemplo, você criará alguns arquivos de configuração no diretório /etc/system para permitir que o aplicativo ASP.NET Core seja iniciado automaticamente pelo sistema.
/home Contém o diretório inicial de cada usuário. Por exemplo, /home/<username>.
/tmp Diretório temporário para armazenar arquivos temporários criados pelo sistema e aplicativos.
/Usr Armazena arquivos compartilháveis, incluindo executáveis, bibliotecas e documentos. Por exemplo, o runtime e os SDKs do .NET são instalados no diretório /usr/share/dotnet/ .
/var Armazena arquivos de dados variáveis. Por exemplo, o Apache armazena o conteúdo do site raiz no diretório /var/www/html e os arquivos de log no diretório /var/log/apache2/ . Embora não seja necessário, você publicará seus aplicativos Web neste diretório.

Observação

O Linux diferencia maiúsculas de minúsculas. Portanto, /home e /Home são diretórios diferentes, e filename e Filename são arquivos diferentes.

Ao se conectar pela primeira vez à sua máquina virtual Linux, você começará no diretório raiz. Este diretório será /home/<username>.

O atalho do diretório raiz é ~ (til). Você pode usar o cd ~ comando a qualquer momento para retornar ao diretório inicial.

Revise e tente os seguintes comandos (mostrados na captura de tela a seguir):

  • pwd (imprimir diretório de trabalho): Imprime o diretório atual e o diretório /etc/systemd .
  • echo: Imprime o valor do diretório ~ (raiz).
  • cd ~: Retorna você ao diretório raiz.

Captura de tela do comando de senha.

Este exemplo não inclui a listagem do conteúdo do diretório. No entanto, uma etapa posterior deste treinamento aborda o trabalho com arquivos e pastas. Algumas dessas tarefas exigirão permissões de superusuário. A próxima seção explica como se elevar ao status de superusuário.

Executar comandos como um superusuário

O superusuário é a conta de usuário mais privilegiada. Ele tem acesso root (irrestrito) a todos os arquivos e pastas e controle total sobre a operação do computador. O administrador do sistema usa essa conta para manutenção do sistema.

Em sistemas do tipo UNIX, o nome convencional do superusuário é "root". O usuário raiz pode realizar tarefas que são restritas para usuários padrão, incluindo as seguintes:

  • Alterando diretórios do sistema
  • Alterando privilégios de usuário
  • Alterando a propriedade do arquivo
  • Tarefas relacionadas ao sistema, como reinicializações
  • Instalação de determinados aplicativos

Existem várias maneiras de executar comandos como usuário da conta raiz. Uma delas é usar o sudo su comando. Neste comando, sudo é a abreviação de superuser do, e su é uma abreviação de "switch user". Você também pode usar o su comando para alternar entre usuários padrão.

Importante

Depois de se tornar o usuário da conta raiz, tudo o que você faz é executado no contexto raiz. Portanto, você deve agir com cuidado, pois a conta root tem acesso a todo o sistema.

Para demonstrar um problema de permissões, crie um arquivo de texto em uma pasta especial chamada /etc.

A pasta /etc/ é onde os arquivos de configuração do sistema estão localizados. Esta pasta protege seu conteúdo de ser alterado por um usuário padrão.

Execute o comando a seguir:

echo hello world > /etc/helloworld.txt

O echo comando grava todo o texto que o segue na saída. O colchete angular (>) informa ao sistema para enviar a saída para o arquivo /etc/helloworld.txt em vez do console. Esse comportamento é semelhante ao funcionamento do Windows.

Observação

O Linux diferencia maiúsculas de minúsculas: Helloworld.txt, helloworld.txt e helloworld. Txt são arquivos diferentes.

Você não precisa fornecer uma extensão de nome de arquivo. O nome "helloworld" por si só é perfeitamente válido. (A extensão "txt" é usada aqui apenas como exemplo.)

Ao executar esse comando, você recebe uma mensagem de erro de permissão negada .

Captura de tela da mensagem de permissão negada.

A operação falha porque a pasta /etc é uma pasta especial que um usuário padrão não pode alterar. Verifique o usuário executando o id comando.

Captura de tela do comando ID.

Para se tornar o usuário da conta root, execute o sudo su comando.

Captura de tela do comando sudo su.

Você deve notar duas coisas: Quando você se torna raiz, o caractere de cifrão ($) se torna um caractere de sinal de libra (#). Além disso, o nome de usuário é alterado para root. Se você executar o mesmo id comando novamente, verá que o ID do usuário e do grupo raiz são 0.

Captura de tela do comando root.

Importante

Agora que você se elevou ao papel de "superusuário" em sua sessão, você tem acesso completo ao sistema. Lembre-se de que esta é uma situação potencialmente perigosa e você deve ter cuidado ao continuar.

Agora, execute o mesmo comando mais uma vez:

echo hello world > /etc/helloworld.txt

Desta vez, você não recebe nenhuma mensagem de erro. Para verificar se o arquivo foi criado, execute o seguinte comando:

ll /etc/hello*

O ll comando lista os arquivos e subpastas que estão em uma pasta especificada. Neste exemplo, o valor do /etc/hello* parâmetro limita a saída do comando aos arquivos ou pastas cujo nome começa em hello.

Captura de tela do comando hello.

A saída mostra que o arquivo foi criado. E se quisermos examinar o conteúdo do arquivo? O cat comando ajuda aqui. Para ver o conteúdo, execute cat /etc/helloworld.txt.

Captura de tela do comando cat.

O cat comando lê os arquivos sequencialmente e grava seu conteúdo na saída padrão. Portanto, ele escreve "hello world" no console.

Para evitar erros que possam danificar o sistema enquanto você é elevado ao status de root, é uma boa prática sair da sessão root e retornar à sua sessão de usuário padrão para evitar algumas operações perigosas. Para fazer isso, execute exit. Você pode ver que o sinal de libra é revertido para um cifrão e o nome de usuário é exibido como seu usuário padrão.

Captura de tela do comando de saída.

Para prática adicional, execute os mesmos ll comandos e cat dentro do contexto de usuário padrão. Você verá que não pode criar o arquivo na pasta /etc/ , mas pode listar o arquivo e ler o conteúdo.

Execute comandos usando o prefixo "sudo"

Em vez de se tornar o usuário da conta root em sua sessão, você pode executar comandos como root usando o sudo <command> formato. Essa abordagem é mais segura porque executará o comando fornecido apenas como um superusuário.

Por exemplo, se você executar restart enquanto não estiver elevado ao status de superusuário, o resultado será o seguinte.

Captura de tela do comando de reinicialização.

Para executar esse comando como um superusuário, você pode alterar o contexto da sessão para root (executando sudo su) ou adicionar o prefixo sudo , da seguinte maneira:

sudo reboot

Agora, a operação de reinicialização é executada conforme o esperado pela máquina virtual.

Captura de tela do comando de reinicialização.

Gerenciadores de pacotes

Os gerenciadores de pacotes são usados para instalar, atualizar e remover aplicativos no Linux. Existem vários gerenciadores de pacotes diferentes, como DPKG (Debian Package Management System), RPM (Red Hat Package Manager) e Zypper para SUSE Os próprios gerenciadores de pacotes são de baixo nível. Portanto, pode ser difícil gerenciar o software diretamente usando o gerenciador de pacotes. Felizmente, existem wrappers para essas ferramentas que facilitam a instalação e desinstalação de software. Por exemplo, yum é um wrapper em torno do RPM (Red Hat Package Manager) e o APT é um wrapper em torno do DPKG (Debian Package Management System).

Este tutorial pressupõe que você esteja executando o sistema de gerenciamento de pacotes do Ubuntu. Este sistema é derivado do mesmo sistema que é usado pela distribuição Debian GNU/Linux. Portanto, podemos usar o APT para instalar o software.

Dependendo da sua escolha de Linux, talvez seja necessário usar outras ferramentas. Por exemplo, você pode usar o yum para instalar ou desinstalar software se estiver executando o Red Hat.

Atualizar o banco de dados do gerenciador de pacotes

O APT funciona em um banco de dados de pacotes disponíveis. Recomendamos que você atualize os gerenciadores de pacotes e, em seguida, atualize os pacotes após uma nova instalação.

Para atualizar o banco de dados de pacotes no Ubuntu, execute sudo apt update. Observe que o prefixo é inserido sudo antes do apt comando. Ao fazer isso, você executa o apt comando como um usuário root sem realmente alterar o contexto da sessão para o do usuário root.

Captura de tela do comando sudo apt update.

O comando update não atualiza nenhum dos pacotes de software instalados. Em vez disso, ele atualiza o banco de dados de pacotes. A atualização real é feita pelo sudo apt upgrade comando.

Captura de tela do comando sudo apt upgrade.

Depois de digitar Y e pressionar Enter, os pacotes serão atualizados.

Captura de tela do progresso atualizado dos pacotes.

Pesquisar pacotes usando gerenciadores de pacotes

O exemplo a seguir de como usar gerenciadores de pacotes para procurar pacotes demonstra a instalação e a desinstalação do servidor web Apache 2.

Comece pesquisando em "servidor web apache" usando o apt search comando. O APT faz uma pesquisa de texto completo e exibe os resultados. Você instalará o Apache HTTP Server usando o nome do pacote .apache2

Screenshot do comando apt search.

Observação

O uso do comando. O sudo prefixo não é adicionado porque você não precisa ser um usuário raiz para pesquisar pacotes.

Em vez de fazer um APT search, você pode pesquisar em um navegador da Web sobre "como instalar o Apache no Ubuntu" para encontrar o nome do pacote e o comando APT. Para este exemplo, você deve encontrar este documento oficial do Ubuntu que explica claramente como instalar Apache 2 no Ubuntu.

Mostrar os detalhes do pacote

Para verificar se você tem o pacote correto, execute apt show para ver os detalhes do pacote, conforme mostrado na captura de tela a seguir. Novamente, observe que o prefixo sudo não é necessário aqui.

Captura de tela do comando apt show.

Liste os pacotes instalados e use o grep para filtrar a lista

Depois de determinar que o pacote encontrado é o que você deseja, verifique se ele ainda não está instalado no servidor de destino.

Para fazer isso, use o apt list --installed comando para listar os aplicativos instalados na máquina virtual. Você também pode adicionar o comando grep para filtrar os resultados para mostrar apenas os aplicativos que contêm apache2.

Observação

O grep comando pesquisa um determinado termo em um arquivo. É uma ferramenta muito poderosa porque fornece várias opções, como pesquisar usando regex ou uma string, inverter os resultados da pesquisa, ignorar a diferenciação de maiúsculas e minúsculas, pesquisar usando vários termos de pesquisa e suporte a pesquisa recursiva.

Ao executar apt list --installed | grep apache2o , você verá que o pacote não está instalado na máquina virtual.

Screenshot do comando apt list.

Instalar o pacote

Agora que você determinou que encontrou o pacote desejado e que ele ainda não está instalado, você pode prosseguir com a instalação. Execute o comando a seguir:

sudo apt install apache2

Observação

Desta vez, prefixamos o comando usando sudo porque esse comando altera o sistema. Portanto, deve ser a conta root para ser executada corretamente. O gerenciador de pacotes é gentil o suficiente para perguntar se você realmente deseja realmente instalar o aplicativo.

Captura de tela do comando sudo.

Digite Y (sim) e pressione Enter para instalar Apache2o . O gerenciador de pacotes mostrará uma barra de progresso para indicar o status da instalação.

Captura de tela do status da instalação.

Se você executar o mesmo apt list --installed | grep apache2 comando novamente, verá que o pacote Apache 2 foi instalado junto com alguns outros pacotes relacionados ao apache2 que são instalados automaticamente.

Captura de tela do comando apt list grep.

Embora você tenha instalado o Apache 2, você realmente precisa usar o Nginx. Portanto, você não precisa mais do Apache e pode remover esse pacote da máquina virtual.

Remover pacotes

A instalação de um pacote (neste caso, o Apache 2) é reversível. Você pode remover o pacote se determinar que não precisa dele. Você tem duas opções de comando para remover pacotes:

  • apt remove: Este comando remove os binários, mas não o arquivo de configuração. É útil se você pretende reinstalar o pacote e deseja manter a mesma configuração.

  • apt purge: Este comando remove os binários e o arquivo de configuração.

Remova o pacote usando apt remove como usuário root para ver o resultado. Para fazer isso, execute sudo apt remove apache2. Quando for solicitado que você confirme a remoção, digite Y e pressione Enter.

Captura de tela do comando sudo apt remove apache2.

A saída do comando informa as seguintes informações:

  • O APT detectou que existem pacotes que foram instalados automaticamente e não serão mais necessários.
  • O APT removeu apenas o apache2 pacote, e recomenda que você execute sudo apt autoremove para remover os pacotes associados.

Liste os pacotes instalados novamente. Você vê que o apache2 pacote foi removido, mas que os pacotes instalados automaticamente que foram fornecidos com ele permanecem instalados.

Captura de tela dos pacotes instalados.

Siga a recomendação de executar sudo apt autoremove novamente para remover os pacotes restantes.

Captura de tela do comando sudo apt autoremove.

Liste os pacotes instalados mais uma vez. Agora, você não deve ver nenhum pacote relacionado ao apache2 instalado.

Captura de tela de nenhum pacote relacionado ao apache2.

Este procedimento não foi concluído. Lembre-se de que a diferença entre apt remove e apt purge é se o arquivo de configuração foi removido. Neste exercício, você não o removeu. Então, onde está?

Localizar o arquivo não envolve gerenciadores de pacotes. Em vez disso, você executará uma pesquisa padrão de arquivos no Linux. Existem várias maneiras de fazer isso. Um dos comandos de pesquisa mais comuns é findo . No entanto, esse comando também é confuso de usar, portanto, não o discutiremos aqui. Em vez disso, usaremos whereis.

Observação

O Linux está muito bem documentado. Quase todos os comandos têm uma página de ajuda útil disponível. Use os comandos man e info para mostrar as páginas de Ajuda no Linux. Por exemplo, para saber mais sobre o find comando, execute man find ou info find.

De acordo com a página de Ajuda do whereis, a definição é a seguinte:

whereis Localiza os arquivos binários, de origem e manuais para os nomes de comando especificados.

Se você executar whereis apache2o , deverá encontrar a instalação / etc/apache2 .

Captura de tela do comando whereis apache2.

Lembre-se de que o diretório /etc/ é onde os arquivos de configuração do sistema estão localizados. Para saber se "apache2"é um arquivo ou pasta, execute ll /etc/apache2. Como você pode ver, esta é uma pasta e contém os arquivos de configuração do apache2.

Captura de tela do comando ll etc apache2.

Você espera apache2 conter esses arquivos e pastas porque usou o apt remove comando que não exclui os arquivos de configuração.

Como etapa final, execute o apt purge comando para ver seu efeito. Você pode executar uma limpeza para limpar a pasta de instalação mesmo depois de remover o pacote. A captura de tela a seguir mostra que whereis não encontrei nada. Isso ocorre porque o purge comando removeu os arquivos de configuração junto com os binários.

Captura de tela do comando apt purge.

Próximas etapas

Parte 1.3 - Instalar o .NET no Linux

Aviso de isenção de responsabilidade para informações de terceiros

Os produtos de terceiros mencionados neste artigo são produzidos por empresas independentes da Microsoft. A Microsoft não oferece nenhuma garantia, implícita ou não, do desempenho ou da confiabilidade desses produtos.