quinta-feira, 23 de dezembro de 2021

Resumo de comandos do VI

 Comando do VI


Sair :q

sair sem salvar  :q!

sair e salvar  :qw

h  move o cursor pra trás

j move o cursor pra baixo

k  mover o cursor pra cima

l  move o cursor frente


w move uma palavra pra frente

b move uma palavra pra trás

H move para o alto da tela

L move pra o final da tela

G move pra o final do arquivo

xG move para a linha x

1G move para o início da linha atual

^ move pra o primeiro caractere não-espaço ou tab da linha 

$ move para final da linha atual

num


:set number  ativa numeração de linhas em um arquivo

:set nonumber desativa a numeração de linhas em um arquivo


CTRL G Mostra a localizaão da linha e coluna

CTRL u move o cursor meia tela acima corresponde ao pg up

CTRL d move o cursor meia tela abaixo corresponde ao pg down


a  Insere texto após a posição atual do cursor

A  Insere texto no final da linha atual

o  Cria uma nova linha abaixo da linha atual e entra no modo inserção

O Cria uma nova linha acima da linha atual e entre no modo de inserção

J Junta a linha atual e a linha logo abaixo acrescentando um espaço etre elas.

- Muda o caso do caractere; x~ muda o caso dos x caracteres a partir do cursor.


x apaga o caractere na posição atual do crusor. Count especificquantos caracteres apagar ex: 3x apaga 3 caracteres.


X apaga p caracteres  à esquerda. Count especifica quantos caracteres pagar. ex: 4X apaga 4 caracteres à esquerda.

s Apaga o caractere na posição atual e entra no modo de inserção.

S Apaga o conteúdo da linha atual e entra no modo de inserção

u Desfaz o conteúdo da linha atual e entra no modo de inserção.

CTRL r Refaz o último comando desfeito com u


:q sai sem salvar as modificações, pode ser forçado com :q!

:w salva o arquivo :wq   sai e salva 

:x ou ZZ Salva e sai


:help Entra na ajuda

:helo comando    entra direto na ajuda do comando especificado

vimtutor entra no tutorial do vim




yn copia a linha tual e mais n linhas abaixo

yX copia o número de caracteres definidos pelo X

yy ou y copia a linha atual inteira

p cola após a posição atual do cursor

D recorta da posiçao atual do cursor até o final da linha

cc corta a linha atual inteira e entra no modo inserção


Caracteres especiais


comando :digraphs  para ver uma tabela de caracteres especiais.


Para inserir, entrar no modo de inserção, posicionar o cursor no local desejado e pressionar 

CTRL k e o código da tabela anterior



domingo, 19 de dezembro de 2021

Como usar o VI

 60 Como usar o Editor de Textos Vi 01 - Linux

Vi tem dois modos

modo comando 

e o modo insert

Para entrar é só digitar vi e o nome do arquivo

Para sair do vi

:q


Modo Command


Permite navegar pelo arquivo e entrar com comandos para manipular o texto.

Neste modo, as teclas do teclado são interpretadas como comandos. 

Para ir ao modo command, pressionar a tecla ESC.


Modo insert

Usado para inserir texto.

Para etnrar nesse modo digite a tecla i (em alguns casos, Insert)

Ou digite I para entrar no modo de inserção no início da linha atual.

Para voltar ao modo normal (comandos) pressione ESC.


:q! Sai sem salvar




61 Editor de Textos Vi 02 - Movimentação pela tela e substituição de caracteres - Linux

Alguns comandos

h Move o cursor um caracter à esquerda. (4j move 4 caracteres)

j Move o cursor uma linha abaixo.

Move o cursor uma linha acima.

l Move o cursor um caractere à direita


r Substitui um caracter sob o cursor por outro digitado na sequência. Você pode especificar um número de caracteres a serem substituídos na sequência a letra s, 3 caracteres serão substituídos por sss.


w Move o cursor uma palavra para frente

b Move o cursosr uma palavra para trás.

H move o cursor para o alto da tela

L Move o cursor para o final da tela

G Move o cursor para o final do arquivo.

xG Move o cursor para a linha de número x

1G Move o cursor para o início da linha atual.

^Move o cursor para o primeiro caractere não-espaço ou tab da linha

$ Ou telca end Move o cursor para o final da linha atual.


62 Editor de Textos Vi 03 - Movimentação pela tela, início e fim de arquivo - Linux


63 Editor de Textos Vi 04 - Ativar numeração de linhas e mover cursor - Linux


Ativar a numeração de linhas em um arquivo

:set number


Desativar a numeração de linhas

:set nonumber


Saber onde se está em um arquivo e seu número total de linhas

Ctrl + g

Ctrl + u, Move o cursor meia tela para cima

Ctrl + d  Move o cursor meia tela para baixo


64 Editor de Textos Vi 05 - Criar linhas, anexar textos e mudar o caso dos caracteres - Linux


a Anexa (insere) texto após a posição atual do cursor.

A Anexa (insere) texto no final da linha atual

o Cria uma nova linha abaixo da linha atual e entra no modo de inserção

O Cria uma nova linha acima da linha atual e entra no modo de inserção

J Junta a linha atual e a linha logo abaixo acrescentando um espçao entre elas.

~  Muda o caso do caractere; x~ muda o caso dos x caracteres a partir do cursor.


65 Editor de Textos Vi 06 - Apagar caracteres e linhas, desfazer e refazer comandos - Linux


x Apaga o caractere na posição atual do cursor. Count especifica quantos caracteres apagar (ex: 3x aoaga 3 caracteres)

X aága p caractere à esquerda do cursor. Count especifica quantos caracteres apagar, ex 4X apaga 4 caracteres à esquerda.

s Apaga o caractere na posição atual do cursor e entra no modo de inserção.

S Apaga o conteúdo da linha atual e entra no modo de inserção.

u Desfaz o conteúdo da linha atual e entra no modo de inserção.

CTRL + r Refaz o último comando desfeito com u.


66 Editor de Textos Vi 07 - Obtendo ajuda, sair e salvar arquivos - Linux



Sair e fechar


:q Sai sem salvar as modificações; pode ser forçado com:q!

:w Escre o buffer atual no arquivo(salva)

:wq Salva e sai

:x ou ZZ Salva e sai


Obtendo ajuda

:help Entra na ajuda do vi

: help comando Vai dreto à ajuda do comando especificado

:q Sai da ajuda


Tutorial embutdio do vim - digite o seguinte comando 

vimtutor


67 Editor de Textos Vi 08 - Copiar, Recortar e Colar caracteres, palavras e linhas - Linux



yn Copia ("yank") a linha atual e mais n linhas abaixo

yX Copia o número de caracteres definidos pelo comando de movimento X. Ex: yw copia uma palavra inteira.

yy ou Y Copia a linha atual inteira.

p Cola após a posiçao atual do cursor

dd Recorta a linha atual inteira

dw Recorta a palavra atual a partir de onde está o cursor

D Recorta da posição atual do cursor até o final da linha.

cc Corta a linha atual inteira e entra no modo Insert.


68 Editor de Textos Vi 09 - Inserindo caracteres especiais - Linux


Caracteres especiais


Usando caracteres especiais

Digite :digraphs para ver uma tabela de caracteres especiais.


Para inserir um dos caracteres especiais, entre no modo de inserção, posicione o cursor no local desejado e pressione a seguinte sequência de teclas:

Ctrl + K

código do caracteres lido na tabela anterior..


Exemplo: Símbolo de copyright:

Ctrl+K

Co 


69 Editor de Textos Vi 10 - GVIM - Vi na interface gráfica - Linux


GVIM

Pacote vim-x11 Editor VI para interface gráfica


Permite usar o mouse no VI e barras de ferramentas para operações comuns.


Documentação sobre o VI 

Website com tutoriais, dicas e PDFs para download:


http://vimdoc.sourceforge.net


59 Utilitário sed - Editor de streams - Substituição de strings - Linux

 59 Utilitário sed - Editor de streams - Substituição de strings - Linux


Utiliatário sed

Stream Editor, Editor de Streams

Programa de filtragem para automatizar tarefas de edição repetitivas de textos.


Sintaxe;

sed [opções] 'comando' [arquivos]

sed [opções] -f script [arquivos]


Opções: -e comando  Especifica que o argumento na sequência é   um comando do sed, opcional se apenas um comando for usado.

-f arquivo  - Neste caso o arquivo é um script do sed


-g Trata todas as substituições como globais


-i Editar o próprio arquivo.


Comandos do sed


d  apaga linhas

s   realiza substituições, tem sua própria sintaxe

s/padrão/substituição/flags


Flags usadas com o comando s:

g - substitui todas as instâncias do padrão

n substitui a enesima do padrão 

y Traduz caracteres







sexta-feira, 17 de dezembro de 2021

Metacaracteres


53 Expressões Regulares 02 - Classes de caracteres e conjuntos POSIX - Linux



Caracteres de Escape

Trata-se de um metacactere \ que indica a mudança no significado de outro caractere; transforma um metacartere em um literal comum.

Classes ou conjuntos de caracteres: 

são linhas de caracteres escritas dentro de colchetes [ ] e que servem para corresponder a apenas um dos caracteres listados.

Permite selecionar um dos caracteres dentro dos colchetes, não importa a ordem.


Expressões POSIX:

[ [: alpha:]] - Equivale a a-zA-Z 

[[:upper:]] - A-Z

