0% acharam este documento útil (0 voto)
2 visualizações13 páginas

Introdução ao GNU/Linux e Particionamento

Enviado por

josesegundo2666
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
2 visualizações13 páginas

Introdução ao GNU/Linux e Particionamento

Enviado por

josesegundo2666
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

História

Projeto GNU (GNU is Not Unix)


• Criado em 1984;
• Visava desenvolver um sistema operacional (só) completo, ao
estilo UNIX e com código aberto.

GNU/Linux Código Aberto


• É um software onde o código fonte é disponível publicamente.

GPL (General Public License)


• É a licença sob a qual a maioria dos softwares livres são
distribuídos.

Prof. Naylor Garcia Bachiega

Software Livre GNU/Linux

Software Livre refere-se a liberdade, não a • Linux é um sistema operacional completamente


gratuidade. livre.

• Liberdade de executar; • Linux não é um produto de uma empresa.


• Liberdade de estudar e adaptar;
• Mas há empresas e grupos de pessoas que
• Liberdade de redistribuir; e
contribuem para o seu desenvolvimento.
• Liberdade de aperfeiçoar.
• Existem várias distribuições do Linux.

Distribuições GNU/Linux Escolhendo uma distro

• Uma Distribuição é um “pacote” que


contém o núcleo do SO (Kernel),
aplicações diversas e ferramentas de
• Compatibilidade com hardware;
instalação. • Pacotes necessários para o objetivo;
• As distribuições mudam a cara e o • Documentação;
funcionamento do Linux. • Comunidade; e
• Existem opções de grandes sistemas • Atualizações de segurança.
(suportados e desenvolvido por
empresas) até pequenas distribuições
que cabem em um pendrive.

1
Vantagens Desvantagens do Windows

• Robustez e confiabilidade • Licenças;


• Preço • Falta de alternativas;
• Código aberto • Código proprietário; e
• Diversidade e compatibilidade • Cultura e controle.
• Segurança
• Rapidez
• Estabilidade

Instalação (VM)

Principais versões:

• Desktop
• Servidor
• Cloud

2
Particionamento MBR Partições Primárias

• Partição é um espaço do disco que se destina a receber • Este tipo de partição contém um sistema de arquivos.
um sistema de arquivos. Em um disco deve haver no mínimo uma e no máximo
quatro partições primárias. Se existirem quatro partições
• No Windows uma partição recebe como nome uma letra primárias, nenhuma outra partição poderá existir neste
C:, D:, E: disco. As partições primárias são nomeadas da seguinte
forma:
• No Linux elas são nomeadas com o nome do dispositivo
(HD) + o número da partição /dev/hda1
/dev/hda1, /dev/hda2, /dev/hdb1 /dev/hda2
/dev/hda3
• Existem 3 tipos de partições: /dev/hda4
Partição primária, Partição estendida e Partição lógica.

Partição Estendida Partições Lógicas


• No singular. Só pode haver uma partição estendida em
cada disco. Uma partição estendida é um tipo especial de • Residem dentro da partição estendida. Máximo de 12
partição primária que não pode conter um sistema de partições lógicas em um disco. As partições lógicas são
arquivos. Ao invés disso, ela contém partições lógicas. Se numeradas de 5 até 16. Em um disco contendo uma
existir uma partição estendida, ela toma o lugar de uma das partição primária e duas partições lógicas:
partições primárias, podendo haver apenas três.
/dev/hda1 (Primária)
• Se houver, por exemplo, três partições no disco, sendo /dev/hda5 (Lógica)
duas primárias e uma estendida, o esquema de nomes /dev/hda6 (Lógica)
ficará assim:
Note que, neste caso, não há uma partição nomeada como
/dev/hda1 (Primária) /dev/hda2, pois os numeros de 1 a 4 são reservados para
/dev/hda2 (Primária) partições primárias e para a partição estendida.
/dev/hda3 (Estendida)

3
Nomeação dos discos

