Você está na página 1de 10

102.

1 Design do Layout do HD Peso: 2

Particionamento: Dividir um disco em partes, cada uma destas partes é uma partição.

Disco: sda

Partições: sda1, sda2, sda3

Ponto de montagem: É o diretório associado a aquela partição.

No mínimo há duas partições, a / e swap.

Vantagens:

> Controle do espaço em disco:

Se uma das partições lotar não irá afetar a outra. Exemplo se arquivos de logs
que ficam no /var lotarem i espaço não irá afetar no / onde fica a aplicação.

> Diferentes tipos de Filesystem para cada partição.

> Proteção contra erros de disco:

Se tiver um erro físico no disco, dependendo do erro pode impactar apenas a


partição no qual se encontra o setor defeituoso.

> Diferentes níveis de segurança:

Pode definir níveis de segurança diferentes, exemplo uma partição ser apenas
de leitura.

> Backup facilitado, backups são mais facilmente realizados por partições.

Sistemas de particionamento:

São modelos de formas de fazer particionamento do disco.

Padrão: MBR – é limitado há no máximo 2TB por partição

GPT – GUID Partition Table

Utilizado quando necessita partições maiores que 2TB

Sistemas com EFI (substituto do boot) já utilizam GPT

Particionamento MBR

Tipos de partição:

> Primária

> Extendida: Contém as partições lógicas

> Lógica: podem ter inúmeras partições logicas

Podem ter no máximo 4 partições primárias ou 3 primárias e 1 extendida.


Importantes:

Partições primárias são numeradas do 1 ao 4 (Ex: sda1, sda3, sda4)

Partições lógicas do 5 em diante (Ex: sda5, sda6, sda7) sempre em ordem

A partição / é a primeira montada.

fdisk -l (Comando para gerenciar as partições, -l lista as partições)

Ao menos 2 partições devem ser criadas, / e swap.

Swap = área no disco utilizado como RAM, quando a memória RAM está em
alto uso (Informações em /proc/swap).

Tamanho recomendado da área de swap é duas vezes maior que a memória


RAM.

Código das partições:

0x83 – Partição Linux

0x82 – Partição de swap

Partições Comuns:

/home - dados dos usuários

/var – arquivos de logs e temporários

/tmp - arquivos temporários

/boot - diretório que contém os arquivos do kernel, initrd... (Quando


era usado o lilo, uma limitação existia onde o gerenciador de boot so
conseguiria acessar esses dados se eles estivessem alocados antes do
cilindro 1024 do disco, se estivesse depois nao conseguiria localizar o
boot)

/usr - arquivos de aplicação geralmente são instaladas aqui.

Partições que NÃO podem ser montados fora do /

/etc - depois de montar o (/) ele irá acessar o /etc que possui os dados
que ele utiliza pra montar as outras particoes

/bin - os comandos e scripts utilizados no Linux ficam neste diretório,


se estiver fora do (/) ele nao consegue fazer a sequência de montagem
do disco.

/sbin - os comandos e scripts utilizados no linux ficam neste diretório,


se estiver fora do (/) ele nao consegue fazer a sequência de montagem
do disco.

/dev

/proc

/sys
LVM – método para gerenciar o espaço em discos de maneira mais lógica.

> Mapeia as partições físicas associando a um item lógico.

> Agrupa estas partições físicas em um grupo.

> A partir deste grupo monta-se as partições lógicas.

> Dentro destas partições lógicas que se faz a montagem e associação a um


diretório.

Vantagem:

Facilita o redimensionamento do sistema. Como tudo é lógico posso


tirar espaço de um e alocar em outro de maneira mais fácil.

102.2 Instalação do Boot Manager Peso: 2

Grub Legacy

/boot/grub/menu.lst

Referência ao disco:

hda1 = hd0,0

hda3= hd0,4

hdb3 = hd1,2

Comandos:

grub-install /dev/sda (Instala o grub na MBR)

Principais parâmetros:

Parâmetros gerais:

Default= 0 (Qual grub/kernel será iniciado)

Timeout= 15 (Quanto tempo vai esperar antes de bootar sozinho)

Parâmetros de cada kernel:

title “Ubuntu”
root(hd0,0)
kernel /boot/vmlinuz-4-8-generic
mem=4096M
initrd /boot/initrd-4-8
Grub 2 - Novo grub, estrutura nova, padrão diferente.

/boot/grub/grub.cfg – Gerado a partir do que for definido nos dois arquivos abaixo

Usuário configura os dois arquivos abaixo:

/etc/default/grub – Opções gerais do grub

/etc/grub.d/ - Diretório de arquivos de configuração que definem as opções de boot

Referência ao disco:

hda1 = hd0,1 ou hd0,msdos1

hda3= hd0,3

hdb3 = hd1,3

Comandos:

grub-install <partição>

update-grub ou grub-mkconfig -o (Gera o grub.cfg a partir dos dois arquivos


configurados pelo user)

update-grub --version (mostra versão grub sendo utilizado)