[[:lower:]] - a-z

[[:digit:]]  0-9

[[:alnum:]] 0-9 - zA-Z

[[:space:]]  espaços 


54 Expressões Regulares 03 - Âncoras de início e fim de linha - Linux


Âncoras

Usados para representar caracteres no início ou no final de uma linha


Início de linha: ^

Final de linha: $


Localizar linhas vazias

^$ 



 55 Expressões Regulares 04 - Repetição de Caracteres zero, uma ou mais vezes - Linux


Repetição de caracteres 


Metacaractere      Signifcado

*  Item precedente 0 ou mais vezes

\+ Item precedente uma ou mais vezes

\? Item precedente zero ou uma vez



Metacaractere \w = um caractere qualquer



56 Expressões Regulares 05 - Repetição Quantificada de Caracteres (número exato) - Linux


Repetição Quantificada:

{ x } Item anterior corresponde extamente x vezes

{ x,} Item anterior corresponde ao menos x vezes 

{ x, y} Item corresponde entre x e y vezes


Metacaractere \s

Simboliza um espaço em branco


57 Expressões Regulares 06 - Agrupamento e Alternação de Caracteres - Linux


Agrupamento de caracteres

Metacaracteres ( )

Permitem agrupar partes de uma expressão

Aplicar operadores de repetição a um grupo

Não usar dentro de conjuntos de caracteres, pois tem significado literal lá.


Alternação

Permite corresponder uma ou outra expressão.

Metacactere:

grep

 


Aplicativo que faz buscas no conteúdo de arquivos por strings especificadas por uma expressão regular (regex)

Grep
Global Regular Expression Print

Sintaxe:
grep [opções] regex [arquivos]

comando | grep [opções] regex

Opções do grep:
-c Exibe uma contagem das linhas encontradas
-i igonra o caso (maiúsculas e minúsuculas)
-n Exibe as linhas encontradas com o respectivo número da linha
-v Exibe as linhas que não correspondam a regex.
-r Busca recursiva
-E Interpretar a regex como uma expressão regular estendida (equivale ao egrep)
-- color Mostrar a saída colorida

quinta-feira, 16 de dezembro de 2021

52 Expressões regulares 01 Metacaracteres

 Expressões Regulares 01 - Metacaracteres - Linux


https://www.youtube.com/watch?v=31FgxWsRRMw&list=PLucm8g_ezqNp92MmkF9p_cj4yhT-fCTl7&index=52&ab_channel=B%C3%B3sonTreinamentos


site para estudar expressões regulares

regexpal.com


Metacaracteres - caracteres que possuem significado especial


Transformam caracteres literais (comuns em expressões de busca)


São os seguintes


/.*+ - {}[] ^$|?(): !=


Os metacaracteres podem ter mais de um significado, dependendo do contexto de uso


Obs: Aspas NÃO são metacaracteres


Caracter único  .

O ponto representa qualquer caracter único.


Caracteres de escape

Trata-se de um metacaractere \ que indica  a mudança no significado de outro caractere. Transforma um metacaractere em um literal comum.

51 Configuração de Rede Básica - Arquivos nsswitch, resolv conf, hosts - Linux

 51 Configuração de Rede Básica - Arquivos nsswitch, resolv conf, hosts - Linux



Arquivos de Configuração de Rede Importantes

 /etc/hosts - Contém mapeamento simples entre endereços IP   nome e pode usado para resolução  de nomes. 


/etc/resolv.conf - Contém uma listagem de servidores DNS que podem ser consultados para resollução de nomes.


/etc/nsswitch.conf - Determina a ordem de busca quando determinadas informações são requisitadas, tais como a resolução de nomes, arquivos de senhas e de grupos (somente para serviço de diretório NIS)


/etc/host.conf - Controlas as fontes de resolução de nomes em sistemas pré-glibc2.


/etc/networks - Determina uma equivalência entre nomes  e endereços de rede, desta forma é possível usar um nome para nos referirmos a uma rede.


50 Configuração de Rede Básica - Comandos dig, ping e whois - Linux

 50 Configuração de Rede Básica - Comandos dig, ping e whois - Linux



Comandos básicos de rede


Comando dig

Obtém informações dos servidores dns



Sintaxe

dig [domínio]


comando ping

Usado para enviar uma requisição de eco ICMP a um host e relatar quanto tempo demora para receber a resposta do eco ICMP correspondente


Sintaxe

ping [nome_IP_host]  ou 

ping -c número de pacote mais nome ou ip do host


Comando whois

Protocolo de consulta e resposta para determinar informações sobre recursos (domínios) na internet



Sintaxe:

whois nome_domínio


49 Configuração de Rede Básica - Arquivo interfaces e comandos ifdown e ifup - Linux

 49 Configuração de Rede Básica - Arquivo interfaces e comandos ifdown e ifup - Linux



Arquivo /etc/network/interfaces

Arquivo de configuração


Configuração permanente


allow-hotplug eth0

iface eth0 inet static

address 192.168.10.1

broadcast 192.168.10.255

gateaway 192.168.10.1


Para desativar a interface de rede:

ifconfig [interface] down ou

ifdown [interface]


Para ativar a interface de rede:

ifconfig [interface] up ou 

ifup [interface]

Configuração de Rede Básica - Comandos ifconfig e dhclient - Linux

 48 Configuração de Rede Básica - Comandos ifconfig e dhclient - Linux

Configurações básicas de rede: IP/Máscara de rede

Comando ifconfig

Configura interfaces de rede

Sintaxe: 

ifconfig interface parâmetros

Parâmetros mais comuns: 

endereço IP

netmask {máscra de sub-rede}

up Ativar a interface de rede

down Desativar a interface de rede


Exemplo (para mudar o ip)

ifconfig eth0 192.168.10.5 netmask 255.255.255.0 up


Para desaativar a interface 

ifconfig eth0 down


Essas alterações só valem pra essa sessão do linux, se o computador for reiniciado, será lido um arquivo de configuração e as configurações anteriores serão assumidas.


A mudança de IP deve ser feita apenas temporariamente, para voltar a configuração anterior, usamos o comando 


Como renovar o endereço IP via dhcp

dhclient + interface

exemplo 

dhclient eth0

















Prioridades de Processos, comandos nice e renice

 Aula 47 

Prioridades de Processos e comandos nice e renice - Linux

Prioridades de processos

Tempo relativo de CPU O kernel aloca a um processo.

PRI

top / ps -l

nice /renice (usados para alterar a prioridade de processos)

Número nice: -20 a +19; números negativos indicam prioridades maiores. (usado para ajustar a prioridade do processo)

Nice padrão: zero processos do usuário padrão vem com nice zero.

Comando nice

Sintaxe: 

nice -n ajuste comando #ajuste: número nice

ajuste: de 1 a 19 usuários normais

-20 a 19 oara riit

o padrão é 10

O Comando nice só é usado quando se abre o programa, se o programa já estiver rodando usaremos outro comando para mudar a prioridade deste.

Para ajustar com valores negativos, ou seja, aumentar a prioridade, você deve ser um ausuário root ou usar o sudo.


Comando renice

Sintaxe: 

renice + | -  novo_num_nice [opções]  alvos

-u interpreta alvos como nomes de usuários

-p alvos são PIDs (padrão)






terça-feira, 14 de dezembro de 2021

Servidor DHCP no Linux 01 - Instalação e Configuração de um Escopo.

 Aula

Servidor DHCP no Linux 01 - Instalação e Configuração de um Escopo.
1 Interfaces de rede do servidor (configurar)
IP fixo
Instalar o pacote do servidor DHCP
isc-dhcp-server

2 Arquivo de vonfiguração do servidor DHCP:
/etc/dhcp/dhcpd.conf

Configuração de teste:
ddns-update-style none;

default-lease-time 864000;
max-lease-time 604800;

autohroitative;

option domain-name "bosontreinamentos.com";
option domain-name-servers 192.168.1.1, 8888;

subnet 192.168.10.0 netmask 255.255.255.0º {
range 192.18.10.10 192.168.10.20;
option subet-mask 255.255.255.0;
option routers 192.168.10.1;	
}

3 Verificar erros de sintaxe:
dhcpd -t

4 Especificar interfaces a serem usadas arquivo /etc/default/isc-server 
Procurar pela linha
INTERFACES="eth0"

5 como iniciar, parar ou reiniciar o servidor DHCP

sevice isc-dhcp-server start/stop/restart/status

6 Se houver problemas:
grep dhcpd /var/log/syslog

7 Como verificar as concessões ativas
cat /var/lib/dhcp/dchpd.leases | less





Redirecionamento e Pipes no Linux 01 - stdin, stdout, stderr

 Aula

Redirecionamento e Pipes no Linux 01 - stdin, stdout, stderr

https://www.youtube.com/watch?v=29HdgVildSI&list=PLucm8g_ezqNp92MmkF9p_cj4yhT-fCTl7&index=34&ab_channel=B%C3%B3sonTreinamentos

Redirecionamento e pipes
Arquivos de Dispositivos

Tudo são arquivos
Mapeados para o sistema de arquivos.

Sos dispositivos podem ser acessados por meio de mapeamentos denominados Arquivos de Dispositivos
Ex: /dev/sda

Um Arquivo de Dispositivo é um objeto do sist ema que oferece uma interface para o dispositivo me si.
O Kernel associa os driver de dispositivos aos arquivos de dispositivos 