HDs IDE são nomeados:

• IDE primária, master: /dev/hda


• IDE primária, slave: /dev/hdb
• IDE secundária, master: /dev/hdc
• IDE secundária, slave: /dev/hdd

Os HDs Serial ATA (SATA) são vistos pelo sistema da mesma


forma que HDs SCSI.

• /dev/sda
• /dev/sdb

Gerenciador de Boot
LILO e GRUB

4
Usuários e Grupos Adicionando e removendo aplicativos

Somente usuários registrados podem acessar o sistema. O Ubuntu possui o Ubuntu Software Center que facilita o
Os usuários podem ser agrupados por interesse ou processo de instalação e remoção.
classificação.

Acesse: Sistema >> Administração >> Usuários e grupos

Crie um novo usuário


Crie um novo grupo

Associe o usuário criado ao novo grupo

Pacote Office Edição de Imagem

Wine Alternar para o modo console


Permite que alguns programas win32 sejam emulados no
Linux.
Permite inciar um terminal no modo console.

Use o atalho de teclado Ctrl-Alt-F1 para mudar para o


primeiro console.

Para alternar de volta ao modo Desktop, use as teclas de


atalho Ctrl-Alt-F7 .

Nota: existem seis consoles disponíveis. Cada um é acessado


com as teclas de atalho Ctrl-Alt-F1 até Ctrl-Alt-F6.

5
Sistema de arquivos e diretórios Sistema de arquivos e diretórios
• Sistema hierárquico (árvore) Sob o diretório “/”:

A maioria das distribuições possui:


/bin - aplicativos binários (programas executáveis)
/boot - arquivos que são necessários para iniciar
/dev - os arquivos de dispositivos
/etc - arquivos de configuração, scripts de inicialização
/home - pasta pessoal do usuário local
/lib - bibliotecas do sistema
/lost+found - fornece um sistema de “achados e perdidos”
/media - mídia removível montada (carregada) tal como
CDs,
câmeras digitais, etc...

Sistema de arquivos e diretórios Segurança


Todo arquivo no Linux possui permissão de acesso.
/mnt - sistemas montados Há 3 níveis de segurança de acesso:
/opt - fornece um local para aplicativos opcionais serem
instalados − Leitura
/proc - diretório especial que mantém informação sobre o Arquivos e diretórios podem ser exibidos/abertos
estado do sistema, incluindo os processos atualmente − Escrita
executados Arquivos e diretórios podem ser editados ou apagados
/root - diretório home do usuário root − Execução
/sbin - binários (programas) importantes para o sistema Arquivos executáveis podem ser executados
/sys - contém informações sobre o sistema Diretórios podem ser acessados
/tmp - arquivos temporários
/usr - aplicativos e arquivos que são na maioria das vezes O super usuário root tem acesso a qualquer arquivo no
disponíveis ao acesso de todos usuários sistema.
/var - arquivos variáveis tal como logs e bancos de dados

Permissões de acesso Permissões de acesso

Cada arquivo/diretório tem definido seu nível de segurança


para 3 grupos:

- Usuário
Aplica-se ao usuário que é dono do arquivo
- Grupo
Aplica-se ao grupo que está associado ao aquivo
- Outros
Aplica-se a todos os outros usuários

chown: altera usuário e grupo do arquivo.


# chown naylor:root arquivo

6
Permissões de acesso Permissões de acesso
Chmod: altera as permissões de um arquivo/pasta.
O chmod também pode trabalhar com valores decimais de 0
# chmod u+w arquivo a 7.
→ acrescenta permissão de gravação para o dono.
0 : --- (nenhuma permissão)
# chmod u=g arquivo 1 : --x (somente execução)
→ faz com que as permissões do grupo sejam as mesmas do 2 : -w- (somente escrita)
dono. 3 : -wx (escrita e execução)
4 : r-- (somente leitura)
# chmod a-x arquivo 5 : r-x (leitura e execução)
→ remove a permissão de execução para todas as 6 : rw- (leitura e escrita)
categorias. 7 : rwx (leitura, escrita e execução)

