NAVEGAR: Tópico 101 | Tópico 102 | Tópico 103 | Tópico 104 | Tópico 101 | Tópico 106 | Tópico 107 | Tópico 108 | Tópico 109 | Tópico 110
Meu objetivo é expor todos os comandos utilizados na Certificação LPIC-1, promovida pela Linux Professional Institute.
Driver (Windows) = Módulo(Linux)
LSPCI
lspci = Todos os dispositivos conectados às portas PCI.
lspci -v = Ver os detalhes dos dispositivos
lspci -s [IDENTIFICADOR] -v = Detalhes de um dispositivo indicado
LSUSB
lsusb = Todos os dispositivos conectados USB
lsusb -v = Ver os detalhes dos dispositivos
lsusb -d [BUS.DEVICE] -v = Detalhes do dispositivo conectado à porta USB indicada
LSMOD
lsmod = Exibir todos os módulos
lsmod | grep -i [NOME] = Buscar nome de um módulo na lista
MODPROBE
modprobe [NOME] = Carregar um módulo
modprobe -r [NOME] = Descarregar um módulo
MODINFO
modinfo [NOME] = Ver todos os detalhes de um módulo específico
- Diretórios Raiz:
/sys
/proc
- Arquivos Principais:
/proc/cpuinfo - Informações do Processador
/proc/meminfo - Informações da Memória RAM
/proc/ioports - Portas I/O em uso
/proc/partitions - Lista de partições
/proc/uptime - Tempo que o computador está ligado
/proc/version - Versão do Linux utilizado
- Comandos para filtar informações:
cat - Exibe todo o arquivo
cat | grep [termo buscado ente aspas simples] - Buscar um termo (ex: modelname)
- BIOS | Basic Input Output System
- Mais antigo
- Primeiros 440 bytes do primeiro dispositivo de armazenamento contenham o estágio inicial do carregador de boot, chamado MBR (Master Boot Record)
PASSO-A-PASSO
1. POST: Identifica erros básicos de hardware
2. BIOS ativa monitor, teclado e dispositivos de armazenamento
3. BIOS carrega o primeiro estágio do bootloader a partir do MBR
4. O primeiro estágio chama o segundo estágio, que apresenta as opções de boot(GRUB) e carrega o Kernel
- UEFI | Unified Extensible Firmware Interface
- Mais moderno que a BIOS
- Lê tabela de partições
- Ignora o MBR e leva em consideração as definições armazenadas na NVRAM
- Indicam a localização dos aplicativos EFI, que são os carregadores de boot ou ferramentas de diagnóstico.
- Sistemas de arquivos compatíveis:
- FAT12
- FAT16
- FAT32
- ISO-9660 (Mídias Ópticas)
PASSO-A-PASSO
1. POST: Identifica erros básicos de hardware
2. BIOS ativa monitor, teclado e dispositivos de armazenamento
3. BIOS lê o que está na NVRAM, localiza arquivos de partição ESP e executa o aplicativo EFI
4. O primeiro estágio chama o segundo estágio, que apresenta as opções de boot(GRUB) e carrega o Kernel
- Comandos e arquivos de Informações:
dmesg - Lê os logs de inicialização
journalctl - Lê os logs de inicalização, mas aceita parâmetros
--boot / --dmesg - Mesmo resultado do dmesg
--user - Logs do usuário atual
-b [numero] - Busca os logs do boot, sendo 0 o boot atual, e números negativos os boots anteriores
-
SystemVinit ou SystemV - Mais antigo, mas ainda utilizado na inicialização Baseado em RunLevels
- 0 = Desligamento | /etc/rc0.d
- 1, s, S, single = Modo de segurança | /etc/rc1.d
- 2 = Multiusuário sem interface | /etc/rc2.d
- 3 = Multiusuário sem interface | /etc/rc3.d
- 4 = Personalização | /etc/rc4.d
- 5 = Multiusuário com interface (padrão) | /etc/rc5.d
- 6 = Reinicialização | /etc/rc6.d
O arquivo /etc/inittab define qual runlevel será inicializado no boot Sintaxe = id:N:initdefault:
-
SystemD
- Cada unidade é chamadas "unit" = Nome, tipo e arquivo de configuração
- Cada "unidade" tem um sufixo. Os principais:
- service = Recursos ativos do sistema, que podem ser inicializados e interrompindos
- COMANDOS POSSÍVEIS:
start stop status is-active (está ativo?) enable disable is-enable
- COMANDOS POSSÍVEIS:
- socket = Recebe a solicitação
- device = Associado ao hardware
- mount = Unidade de montagem (etc/fstab)
- automount = Unidade de montagem automática
- snapshot = Estado salvo do gerenciador do SystemD
- target = Unidade de agrupamento de unidades
- service = Recursos ativos do sistema, que podem ser inicializados e interrompindos
Para definir o runlevel padrão:
systemctl set-default [runlevel]
Os arquivos de configuração das unidades ficam em:
/lib/systemctl/system
Você também pode usar:
systemctl list-unit-files --type=[tipo]
PARA GERENCIAR ENERGIA VOCÊ PODE USAR:
systemctl suspend systemctl hibernate
PARA AJUSTES FINOS: ACPI (RECOMENDADO)
-
Upstart São scripts de inicialização localizados no:
/etc/init
O comando principal é:
initctl
Caso queira listar os processos:
initctl list
Cada opção do Upstart tem seu comando independente.
Para gerenciar uma unit, basta usar:
status [unit] start [unit] stop [unit]
Alguns comandos do SystemV funcionam:
runlevel telinit
-
Gerencie processos, desligue e reinicie. O comando "clássico" para desligamento da máquina é
shutdown = Ele notifica todos os usuários logados e intermedia os processos do SystemV / SystemD hh:mm = Define a hora para desligar +m = Desliga daqui a X minutos +0 = Desliga imediatamente
O particionamento de um disco é uma organização do tal, focado na perfomance e segurança.
Ex: Se você tem um servidor de logs, o diretório /var/log tem que ter a devida atenção e, dependendo do caso, ter uma partição grande apenas para ele.
Antes que um disco possa ser utilizado, ele precisa ser montado em algum diretório. O diretório padrão para pontos de montagem é o /mnt. Hoje o diretório padrão para mídias removíveis é /media. Resumindo: Deixe os dispositivos removíveis no /media e todo o resto no /mnt
Um diretório muito interessante de deixar separado em uma partição é o /boot (diretório lido pelo GRUB). Dessa forma, quaisquer problemas nos outros diretórios não irão impedir a incialização do sistema
Utilizando esse gerenciador, posso criar partições em discos diferentes para formar um mesmo volume lógico. Extremamente útil quando é necessário expandir o espaço sem precisar migrar todos os dados para um disco maior.
Para ver os LV = lvscan Para criar os PV = pvcreate /dev/[diretorio_do_volume] Para criar os VG = vgcreate [nome] [PVs] Para ativar o VG = vgchange -a [nome_do_VG] Para criar um LV = lvcreate -L [tamanho_em_MB] [nome_do_VG]
Exemplo: PV (Volume Físico) = 1000GB VG (Grupo de Volumes)(RH) = 300GB / LV(RH) = 100GB VG (COMPRAS) = 300GB / LV(COMPRAS) = 200GB VG (TI) = 400GB
Os arquivos do GRUB sempre estarão no /boot/grub
APRENDENDO UM POUCO MAIS SOBRE O /boot Por via de regra, todos os arquivos tem o sufixo da versão do Kernel.\
A função de cada arquivo:
- config-VERSION = Armazena os parâmetros de configuração do Kernel. Gerado automaticamente. Não deve ser diretamente modificado!
- System.map-VERSION = Tabela de consulta com variavéis e símbolos.
- vmlinuz-VERSION = Kernel do SO (O z significa que o arquivo foi compactado).
- initrd.img-VERSION = Contém o Sistema de Arquivos Raiz.
APRENDENDO UM POUCO MAIS SOBRE O /boot/grub
A função de cada arquivo:
- grub.cfg = Arquivo de Configuração. Após, dê o camando update-grub. Caso o arquivo não exista, dê o comando grub-mkconfig.
Para instalar o grub, sempre use "grub-install [diretorio-de-instalacao".\
O que é? Coleções de softwares que podem ser utilizados por vários porgramas diferentes.
Bibliotecas Estáticas
Incorparado ao programa no momento do vínculo.
Ou seja, as bibliotecas já estão no programa.
A vantagem é não precisar se preocupar com dependências.
A desvantagem é que programas que utilizam bibliotecas estáticas são mais pesados.\
Bibliotecas Dinâmicas/Compartilhadas
O programa apenas faz referência à biblioteca.
A biblioteca deve estar instalada e sempre disponível.
A vantagem é que os programas são menores e mais leves.
A desvantagem é que você precisa se preicupar com as dependências.\
As bibliotecas sempre ficam nos diretórios /lib, /lib32, /lib64, /usr/lib, /usr/local/lib.
Para descobrir quais bibliotecas uma programa instalado necessita, basta rodar "ldd [diretorio_completo_do_binario]".\
Padrão de nomenclatura soname\
- Nome da biblioteca (com prefixo lib)\
- SO (Shared Object) - No caso de bibliotecas compartilhadas\
- a - No caso de bibliotecas estáticas\
- Número da versão da biblioteca\
O diretório de configuração das bibliotecas compartilhadas é /etc/ld.so.conf.d.
Aqui são incluídos os caminhos absolutos de diretórios das bibilotecas.\
O "ldconfig" cria os links simbólicos para as bibliotecas e atualiza o arquivo de cache /etc/ld.so.cache.\
Para ver as dependeências de uma biblioteca, use:
objdump -p [caminho_absoluto_da_biblioteca] | grep 'NEEDED'
Você pode usar dois comandos:
- dpkg (Baixo Nível, Não resolve dependências)
-i = Instalar -r = Remover -P = Remover inclusive os arquivos de configuração e demais -l = Listar os .deb -reconfigure = Refazer a pós-instalação de um pacote -I = Informações sobre o pacote - dpkg-query -S = Descobrir qual pacote contém determinado arquivo
- apt (Alto Nível, Resolve Dependências, Baixa de repositórios online
```
- Os repositórios são configurados no arquivo /etc/apt/sources.list. E os adicionais, geralmente incluídos por softwares de terceiros, ficam no diretório /etc/apt/sources.list.d
- install = Instalar
- remove = Remover
- purge = Remover inclusive os arquivos de configuração e demais
- list = Listar pacotes
- search = Pesquisar pacote
- show = Mostrar detalhes
- -f install = Instalar dependências
- clean = Limpar cache de pacotes (/var/cache/apt/archives & /var/cache/apt/archives/partial)
- apt-file search = Descobrir qual pacote tem o binário X
``