Serviços de Redes - · PDF fileO Linux, da mesma forma que o Windows e o Mac OS,...

Preview:

Citation preview

LINUXAlberto Felipe Friderichs Barros

O Linux, da mesma forma que o Windows e o Mac OS, é um sistemaoperacional baseado em Unix criado para desktops, mas que também éusado em servidores, smartphones e outros tipos de dispositivos, incluindocaixas bancários.

Introdução

Sistema operacional ou S.O é um programa ou um conjunto deprogramas cuja função é gerenciar os recursos do sistemafornecendo de interface entre o computador e o usuário.

S.O

Criado pela Microsoft, fundada por Bill Gates e Paul Allen em 1981. OWindows é um sistema operacional comercial mais utilizado emcomputadores pessoais no mundo.

Windows

Versões

Em média a cada 3 anos, a Microsoft lança uma nova versão doWindows e a cada ano um pack de correções.

Criado por Linus Torvalds em 1991, inspirado no sistema minix, Oseu código fonte é aberto e está disponível para que qualquer pessoapossa utilizar, estudar, modificar e distribuir livremente.

Linux

Distribuições

Pacotes de softwares combinados para um fim específico. Ex: Debian,Ubuntu e Kali.

O Linux não foi desenvolvido para fins comerciais e seu software edesenvolvimento são feitos em código aberto, está disponível sob a licençaGPL para que qualquer pessoa o possa utilizar, estudar, modificar e distribuirlivremente de acordo com os termos da licença.

Linux

0. A liberdade de executar o programa, para qualquer propósito (liberdade nº 0)

GPL - Liberdades

1. A liberdade de estudar como o programa funciona e adaptá-lo às suasnecessidades (liberdade nº 1). O acesso ao código-fonte é um pré-requisitopara esta liberdade.

GPL - Liberdades

2. A liberdade de redistribuir cópias de modo que você possa ajudar ao seupróximo (liberdade nº 2).

GPL - Liberdades

3. A liberdade de aperfeiçoar o programa e liberar os seus aperfeiçoamentos,de modo que toda a comunidade beneficie deles (liberdade nº 3). O acesso aocódigo-fonte é um pré-requisito para esta liberdade.

GPL - Liberdades

Linux é o núcleo do sistema operacional, O kernel é o coração do sistema.Os principais programas responsáveis por interagir com o kernel foramcriados pela fundação GNU. Por este motivo é mais correto nosreferenciarmos ao sistema operacional como GNU/Linux ao invés de apenasLinux.

GNU/Linux

O Linux foi criado em 1991 por Linus Torvalds na universidade de Helsinki

na Finlândia. Baseado no Minix, derivado do Unix é um Sistema

Operacional de código aberto distribuído gratuitamente pela Internet. Seu

código fonte é liberado como software livre, sob licença GPL.

Origem

O sistema segue o padrão POSIX que é o mesmo usado por sistemas UNIX

e suas variantes. Assim, aprendendo o Linux você não encontrará muita

dificuldade em operar um sistema do tipo UNIX, FreeBSD, Minix, etc.,

bastando apenas aprender alguns detalhes encontrados em cada sistema.

Origem

UNIX foi originalmente um sistema operacional desenvolvido na AT & T Bell

Labs na década de 70. Ele foi modificado e essas modificações serviram de

base para outros sistemas de tal forma que no momento existem muitas

variantes diferentes do UNIX. No entanto, o UNIX é agora uma marca

registrada de um consórcio industrial chamado Open Group. Somente o

software que foi certificado pelo Open Group pode se chamar UNIX. Apesar

de adotar todos os requisitos da especificação UNIX, o Linux não foi

certificado, então Linux realmente não é UNIX! É apenas UNIX-like.

Unix

Para rodar o Linux você precisa, no mínimo, de um computador 386 SX com

2 MB de memória (para um kernel até a série 2.2.x) e100MB disponíveis em

seu disco rígido para uma instalação básica e funcional.

GNU/Linux

Outro ponto em que ele se destaca é o suporte que oferece a placas, CD-