# chmod g-x arquivo Ex: # chmod 744 [Link]


→ remove a permissão de execução do grupo.

Tarefas do Root Comandos básicos de terminal

• Configurações, instalações, remoção de programas e Abra o Terminal (também chamado de Shell ou bash)
outras tarefas administrativas são restritas a usuários com
privilégios especiais. Provavelmente em algum momento você irá usar o terminal
no Linux.
• O usuário root é o principal administrador do sistema.
O terminal lhe permite maior eficiência em algumas tarefas,
• Não acesse o sistema utilizando o usuário root. em relação ao ambiente gráfico.

• Tome cuidado quando estiver utilizando o root, Há alguns procedimentos especiais que só podem ser
procedimentos errados podem danificar o sistema. executados por comandos através do terminal.

Comandos para diretórios Comandos para arquivos

pwd – Mostra o caminho atual


ls – Lista os arquivos de um diretório
# ls -l
mkdir – Cria um diretório
# ls -la → lista arquivos com atributos
# mkdir nome_do_diretório
cd – Acessa um diretório
rmdir – Remove um diretório (vazio)
# cd Documentos
# rmdir nome_do_diretório
# cd ..
# cd / → retorna para a raíz
cat – Exibe o conteúdo do arquivo
# cd - → retorna ao diretório anterior
# cat [Link]

7
Comandos para arquivos Outros comandos utilizados

cp – Copia arquivo
# cp [Link] [Link] clear – Limpa a tela
# cp [Link] /home/maria/
date – Exibe data e hora do sistema
mv – Move arquivo
# mv [Link] /home/maria df – Mostra o espaço livre no disco
# mv [Link] [Link] # df -h

rm – Apaga arquivo find – Procura por arquivo ou diretório no disco


# rm [Link] # find /home/naylor -name [Link]
# rm *.txt
# rm foto???.jpg

Outros comandos utilizados Outros comandos utilizados


uptime – Mostra o tempo em que o sistema está ativo
free – Mostra detalhes da memória RAM do sistema (ligado)
whereis – localiza o comando que procura passwd – Muda a senha do usuário
# whereis grep
apt-get – instala pacotes automaticamente pelo terminal
grep – Busca por texto dentro de um arquivo #apt-get install PROGRAMA
# grep “teste” [Link]
# grep te* / rpm – instala um pacote .rpm
# egrep '(naylor|marcos)' * # rpm -ivh pacote
time – Mede o tempo gasto para executar um processo dpkg – instala um pacote .deb
# time grep “teste” [Link] # dpkg -i pacote

Comandos de reboot e shutdown Sudo e Sudoers

reboot – reinicialização rápida e suja. sudo – Executa um processo no modo de super usuário
(root), mas para isso é necessário que o usuário esteja
shutdown -r now – reinicialização segura. configurado no arquivo /etc/sudores.

shutdown -h – desliga o computador de maneira mais # sudo rm [Link]


segura, finalizando os processos.
sudo su – loga como superusuário
# shutdown -h 09:30 "O sistema vai desligar para
manutenção!" /etc/sudoers → permite dar permissões especiais aos
# shutdown -h +15 "O sistema vai desligar em 15 minutos." usuários

halt – uma maneira mais simples de desligar o sistema.

8
/etc/sudoers Montando partições

# Define alias para máquinas Ao colocar um CD ou um pendrive no computador o


Host_Alias FATEC = servidor1, servidor2 sistema precisa montar esse dispositivo.
Host_Alias PROF = srv_prof1, srv_prof2 - Essa ação é automática.

# Define a coleção de comandos O comando para montar um dispositivo é mount