Descritores de arquivos 
São a abstração de uma identificação para acessar um arquivo

Três descritores de arquivos:
Entrada padrão (stdin)
Saída Padrão (stdout)
erro Padrão (stderr)

Entrada padrão - stream (fluxo) para entrada de um texto. Vinculada ao teclado
Descritor de Arquivos 0

Saída Padrão - stream para saída normal dos programas.
Vinculada ao terminal ou janela de terminal
Descritor de Arquivos 1

Erro Padrão - stream de saída de texto, usado para exibir mensagens de erro.
Vinculado também ao terminal
Descritor de Arquivos número 2

Pipes
Permite que juntemos dois ou mais comandos
exemplo:
ls -l | less

Se forem usados mais  de dois comandos com redirecionamentos, damos o nome de pipeline à operação resultante.
exemplo: ls /etc | sort -r | less

As saídas redirecionadas para um arquivo não são exibidas na saída padrão (terminal), exceto os erros padrão.

O operador de redirecionamento ( > ) cria arquivos; para não sobrescrever o conteúdo de um arquivo já existente, usar o operador >>

exemplos
cat < /etc/group > /tmp/grupos

ls -zz 2> erro.txt
  

Comando tee
Permite enviar a saída de um comando para um arquivo e para a tela ao mesmo tempo
Sintaxe 
tee opções arquivos

-a Anexa aos arquivos, em vez de sobrescrevê-los

Exemplo:
ls -l | tee arquivo 1  

Exemplo 2
ls -i | tee arquivos1 | less




Como criar array RAID por software no Linux - Comando mdadm

 Aula

Como criar array RAID por software no Linux - Comando mdadm
https://www.youtube.com/watch?v=tg8RpKh8EiI&ab_channel=B%C3%B3sonTreinamentos

RAID é a sigla para "redundant array of independent disks" ou "redundant array of inexpensive disks"
.
Pode ser traduzido para "conjunto Redundante de Discos Independentes", "Conjunto Redundante de Discos Econômicos" ou "Arranjo Redudndante de Discos Independentes" .

Usado para esquemas de divisão e replicação de dados entre discos.


Pode ser feito através de software ou hardware, sendo que, quando feito através de hardware é necessário uma placa controladora.

Tipos de RAID

RAID 0 - striping ou distribuição

RAID 1 - Espelhamento (mirroring)

RAID 5 - paridade (parity)

RAID 0 + 1 - combinação dos níveis 0 (striping) e 1 (Mirroring), 

RAID 0 (striping) Os arquivos são divididos entre os discos
Tem melhor desempenho mas não é melhor maneira de se fazer redundância porque se você perde uma parte dos dados de um disco, compromete o funcionamento do todo.

RAID 1 - Espelhamento (mirroring)
Tudo que você tem no disco um tem também no disco dois.
Os arquivos são duplicados entre os discos. 
Mas consome o dobro de espaço.
Alta redundância


RAID 5 - paridade (parity)
Esse tipo de RAID inclui nos discos blocos de paridade que calculam o que está faltando de informação dos outros discos, que se der defeito o sistema consegue através de um algorítimo, calcular essas informações.
Usa blocos de paridade
Melhor espaço disponível
Tem alta redundância.

RAID 0 + 1 - combinação dos níveis 0 (striping) e 1 (Mirroring), 
Mistura de RAID 1 E RAID 0 
Precisa de pelo menos quatro discos 
Às vezes é chamado de RAID 10

Comando mdadm - administrar conjuntos de multi-dispositovos

Para instalar o mdadm
apt-get install mdadm

Sintaxe básica do mdadm
mdadm [modo] [nome_array] [opções] [componentes]

Discos a usar no exemplo: 
/dev/sdb
/dev/sdc

1 Criar partições nos discos

fdisk /dev/sdb
fdisc /dev/sdc

Tipo de partição: fd (detecção automática de RAID Linux)

2 Criar o array RAID 
mdadm --create /dev/md0 --verbose --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1

Para verificar o status da RAID criada
cat/proc/mdstat
pode-se usar também o seguinte comando sudo mdadm --detail /dev/md0
 
3 Adicionar o array ao arquivo de configuração do mdadm
/etc/mdadm/mdadm.conf
dar o seguinte comando
mdadm -Es | grep md >> /etc/mdadm/mdadm.conf
 
4 Formatar o array 
mkfs.ext4 /dev/md0

5 Montar o array
Criar um diretório
/raid
mount -t ext4 /dev/md0 /raid

6 Verificar o ponto de montagem


Aula
RAID por software no Linux 02 - Simular falhas, reparar e destruir array
https://www.youtube.com/watch?v=p1gbsZkKRNo&list=PLucm8g_ezqNp92MmkF9p_cj4yhT-fCTl7&index=28&t=631s&ab_channel=B%C3%B3sonTreinamentos

Testar o raid configurando uma falha

Verificar o status do array

mdadm --detail/dev/md0

cat/proc/mdstat

Como simular falha no array (por software)

mdadm --manage --set -faulty /dev/md0 /dev/sdc1

Verifica-se o status novamente através do comando 
mdadm --detail/dev/md0

Remover um disco com falha:
mdadm /dev/md0 -r /dev/sdc1

Adicionar disco novo substituto ao array:
mdadm /dev/md0 -a /dev/sdc1

Lembrando que antes de adicionar o disco, devemos formatar, delimitar o tamanho, especificar a partição com fd etc
Excluir um array
Primeiramente desmontar a partição 
umont /raid
Parar o array

mdadm --stop /dev/md0

Removê-lo:
mdadm --remove /dev/md0

Excluir o superbloco em todos os drives do array:

mdadm --zero-superblock /dev/sd[bc]1

Editar o arquivo /etc/mdadm/mdadm.conf
(eliminar as últimas linhas)


RAID 5 no Linux - configuração e adição ao FSTAB


https://www.youtube.com/watch?v=sLrPWxff3QM&list=PLucm8g_ezqNp92MmkF9p_cj4yhT-fCTl7&index=29&ab_channel=B%C3%B3sonTreinamentos

Em nosso exemplo 3 discos

/dev/sdb
/dev/sdc
/dev/sdd


Raid 5
1 Criar partições específicas para RAID nos discos (tipo fd)

2 Criar a matriz RAID 5
mdadm --create --force --assume-clean /dev/md0 --verbose --level=5 --raid-devices=3 /dev/sd [bcd]1

Ir até o arquivo de configuração
cat /etc/mdadm/mdadm.conf

Agora digitar um comando para acrescentar um array ao arquivo de configuração

3 Adicionar o array ao arquivo de configuração mdadm.conf

mdadm -Es | grep md >> /etc/mdadm/mdadm.conf

4 Formatar o array:
mkfs.ext4 /dev/md0 

5 Próximo passo é montar em diretório o dispositivo
 mount -t ext4 /dev/md0 raid

6 Acrescentar o array ao fstab para que seja montado automaticamente quando ligarmos o computador
Precisamos usar o comando blkid para descobrir o UUID do array

Abrir para edição o arquivo fstab
nano /etc/fstab

acrescentar como comentário
#UUID=escrever o UUID  /raid	ext4	defaults	0	0	

O que é o Protocolo DHCP

 O que é o Protocolo DHCP

É um protocolo de serviço TCP/IP que permite executar configuração dinâmica de hosts em uma rede.
Sucessor do BOOTP
Permite conceder endereços IP, máscaras de sub-rede, gateway padrão, servidores DNS  e muitas outras configurações aos hosts.

Funcionamento do DHCP
Em termos gerais, o DHCP permite configurar dinamicamente os clientes da seguinte forma:
Um cliente de rede envia um pacote UDP em broadcast com um pedido de serviço DHCP.
Os servidores DHCP disponíveis recebem esse pacote e respondem com diversas configurações com IP, Máscara, Gateway, DNS, etc.

Alocação do DHCP

Formas:
Automático: IPs são atribuídos pelo servidor aso clientes na rede (sempre os mesmos).
Dinâmico: Semelhante ao automático, mas com tempo de uso de IPs restrito (lease). 
Estática: Endereços MAC de hosts são associados a IPs no servidor para que sempre seja oferecido o mesmo IP so host (reserva).

Portas
O DHCP usa as mesmas portas atribuídas pelo IANA ao protocolo BOOTP:
UDP 67 para envio de dados do cliente ao servidor
UDP 68 para dados enviados do servidor ao cliente.

Operação do DHCP 
Ocorre em quatro fases:
Descoberta (DHCPDISCOVER)
Oferta de Concessão (DHCPOFFER)
Requisição (DHCPREQUEST)
Confirmação de Concessão.
(DHCPACK)

DHCPDISCOVER
O cliente envia mensagens de broadcast para a rede em busca de um servidor DHCP.
Conteúdo básico da mensagem:
srcAddr=0.0.0.0, srcport=68
dstAddr=255.255.255.255, dstPort=67
Mac Address do cliente

DHCPOFFER
Após o servidor receber a requsição DHCP  de um cliente, é enviada por ele uma mensagem DHCPOFFER.
Conteúdo da Mensagem:
SrcAddr=IP do servidor, srcPort=68
MAC Address do cliente
IP oferecido pelo servidor, mais a máscara de subrede e duração da concessão.

DHCPREQUEST
O cliente então responde com uma DHCPREQUEST, requerendo as configurações oferecidas.
Conteúdo básico da mensagem:
srcAddr=0.0.0.0, srcPort=68
dstAddr=255.255.255.255, dstPort=67