Principais parâmetros:

Parâmetros gerais:

GRUB_DEFAULT=0

GRUB_TIMEOUT=15

Parâmetros de cada kernel:

menuentry “Ubuntu”{
set root=(hd0,1)
linux /boot/vmlinuz-4-8-generic
mem=4096M
initrd /boot/initrd-4-8
}

102.3 Gerenciamento de Bibliotecas Compartilhadas Peso: 1

Biblioteca compartilhada – código que está fora da aplicação, disponível através de uma
biblioteca. Será incorporado a aplicação.

ld.so (programa do Linux que mapeia as bibliotecas e vincula aos programas)

ldd /usr/bin/vi (ldd mostra quais bibliotecas o comando está utilizando)

/lib e /usr/lib (Principais diretórios que contém as bibliotecas)

/etc/ld.so.cache (local onde estão mapeadas todas as bibliotecas que podem ser utilizadas)

/etc/ld.so.conf (arquivo de configuração onde posso indicar novas bibliotecas)


/etc/ld.so.conf.d (diretório com arquivos que indicam novas bibliotecas a serem mapeadas)

ldconfig – Comando para gerar um novo ld.so.cache

ldconfig -p (p = mostra todas as bibliotecas que estão mapeadas)

***Para incluir uma nova biblioteca, basta alterar o arquivo ld.so.conf adicionando o caminho
da nova biblioteca e depois rodar um ldconfig.

LD_LIBRARY_PATH = variável de ambiente que é considerada como fonte de biblioteca,


apenas naquela seção. Utilizado quando o user não tem privilégio root para alterar os
arquivos.

102.4 Gerenciamento de Pacotes Debian Peso: 3

* Cada sistema deve usar um sistema de gerenciamento único, para não haver inconsistências.

* O gerenciador cria uma base interna conforme é incluído e removido pacotes, relacionando
todos os pacotes, seus arquivos e dependências.

* Um pacote é um conjunto de arquivos relacionados a uma aplicação: executáveis, cfgs,


bibliotecas, manuais etc.

Gerenciamento de pacotes Debian:

Comandos:

dpkg -l (Lista os pacotes instalados)

dpkg -l bash (Lista informações do pacote bash)

dpkg --get-selections (Lista os pacotes instalados)

dpkg -I <pacote.deb> (Mostra informações do pacote)

dpkg --contents <pacote.deb> (Mostra todos os arquivos do pacote)

dpkg -i <pacote.deb> (Instalar o pacote)

dpkg -L <nome_pacote> (Lista todos os arquivos instalados deste pacote)

dpkg -s <nome_pacote> (Mostra status do pacote)

dpkg -S /usr/share/menu/ksh (Mostra o pacote origem (Source) deste arquivo)

dpkg -r <nome_pacote> (Remove pacote, mas mantém referência ao pacote na base)

dpkg -P <nome_pacote> ou dpkg --purge <nome_pacote> (remove qualquer


referencias ao pacote)
Utilizando apt-get

Utiliza repositórios para encontrar o pacote que se deseja instalar.

apt-cache = utilizado para ler e exibir informações da base de dados.

apt-get = utilizado para instalar os pacotes buscando em uma fonte e remover.

/etc/apt/source.list = arquivo que contém as fontes para download dos pacotes

/etc/apt/sources.list.d/

Comandos:

apt-cache pkgnames (Lista os pacotes instalados)

apt-cache show vim (Mostra informações sobre o pacote)

apt-cache depends vim (Mostra todos os pacotes que o vim depende)

apt-get update (Atualiza sua base de dados, as fontes de download)

apt-get upgrade (Faz download e instala as versões mais atualizadas de todos seus
pacotes instalados)

apt-get dist-upgrade (Mais inteligente, verifica se a versão mais nova pode gerar
conflito)

apt-get install <nome_pacote> (Instala o pacote e suas dependências)

apt-get remove <nome_pacote> (Remove o pacote)

apt-get purge <nome_pacote> (Remove o pacote e toda referência a ele)

apt-get check (Checa se a base de dados está ok)

apt-get clean (Limpeza da base de dados, remove algum arquivo temporário)

apt-get install --download-only <nome_pacote> (Apenas baixa o pacote sem instalar)

Demais comandos:

dpkg-reconfigure (Utilizado em pacotes que tenham opções de configuração pelo


usuário, selecionar teclado, timezone, linguagem etc)

dselect (Interface de menu de opções do apt-get)

aptitude (Também uma interface de menu p/ instalar, remover e atualizar pacotes.


Também pode ser executado por linha de comando semelhante ao apt-get)

alien (utilizado para converter pacotes de um formato para outro, ex .deb para .rpm)

alien -r <pacote.deb>

Utilizando apt (Reúne as opções mais utilizadas do apt-get e apt-cache)

apt list <nome_pacote> (Exibe pacotes disponíveis p/ baixar com este nome)
apt search <nome_pacote> (Busca os pacotes pela descrição, útil quando não sabe o
nome do pacote)

