fundamentos de sistema prof. ney kassiano ramos [email protected]

49
Fundamentos de Sistema Prof. Ney Kassiano Ramos [email protected]

Upload: internet

Post on 18-Apr-2015

107 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Fundamentos de Sistema

Prof. Ney Kassiano Ramos

[email protected]

Page 2: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Histórico

Sistema OperacionalConjunto de programas que

estabelece um interface entre o usuário e o computador.

KernelPeça do S.O. que isola os programas

executados do hardwareGerencia recursos disponíveis

(memória, processador, discos etc).

Page 3: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Histórico - Unix

S.O. desenvolvido no fim da década de 60 nos laboratórios Bell (AT&T) por Ken Thompson e Dennis Ritchie.

Muitas universidades americanas adotaram o Unix e o aprimoraram.

Dividido em duas partes: userland (programas e serviços) e o kernel.

Segue o padrão POSIX.

Page 4: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Histórico - Linux

Primeira versão oficial (0.02): 5 de Outubro de 1991.

Criado por Linus Torvalds, finlandês. Baseado no Minix (um Unix).

Page 5: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Histórico - Unix

Linus escreveu o kernel do sistema. Logo após vários softwares do projeto

GNU foram compilados para este. Distribuído sob a GPL desde o início.

Page 6: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Kernel do Linux

Versões com três números:Major version.Versão estável (par) ou instável

(ímpar).Número de série dentro da família.

Page 7: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Kernel do Linux

http://www.kernel.org Família 2.2 – Alan Cox. 2.4 – brasileiro Marcelo Tosatti. Responsável pela família 2.5 – Linus

Torvalds.

Page 8: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Movimento GNU e a Licença GPL GNU: criado em 1984 por Richard Stallman

do MIT. Visam garantir que o software seja livre.

Executar o software para qualquer propósito. Modificá-lo para se adaptar às suas

necessidades. Redistribuir cópias, gratuitamente ou não. Distribuir versões modificadas, para que a

comunidade se beneficie.

Page 9: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Movimento GNU e a Licença GPL

Organizado e custeado pela FSF (Free Software Foundation).

Conceito de copyleft: método de publicar o software de forma a garantir que ele continue livre, impedindo a transformação em código proprietário.

http://www.gnu.org

Page 10: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Movimento GNU e a Licença GPL

GPL (GNU Public License): elaborada com suporte de advogados para garantir os preceitos básicos.

Utiliza do copyright.

Page 11: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Movimento GNU e a Licença GPL

BSD: desenvolvido pela Universidade Berkeley, na Califórnia.

Distribuições hoje contêm tanto programas do GNU quanto do BSD.

Page 12: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Movimento Open Source

Objetivos muito semelhantes aos do movimento GNU, porém menos radical.

Mais tolerante a softwares comerciais.

Page 13: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Padronização

Linux Standard Base (LSB) Movimento de padronização do Linux. Vários distribuidores. Para estrutura de diretórios é adotado o FHS (File

Hierarchy Standard) 2.2. FHS

Padroniza a organização de diretórios e conteúdos. Permite predizer a localização dos arquivos em

qualquer distribuição. http://www.pathname.com/fhs http://www.linuxbase.org/spec

Page 14: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Distribuições

Page 15: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Distribuições

Qualquer pessoa pode criar uma distribuição, mais adequada a sua necessidade.

Existem milhares de distribuições disponíveis.

Diferenciais: ferramentas adicionais, instalação, gerenciamento.

Sistemas de pacotes criou linhagens de distros.

Page 16: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Distribuições - Conectiva

Principal da América Latina. Usa RPM (RedHat Packet Manager) e

sistema de atualização APT (Advanced Package Tool).

Sede em Curitiba.

Page 17: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Distribuições - RedHat

Surgiu em 1994. Inventor dos pacotes RPM, utilizado

depois em outras distros. Várias edições: desktop, pequenos

escritórios até grandes corporações. Deu origem a muitas distros atuais. Fedora.

Page 18: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Distribuições - SuSe

Sediada na Alemanha, surgiu em 1992. Principal da Europa. Usa RPM. Além da edição principal, conta com

diversos outros produtos. Grandes responsáveis do port para SPARC

