Iniciando com Linux

Preview:

Citation preview

Iniciando com LinuxDiogo Luiz Böhm

diogobohm@unisc.br

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

Agenda

- História- Características do Linux- Distribuições- Estrutura do sistema- “Caras” do Linux- Instalação- Sistemas de arquivos- Permissões- Se virando no terminal- Aprendendo mais

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

História

O Linux é um sistema operacional criado em 1991 por Linus Torvalds na universidade de Helsinki na Finlândia.

É um sistema Operacional de código aberto distribuído gratuitamente pela Internet.

Seu código fonte é liberado como Free Software (software livre), sob licença GPL, o aviso de copyright do kernel feito por Linus descreve detalhadamente isto e mesmo ele não pode fechar o sistema para que seja usado apenas comercialmente.

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

Características do Linux

• É livre e desenvolvido voluntariamente por contribuidores espalhados ao redor do mundo com o objetivo a contribuição para a melhoria e crescimento deste sistema operacional;

• Também recebe apoio de grandes empresas como IBM, Sun, Oracle, HP, etc. para seu desenvolvimento;

• Convive sem nenhum tipo de conflito com outros sistemas operacionais (com o DOS, Windows, OS/2) no mesmo computador;

• Multitarefa real;

• Multiusuário;

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

Características do Linux

• Suporte a nomes extensos de arquivos e diretórios (255 caracteres);

• Conectividade com outros tipos de plataformas como Apple, Sun, Macintosh, Sparc, Alpha, PowerPc, ARM, Unix, Windows, DOS, etc;

• Utiliza permissões de acesso a arquivos, diretórios e programas em execução na memória RAM;

• Proteção entre processos executados na memória RAM;

• Suporte a mais de 63 terminais virtuais (consoles);

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

Características do Linux

• 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;

• Devido a modularização, os drivers dos periféricos e recursos do sistema podem ser carregados e removidos completamente da memória RAM a qualquer momento;

• 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;

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

Características do Linux

• Não precisa de um processador potente para funcionar. O sistema roda bem em computadores 386Sx 25 com 4MB de memória RAM (sem rodar o sistema gráfico X, que érecomendado 32MB de RAM). Já pensou no seu desempenho em uma arquitetura melhor?

• Suporte nativo a múltiplas CPUs, assim processadores como Dual Core Athlon Duo, Quad Core tem seu poder de processamento integralmente aproveitado;

• Suporte nativo a dispositivos SATA, PATA, Fiber Channel;

• Suporte nativo a virtualização;

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

Características do Linux

• O crescimento e novas versões do sistema não provocam lentidão, pelo contrário, a cada nova versão os desenvolvedores procuram buscar maior compatibilidade, acrescentar recursos úteis e melhor desempenho do sistema;

• Não é requerido pagamento de licença para uso;

• Acessa corretamente discos formatados pelo DOS, Windows, Novell, OS/2, NTFS, SunOS, Amiga, Atari, Mac, etc;

• O LINUX NÃO É VULNERÁVEL A VÍRUS!

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

Características do Linux

• Rede TCP/IP mais rápida que no Windows e tem sua pilha constantemente melhorada;

• Roda aplicações DOS através do DOSEMU, QEMU, BOCHS;

• Roda aplicações Windows através do WINE;

• Vários tipos de firewalls de alta qualidade e com grande poder de segurança de graça;

• Roteamento estático e dinâmico de pacotes;• Ponte entre Redes, proxy arp;

• Proxy Tradicional e Transparente;

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

Características do Linux

• Possui recursos para atender a mais de um endereço IP na mesma placa de rede;

• Os sistemas de arquivos usados pelo GNU/Linux (Ext3, Ext3, reiserfs, xfs, jfs) organiza os arquivos de forma inteligente evitando a fragmentação e fazendo-o um poderoso sistema para aplicações multi-usuárias exigentes e gravações intensivas;

• Permite a montagem de um servidor de publicação Web, E-mail, News, etc. com um baixo custo e alta performance;

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

Distribuições

• http://distrowatch.com;

• Principais:Ubuntu 9.04Fedora 11openSUSE 11.1Debian 5.0.3Slackware 13.0Arch LinuxDamn Small Linux 4.4.10

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

Estrutura do Sistema

• Dentro do linux, temos a raiz “/” e a partir dela, os diretórios são organizados da seguinte forma:• /

• /bin• /sbin• /usr• /usr/local• /mnt• /tmp• /var• /home

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

Estrutura do Sistema

• Caminhos dentro do sistema:• Logs do sistema:

/var/log/syslog

• Home do meu usuário:/home/usuario

• Configuração de rede:/etc/network/interfaces

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

Estrutura do Sistema - Usuários

• root: Usuário administrativo. “O que tudo pode”.• Normalmente não utiliza ambiente gráfico;• No terminal, é sinalizado com o caracter “#”

• usuário: Usuários normais, não administradores.• Dependem de permissões para

leitura/escrita/execução em pastas e arquivos;• No terminal, são sinalizados com o caracter “$”

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