ROM e outros tipos de dispositivos de última geração e mais antigos (a

maioria deles já ultrapassados e sendo completamente suportados pelo

sistema operacional). Este é um ponto forte para empresas que desejam

manter seus micros em funcionamento e pretendem investir em avanços

tecnológicos com as máquinas que possui.

GNU/Linux

O suporte ao sistema também se destaca como sendo o mais eficiente e

rápido do que qualquer programa comercial disponível no mercado. Existem

centenas de consultores especializados espalhados ao redor do mundo.

Você pode se inscrever em uma lista de discussão e relatar sua dúvida ou

alguma falha, e sua mensagem será vista por centenas de usuários na

Internet e algum irá te ajudar ou avisará as pessoas responsáveis sobre a

falha encontrada para devida correção.

GNU/Linux

• É livre e desenvolvido voluntariamente por programadores experientes,

hackers, e contribuidores espalhados ao redor do mundo;

• Recebe apoio de grandes empresas como IBM, Sun e HP;

• Convivem sem nenhum tipo de conflito com outros sistemas operacionais

no mesmo computador;

• Multitarefa;

• Multiusuário;

Características

• Multiplataforma;

• Modularização - O Linux somente carrega para a memória o que é usado

durante o processamento, liberando totalmente a memória assim que o

programa/dispositivo é finalizado.

• Não há a necessidade de se reiniciar o sistema após a modificar a

configuração de qualquer periférico ou parâmetros de rede.

• Rede TCP/IP mais rápida que no Windows.

• Acessa corretamente discos formatados pelo DOS, Windows, Novell,

NTFS, etc.

Características

• O Linux não é vulnerável a vírus.

• Suporte a diversos dispositivos e periféricos disponíveis no mercado,

tanto os novos como obsoletos.

• O melhor servidor Web do mercado, o Apache, é distribuído gratuitamente

junto com a maioria das distribuições Linux.

• Os sistemas de arquivos usados pelo Linux (Ext3, Ext3, reiserfs, xfs)

organiza os arquivos de forma inteligente evitando a fragmentação

Características

Nos primeiros anos de existência do Linux, Linus Torvalds simplesmente

disponibilizava o kernel e alguns comandos bem básicos. O usuário tinha

que arranjar todos os demais programas, compilá-los, configurá-los, etc.

Kernel

1) Para o carro movimentar-se ele precisa de um motor;

1) Para o microcomputador funcionar, ele precisa se um programa básico,um software chamado de sistema operacional;

KERNEL

2) Existem vários tipos de motores: motores para carro de corrida, para carrode passeio, etc;

2) Existem vários tipos de sistemas operacionais: Linux, Windows, UNIX, etc;

KERNEL

KERNEL

3) Mesmo para um mesmo fabricante de motor, existem vários modelos para o

mesmo fim, por exemplo: motor 1.0, motor 1, etc.

3) Existe um Linux para cada tipo de computador: main-frame, PC, Macintosh,

Servidor.

4) Quando aprendemos a dirigir um carro de passeio, aprendemos ofuncionamento básico: direção, pedais para acelerar, trocar de marcha, frear.Ou seja, não atuamos diretamente no motor, mas através de comandos parafazê-lo funcionar.

4) Quando usamos Linux, temos um outro software que faz a mediação entreo kernel e o usuário, chama-se shell. Existem vários shells: csh, bsh, bash.Mas o importante é que são os mesmos, independente do kernel afinal ospedais e direção são sempre iguais seja em um motor 1.0 ou 1.6.

KERNEL

5) Para alguns acessórios funcionarem em um carro, devemos adequar omotor ou algum componente dele para que isto aconteça, por exemplo: umar-condicionado exigirá uma bateria com maior amperagem.

5) Para que o Linux funcione perfeitamente, em alguns casos é necessárioinstalarmos algum módulo específico, entenda módulo com um programapreparado para uma finalidade específica e que não é comum a todos osequipamentos, por exemplo: um módulo para a placa de rede de nossomicrocomputador.

KERNEL

O kernel do sistema operacional é como um controlador de tráfego aéreo