O servidor é identificado pelo IP, contido no campo de opções de DHCP da mensagem.

DHCPACK

Quando o servidor recebe a mensagem DHCPREQUEST do cliente, envia um pacote DHCPACK  a este com as configurações oferecidas, finalizando a configuração DHCP.
O cliente verifica se o endereço fornecido não está em uso enviando um pacote ARP para a rede.
Conteúdo básico da mensagem:
srcAddr=IP do Servidor, srcPort=67
dstAddr=255.255.255.255 dstPort=68

Concessão
Lease time
Tempo pelo qual um host pode usar configurações DHCP recebidas
Antes do término da concessão, o cliente DHCP pode solicitar sua renovação por um período de tempo igual.

Renovação da Concessão
Após decorridos 50% do tempo de concessão o host inicia o processo de solicitação de renovação, enviando pacotes DHCP para  o servidor e pedindo a renovação de usa concessão atual.
Caso o servidor DHCP não responda à solicitação de renovação, ao atingir 75 do período de concessão o host iniciará o processo  de obtenção de IP   a partir de outros servidores (possivelmente) presentes na rede.

Campos da Mensagem DHCP 

op: Operation Code. Especifica se a mensagem é uma requisição (request -1) ou uma resposta (reply -2).
HTYPE: Especifica o tipo de hardware de rede (Ethernet, HDLC, Frame Relay, ATM, etc).
HLEN: Hardware Address Length. Tamahho do endereço de hardware (MAC). ex: Ethernet=tipo 1, tamanho 6.
HOPS: Usado por agentes de relay para controlar o encaminhamento de mensagens DHCP.
ID da Transação (XID): Contém um número inteiro de 32 bits usado pelos clientes para sincronizar respostas com solicitações.
Segundos: Número de segundos desde que o cliente tentou adquirir ou renovar uma concessão.

Flags: Se um cliente não souber seu próprio IP ao enviar sua requisição, a flag terá o valor 1. Indica ao servvidor se sua resposta deve ser enviada em broadcast.
Endreço IP do cliente (CIAddr): IP conhecido do cliente; configurado em 0 se o cliente não possuir IP.
Seu endreço IP (YIAddr): IP que o servidor está atribuindo ao cliente.

Endereço IP do servidor (SIAddr): Endreço do servidor que o cliente deve usar na sequência de boot (pode ou não o próprio DHCP).
Endreço IP do roteador (GIAddr): Endereço IP do roteador que roteia mensagens DHCP (Relay Agente)
Endereço de Hardware do cliente (CHAddr): Endereço MAC do cliente.

Hostname do servidor (SName): Nome do servidor DHCP 
Boot File Name: Usado para especificar um caminho de arquivo de boot.

Campo de opções DHCP 
Cada opção consiste em um campo de código de um byte e um campo de comprimento de um byte também, seguidos por alguns octetos de dados que descrevem a opção.

Tipos de Mensagem DHCP 
O tipo de mensagem DHCP também determinado no campo de opções pelos seguintes campos e valores: 
Código: 53
Comprimento:1
Dados: o Valor que identifica a mensagem DHCP enviada.

 APIPA
Endereço de auto-configuração de  hosts. 
Trata-se de endereços da faixa 169.254.0.1 até 169.254.255.254
Caso um host esteja utilizando um endereço dessa faxia, provavelmente trata-se de problemas de comunicação com o servidor DHCP.

Reserva de IPs
Um endereço IP dinâmico pode ser reservado para uso exclusivo de um host, no processo conhecido como Reserva de IP que ele utilizará. Desta forma, o endereço deste ost nunca mudará e não necessitará de configuração manual por parte do usuário.







Permissões de acesso a arquivos e pastas pelo terminal Linux

 Permissões de acesso a arquivos e pastas pelo terminal Linux

drwxr-xr-x
permissões links proprietário grupo tamanho data e hora nome

letra d representa o diretório
o hífen é um arquivo comum
letra c arquivo de caractere
letra b um arquivo de bloco
letra l é um link

três conjuntos o primeiro é proprietário
o segundo é o grupo e 
a terceira são os outros.

r read ou leitura
w write ou escrita
x execution o u execução
- sem permissão

Instalação do MySQL no Linux Debian via Shell

 Aula

Instalação do MySQL no Linux Debian via Shell
apt-get install mysqul-server-5.5

Se precisarmos reiniciar o mysql
/etc/ini.d/mysql restart

Se precisarmos alterar o arquivo de configuração dele 
vi /etc/mysql/my.cnf

Para acessar o msql
mysql -u root -p

Após entrar podemos criar um banco de dados digitando os comandos

CREATE DATABASE teste; 

Para ver os bancos de dados existentes
SHOW DATABASES; 

Para acessar o banco de datos teste que criamos
USE teste;

Para criar uma tabela
CREATE TABLE tbl_teste (id SMALLINT, nome VARCHAR (30));

Para inserir dados na tabela
INSERT INTO tbl_teste (id, nome) VALUES (100, Fábio);
INSERT INTO tbl_teste (id, nome) VALUES (101, Sandra);
INSERT INTO tbl_teste (id, nome) VALUES (102, Fernanda);

Para testar
SELECT *FROM tbl_teste;

Comandos Básicos Linux 09 - mkdir, rmdir, rm -r - Manipulação de diretórios

 Comandos Básicos Linux 09 - mkdir, rmdir, rm -r - Manipulação de diretórios

Comando mkdir
Criar um ou mais diretórios.

mkdir opções nome_diretórios

opções:
-m Modo Define direitos de acesso ao modo octal
-p Cria subdiretórios recursivamente

rm -r nome_diretório
para remover um diretório não vazio

Comando rm -rf /
Este comando remove recursivamente todos os arquivos e diretórios de seu sistema Linux, até a raiz, nunca o execute.

Inicialização, init, runlevels, init.d, inittab e telinit - Linux Debian

 Inicialização, init, runlevels, init.d, inittab e telinit - Linux Debian

Inicialização do Sistema
Ao se iniciar o Linx, são usados diversos scripts presentes no diretório /etc para configurare o sistema e mudar e um mível de excecução a outro.
Esse processo varia um pouco entre as distribuições.

Processo init
Processo pai de todos os processos
Init- Incialização do controle de processos. É o pai de todos os processos, criado a partir de um script armazenado em /etc/inittab.
A partir dele são criados os outros processos
Pid: 1

Runlevels- Níveis de execução

O conceito de níveis de execução especifica as diferentes formas pelas quais um sistema pode ser utilizado e o controle sobre os quais serviços rodarão.

Os níveis de execução são especificados pelos números inteiros de 0 a 6.
O processo init é responsável por levar o sistema ao nível de execução padrão.

Runlevels:


0- Sistema desligado
1, S, s - Modo Monousuário
2- Muliusuário; padrão no Red Hat, sem GUI.
4- Não usado
5- Multiusuário completo com login gráfico (Red hat)
6- Reinicialização do sistema


/etc/init.d

Diretório que contém scripts de inicialização/encerramento para cada serviço do sistema.
Exemplo: /etc/init.d/sshd
Esses scripts aceitam argumentos como start, stop, restart, status e reload.
Esses scripts não são executados diretamente pelo processo init. Em vez disso, os diretórios /etc/rc6.d possui links simbólicos para esses scripts.

/etc/rc0.d até /etc/rc6.d

Os links são nomeados nos formatos KNNnome e SNNnome
k=kill (finalizar) Serviços que não deverão rodar no runlevel; executados primeiro 

S= Start (iniciar) Serviços que deverão rodar no runlevel.
NN= número de sequência( ordem de execução dos scripts) 
Nome= Identificação dos scripts.

Comando telinit

Use o comando telinit para mudar o runlevel em tempo de execução.

sintaxe: telinit (nº runlevel) enter

Exemplo: Desligar o sistema
telinit 0 enter

Mais opções

init (num) enter - Muda o runlevel para o (num)
telinit q enter- Aplica as mudanças realizadas em /etc/inittab
runlevel enter - Mostra o runlevel prévio e o atual.

O que é um firewall

 O que é um firewall

Sistema de hardware/software
Proteger uma rede local de ameaças de uma rede externa
Controla tráfego de dados entre redes externas e internas (hosts)
regras pré-estabelecidas.

Funcionamento Firewall
Todo tráfego que entra e sai deve passar por ele. 
O acesso LAN deve ser bloqueado fisicamente usando-se o fierewall entre as redes.
Apenas tráfego autorizado poderá atravessar.
Software deve ser confiável.

O que um firewall não faz
Não protege contra ataques queo atravessem, por exemplo, advindos de uma conexão VPN estabecida
Não protege contra ameaças internas
Não protege contra infecção de vírus e malwares

Tipos de firewall
Filtro de pacotes
Filtro de Estado de Sessão (inspeção de estado)
Gateway de Aplicação (Proxy)
UTM (Gerenciamento Unificado de ameaças)

Filtro de pacotes
Regras são aplicadas a cada pacote IP que chega e então o pacote é encaminhado ou descartado.
Filtra os pacotes em ambas as direções.
Regras baseadas no conteúdo do pacote:
IPs de origem e destino
Número de portas de comunicação
Tipo de protocolo
Inteface de rede