(Scalable Processor ARChitecture).

Page 19: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Distribuições - SCO

Antiga Caldera, mudou de nome em Agosto de 2002.

Existe desde 1996 e sempre teve grande apelo comercial.

Uma das primeiras distros a estabelecer parcerias com grandes corporações.

Usa RPM.

Page 20: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Distribuições - Debian

Início em 1993 com a proposta de manter uma distro o mais livre possível.

Maior Linux não associado a uma empresa.

Usa pacotes no formato DEB. Desenvolveu o APT para atualização

de pacotes via Internet.

Page 21: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Distribuições - Slackware

Primeiro release em 1993. Sempre buscou se aproximar o

máximo possível do Unix. 1994-1995 foi umas das distros mais

famosas, principalmente no Brasil. Principal característica: simplicidade e

pouca sofisticação.

Page 22: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Distribuições - Turbolinux

Fundada em 1992, fornece soluções para ambientes operacionais Linux.

É p principal fornecedor de Linux na Ásia e Pacífico.

Inclui softwares multiplataforma e de sistemas distribuídos.

Page 23: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Distribuições - UnitedLinux

Maio de 2002, pretende ser uma distro global e uniforme de Linux.

Composta por:SCO GroupConectivaSuSeTurbolinux

Page 24: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Outras Distribuições

Mandrake Tech Linux Coyote Linux Kurumin Sentry SmoothWall StealthWall Phlac

Page 25: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

O Administrador do Sistema

Page 26: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

O Administrador do Sistema

O sistema oferece um prompt:Login: [Usuário]Password: [senha]

Recomenda-se sempre: senha e usuário com no mínimo 8 caracteres.

Page 27: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Entrando e Saindo do Sistema

Para sair do sistema:# logout

ou # exit

ou # ^D (Control+D)

Page 28: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Desligando o Sistema

# shutdown –h now O comando shutdown (8) também

pode reiniciar o computador. # shutdown –r now

Page 29: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

O Administrador do Sistema (root) root é o nome de usuário administrador do

sistema. Identificação igual a zero. Responsável pela manutenção do sistema.

Adição e remoção de usuários. Instalação e remoção de softwares. Zelar pela segurança do sistema. Manter os serviços de rede.

Page 30: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Estrutura de Diretórios

Page 31: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Estrutura de Diretórios

/ (também chamado de raiz) No Linux não há drives, tudo fica dentro do diretório

raiz (/). /bin

Comandos essenciais. Necessário para completar o boot e ter um ambiente

mínimo. /boot Kernel(s) do Linux (vmlinuz) para boot. Arquivos estáticos do loader.

/dev Arquivos de acesso aos dispositivos do sistema . Dispositivos do tipo caracter ou bloco.

Page 32: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Estrutura de Diretórios

/etc Configuração de partições e sistemas de arquivos. Configuração para o processo init (8). Inicialização dos shells para todo o sistema. Configuração de rede (protocolos, endereços IP,

nomes, serviços conhecidos). Arquivo de usuário e grupos (/etc/passwd, etc/group). Configuração do sistema de log (/etc/syslog.conf)

/home Por convenção, é onde ficam os diretórios dos

usuários.

Page 33: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Estrutura de Diretórios

/usr Hierarquia secundária com bin, sbin, lib, etc.

/var Dados variáveis. Arquivos de log do sistema e específicos. Caixas de mensagens e e-mail Fila de impressora.

Na página do manual hier (7) há uma descrição completa da hierarquia de sistema de arquivos do Linux.

Page 34: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Primeiros Comandos

Page 35: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Limpando a tela e listando arquivos Comando clear (1) ou então Ctrl+L. Comando ls (1) serve para listar os

arquivos de um diretório. Se o diretório não for especificado, mostra a

listagem do atual. ls -l ls -a ls -t l

Page 36: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Alternar entre diretórios

Comando cd Não tem uma página de manual

própria, pois faz parte do shell.Para maiores informações, ver bash

(1). Para conferir o diretório atual, utilize o

comando pwd (1).

Page 37: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Utilizar a Ajuda

O comando help mostra informações de ajuda sobre o comando especificado, sendo um comando do bash (1).