em um aeroporto. O kernel dita qual programa obtém que pedaços de

memória, ele inicia e finaliza os programas, define prioridade de

execução, etc.

Kernel

O Kernel gerencia a memória, pois um computador terá um pequeno

número de CPUs e uma quantidade finita de memória. kernel cuida de

descarregar uma tarefa e carregar uma nova tarefa se houver mais

tarefas do que CPUs.

Kernel

Como um controlador de tráfego aéreo, o kernel não é útil sem algo para

controlar. Se o kernel é a torre, as aplicações são os aviões. Os

aplicativos fazem solicitações ao kernel e recebem recursos, como

memória, CPU e disco.

Aplicações

O kernel também abstrai os detalhes complicados de hardware. Por

exemplo o aplicativo não sabe se um bloco de disco está em uma

unidade de disco ou num compartilhamento de arquivo de rede. As

aplicações apenas seguem a Interface de Programação de Aplicação

(API) do kernel e, em contrapartida, não têm de se preocupar com os

detalhes da implementação.

Aplicações

O Linux começou como algo que só funcionaria em um computador

como o 386 com um controlador de disco rígido específico. A gama de

suporte cresceu, como as pessoas construíram suporte para outros

hardwares.

Plataforma

Os tipos de hardware cresceram, dos chips Intel aos supercomputadores.

Mais tarde, os chips de menor tamanho, compatíveis com Linux, foram

desenvolvidos para caber em dispositivos de consumo, chamados de

dispositivos embutidos.

Plataforma

Eventualmente, telefones celulares e tablets começaram a rodar o Linux.

Uma empresa, mais tarde comprada pela Google, desenvolveu a

plataforma Android, que é um pacote de Linux e o software necessário

para executar um telefone ou tablet.

Plataforma

Além de telefones e tablets, o Linux pode ser encontrado em muitos

dispositivos de consumo. Os roteadores sem fio geralmente executam o

Linux porque ele tem um rico conjunto de recursos de rede.

Plataforma

Só o kernel GNU/Linux não é suficiente para se ter uma sistema

funcional, mas é o principal. Existem grupos de pessoas, empresas e

organizações que decidem “distribuir” o Linux junto com outros

programas essenciais, como por exemplo: editores gráficos, planilhas,

bancos de dados, ambientes de programação, formatação de

documentos, firewalls, etc. Este é o significado básico de distribuição.

Distros

Pegue o Linux e as ferramentas GNU, adicione mais aplicativos voltados para

o usuário, como um cliente de e-mail, e você tem um sistema Linux completo.

As pessoas começaram a empacotar todo esse software e assim surgiu a

distribuição.

Distros

Distribuição Linux é um Sistema Operacional Unix-Like incluindo o kernel

Linux e outros softwares de aplicação, formando um conjunto. Distribuições

(ou “distros”) mantidas por organizações comerciais, como a Red Hat,

Ubuntu, SUSE, bem como projetos comunitários como Debian e Gentoo

que montam e testam seus conjuntos de software antes de disponibilizá-los

ao público.

Distros

A distribuição cuida de configurar o armazenamento, instalar o kernel e

instalar o resto do software. As distribuições também incluem

ferramentas para gerenciar o sistema e um gerenciador de pacotes para

ajudá-lo a adicionar e remover software.

Distros

Como o Linux e a maior parte dos softwares incluídos em distribuições são

livres, qualquer organização ou indivíduo suficientemente motivado podem

criar e disponibilizar a sua própria distribuição. Isso faz com que hoje haja

registro de mais de 300 distribuições, embora menos de 10 delas sejam

mesmo largamente conhecidas.

Distros

Qual é a melhor distribuição Linux?

• Software Livre;

• Segurança;

• Suporte;

• Livre de vírus;

• Estável;

• Customizável;

• Multiplataforma.

Vantagens

• Jogos;

• Incompatibilidade com programas Windows;

• Ausência de alguns drives;

• Complexidade em algumas distribuições.

Desvantagens

• Unity

• Cinnamon

• Gnome

• KDE

• LXDE

• Mate

• XFCE

Interfaces