As regras são verificadas em sequência quando um pacote é analisado.
Se houver correspondência entre uma regra e um pacote, a regra é aplicada e as subsequentes são ignoradas.
Se nehuma regra for encontrada para tratar o pacote, então uma regra padrão pode ser aplicada. As regras psadrão podem ser:
Descartar  (drop/block/deny)
Permitir (allow)

Problemas do filtro de pacotes
Não examinam camadas de dados superiores, não sendo efetivos contra ataques que explorem vulnerabilidades das aplicações.
Log é limitado devido à pouca quantidade de  informações em um pacote.
Geralmente não suportam esquemas de autenticação de usuários

Filtro de Estado de Sessão
Aprimoramento do sistema de filtro de pacotes
Examina status das cnexões de rede ativas e determinas quais pacotes aceitar ou não.
Permite ou bloquea tráfego de acordo com o esatdo, a porta e o protocolo.
Monitora toda a atividade a partir do momento em que uma conexão é aberta até que ela seja fechada.


Firewall Pessoal
è instalado no sitema operacional da máquina do usuário.
Implementado pelo SO
Protege a máquina contra ameaças na rede externa e de outras máquinas na rede interna
Pode ser implementado como software de terceiros, incluindo pacotes d antivírus do tipo "intenet security".

Exemplos
Firewall do windows com segurança avançada
Linux iptables
NOrton intenet security
Comod firewall
Kaspersy internet security
MacAfee Personal Firewall

Firewall de hardware é um aplliance dedicado, que consiste em um hardware específico com um software de firewall instalado. 
No geral, possui uma performance maior do que um firewall de software instado em um servidor comum.

Instalar novo Kernel no sistema - Linux Debian

 Aula

Instalar novo Kernel no sistema - Linux Debian
Fazer backup dos arquivos

uname -r para saber qual a versão do kernel atual

Primeiro devemos descobrir qual imagem de kernel estão disponíveis para esta distribuição.
apt-cache search linux-image
através deste comando veremos todas as versões do kernel e devemos escolher uma.

Depois de escolher 

apt-get install mais o nome do kernel escolhida

shutdown -r now para reiniciar a máquina

 

Atualizar distribuição Debian 6 para 7.0 (wheezy) via Terminal (Shell)
https://youtu.be/Yd2aRxqDvxA

lsb_release -a
mostra a versão atual do sistema operacional instalado

o comando sed -i
serve para alterar várias palavras de uma só vez dentro de um arquivo

sed -i 's/squeeze/wheezy/g' /etc/apt/sources.list

neste caso estamos alterando o arquivo de configuração do arquivo do repositório da versão squeezy do Debian para a versão Wheezy.
Desta forma o sitema irá atualizar da versão 6 para a versão 7.

Para atualizar a distribuição inteira, depois de rodar o apt get update e upgrade, digitar o seguinte comando

apt-get -u dist -upgrade

Comandos top e uptime - Monitoramento e Performance de sistemas Linux 01

 Aula

Comandos top e uptime - Monitoramento e Performance de sistemas Linux 01
Ferramentas de Performance Linux

Top
sar
vmstat
iostat
free
uptime
dstat

Comando top
fornece uma visão em tempo real do sistema em execução.

Sintaxe:
top + opções

-d atraso Especifica o atrso em segundos entre as atualizações de tela. O padrão é 5 segundos.
-i Ignora processos ociosos
-n num Exibe num interações e depois termina
-b Roda em modo de batch. Útil para mandar a saída de um top par outros programas ou um arquivo.

Comandos interativos
h Gera uma tela de ajuda
k Termina um processo(será pedido o pid)
q Sai do programa
r Modifica a prioridade de um processo (renice), serão pedidos seu PID e valor nice (valores positivos tem menor prioridade)
s Modifica o atraso em segundos entre as atualizações.
Será pedido o tempo em segundos.

PID O PID de cada processo
USER Usuário proprietário do processo
PR Prioridade da tarefa
NI Valor nice da tarefa
VIRT Memória virtual usada pelo processo
RES Memória física usada pelo processo.
SHR Memória compartilhada usada pelo processo.
S Estado da tarefa (S=sleeping, R=running, T=stopped, Z=zombie, etc
%CPU% de tempo usada pela tarefa
%MEM% de memória física usada pelo processo
TIME+ Tempo total de atividade da tarefa desde que ela foi iniciada.

Comando uptime
Mostra o tempoa tual, há quanto tempo o sistema está rodando, quantos usuários estão logados atualmente e as  médias de carga do sistema nos últimos 1, 5 e 15 minutos

uptime

Comandos Básicos Linux 05 - tail, tac e wc

 Aula

Comandos Básicos Linux 05 - tail, tac e wc
Comando tail
 Usado para ver as últimas linhas de um arquivo

tail arq1 Mostra as dez últimas linhas de arq1

tail -n 20 Mostra as últimas linhas de arq1

tail -f /var/log/messages Mostra as dez últimas linhas dinamicacmente enquanto são geradas.

Comando tac
Inverso do comando cat: envia os arquivos de texto para a saída padrão com as linhas me ordem reversa

tac arquivos

Comando wc
Exibe contagem de caracteres, palavras e linhas em arquivos.
wc opções arquivos

-c contagem de caracteres
-l Contagem de linhas
-w contagem de palavras

Processos, Sinais e os comandos kill e killall - Linux

 Aula

Processos, Sinais e os comandos kill e killall - Linux
Processos monitoram sinais enviados pelo Kernel ou pelos usuários.
Controle de processos (programas em execução)
Alguns sinais comuns:
HUP 1 Desconectar
INT 2 Interromper CTRL + C
TERM 15 Terminar de forma  elegante
KILL 9 Terminar imediatamente
TSTP 20 Parar ou pasuar a execução CTRL + Z
CONT 18 Continuar a execução

Enviar sinais a um processo: Comando kill
Sintaxe: 
Kill -sinal PID
kill -l número_sinal #retorna o nome do sinal
PID: 2000

kill -15 2000
kill -SIGINT 2000

ps -l para descobrir número do PID.

Comando killall Termina processos associados com programas cujos nomes são fornecidos

killall opção nome_programa
-i modo interativo

Comandos Básicos linux 3 head, sort, classificar, combinação de comandos

 Aula

Comandos Básicos linux 3 head, sort, classificar, combinação de comandos

comando head
Mostra as primeiras linhas de um ou mais arquivos 
head opções arquivo

head arq2
mostra as 1 primeiras linhas

head -c50

Exibe os primeiros 50 bytes de um arquivo (ou k ou m para kilobytes e megabytes)

head -n15 arq2 
mostra as 15 primeiras linhas de arq2.

head -n8/etc/group - Mostra as 8 primeiras linhas do arquivo /etc/group

Combinando head com cut
Mostrar somente os nomes das 5  primeiras frutas do arq1

cut-d ' ' -f2 arq1 | head -n5

Comando sort
Organiza os dados de acordo com a necessidade dos usuários 9 de acordo com a primeira coluna de caracteres).

sort {opções} arq1
sort {opções} arq1 > arq_sorted

Opções: 
-f ignora o caso (ignora maiúsculas e minúsculas)
-n Numericamente
-r ordem reversa

Exemplo: Digite o arquivo a seguir e salve-o como arq4:
3 cde
2 bcd
1 abc

Digite o comando a seguir e verifique o resultado em arq5

cut -c3 -5 arq4 | sort> arq5

Gerenciamento de Usuários e Grupos 02 - Arquivos group e gshadow, comandos id e groups

 Aula

Gerenciamento de Usuários e Grupos 02 - Arquivos group e gshadow, comandos id e groups
/et/group e /etc/gshadow
/etc/group - Define os grupos aos quais os usuários pertencem.
Grupos são usados para aplicar permissões de acesso a recursos do sistema.
e Gerenciamento e monitoramento de usuários.
exemplo:

fabio:x:1000:
 1     2    3     4

1 Nome do grupo
2 Senha
3 GID
4 lista de membros, separados por vírgulas

/etc/gshadow - possui as senhas criptografadas para cada grupo, listagem de membros e outras informações.

exemplo:
sambashare:!: : fabio
   1            2 3   4

1 nome do grupo
2 senha criptografaada, ! = usuários que não são membros do grupo não podem acessá-lo
3 Administradores do grupo, que podem adicionar ou remover usuários.
4 Membros do grupo

Comando groups - permite descobrir de quais grupos um usuário é membro.
groups mais o nome do usuário

comando id - mosra os IDs de grupos e usuários e os grupos aos quais ele pertence.
id opções mais o nome do usuário

-g GID do grupo primário do usuário (--group)
-G Todos os GIDs dos grupos do usuário.
-n Mostra os nomes do grupos em ves do GIDs




Comandos Básicos Linux 02 - touch, cut, timestamp

 Aula

Comandos Básicos Linux 02 - touch, cut, timestamp
Comando touch
Permite alterar o rgistro de data e hora de modificação d acesso de um arquivo; cria um arquivo de texto vazio

Sintaxe:
Touch + opções + nome arquivo e enter

- a altera a hora de acesso
-m altera a hora de modificação
-t yymmddhhmmss - configura a hora digitada

Ex
touch -m -t 201012211400 arquivo



Comando cut
corta campos ou colunas selecionados de cada linha de um arquivo; imprime colunas ou campos delimitados por espaços ou outros caracteres especificados pelo usuário.

cut + opções arquivo

Opções:

-c Posição de caractere
-f (n) campos
-d (d) delimitador