Cmnd_Alias DUMP = /sbin/dump, /sbin/restore # mount /dev/sda /mnt/usb
Cmnd_Alias PRINTING = /usr/sbin/lpc, /usr/bin/lprm
# mount /dev/hdc /mnt/cdrom
Cmnd_Alias SHELLS = /bin/sh, /bin/bash, /bin/ash, /bin/bsh
Para desmontar utilize o comando umount
# Permissões
pazin, luciano FATEC = ALL, PROF = ALL
# umount /mnt/usb
naylor PROF = (ALL) ALL, !PRINTING # umount /mnt/cdrom
%professores ALL, !FATEC

Controlando Processos Controlando Processos


Sinais: são solicitações de interrupção em nível de processo.

PID: número de identificação de processo. • KILL → termina um processo em nível de sistema


operacional.
PPID: número PID do processo pai. • INT → é o sinal enviado pelo driver de terminal quando
digitamos <Control-C>.
UID: é o número de identificação do usuário que o criou. • TERM → é uma solicitação para terminar completamente a
operação.
GID: é o número de identificação do grupo de um processo. • HUP → é uma solicitação de reinicialização.
• QUIT → similar ao TERM exceto pelo fato de gerar uma
FORK: cria uma cópia do processo. descarga de memória.
• STOP → para a execução de um processo.
• CONT → continua a execução de um processo parado.

Controlando Processos Controlando Processos

Nice e renice: alterando prioridade dos processos.


Kill e Killall: enviando sinais.
O intervalo de valores permitidos vai de -20 a +19.
Kill envia qualquer sinal para o processo.
Um valor baixo ou negativo significa alta prioridade. Um valor
# kill [-sinal] pid alta ou positivo significa baixa prioridade.

# nice -5 PID

9
PS: monitorando processos PS: monitorando processos

# ps aux STAT
R → executável
D → em repouso
S → em repouso (<20seg)
T → parado
Z → zumbi

Flags adicionais:
W → processo sofre swap
< → processo com prioridade mais alta que o normal.
N → o processo tem prioridade mais baixa que o normal.
VSZ: tamanho virtual do processo.
s → o processo é um líder de sessão.
RSS: número de páginas na memória.

Adicionando novos usuários Adicionando novos usuários

/etc/passwd → lista de usuários reconhecidos pelo sistema:


# adduser usuário
usbmux:x:106:46:usbmux daemon,,,:/home/usbmux:/bin/false
# passwd usuário
/etc/shadow → senhas criptografadas dos usuários do sistema:
# deluser usuário
naylor:$6$3WhMF0$CVWeKyPVIx9cDm6yv0g0:15198:0:99999:7:::
# useradd -c “Naylor Garcia” -d /home/naylor -g naylor -G root
/etc/group → contém os nomes do grupos do sistema: -s /bin/sh

adm:x:4:naylor

CRON: agendando comandos CRON: agendando comandos

/etc/crontab
/etc/crontab
Formato do arquivo:
minuto hora dia mês diaDaSemana [nomeDoUsário] comando Formato do arquivo:
minuto hora dia mês diaDaSemana [nomeDoUsário] comando
25 6 * * * root /bin/rm -fr /var/log*
→ apaga o log todos os dias às 6:25. 25 6 * * * root /bin/rm -fr /var/log*
→ apaga o log todos os dias às 6:25.
55 23 * * 0-3,6 root/bin/rm -fr /var/log*
→ apaga o logo todos os dias às 23:55 exceto às quintas e sextas-feiras. 55 23 * * 0-3,6 root/bin/rm -fr /var/log*
→ apaga o logo todos os dias às 23:55 exceto às quintas e sextas-feiras.
Efetivando mudanças no arquivo /etc/crontab
# crontab /etc/crontab Efetivando mudanças no arquivo /etc/crontab

10
Parâmetros de Rede Tabela de Roteamento

ifconfig → lista e configura um ip no linux.

# ifconfig eth0 [Link] [Link]

# ifconfig eth0 [Link]/24

# ifconfig eth0:0 [Link]/24


netstat -r → lista a tabela de roteamento da máquina:

