|
|
Linux: Administração
Início
1. Introdução
Aqui apresentam-se alguns dos comandos mais usuais na administração de sistemas Linux
e em especial da sua versão Ubuntu.
Início
2. Gestão de discos SATA
- Visualizar os discos
lsblk
para uma informação mais completa fazer:
lsblk -f
- Standby:
Quando um disco fica em 'standby' ele deixa de rodar e o consumo de energia diminui mas mantém-se ligado pronto para voltar a ser usado.
Para sair do estado de 'standby' basta montar uma partição ou aceder-lhe de alguma forma.
Para pôr um disco em 'standby' fazer (exemplo com '/dev/sdg'):
sudo hdparm -y /dev/sdg
Não é boa regra pôr em 'standby' e religá-los com muita frequência, pois, o ligar e desligar desgasta o disco.
Isto deve antes ser usado em discos de backup ou de dados com acesso pouco frequente.
Atenção: Antes de pôr o disco em 'standby' devem fechar-se todos os acessos ficheiros
nele contidos e desmontarem-se todas as suas partições, sob risco de corrupção de dados.
Nunca o fazer com o disco do sistema.
- Desligar profundo:
Nesta situação é quase como se se lhe tivesse sido cortada a energia. Devem ter-se as mesma medidas segurança que no caso do 'standby'
(exemplo com '/dev/sdg'):
sudo hdparm -Y /dev/sdg
- Testar estado do disco:
Para testar o estado em que está o disco, fazer (exemplo com '/dev/sdg'):
sudo hdparm -C /dev/sdg
Início
3. Ext4: Gestão do sistema de ficheiros
O sistema de ficheiro 'ext4' é atualmente a norma para gestão dos ficheiros numa partição.
Note-se que a execução destes comandos tem de ser feita em 'super user' pelo que se poderá
ter de acrescentar 'sudo' antes do comando.
Início
4. fstab: Ficheiro que contém as descrições sobre como montar os 'devices'
Ver HowTo: fstab.
Início
5. group: Como criar/apagar um grupo
Para criar um 'group' usar 'addgroup'
(para mais indicações fazer 'man addgroup' ou 'addgroup -help').
É facultativo dar o número do grupo, 'ID'. Caso não seja dado é atribuído automaticamente.
'--system' usa-se para criar um 'group' de sistema.
O comando genérico para criação dum grupo ('group') é:
$ addgroup [--system] [--gid ID] GROUP
- Para criar um 'group', fazer:
$ addgroup ola
- Para criar o 'group' 1725, fazer:
$ addgroup --gid 1725 ola
Para apagar um grupo fazer (para mais indicações fazer 'man delgroup'):
$ delgroup [options] [--only-if-empty] group
Início
6. Superuser: Privilégios de sistema
A atribuição de privilégios temporários a um utilizador pode ser feita usando
o comando 'sudo'. A implementação de Linux Ubuntu já o faz de raíz. No entanto,
outras implementações não o fazem.
- Para atribuir a possibilidade de obter privilégios é necessário fazer essa
atribuição no ficheiro '/etc/sudoers'. Tal basta executar o seguinte comando:
visudo
- Se quiser simplesmente executar um comando com privilégios basta fazer
na linha de comandos:
sudo comando_a_executar
- Para entrar numa sessão privilegiada pode usar-se a opção '-s' ou '-i'. Para sair fazer dela faz-se 'exit' na linha do terminal:
sudo -s
- Se ao tentar abrir uma janela em superuser (por exemplo, do emacs) se obtiver uma do tipo:
X11 connection rejected because of wrong authentication.
que se tem a fazer de mais simples é copiar para a "root" o ficheiro "~/.Xauthority":
sudo cp /Pasta_do_Utilizador/.Xauthority /root/
sudo chown root /root/.Xauthority
Início
7. systemctl: Controle os serviços do sistemas
'systemctl' é um comando que serve para controlar os serviços do sistemas.
- Listar todos os serviços
systemctl -a [ ou --all ]
- Listar as unidades conhecidas
systemctl list-unit-files
- Mostrar o estado dum serviço
systemctl status <serviço>(Exemplo: systemctl status apache2)
- Arrancar um serviço se ele não está a correr
systemctl start <serviço>(Exemplo: systemctl start apache2)
- Parar um serviço
systemctl stop <serviço>(Exemplo: systemctl stop apache2)
- Rearrancar um serviço
systemctl restart <serviço>(Exemplo: systemctl restart apache2)
para só o fazer no caso de ele já estar a correr
systemctl try-restart <serviço>(Exemplo: systemctl try-restart apache2)
- Apesar de não ser daqui é útil quando se arranca o 'apache2', pois, testa a sua configuração
apachectl configtest
Início
8. sysctl: Serve para controlar, em tempo real, parâmetros do kernel
Este comando serve para controlar, em tempo real, parâmetros do kernel.
A sua utilização, para alterar prâmetros, exige privilégios de 'superuser'.
Para saber os valores presentemente em uso, pode usar-se o comando:
$ sysctl -a
Parâmetros que se podem usar:
- vm.swappiness: Controla da "intensidade" da utilização
da memória virtual. Pode tomar valores inteiros no intervalo [0,100],
em que "0" é a sua não utilização, "1" é a sua utilização mínima e "100" é a sua
utilização mais intensa:
$ sysctl vm.swappiness=Valor
Para alterar permanentemente valores predefinidos deve fazer-se a sua inserção no no ficheiro "/etc/sysctl.conf".
É ainda possível actualizar os valores dos parâmetros controlados por
sysctl através do comando:
$ sysctl --load
Se se quer fazer a atualização, não só de "/etc/sysctl.conf" mas, de todos os ficheiros de
configuração do sistema, pode usar o comando:
$ sysctl --system
Listas dos parâmetros geridos por "sysctl":
Início
9. Administração de pacotes ".deb" no terminal
Para administrar os pacotes ".deb", pode usar-se o programa "dpkg"
(Debian Package Management System). Por sua vez ele pode ser utilizado pelo "apt-get"
ou pelo "aptitude" que por sua vez são utilizados através de aplicações GUI
como sejam o "synaptic" ou o "Centro de software do Ubuntu".
- Para instalar um pacote pelo nome:
$ sudo dpkg -i {package_name}
$ sudo apt-get install {package_name}
- Para instalar um pacote a partir de um ficheiro:
$ sudo dpkg -i DEB_PACKAGE $ sudo apt-get install /path/to/package.deb
- Para remover um pacote:
$ sudo dpkg -r PACKAGE_NAME
- Para reconfigurar um pacote:
$ sudo dpkg-reconfigure PACKAGE_NAME
- Para listar todos os pacotes:
$ sudo dpkg -l
Bibliografia
Início
10. Utilizadores: criar e apagar utilizadores
Existem em quase todas as implementações de Linux aplicações para a criação de utilizadores.
No entanto, por vezes, pode dar jeito utilizar os comandos básicos para a sua criação.
Nota: Caso a pasta do utilizador fique vazia, há necessidade de copiar para lá o conteúdo da pasta '/etc/skel'.
Início
11. Gestão da memória virtual (swap)
A memória virtual é uma extensão da memória física. Esse espaço adicional poderá ser uma partição específica (swap) ou um ficheiro.
Início
12. Organização e gestão das 'logfiles'
A pasta "/var/log" contém os diversos ficheiro que dão informação sobre o funcionamento do sistema.
- /var/log/syslog:
- /var/log/journal/: Registo diário
Para alterar em tempo real os parâmetros de execução usam-se os comandos abaixo, no entanto, eles não ficam registados.
Se se quer alterar a configuração de um modo permanentes deve alterar o seu ficheiro de configuração: "/etc/systemd/journald.conf".
Vejamos alguns exemplos:
- Pode limitar-se o tamanho com o comando (exemplo com a limitação de '100M'):
$ sudo journalctl --vacuum-size=100M
Para tornar a alteração permanente (/etc/systemd/journald.conf):
SystemMaxUse=100M
- Para apagar a história (exemplo em que se preservam os últimos 10 dias):
$ sudo journalctl --vacuum-time=10d
Para tornar a alteração permanente (/etc/systemd/journald.conf):
MaxRetentionSec=10d
Início
13. Instalação dos drives para 'NVidia'
No caso da NVidia deixar se funcionar devidamente, o mais simples
é reinstalar os pacotes (verificar qual o instalado, no exemplo, é o '570'):
sudo apt remove --purge nvidia-driver-570
sudo apt autoremove
sudo apt install nvidia-driver-570
depois reiniciar o computador e... esperar que tudo volte a ficar bem.
Início
14. Acesso a PCs remotos em redes de operadores de telecomunicações
Para aceder a computadores remotos ligados a operadores de telecomunicações em que não se tem acesso
a um IP remoto, podem usar-se diversas soluções (soluções proposta pelo Opera AI):
- Usar um serviço de VPN:
- Configura-se um servidor VPN num servidor com IP público (como uma VPS na nuvem);
- O computador remoto (sem IP público) conecta-se à VPN, criando um túnel seguro;
- O outro computador liga-se também à mesma VPN;
- Assim, ficam ambos na mesma rede virtual privada, permitindo assim conexão direta via IP privado da VPN.
- Uso de serviços de túnel reverso (Reverse SSH Tunnel):
- No computador remoto (sem IP público), inicie uma conexão SSH reversa para um servidor com IP público. Exemplo:
ssh -R 2222:localhost:22 utilizador@servidor_publico
Isso cria um túnel no servidor público na porta 2222 que redireciona para o SSH do computador remoto.
- Depois, liga-se ao servidor público através da porta 2222 para aceder ao computador remoto:
ssh -p 2222 utilizador@localhost
No caso de haver problemas nos acesso, verificar:
- No ficheiro "/etc/ssh/sshd_config" pôr activa a opção "GatewayPorts yes" e reiniciar o serviço:
sudo systemctl restart sshd
- Verificar a firewall do computador com IP fixo:
sudo ufw allow 2222/tcp
sudo ufw reload
Usar IPv6:
Se o operador e o computador suportarem IPv6 com IP público, pode ser possível conectar-se diretamente via IPv6.
Para tal, Verificar se o IP IPv6 é acessível externamente.
- No computador remoto, executar:
ip -6 addr show
e Procurar endereços IPv6 global (nota: os endereços locais começam por fe80::).
- Testes possíveis para saber se o ipv6 é visível do exterior:
test-ipv6.com
ping6 endereco_ipv6
www.yougetsignal.com/pt6
port.tools/port-checker-ipv6/
Nota: o teste de 'ping6' pode eventualmente falhar devido ao ping não estar acessível..
- Para acerder ao computador sem IP fixo fazer:
ssh user@'ipv6_addr' -X
Início
15. Links úteis
Início
|
|