Estrutura do Sistema - Grupos

• Um usuário possui:• Apenas um grupo primário;• Nenhum ou mais grupos secundários;

• Estes grupos permitem acessos a diferentes recursos;

• Podemos separar usuários em grupos distintos e limitar/expandir suas ações no sistema;

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

“Caras” do Linux

• Linux possui vários gerenciadores de Desktop:• GNOME• KDE• XFCE• FluxBox

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

“Caras” do Linux

• GNOME

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

“Caras” do Linux

• KDE

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

“Caras” do Linux

• XFCE

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

“Caras” do Linux

• FluxBox

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

Instalação

• Hoje a maioria das distribuições voltadas para o usuário final possui recursos de LiveCD, o que permite a execução do sistema direto do CD;

• A partir daí, o usuário pode usar o sistema livremente e escolher rodar a instalação ou não;

• A instalação é realizada em torno de 6 passos e normalmente leva em torno de 30 minutos;

• Algumas distribuições possuem instaladores por menus de texto também fáceis, porém permitindo uma maior customização do sistema;

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

Instalação

• Instalação por LiveCD:

• Instalação por menu de texto:

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

Sistemas de Arquivos

• O Linux possui compatibilidade com os mais variados tipos de sistemas de arquivos, o que permite instalá-lo utilizando a melhor estrutura de acordo com o seu perfil;

# Extended Filesystem - ext (Linux)# Second Extended Filesystem - ext2 (Linux)# Third Extended Filesystem - ext3 (Linux, journalling)# Reiser Filesystem - reiserfs (Linux, journalling)# Amgia Fast Filesystem - affs# High Performance Filesystem - hpfs (OS/2)# IS0 9660 Filesystem - iso9660 (CD-ROM)# Minix Filesystem - Minix (Minix. first filesystem used by Linux)# FAT 16 bit - msdos (DOS, Windows)# Virtual Fat Fielsystem - vfat (DOS, Windows) Supports long filenames# Network Filesystem - NFS# Novell Filesystem - NCPFS (Novell)# System V Filesystem - sysv (System V Unix variants)# Uniform Filesystem - ufs ( BSD, Solarius, NeXTStep)# UMSDOS Filesystem - umsdos (Unix filesystem on DOS)# adfs# autofs# coda# coherent

# cramfs# devpts# efs# hfs# jfs (Linux, journalling)# ntfs# proc# qnx4# romfs# smbfs# tmpfs# udf# xenix# xfs Silicon Graphics' (SGI's) IRIX

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

Sistemas de Arquivos

• Sistemas de arquivos normalmente utilizados:• ext3 (ou o novo ext4): sistema com journaling, boa

performance, padrão do Linux;• ReiserFS: sistema com journaling, melhor

performance;• FAT32: sistema sem journaling e de baixa

performance e escalabilidade, porém é compatível com sistemas Windows;

• NTFS: Sistema de arquivos padrão do Windows, permite a instalação de Linux dentro do Windows;

• NFS: Sistema de arquivos distribuído via rede. Permite que muitas máquinas utilizem a mesma unidade de disco, gravando e lendo arquivos de forma concorrente.

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

Permissões

• A permissão de acesso protege o sistema de arquivos Linux do acesso indevido de pessoas ou programas não autorizados;

• A permissão de acesso do GNU/Linux também impede que um programa mal intencionado, por exemplo, apague um arquivo que não deve, envie arquivos para outra pessoa ou forneça acesso da rede para que outros usuários invadam o sistema;

• O sistema GNU/Linux é muito seguro e como qualquer outro sistema seguro e confiável impede que usuários iniciantes (ou mal intencionados) instalem programas enviados por terceiros sem saber para que eles realmente servem e causem danos irreversíveis em seus arquivos, seu micro ou sua empresa;

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

Permissões

• O princípio da segurança no sistema de arquivos GNU/Linux é definir o acesso aos arquivos por donos, grupos e outros usuários:

• dono: É a pessoa que criou o arquivo ou o diretório;• grupo: Define qual grupo de usuários possui

permissões neste arquivo ou diretório;• outros: É a categoria de usuários que não são

donos ou não pertencem ao grupo do arquivo;

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

Permissões - Tipos

• Quanto aos tipos de permissões que se aplicam ao dono, grupo e outros usuários, temos 3 permissões básicas:

• r - Permissão de leitura para arquivos. Caso for um diretório, permite listar seu conteúdo (através do comando ls, por exemplo);

• w - Permissão de gravação para arquivos. Caso for um diretório, permite a gravação de arquivos ou outros diretórios dentro dele. Para que um arquivo/diretório possa ser apagado, é necessário o acesso de gravação;

• x - Permite executar um arquivo como um programa ou script. Caso seja um diretório, permite que seja acessado através de outros comandos, como ls e cd.

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

Permissões

• -rwxrwxrwx diogo users teste