Comandos Básicos Linux 07 - cp (copiar arquivos) e rm (remover arquivos)

 Aula

Comandos Básicos Linux 07 - cp (copiar arquivos) e rm (remover arquivos)
Comando cp
Cpia um arquivo ou diretório para outro local.

cp opções origem destino

Exemplos

cp /home/adriano/arq1 /home/fabio/

Opções
-i Pede confirmação interativamente
-r copia diretórios recursivamente
- Preserva todas as informações


Comando rm
Este comando pode ser usado para excluir tanto arquivos quanto diretórios.
Para excluir arquivos
rm opções arquivo_diretório

Para excluir um diretório ocupado
rm -r nome_diretório

Linux - Gerenciamento de Usuários e Grupos 08 - Alterar e excluir usuários - comandos chfn e userdel

 Aula

Linux - Gerenciamento de Usuários e Grupos 08 - Alterar e excluir usuários - comandos chfn e userdel
Comando chfn - Altera informações dos usuários

sintaxe:
chfn opções usuários

opções

-f nome completo 
-r número da sala
-w telefone comercial
-h telefone residencial 

Comando userdel
Exclui uma conta de usuário

Sintaxe
userdel -r usuário (-r é opcional e serve para exluir também o dirtório home do usuário, pois ele não é excluído por padrão).

Controle de Tarefas no shell - comandos bg, fg, jobs - Linux

 Aula

Controle de Tarefas no shell - comandos bg, fg, jobs - Linux
Shell
Background - Segundo plano
Foreground - Vinculado ao terminal

Tarefa: Um processo colocado em background

Número de identificação, sempre a partir de 1 (não é PID)
 
& Coloca a tarefa em segundo plano
CTRL Z pausa a tarefa e bg coloca em segundo plano novamente
fg volta com a tarefa ao terminal

Comandos bg e fg
bg - Coloca a tarefa especificada em background.
fg - Coloca a tarefa especificada em foreground.

Sintaxe: 
bg num_tarefa
fg num_tarefa

Comandos jobs - Lista as tarefas ativas
Sintaxe:
jobs opção
-l Lista os PIDs

Comando vmstat e free - Monitoramento e Performance do Silstema Linux

 Aula

Comando vmstat e free - Monitoramento e Performance do Silstema Linux

Este comando reporta informações sobre processos, memória, paginação, blocos de i/o, traps e atividade de CPU. Sintaxe vmstat opções -S M Usa a unidade MB em vez do padrão kb -a Mostar memóira ativa e inativa -d Mostra estatísticas de discos -p partição Mostra informações de R/W na partição especificada -s Mostra estatísticas em formato de tabela. 1 procs r: Número de processos esperando para rodar b: Número de processos em dormência ininterrupta 2 memory swpd: Memória virtual usada free: Memória livre buff: Memória usada como buffer cache: Memóira usada como cache 3 swap si: Memória trocada a partir do disco so: Memória trocada para o disco 4 io bi: Blocos recebidos de um dispositivo do bloco (blocos/s) 5 system in: número de interrupções por segundo, incluindo clock cs: número de mudanças de contexto por segundo 6 cpu us: Tempo gasto rodando código que não é kernel sy: tempo gasto rodando código do kernel id: tempo gasto em ociosidade wa: Tempo gasto esperando por I/O Comando free Exibe a quantidade de memória livre e usada no sistema sintaxe free opções -b Mostra o uso da memória em bytes -k idem, em kb -m idem, em MB -t Exibe uma linha que mostra os totais -s n Operação contínua em intervalos de n segundos

Gerenciamento de Usuários e Grupos 07 Alterar Usuários - Comando usermod - Linux

 AULA

Gerenciamento de Usuários e Grupos 07 Alterar Usuários - Comando usermod - Linux
Comando usermod - Modifica uma conta de usuário existente
Sintaxe
usermod opções usuario

opções
-u UID Altera o UID para o valor especificado
- s shell Define u m novo shell p ara o usuário
-g grupo Permite alterar o grupo primário, definindo  um novo grupo primário para o usuário
-G grupo1, grupo2, grupo 3  Torna o usuário membros destes grupos, que são grupos secundários.
-c comentário  Define ou muda o valor do campo de comentários
-l login Muda o nome da conta do usuário para o login especificado

 Aula

Gerenciamento de Usuários e Grupos 04 - Criar usuários - comandos useradd e adduser
Comando useradd - Usado para criar uma conta de usuário do sistema
sintaxe
useradd + opções + nome da conta

opções
-c  Define o campo comentários como nome usuário, telefone etc

-d dir_home permite definier o diretório home do usuário 
-m Cria e preenche o diretório home do usuário
-s shell Usa o shell como padrão da conta
-e data_expiração define até quando a conta será desativada formato AAA-MM-DD
-u UID  UID desejada para o usuário.

exemplo:
useradd -m -c "Carlos Chagas" -s /bin/bash/ chagas

cat/etc/passwd para ver o usuário criado

comando adduser - script em Pesl que utliza o  programa useradd para realizar tarefas de criação de usuários no debian e derivados, isto no Devian e deriaos. No Red Hat e derivados é apenas u link simbólico para o useradd. 
Pode ser usado para adicionar um usuário a um grupo.
adduser usuaário grupo_existente

Para criar um usuário:
adduser conta_usuário

O script está presente no diretório /usr/sbin




Comando uptime

 Comando uptime

Mostra o tempoa tual, há quanto tempo o sistema está rodando, quantos usuários estão logados atualmente e as  médias de carga do sistema nos últimos 1, 5 e 15 minutos

uptime

Aula 
Comandos top e uptime - Monitoramento e Performance de sistemas Linux 01

Ferramentas de Performance Linux

Top
sar
vmstat
iostat
free
uptime
dstat

Comando top
fornece uma visão em tempo real do sistema em execução.

Sintaxe:
top + opções

-d atraso Especifica o atrso em segundos entre as atualizações de tela. O padrão é 5 segundos.
-i Ignora processos ociosos
-n num Exibe num interações e depois termina
-b Roda em modo de batch. Útil para mandar a saída de um top par outros programas ou um arquivo.

Comandos interativos
h Gera uma tela de ajuda
k Termina um processo(será pedido o pid)
q Sai do programa
r Modifica a prioridade de um processo (renice), serão pedidos seu PID e valor nice (valores positivos tem menor prioridade)
s Modifica o atraso em segundos entre as atualizações.
Será pedido o tempo em segundos.