Os chamados Live-CDs, são CDs que contém uma distribuição GNU/Linuxque não precisa ser instalada no HD do usuário, uma vez que o sistemaoperacional roda diretamente a partir do CD.

Live-CDs

Grupo de pessoas que colaboram para que a distribuição cresça, finalidades:

• Divulgação;

• Resoluções de bugs;

• Suporte;

• Traduções;

• Doações;

• Desenvolvimento.

Comunidades

Virtualização é a simulação de uma plataforma de hardware, sistemaoperacional, dispositivo de armazenamento ou recursos de rede.

• Reduz custos;

• Diminui a complexidade do ambiente;

• Facilita o suporte;

• Reduz consumo de energia.

Virtualização

Virtualização

Para o usuário, um sistema de arquivos é uma hierarquia de diretórios earquivos. Para o sistema operacional, um sistema de arquivos é umaestrutura criada em uma partição de disco constituída por tabelas quedefinem as localizações de diretórios e arquivos.

Sistemas de Arquivos

Um sistema de arquivos é um conjunto de estruturas lógicas que permite osistema operacional controlar o acesso a um dispositivo de armazenamentocomo disco rígido, pen drive, CD-ROM, etc. Diferentes sistemasoperacionais podem usar diferentes sistemas de arquivos. Atualmente, oNTFS é o sistema de arquivos padrão do Windows, enquanto o ext4 é o doLinux.

Sistemas de Arquivos

Sistema operacional Tipos de sistema de arquivos suportados

Dos FAT16

Windows 95 FAT16

Windows 98 FAT16, FAT32

Windows 2000/XP FAT, FAT16, FAT32, NTFS

Windows 7 e posterior NTFS

Linux Ext2, Ext3, ReiserFS, Linux Swap (FAT16, FAT32, NTFS)

MacOS HFS (Hierarchical File System), MFS (Macintosh File System)

Tipos

Exercícios

1 – Crie uma máquina virtual e instale o sistema operacional Linux Debian, utilize

LVM e crie as seguintes partições: /, /home, /etc, e swap.

No Linux, um diretório (corresponde ao conceito de pasta do Windows) podeter outros diretórios ou arquivos. Dizemos que um diretório é filho de outrodiretório quando ele está logo abaixo do diretório em questão. O diretórioque está um nível acima é chamado de diretório pai.

Sistemas de Arquivos

bin - diretório com os comandos disponíveis para os usuários comuns.

boot - diretório com os arquivos do boot de inicialização.

dev - diretório com as definições dos dispositivos de entrada/saída.

etc - diretório com os arquivos de configuração do sistema.

home - diretório que armazena os diretórios dos usuários do sistema.

lib - diretório com as bibliotecas e módulos do sistema.

mnt - diretório usado para montagem de partições.

Sistemas de Arquivos

proc - diretório com informações sobre os processos do sistema.

root - diretório home do root.

sbin - diretório com os aplicativos usados na administração do sistema.

tmp - diretório com arquivos temporários.

usr - diretório com aplicativos e arquivos utilizados pelos usuários

var - diretório com arquivos de dados variáveis (spool, logs, etc).

Sistemas de Arquivos

O Linux é case sensitive, ou seja, ele diferencia letras maiúsculas e

minúsculas. Em um mesmo diretório, não podem existir dois arquivos com o

mesmo nome ou um arquivo com mesmo nome de um subdiretório. Os

diretórios no Linux são especificados por uma "/".

Sistemas de Arquivos

/HOME /home

Para usar o Linux é preciso que o usuário digite seu nome e sua senha,

login. No UNIX um arquivo de senha é usado para guardar informações

possuindo uma linha para cada usuário no diretório /etc/passwd

Login

Quando um terminal é acessado, uma informação aparece no campo deinserção de comandos. É importante saber interpretá-la. Para isso, veja osexemplos abaixo:

Exemplo 1: root@debian:~#

Exemplo 2: alberto@debian:~$

Login

Exemplo 1: root@debian:~#

Exemplo 2: alberto@debian:~$

