Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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.
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 .
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.
Para se tornar o usuário da conta root, execute o sudo su
comando.
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.
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
.
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
.
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.
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.
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.
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.
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.
Depois de digitar Y e pressionar Enter, os pacotes serão atualizados.
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
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.
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 apache2
o , você verá que o pacote não está instalado na máquina virtual.
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.
Digite Y (sim) e pressione Enter para instalar Apache2
o . O gerenciador de pacotes mostrará uma barra de progresso para indicar o 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.
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.
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ê executesudo 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.
Siga a recomendação de executar sudo apt autoremove
novamente para remover os pacotes restantes.
Liste os pacotes instalados mais uma vez. Agora, você não deve ver nenhum pacote relacionado ao apache2 instalado.
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 é find
o . 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 apache2
o , deverá encontrar a instalação / etc/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.
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.
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.