dhclient → solicita um IP por dhcp na rede. Destination: a rede de destino ou host de destino.
# dhclient eth0 Gateway: O endereço de gateway ou '*' se nenhuma estiver configurada.
Genmask: A máscara de rede para a rede de destino; '[Link]'
para uma host de destino e '[Link]' para a rota padrão.
Flags: U (route está ativo) – H (alvo é um host) – G (gateway)

Adicionando e removendo rotas Configuração de DNS

# route add -net [Link] netmask [Link] gw Para configurar uma máquina como cliente DNS basta editar o
[Link] eth1 arquivo /etc/[Link]

# route add default gw [Link] eth0

# route del -net [Link] netmask [Link] gw [Link]

Aceita até 6 domínios diferentes para consulta

NAT Gerenciamento e depuração de redes


Network Address Translation → é implementado através do iptables e tem
como finalidade a tradução de endereços IP e portas TCP da rede local PING: verificando se um host está funcionando.
para a Internet. # ping host

Habilitando o NAT TRACEROUTE: rastreando pacotes IP.


- ativar o encaminhamento de IP no kernel: # traceroute host
# echo 1 > /proc/sys/net/ipv4/ip_forward
NETSTAT: obtendo estatísticas de rede.
- inserir os módulos do kernel:
# /sbin/modprobe iptable_nat # netstat -a → monitorando o estado das conexões.
# /sbin/modprobe ip_conntrack # netstat -lp → identificando serviços de redes ouvintes.
# /sbin/modprobe ip_conntrack_ftp
TCPDUMP → analisando pacotes
# iptables -t nat -A POSTROUTING -o eth1 -j NAT –to [Link] # tcpdumo host fatec

11
Compilando um programa em C Shell Script

Abra um editor e escreva o seguinte programa:


1. #include <stdio.h>
2. int main() { #!/bin/bash
3. int i; echo 'Ola mundo'
4. for (i=0; i<5; i++)
5. printf(“Imprimindo linha %d\n”,i);
6. printf(“Programa finalizado.\n”);
7. }
Grave o arquivo com o nome teste.c $chmod u+x arquivo
Para compilar execute o seguinte comando no terminal:
# gcc teste.c -o teste
Para executar, basta fazer a chamada ao
arquivo: # ./teste

Shell Script Shell Script


variavel="Usuário logado: $user" -eq → Igual
echo $variavel -ne → Diferente
-gt → Maior
variavel="Diretório atual é o `pwd`" -lt → Menor
echo $variavel -o → Ou
-d → Se for um diretório
-e → Se existir
if [ $var ] -z → Se estiver vazio
then -f → Se conter texto
echo 'A variável $var existe.' -o → Se o usuário for o dono
else -r → Se o arquivo pode ser lido
echo 'A variável $var não existe.' -w → Se o arquivo pode ser alterado
fi -x → Se o arquivo pode ser executado

Shell Script Shell Script


case $var in
echo → Imprime texto na tela
parametro1) comando1 ; comando2 ;;
read → Captura dados do usuário e coloca em
parametro2) comando3 ; comando4 ;;
variável
*) echo "nenhum parâmentro" ;;
exit → Finaliza o script
esac
sleep → Dá uma pausa em segundos no script
clear → Limpa a tela
until [ $variavel = "valor" ]; do
if
comando1
case
comando2
for
done
while

12
Shell Script Shell Script
while [ $variavel = "valor" ]; do
comando1
function funcao() {
comando2
echo $1
done
echo $2
comando1
comando2
for numero in um dois três quatro cinco
...
do
}
echo "Contando: $numero"
done
funcao “naylor” 29

for passo in $(seq 10)

Shell Script - Exemplo


#!/bin/bash
contador=1
while true ; do
echo "valor de contador: $contador"
sleep 2
contador=$(($contador+1))
if [ $contador -gt 5 ]; then
echo "programa encerrado"
break
exit 1
fi
done

13

Você também pode gostar