• A primeira letra diz qual é o tipo do arquivo. A letra “d” significa que é um diretório, um “l” um link a um arquivo no sistema, um “-” significa que é um arquivo comum, etc. • Da segunda a quarta letra (rwx) dizem qual é a permissão de acesso ao dono do arquivo, neste caso, diogo. Ele tem a permissão de ler (r - read), gravar (w - write) e executar (x - execute) o arquivo teste;

• Da quinta a sétima letra (rwx) diz qual é a permissão de acesso ao grupo do arquivo; • Os três últimos caracteres (rwx) representam as permissões para outros usuários;

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

Permissões

• -rwxrw-r-- diogo users teste

• A primeira letra diz qual é o tipo do arquivo. A letra “d” significa que é um diretório, um “l” um link a um arquivo no sistema, um “-” significa que é um arquivo comum, etc. • Da segunda a quarta letra (rwx) dizem qual é a permissão de acesso ao dono do arquivo, neste caso, diogo. Ele tem a permissão de ler (r - read), gravar (w - write) e executar (x - execute) o arquivo teste;

• Da quinta a sétima letra (rwx) diz qual é a permissão de acesso ao grupo do arquivo; • Os três últimos caracteres (rwx) representam as permissões para outros usuários;

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

Se virando no terminal

• Sem dúvida a ferramenta mais poderosa de uso do sistema é o terminal. Nele você pode manipular dados das mais diversas formas. Seja por comandos ou scripts, muitas tarefas árduas na interface gráfica são facilmente resolvidas pelo terminal.

• Para tanto, existem milhares de ferramentas para as mais variadas finalidades, desde manipulação de arquivos até conversão de formatos, browsers, acesso remoto, gerência de rede, loggers, servidores, enfim, tudo no linux pode ser feito via terminal.

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

Se virando no terminal

• Para entender a interface do terminal e suas permissões, lembre-se dos caracteres de usuário “#” e “$”;

• Se você não entende como um certo comando funciona, ou quais são seus parâmetros, vale a pena consultar o manual e evitar problemas através do comando “man comando”. Uma tela é aberta com a explicação detalhada daquele comando;

• Outro comando útil é o “pwd”. Muitas vezes não sabemos onde estamos navegando. Este comando retorna o caminho atual da sua localização no sistema;

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

Se virando no terminal

• Principais comandos:• ls: lista arquivos em um diretório. Sem parâmetros,

lista os arquivos do diretório atual. A opção “-l” lista também as permissões e outras informações. Pode listar um arquivo/diretório específico.

Exemplo: ls -l /var

• cd: muda o diretório atual. Serve para navegar dentro do sistema e assim manipular os arquivos sem precisar passar o caminho completo nos parâmetros;

Exemplo: cd /usr/lib

• mv: move um arquivo/diretório para outro local e/ou renomeia este arquivo.

Exemplo: mv teste /tmp/teste.txt

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

Se virando no terminal• groups: lista os grupos do usuário atual ou de um

usuário específico.Exemplo: groups root

• touch: cria um arquivo vazio no sistema. Exemplo: touch arquivo

• rm: remove um arquivo. A opção -r (recursive) permite também remover pastas e arquivos dentro dela. Não pede confirmação por padrão!

Exemplo: rm arquivo

• mkdir: cria um diretório vazio no sistema. Exemplo: mkdir novo

• rmdir: remove um diretório vazio do sistema. Exemplo: rmdir pasta

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

Se virando no terminal

• cat: imprime o conteúdo de um arquivo.Exemplo: cat log.txt

• tail: imprime as dez últimas linhas de um arquivo. Bom para arquivos grandes de log, onde apenas as últimas informações interessam.

Exemplo: tail /var/log/syslog

• pg: separa a impressão de um arquivo em páginas. Exemplo: pg /var/log/syslog

• cp: copia um arquivo para outro local ou duplica com outro nome:

Exemplo: cp teste.txt teste-old.txt

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

Se virando no terminal

• dmesg: imprime as últimas informações do sistema.

• chmod: muda as permissões de um arquivo ou diretório. Somente funciona caso o usuário seja dono do objeto ou seja root.

Exemplo: chmod u=rwx,g=rwx,o=rwx arquivo

• chown: muda o dono/grupo de um arquivo ou diretório. Novamente, privilégios de dono ou root são necessários;

Exemplo: chown user:grupo arquivo

• ./: executa um arquivo como se fosse uma aplicação, caso tenha permissões de execução.

Exemplo: ./programa

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009

Aprendendo mais - Referências

• Não termina por aí! Existe muito o que aprender e sempre é bom estudar!

• Guia FOCA Linux - http://focalinux.cipsga.org.br/

• Comunidade Viva o Linux- http://vivaolinux.org.br

• Comunidade BR-Linux - http://br-linux.org

• Comunidade Ubuntu - http://ubuntu.com• Comunidade Slackware - http://slackware.com• Comunidade Debian - http://debian.org• Comunidade Fedora - http://fedora.org.br

Obrigado!

Iniciando com LinuxDiogo Luiz Böhm

diogobohm@unisc.br

___________________________________________________________________________________________________JAC – UNISC - 10/09/2009