PID O PID de cada processo
USER Usuário proprietário do processo
PR Prioridade da tarefa
NI Valor nice da tarefa
VIRT Memória virtual usada pelo processo
RES Memória física usada pelo processo.
SHR Memória compartilhada usada pelo processo.
S Estado da tarefa (S=sleeping, R=running, T=stopped, Z=zombie, etc
%CPU% de tempo usada pela tarefa
%MEM% de memória física usada pelo processo
TIME+ Tempo total de atividade da tarefa desde que ela foi iniciada.

Comandos básicos linux 6

 Aula

Comandos básicos linux 6
Uniq - Elimina linhas repetidas adjacentes

Escreve em stdout uma entrada, eliminando linhas duplicadas adacentes.
Para eliminar linhas duplicadas não-adjacentes, primeiro organize o arquivo com sort

uni opções entrada saída

-d processa apenas as linhas que se repetem
-u processa apenas as linhas que não se repetem.

uniq arquivo
uniq -d
uniq -u

Comandos top e uptime - Monitoramento e Performance de sistemas Linux 01

 Aula

Comandos top e uptime - Monitoramento e Performance de sistemas Linux 01
Ferramentas de Performance Linux

Top
sar
vmstat
iostat
free
uptime
dstat

Comando top
fornece uma visão em tempo real do sistema em execução.

Sintaxe:
top + opções

-d atraso Especifica o atrso em segundos entre as atualizações de tela. O padrão é 5 segundos.
-i Ignora processos ociosos
-n num Exibe num interações e depois termina
-b Roda em modo de batch. Útil para mandar a saída de um top par outros programas ou um arquivo.

Comandos interativos
h Gera uma tela de ajuda
k Termina um processo(será pedido o pid)
q Sai do programa
r Modifica a prioridade de um processo (renice), serão pedidos seu PID e valor nice (valores positivos tem menor prioridade)
s Modifica o atraso em segundos entre as atualizações.
Será pedido o tempo em segundos.

PID O PID de cada processo
USER Usuário proprietário do processo
PR Prioridade da tarefa
NI Valor nice da tarefa
VIRT Memória virtual usada pelo processo
RES Memória física usada pelo processo.
SHR Memória compartilhada usada pelo processo.
S Estado da tarefa (S=sleeping, R=running, T=stopped, Z=zombie, etc
%CPU% de tempo usada pela tarefa
%MEM% de memória física usada pelo processo
TIME+ Tempo total de atividade da tarefa desde que ela foi iniciada.

Comando uptime
Mostra o tempoa tual, há quanto tempo o sistema está rodando, quantos usuários estão logados atualmente e as  médias de carga do sistema nos últimos 1, 5 e 15 minutos

uptime

Comandos Básicos Linux 04 - split (dividir arquivos) e cat (concatenação)

 Aula

Comandos Básicos Linux 04 - split (dividir arquivos) e cat (concatenação)
Divide um arquivo em várias partes em uma sucessão de arquivos com final aa, ab, ac, etc

split opções arq entrada arq saída x

opções:
--lines=, -l=n  n linhas p/ arquivo
--bytes=n, -b=n  n bytes por arquivo.

Exemplo do comando split

split -b 120 arq.conf arq-

Divide o arquvio arq.conf em várias partes com 120 bytes cada, como os nomes arq-aa, arq-ab, arq-ac, e assim sucessivamente.
Para unir novamente as partes do arquivo, use o comando cat:

cat arq-aa arq-ab arq-ac> arq.conf

Comando split na prática


cp /etc/passwd/home/fabio
cd /home/fabio
ls 
split -b 200 passwd pass-
ls -l
_______________
cat pass-* > passwd-2
ls 
cat passwd-2

Gerenciamento de Usuários e Grupos 05 - Alterar senhas - comando passwd

 Aula

Gerenciamento de Usuários e Grupos 05 - Alterar senhas - comando passwd
Gerenciamento de Senhas: comando passwd
Configurar a senha de um usuário, além de algumas opções de conta.

sintaxe
passwd opções username

-l Trava a senha da conta específicada
-u Destrava a senha da conta específicada
-d Exclui a senha de um usuário

-e Força a expiração da senha
-x dias Faz com que a senha funcione apenas pela quantidade de dias especificada.
-n dias  Quantidade mínima de dias que o usuário precisa aguardar para poder trocar sua senha.
-w dias  Define a quantidade de dias a partir do qual o usuário começa a receber aviso de expiração de senhas.
-S Exibe o status da conta 

Comandos Básicos Linux 08 - mv (mover arquivos), cp e rm (outras opções)

 Aula

Comandos Básicos Linux 08 - mv (mover arquivos), cp e rm (outras opções)
Mais exemplos do comando cp

cp /home/adriano/arq2 .

copia o arq2 do diretório /home/jorge para o direório atual 

cp /root/a* /home/

Copia todos os arquivos que se iniciam com a letra a do diretório /root para o diretório /home

Comando mv
mv opções origem destino - Move o arquivo ou o diretório para o destino especificado.

Opções
-i Consulta o usuário antes de mover arquivos

Exemplo

mv /root/arq1 /home/
Move o arquivo arq1 de /root para /home.

Comando mv - Outros usos

mv /home/fabio/arq1 /home/fabio/arq2 
Renomeia o arquivo arq1 para arq2. 
Para isso, deve-se mover o arquivo de um diretório para o próprio diretório onde ele se encontra, trocando o nome do arquivo no final do comando

usado para listar arquivos em sistemas Unix(e Linux, OS X, BSD, etc)

 Comando ls

usado para listar arquivos em sistemas Unix(e Linux, OS X, BSD, etc)

Sintaxe:
ls {opções}

-a mostra todos os arquivos, incluindo os ocultos
-A idem -a mas não mostra os diretórios corrente (.) ou pai(..)
-i mostra o número do inode de cada arquivo na primeira coluna
-l formato longo, mostra permissões, número de links, proprietário, grupo, tamanho, data de modificação e nome do arquivo.
-m Arquivos listados em sequência, separados por vírgula
-n idem ao -l, porém mostra UID e GID em vez de nomes de proprietário e grupo.
-0 idem ao -l, porém não mostra o grupo do arquivo.
-p mostra uma barra (/) na frente de nomes de diretórios
-r Ordem reversa
-h Mostra o tamanho em formato legível por humanos (combine com -l)

Gerenciamento de Bibliotecas compartilhadas no Linux (ldd, ldconfig, ld.so)

 Aula

Gerenciamento de Bibliotecas compartilhadas no Linux (ldd, ldconfig, ld.so)

Bibliotecas
Comando ldd
Exibe as bibliotecas compartilhadas requeridas por cada um dos programas listados na sua linha de comando, trazendo o nome da biblioteca e o  local onde se espera encontrá-la.
ldd (programas) enter Imprime as dependências de bibliotecas compartilhadas.
ldd --version enter Mostra a versão do ldd.

ldd -v (programa) enter - Modo verbose para o programa especificado.

ldd -v /bin/ls enter
  

Vinculando as bibliotecas compartilhadas - ld.so:

Os programas executáveis dinamicamente vinculados são examinados, no momento da execução, pelo vinculador dinâmico de objetos compartilhados ld.so
Ele procura por dependências no executável que está sendo carregado e tenta satisfazer vínculos a bibliotecas compartilhadas de sistema que não estejam resolvidos. Se ele não encontrar uma biblioteca, o programa não poderá rodar.

ld.so pode procurar pelos diretórios que contém bibliotecas na variável LD_LIBRARY_PATH ou as bibliotecas são procuradas em um índice de nomes e localizações de bibliotecas (binários) chamado /etc/ld.so.cache.

Adicionar novas entradas ao cache: adicione o diretório que contém as bibliotecas ao arquivo /etc/ld.so.conf e atualize o cache com o comando ldconfig.

ld config - Configura ligações em tempo de execução do ligador dinâmico (ld.so).
Cria os links e cache necessários para as bibliotecas compartilhadas mais recentes encontradas nos diretórios especificados na CLI, no arquivo /etc/ld.so.conf e nos diretórios /lib e /usr/lib.

ld config -p enter

Examina o conteúdo do cache de bibliotecas ld.so.cache

idconfig enter
Reconstrói o cache incluindo as atualizações realizadas em /etc/ld.so.conf.

Outro local em que ele pode procurar bibliotecas é na variável de ambiente LD_LIBRARY_PATH
Contém uma lista de diretórios serparados por: onde o sistema irá procurar por determinada biblioteca dinâmica (s*.so).
Quando um programa precisa de uma biblioteca dinâmica, o sitema a procura nos diretórios listados em LD_LIBRARY_PATH, depois no arquivo de cache /etc/ld.so.cache e então nos diretórios /lib e/usr/lib.

Para visualizar o coneteúdo da variável de ambiente LD_LIBRARY_PATH, use o seguinte comando:
echo $LD_LIBRARY_PATH 

RESUMO: Bibliotecas compartilhadas

1 O usuário executa um programa qualquer, 
2 O programa ld.so é invocado para descobrir as dependências do programa do usuário e vincular as bibliotecas necessárias.
3 Para isso ld.so consulta diversos diretórios que contém bibliotecas, ex: /lib e a variável de ambiente LD_LIBRARY_PATH
4 Ao encontrar as dependências requeridas, efetura a vinculação e assim as funções da biblioteca ficam disponíveis para o programa chamador, e ele é então executado.
5 o ld.so também pode consultar um cache de nomes de bibliotecs e caminhos chamado /etc/ld.so.cache que não é legível por humanos.
6 É possível acrescentar mais caminhos de diretórios ao ld.so.cache editando-se o arquivo de configuração /etc/ld.so.conf.
7 Caso o /etc/ld.so.conf seja editado, rode o programa idconfig logo após para atualizar o cache (/etc/ld/so.cache) com as novas configurações.

Comandos iostat e dstat - Monitoramento e Performance do sistema Linux

 Aula

Comandos iostat e dstat - Monitoramento e Performance do sistema Linux 
Comando isotat
Mostra informações sobre o uso da CPU  e várias estatísticas sobre E/S do sistema. 

sintaxe: 
iostat Opções

-c Mostra apenas estatísticas da CPU
-d Mostra apenas estatísticas de I/O de disco.
-p sda Mostra apenas esatísticas para sda

Comando dstat
Permite efutuar monitoramento e verificar performance do sistema Linux possuindo características dos comandos top, vmstat, free, iostat combinadas.

Instale com o apt-get install dstat
Sintaxe
dstat opções

dstat n permite ajustar o intervalo de atualizaçõ para n segundos

-m Estatísticas de uso de memória 
-c Estatísticas de CPU
-d Estatísticas de disco
-i Interrupções
-n Estatísticas de uso de rede
--fs Estatísticas do sistema de arquivos 
--ntp Mostra a hora a partir de um servidor NTP

gnome-system-monitor
Ferramenta gráfica que pode ser usada para  monitorar processos e desempenho do sistema.

apt-get install gnome-system-monitor

Gerenciamento de Usuários e Grupos 06 - Administrar grupos - comando gpasswd - Linux

 Aula

Gerenciamento de Usuários e Grupos 06 - Administrar grupos - comando gpasswd - Linux
Comando gpasswd
Utilizado para administrar grupos no Linux

Grava informações no arquivos /etc/group e no arquivo /etc/gshadow

sintaxe
gpasswd opções grupo

gpasswd grupo 
Cria ou altera a senha do grupo

opções
-a
gpasswd -a usuario grupo Adiciona o usuário ao grupo

-d Remove o usuário do grupo especificado 
gpasswd -d usuario grupo

-A Torna o usuário administrador do grupo
gpasswd -A usuario grupo


Variáveis de Ambiente no Linux e comandos echo, env e export

 Aula

Variáveis de Ambiente no Linux e comandos echo, env e export
As variáveis de ambiente permitem mudar o shell de várias formas para adaptá-los às necessidades do usuário.
Exemplos de variáveis de ambiente:
PS1 prompt da linha de comandos
HOME diretório /home de um usuário
PATH Lista de diretórios vasculhados quando um comando é executado.

Verificar conteúdo de variáveis de ambiente

Comando env (todas as variáveis)
env enter

Comando echo (variável específica)
echo $NOME de VARIÁVEL

Adicionar um caminho à variável PATH:
PATH=$PATH:/novocaminho

Criar uma variável de ambiente
MINHAVAR=meuconteúdo

As variáveis assim criadas possuem escopo local - são válidas apenas no shell atual. Para tornar seu escopo global, exporte-as com o comando export:

segunda-feira, 13 de dezembro de 2021

Comando chmod - Alterar permissões pelo terminal - Linux

 Comando chmod - Alterar permissões pelo terminal - Linux

Para alterar as permissões

Comando chmod
Dois modos
Vamos trabalhar com o modo de permissões octal
Sintaxe
chmod (permissões) (arquivo ou diretório)
Atribuir valores numéricos a cada tipo de permissão

Execução 1
escrita 2
leitura 4
Todas as permissões 777

Comandos chgrp e chown - Alterar proprietário e grupo dos arquivos no Linux

chgrp (change group) - Alterar o grupo de um arquivo ou diretório.

 chgrp (change group) - Alterar o grupo de um arquivo ou diretório.

Sintaxe:
chgrp (Novo grupo) (nome do arquivo)
 
alterar proprietário
chown (change owner) Alterar o proprietário de um arquivo ou diretório

Sintaxe:
chown (novo proprietário) (nome arquivo)

APT- Gerenciamento de pacotes pela linha de comandos no Linux Debian

 Aula

APT- Gerenciamento de pacotes pela linha de comandos no Linux DebianApt
Advance Packaging tool

Permite o gerenciamento de pacotes de software em distribuições linux debian e variantes.
Contém uma série de ferramentas usadas no gerenciamento dos pacotes, tais como o apt-get e o apt-cache.

O arquivo /etc/apt/sources.list

Para funcionar o APT usa um arquivo que lista as fontes de onde ele obterá os pacotes. Esse arquivo é o /etc/apt/sources.list.
As entradas desse arquivo são normalmente formadas assim:
deb http://host/debian distribuição seção 1 seção 2 seção 3
deb-src deb http://host/debian distribuição seção 1 seção 2 seção 3

A primeira palavra das linhas, deb e deb-src indicam o tipo de repositório: se guarda pacotes binários (deb), ou eja, os pré-compilados que n ormalmente usamos ou se gurada pacotes fonte (deb-src), que são a fonte original do programa.
Sempre que esse arquivo for modificado, deve-se rodar o comando apt-get update. Isso deve ser fieto para que o APT obtenha as listas de pacotes das fontes que foram especificadas.

APT-GET -Opções

apt-get clean apaga todos os pacotes baixados e já instalados
apt-get autoclean apaga todos os pacotes que não possam mais ser baixados
apt-get autoremove Remove pacotes órfãos, sem utilidade, dependências de softwares já removidos.
apt-get  -d baixar arquivos sem instalar
apt-cache dump lista todos os pacotes instalados
apt-cache stats mostra informações como o número de pacotes instalados e de dependências.
apt-cache -f install verifica lista de dependências quebradas e tenta corrigi-las instalando pacotes necessários.
apt-get remove pacote Remove os pacotes especificados.
apt-get --purge remove pacote remove os pacotes especificados, incluindo seus arquivos de configuração
apt-get upgrade atualiza os pacotes do sistema. Use a opção -u para ver os pacotes que serão atualizados.
apt-get -u dist-upgrade Atualiza a distribuição para uma nova.




Aula
apt-cache - Manipular e obter informações sobre os pacotes no cache do apt - Linux
https://youtu.be/TrEtfqdijPE

O apt-cache é um comando utilizado para manipular e obter informações sobre os pacotes no cache do apt.

Alguns exemplos:

apt-cache pkgnames mostra os nomes de todos os pacotes no cache

apt-cache stats mostra algumas estatísticas básicas.

apt-cache dump Mostra um despejo do cache inteiro.

Mais exemplos

apt-cache search palavra-chave Mostra todos os pacotes relacionados com a palavra-chave.


apt-cache show pacote Mostra uma breve descrição sobre um pacote em particular.

apt-cache showpkg pacote: Mostra uma informação mais geral sobre o pacote.

apt-cache depends pacote: Mostra de quais pacotes o pacote especificado depende.


	

Gerenciamento de Usuários e Grupos 03 - Arquivo de senhas shadow

 Aula

Gerenciamento de Usuários e Grupos 03 - Arquivo de senhas shadow
/etc/shadow - contém as senhas  criptografadas dos usuários e outras informações sobre as contas.
Possui 9 campos de informações.

Exemplo:
syslog:*:15630:0:99999: 7: : :
   1     2     3    4  5      6  7  8  9

1 - Nome da conta - 
2 Senha - (!= não possui senha, *= conta desativada, ! mais senha = conta travada ou bloqueada, !! = senha nunca configurada)
3 Última modificação - dias passados desde  01/01/1970 desde que a senha foi modificada pela última vez.
4 mínimo - dias antes que o usuário possa modificar sua senha.
5 máximo - o número de dias que o usuário pode manter a mesma senha 
6 Aviso - dias antes da expiração da senha quando o usuário começa a receber avisos.
7 inativo - dias após a validade da senha em que a conta é desabilitada automaticamente.
8 expirção - quando a conta será desativada
9 Reservado

date -d "1970/01/01 + 15748 days"

Gerenciamento de Usuários e Grupos 01 - Arquivo /etc/passwd

 Aula

Gerenciamento de Usuários e Grupos 01 - Arquivo /etc/passwd
Gerenciamento de Usuários

Arquivos de Configuração:
/etc/passwd
/etc/group
/etc/shadow
/etc/gshadow

/etc/passwd
Contém uma lista dos usuários do sistema
Antigamente armazenava senhas (uso original)
Legível por qualquer um no sistema.
Pode ser editado, mas não é recomendado, as alterações devem ser feitas com o comando usermode (/usr/sbin/usermod).

Dando um cat no arquivo /etc/passwd vêmos os vários usuários.
pegando o usuário fabio como exemplo temos:

fabio:x:1000:1000:fabio,,,:/home/fabio:/bin/bash
  1     2   3     4      5          6                7

sendo 
1 Nome de usuário de uma 32 caracteres
2 Senha (senhas shadow)
3 UID (Identificaçao do usuário entre 0-65535)
4 GID (ID do grupo) (Primário)
5 Comentários - informações extras sobre o usuário, exemplo: nome completo, telefone, etc. Também conhecido com campo GECOS.
6 Diretório home (padrão)
7 Shell padrão

Gerenciamento de Pacotes com Aptitude - Linux Debian

 Aula

Gerenciamento de Pacotes com Aptitude - Linux Debian

aptitude


aptitude update- Atualiza a lista de pacotes
aptitude safe-upgrade - atualiza os pacotes 
aptitude install + pacote - Instala pacote
aptitude remove + pacote - Remove pacote
aptitude purge + pacote - Purga o pacote
aptitude search + pacote - Procura pelo pacote
aptitude show + pacote - Mostra se está instalado
aptitude enter - Roda aptitude interativamente, f10 para acessar menu
aptitude - v (N) moo Easter Egg (repita v N vezes) 
Letra q volta ao menu anterior

o que quer dizer apt?
advanced packaging tool

Curso de Linux Básico / Certificação LPIC - 1

 

Aulas que assisti em 14/12/2021

00:36 às 04:00

1 Por que é importante aprender Linux 18:52

2 Criar Máquina Virtual para Linux Debian

3 Instalação do Linux Debian

4 Instalação do Linux CentOS 6.3

5 Comando ls - Listar conteúdo de diretórios no Linux

6 Permissões de acesso a arquivos e pastas pelo terminal Linux

7 Comando chmod - Alterar permissões pelo terminal - Linux

8 Comandos chgrp e chown - Alterar proprietário e grupo dos arquivos no Linux

9 APT - Gerenciamento de Pacotes pela linha de comandos no Linux Debian

10 apt-cache - Manipular e obter informações sobre os pacotes no cache do apt - Linux

11 Gerenciamento de Bibliotecas compartilhadas no Linux (ldd, ldconfig, ld.so)

12 Variáveis de Ambiente no Linux e comandos echo, env e export

13 Instalar novo Kernel no sistema - Linux Debian

14 Atualizar distribuição Debian 6 para 7.0 (wheezy) via Terminal (Shell)

15 Instalação do MySQL no Linux Debian via Shell

16 Gerenciamento de Pacotes com Aptitude - Linux Debian

17 Inicialização, init, runlevels, init.d, inittab e telinit - Linux Debian

18 Comandos Básicos Linux 01 - bash, ls, cd, pwd, encadeamento, clear

19 Comandos Básicos Linux 02 - touch, cut, timestamp

20 Comandos Básicos Linux 03 - head, sort (classificar), combinação de comandos

21 Comandos Básicos Linux 04 - split (dividir arquivos) e cat (concatenação)

22 Comandos Básicos Linux 05 - tail, tac e wc

23 Comandos Básicos Linux 06 - uniq (eliminar linhas repetidas adjacentes)

24 Comandos Básicos Linux 07 - cp (copiar arquivos) e rm (remover arquivos)

25 Comandos Básicos Linux 08 - mv (mover arquivos), cp e rm (outras opções)

26 Comandos Básicos Linux 09 - mkdir, rmdir, rm -r - Manipulação de diretórios

27 Como criar array RAID por software no Linux - Comando mdadm

28 RAID por software no Linux 02 - Simular falhas, reparar e destruir array