O comando man formata e apresenta a página de manual (man page) de um comando ou arquivo. É uma referência rápida e disponível para consultar

sintaxes, opções, semântica, etc. Execute os comandos:

$ man bash $ man man $ man csh $ man login

Page 38: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Utilizar a Ajuda (man)

As páginas de manual são organizadas em seções: Programas para Usuários. Chamadas de Sistema. Chamadas de Bibliotecas. Arquivos Especiais. Formatos de Arquivos. Jogos. Miscelânea. Administração do Sistema.

É comum escrever comandos na forma man (1), significando o comando man da seção 1 das páginas do manual.

Page 39: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Utilizar a Ajuda (whatis e apropos) Uma outra maneira de conseguir

ajuda é através do comando whatis (1), que procura por palavras na base de dados do whatis.

Outra alternativa: apropos (1).A diferença é que o apropos procura

por expressões informadas, enquanto o whatis procura somente por palavras.

Page 40: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Criar e Remover Diretórios

Comando mkdir (1) cria um novo diretório: $ mkdir nome_do_dir

Comando rmdir remove um diretório: $ rmdir nome_do_dir Para remover um diretório com o rmdir é

necessário que ele esteja vazio. $ rm -rf nome_do_dir Não há como desfazer a ação

(teoricamente).

Page 41: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Copiar, Mover e Remover Arquivos Comando cp (1) copia um arquivo para um

novo nome ou lugar: $ cp [local(is) de origem] [local de destino] $ cp [arquivo] [novo nome]

Comando mv (1) é capaz de mover um arquivo de lugar ou renomear ou mesmo: $ mv local(is) de origem] [local de destino] $ mv [arquivo] [novo nome]

Comando rm: remover arquivos ou diretórios.

Page 42: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Ligações

Page 43: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Ligações Absolutas

Comando ln (1). É um nome para um arquivo

Um arquivo pode ter vários nomes. Deve estar no mesmo sistema de arquivos. Não pode ser usado com diretórios.

• $ ln [origem]/[arquivo] [destino]/[link]

O comando ls -l mostra quantos links existem para cada arquivo.

Page 44: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Ligações Simbólicas

É um arquivo que contêm o caminho para outro arquivo.

Permite apontar diferentes partições. Geralmente cria-se ligações

simbólicas da seguinte maneira:$ ln -s [origem] [destino]$ ln -s [arquivo] [link]

Page 45: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Permissões e Propriedades

Page 46: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Definir o Proprietário

Todo arquivo pertence a algum dono e grupo.

Comando chown (1) permite alterar o dono de um ou mais arquivos. O mesmo se aplica ou grupo do arquivo.

Utilização: $ chown [dono]:[grupo] arquivo(s)

Para alterar somente o grupo de arquivos pode-se utilizar o comando chgrp (1). $ chgrp [grupo] arquivo(s)

Page 47: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Tipos de Arquivos

Do ponto de vista do sistema, existe 7 tipos de arquivos diferentes:

Caractere Tipo de Arquivo

- Arquivo regular

d Diretório

l Ligação simbólica

b Dispositivo orientado a blocos

c Dispositivo orientado a caracteres

s Socket (comunicação entre processos)

p Pipe (comunicação entre processos)

Page 48: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Definir Permissões

Comando chmod (1) serve para mudar as permissões de acesso à um arquivo:Representação simbólicaRepresentação octal

Comando umask define as permissões padrão de arquivos criados pelo usuário.

Page 49: Fundamentos de Sistema Prof. Ney Kassiano Ramos kassiano@cav.udesc.br

Permissões Especiais

SUID bit (u+s ou 4000 no chmod) O programa será executado com as permissões do

dono do arquivo ao invés das permissões do usuário que o chamou.

SGID bit (g+s ou 2000 no chmod) Este bit aplicado a um diretório, fará com que

qualquer arquivo criado dentro dele tenha o mesmo grupo do diretório.

Sticky bit (+t ou 1000 no chmod) Quando aplicado a um diretório, juntamente com mas

permissões de leitura/escrita/execução para todos os usuários, somente os donos dos arquivos poderão removê-los.

Na forma octal seria: $ chmod 4664 arquivo(s).