Nos exemplos, a palavra existente antes do símbolo @ diz qual o nome dousuário que está usando o terminal. O caractere que aparece no final indicaqual o "poder" do usuário. Se o símbolo for #, significa que usuário temprivilégios de administrador (root). Por outro lado, se o símbolo for $,significa que este é um usuário comum, incapaz de acessar todos osrecursos que um administrador acessa.

Login

Um terminal virtual é uma segunda sessão de trabalho completamenteindependente de outras que pode ser acessado no computador local ouremotamente. No Linux, em modo texto, você pode acessar outros terminaisvirtuais segurando a tecla <ALT> e pressionando <F1> a <F6>.

Terminais Virtuais

Programa de software que, quando executado na linha de comando, executauma ação no computador. Quando você digita um comando, um processo éexecutado pelo sistema operacional que pode ler entrada, manipular dados eproduzir saída. Nesta perspectiva, um comando executa um processo nosistema operacional, que faz com que o computador execute um trabalho.

Comandos

Comando -opção /Pasta

Ls -a /home

● ls –help

● man ls

Opção de Ajuda

Desligando

halt: desliga o computador.

reboot: reinicia o sistema imediatamente.

shutdown -r now: reinicia o computador

shutdown -h now: desliga o computador

Obs: O parâmetro now pode ser mudado. Por exemplo: digite shutdown -r

+10 e o sistema irá reiniciar daqui a 10 minutos;

Auto-completar

Para facilitar a utilização do terminal, repare que as setas cima e baixo no

teclado podem ser utilizadas para navegar entre os últimos comandos

digitados; e, ao pressionar TAB duas vezes consecutivas, o terminal muitas

vezes pode lhe oferecer opções de como auto-completar nomes de

comandos e nomes de arquivos.

Exemplo: Cle [TAB] [TAB] = Clear

cal: exibe um calendário.

date: mostra a data e a hora atual.

clear: limpa a tela, apaga seu conteúdo.

history: mostra os últimos comandos digitados.

df: mostra as partições usadas.

free: mostra utilização de memória

top: mostra os processos em execução na memória.

Comandos de Verificação

cd: acessa uma determinada pasta .

mkdir: cria um diretório.

rm: remove um arquivo/diretório.

ls: lista todos os arquivos do diretório.

cat: abre um arquivo.

vi: abre o editor vi para editar/criar arquivos

Comandos de Manipulação

• Instalar aplicativos;

• Remover aplicações;

• Mantenha seus aplicativos atualizados;

• Resolve problemas de dependência;

• Recupera pacotes solicitados de repositórios.

APT

Para seu funcionamento, o APT utiliza-se de um arquivo que lista as fontes de ondeele obterá os pacotes. Esse arquivo é o /etc/apt/sources.list

APT

Há ferramentas GUI para deixá-lo usar o APT sem ter que tocar a linha de comandocomo por exemplo o APTITUDE, SYNAPTIC. No entanto o uso mais comum é pormeio da linha de comando: apt-get com as seguintes opções:

• update - Adquire novas listas de pacotes.

• upgrade - Faz uma atualização.

• install - Instala novos pacotes

• remove - Remove um pacote.

• upgrade - Atualiza a distribuição

APT

Utilize o apt via linha de comando para Instalar os seguintes serviços: ssh, apache edhcp server.

Exercício

Vim

Comandos de inserção de texto:

• i - insere texto antes da posição atual do cursor;

• a - insere o texto depois da posição atual do cursor;

• ESC - muda para o modo de visualização.

Vim

Comandos para alteração do texto:

• dw - deleta a palavra, da posição atual do cursor até o final;

• dd - deleta a linha atual, e copia o conteúdo para área de transferência;

• yy - copia 1 linha para a área de transferência;

• cc - apaga o conteúdo da linha, e copia para área de transferência;

• p - cola o conteúdo da área de transferência;

Vim

Comandos para salvar e sair:

• :wq - salvam o arquivo e saem do editor;

• :q - sair do editor;

• :q! - sair do editor sem salvar as alterações realizadas.

• :w nome_do_arquivo - salva o arquivo corrente com o nome especificado;