apt show <nome_pacote> (Mostra informações sobre o pacote)

102.5 Gerenciamento de Pacotes RPM e YUM Peso: 3

RPM trabalha em 3 modos, cada uma com subopções:

Modo de consulta

rpm -qa (Mostra todos os pacotes instalado na máquina)

rpm -qa bash (Mostra informações do pacote bash)

rpm -qi bash (Mostra informações sobre a instalação do bash)

rpm -ql bash (Lista os arquivos que pertencem a esta instalação)

rpm -qc bash (Lista apenas os arquivos de configuração)

rpm -qd bash (Lista apenas os arquivos de documentação)

rpm -qf <nome_arquivo> (Mostra o pacote origem deste arquivo)

rpm -qlp <pacote.rpm> (Mostra os arquivos dentro deste pacote)

rpm -qip <pacote.rpm> (Mostra as informações sobre este pacote)

Modo de instalação

rpm -i <pacote.rpm> (Instala o pacote)

rpm -U <pacote.rpm> (Faz update deste programa se já tiver instalado)

rpm -ivh --nodeps <pacote.rpm> (v=verbose; h = mostrar o progresso da instalação;


--nodeps = ignorar dependencias)

rpm -ivh --force <pacote.rpm> (Caso já exista algum arquivo ele sobreescreve)

rpm -ivh --test <pacote.rpm> (Irá testar a instalação do pacote)

Modo de remoção

rpm -e <nome_pacote> (Remove o pacote)

rpm -evh <nome_pacote> (v=verbose; h = mostrar o progresso da instalação)

rpm -evh --nodeps <nome_pacote> (Remove mesmo se outro pacote for dependente
dele)

Verificação:

rpm -V <nome_pacote> (Verifica a consistência do pacote instalado)


rpm --checksig <pacote.rpm> (Verifica a integridade do pacote, pelo hash)

Extrair o conteúdo do pacote

rmp2cpio pacote.rpm > destino.cpio (Converte o pacote rpm para cpio)

cpio -i < destino.cpio (Extrai o arquivo cpio)

Utilizando YUM

/etc/yum.conf (Arquivo de configuração)

/etc/yum.repos.d/ (Diretório das fontes para download)

Comandos:

yum install <nome_pacote> (Instalar um pacote e suas dependências)

yum update (Atualiza todos os pacotes instalados na máquina)

yum upgrade (Além de atualizar ele exclui pacotes que não estão em uso)

yum check-update (Checa todos os pacotes e mostra os desatualizados)

yum list (Lista todos os pacotes instalados na máquina)

yum search <nome_pacote> (Busca na base todos os pacotes disponíveis com


este nome)

yum remove <nome_pacote> ou yum erase <nome_pacote> (Remover


pacote)

yum install --downloadonly <nome_pacote> (Apenas baixa o pacote)

yum install --downloadonly –downloaddir=/tmp <nome_pacote> (Definindo


onde será salvo o arquivo)

yumdownloader <nome_pacote> (Outro método para apenas baixar)

Utilizando DNF

Nova solução baseada no yum. Utilizado no Fedora. Melhorar o desempenho e


resolver problemas de dependências.

Comando iguais aos do YUM.

Utilizando zypper

É utilizado nas distribuições Open Suse e suse. Também trabalha com os pacotes rpm.

Comandos:

zypper refresh (Atualiza as fontes de download)

zypper install / remove / update <nome_pacote>

/etc/zypp/repos.d/ (Diretório dos repositórios de download)


addrepo / removerepo (Comandos para adicionar/remover novos repos.)

102.6 Linux e Máquinas Virtuais Peso: 1

Máquina Virtual – Cria uma máquina inteira real.

Container – Existe um gerenciador de containers, mais utilizado o Docker. Cria containers com
aplicações especificas e suas bibliotecas. O gerenciador utiliza os recursos do kernel e infra do
host.

Guest/Device drivers – Conjunto de bibliotecas/drivers para melhor a performance e


usabilidade das maquinas virtuais.

Guest Additions (Virtual Box)

VMware Tools (VMware)

Virtualização completa (HVM)

Utiliza uma réplica do hardware virtualizado. O S.O. não sabe que é uma VM.

Não requer modificar o S.O. e requer suporte da CPU.

Paravirtualização (PV)

Requer modificação do S.O. (o S.O. sabe que é uma VM)

Utiliza os recursos do hardware através do hypervisor. Não requer suporte da CPU.

Usa paravirtual drivers.

Imagens (Containers)

Definição do que será o container após ser inicializado.

Pode ser um SO, um software, bibliotecas etc.


Pode ser utilizado uma imagem pronta, dos repositórios, ou criar uma nova.

Cloud init – Ferramenta para customizar uma imagem.

Configurado através de um conjunto de instruções - cloud-config

D-BUS Machine ID

Usado para identificar o container ou a máquina virtual de maneira única.

/etc/machine-id Local onde fica armazenado esta informação

systemd-machine-id-setup --print Comando para gerar o ID

Você também pode gostar