Quando
estamos trabalhando remotamente com Linux, e isto é o que acontece em quase 100%
dos casos, se sua conexão cair você vai perder sua sessão SSH e claro todo o
trabalho que estava sendo executado.
Vamos
falar aqui de dois programas o Screen e o TMux.
Screen
Para
instalar o Screen é muito simples basta usar o comando sudo apt-get install screen
(estou usando o Ubuntu) mas ele roda em qualquer Linux.
Uma
observação aqui é que o Screen não é mais instalado no RedHat 8, veja a explicação
neste link.
O
padrão de uso do screen é criar uma nova janela do shell e ai sim você executar
os seus programas e se quiser enviar esta janela para executar em background o
que é chamado de detach, use Ctrl + A e depois tecle D.
Se
você quiser ver novamente o que está acontecendo é só atachar novamente usando
o comando screen -r <número da sessão>.
Se
quiser listar as sessões use screen -ls para listar as sessões.
Se
quiser terminar a sessão do screen basta teclar exit ou usar Ctrl + A
e em
seguida K.
Uma
dica: Se quiser nomear a sessão scrren ao criar a sessão use o comando screen
-S <nome da sessão>
TMux
Instalar
o tmux basta usar o comando apt-get install tmux e pronto.
Para usar o tmux basta
exectuar o tmux no shell e a sessão tmux vai aparecer. No tmux você tem uma
sinalização que está em uma sessão tmux o que não acontece no screen veja que
aparece uma barra logo abaixo onde o zero é o nome da sessão.
Para fazer sair do TMux usa Ctrl
+B e então X a barra de status troca de cor e vc tem de confirmar e ai você sai
da sessão, mas veja não foi um detach você matou a sessão mesmo.
Criar
uma sessão com nome use o comando tmux new -s ping-1 e este nome vai ser
mostrado na barra de status. Se quiser desatachar use Ctrl+B e em seguida D.
Conectar
na sessão o comando é um pouco maior do que o scrren você usa tmux new -s
ping-1 (ping-1 é o nome da sessão que foi criada anteriormente).
Para uso básico o tmux e o screen se comportam praticamente da mesma forma a diferença começa quando queremos dividir a tela em painéis, o screen costuma se perder quando faz o reattach. No mais os dois resolvem bem o problema de perder conexão e você passar raiva com isso.
Administrar o linux não é tão complicado como pode parecer. Não temos uma interface tipo painel de avião para configurar tudo que precisadmos Mas para ajudar vou falar aqui sobre dois softwares que podem ajudar muito.
O primeiro deles é o webmin.Já usei muito o webmin para configurar serviços em servidores Linux. O webmin é opensource e tem muitos anos de atividade.
Como por exemplo se você precisar configurar um servidor DNS na sua rede usando o BIND o Wemin é uma mão na roda.
Tem uma lista muito grande de módulos para fazer muitos tipos de configuração. Ele já foi muito criticado por conter vulnerabilidades mas que sistema que não tem.
O que eu sempre fiz foi usar o webmin e depois o desativava quando terminava minhas configurações.
Uma ferramenta mais recente é o cockpit. É também um projeto open source e que é patrocinado pela Red Hat.
Você pode instalar o cockpit em várias distribuições Linux, mas por enquanto ele tem poucos módulos que estão aumentando a medida que mais e mais pessoas vão usando e os desenvolvedores se interessando em criar novos módulos.
O
Linux é um sistema operacional gratuito, de código aberto e executado em todas
as principais plataformas de hardware.
O Linux foi criado para ser um sistema operacional semelhante ao Unix, livre de código proprietário.
Linux é o sistema operacional mais popular para servidores e supercomputadores.
É
também o sistema operacional mais popular para smartphones e tablets Android.
O
Linux existe desde 1991, quando Linus Torvalds o lançou como um projeto de
software livre.
Temos várias distribuições Linux gratuitas como o CentOS, Rocky Linux, Fedora o Ubuntu e outras pagas como o RedHat Linux e o Suse
Nas empresas,
Linux e o Windows
são os principais concorrentes, quando se fala em sistema
operacional,
O Linux vem crescendo muito e tomando o espaço antes dominado por servidores windows.
Posso dizer que é muito importante para o professional
de TI aprendar a usar o Linux e entre elas vou falar que provavelmente o
sistema operacional que vai hospedar o seu próximo aplicativo vai ser um
servidor linux
A computação em nuvem é cada vez mais presente e as
instâncias da maioria dos serviços da nuvem tem como sistema operacional o
linux
Podemos falar que o Linux é o sistema operacional da nuvem.
Linha de Comando
A
linha de comando, também chamada de terminal ou shell, é uma interface que
permite executar comandos, visualizar o conteúdo de arquivos e manipular o sistema operacional.
A linha de comando é baseada em texto e permite que você digite vários comandos ao mesmo tempo e é dai que eu acho que muita gente acha difícil começar a usar o Linux.
A
linha de comando do Linux é fornecida por um programa chamado shell.
O
shell padrão para usuários do Red Hat Enterprise Linux é o GNU Bourne-Again Shell (bash). O Bash é uma versão aprimorada de um dos mais
bem-sucedidos shells usados nos sistemas UNIX e similares, o bash (sh).
Quando
um shell é usado de modo interativo, ele mostra uma string enquanto aguarda um
comando do usuário. Isso é chamado de prompt
do shell.
Quando um usuário normal inicia um shell, o prompt padrão termina com um caractere $.
Os
comandos inseridos no prompt do shell têm três partes básicas:
Comando a executar
Opções para ajustar o comportamento do comando
Argumentos, que são normalmente alvos do comando
O comando é o nome do programa
a ser executado.
Ele pode ser seguido de uma ou mais opções,
que ajustam o comportamento do comando ou o que ele vai fazer.
As opções
geralmente começam com um ou dois traços (-a ou --all, por exemplo) para distingui-las dos
argumentos.
Os comandos também podem ser seguidos por um ou mais argumentos, que com
frequência indicam um alvo no qual o comando deverá operar.
Por exemplo o comando ls lista os arquivos no
diretorio atual ou caminho (path), a nomeclatura que usam normalmente no
windows é pasta.
Por exemplo o comando ls. Ele lista os arquivos que não são escondidos, para listar os arquivos escondidos usamos ls -a e para mostrar na forma de lista extendida usamos ls -la ou seja combinamos varias opções e para “jogar” o resultado em um aquivo podemos usar ls -la > nomearquivo.txt.
Conectando ao Linux
Os usuários e administradores
do Linux normalmente tem acesso ao shell
só de forma remota , conectando-se a ele pela rede
só em condições
muito específicas precisamos ir diretamente na máquina e hoje em dia provavelmente
a máquina vai estar muito longe de você.
Em um ambiente de computação
moderno, muitos servidores sem periféricos são, na verdade, máquinas virtuais
ou estão sendo executados como instâncias de nuvem pública ou privada.
Esses sistemas não são físicos
e não têm consoles de hardware reais.
Eles podem nem mesmo fornecer acesso a seu
console físico (simulado) ou console serial.
No Linux, a maneira mais comum
de obter um prompt do shell em um sistema remoto é usar o Secure Shell (SSH). A
maioria dos sistemas Linux e macOS já tem o programa de linha de comando OpenSSH ssh
para fazermos esta conexão.
Ferramentas de Conexão
Vamos falar agora de umas
ferramentas para tornar sua experiência melhor ao se conectar a servidores
linux remotamente.
Todo mundo sabe que usar
linha de comando é mais difícil e que a interface gráfica veio para tornar o
uso dos computadores bem mais fácil mas também não quer dizer que você não deve
aprender usar linha de comando.
O puttyé um programa open source muito popular que implementa um cliente ssh para o windows. Instalar é muito simples, basta fazer o download, clicar no instalador, fazer a conexão e usar
O MobaXterm é o meu
preferido, quando eu uso um desktop windows.
O Moba tem uma versão paga e
uma versão free.
A versão free sempre foi
suficiente para fazer todas as minhas tarefas.
O MobaXtermtem muitas funcionalidades em um único programa, como edição de arquivos, copia de arquivos e outras ferramentas que facilitam muito o trabalho remoto. Tem também versão portátil que não precisa instalar, o Moba é muito bom mesmo.
Tenho de falar deste aqui também do WinSCP pois me foi muito útil até eu conheçer o MobaXterm.
Ele facilita muito a vida
quando precisamos copiar e editar arquivos.
Ele não é um programa de terminal mas o seu uso
é mais para copiar mesmo.