SlideShare uma empresa Scribd logo
1 de 52
Semana da Computação
       Mini-curso Linux




Universidade Federal da Paraíba
Centro de Informática
Programa de Educação Tutorial
Ciência da Computação

Fábio Cruz B. de Albuquerque
José Ivan Bezerra V. Filho
Sumário

•   Introdução
•   Distribuições
•   Características
•   O que é possível fazer
•   Ambientes gráficos
•   Virtualização
•   Terminal
•   Gerenciador de pacotes
•   Módulos e drivers
•   Como e onde obter
Introdução - Sistemas Operacionais

•   O que é um S.O.?

•   Qual sua importância?

•   Exemplos: Unix, Windows, Mac OS, GNU/Linux...
Introdução - Kernel

•   Núcleo do Sistema
    o   Base para todas as distribuições
    o   Serve de ponte entre os programas e o hardware 
Introdução - Software Livre


História do Software Livre
•   1984
    o   Richard Stallman, Projeto GNU
    o   Licença GPL, FSF (Free Software Foundation)
•   1991
    o Linus Torvalds, primeira versão do Kernel Linux
    o Centenas de desenvolvedores em todo mundo juntam-se para integrar o
      sistema GNU ao kernel Linux
    o GNU/Linux sobre a licença GPL
•   1997
    o   Termo Open Source (artigo "A Catedral e o bazar" por Eric Raymond)
Introdução - Software Livre


O que é o Software Livre
•    Software com uma licença livre
    o   GNU GPL, Licença Apache, Licença MIT, Licença BSD 
    o   Cada uma contém suas particularidades 
•    Copyleft
    o   Em oposição ao copyright
    o   Autor cede alguns direitos
    o   Um software sob copyleft permenece sob copyleft
•   Domínio Público
    o   Similar às obras de literatura sob domínio público
Distribuições


"Sabores" Linux
•   Linux + conjuntos de ferramentas para um determinado propósito
•   Centenas delas criadas por companhias e comunidades em todo o
    mundo
    o   Canonical
    o   Red Hat
    o   Projeto Fedora
    o   Projeto Debian
    o   Mandriva
•   http://goo.gl/640aW - lista de distribuições
•   Você pode fazer sua própria distro
Distribuições

•   Ubuntu
    o   "Linux for human beings"
    o   Debian-based
    o   Propósito geral, usuários de todos os tipos
    o   Contém inúmeras ferramentas
    o   Live-CD 
    o   Indicado para iniciantes
    o   Sistema de pacotes DEB (apt/aptitude)
Ubuntu 11.10 com Unity
Distribuições

•   Fedora
    o   Criado pela Red Hat, mantido pelo Fedora Project
    o   Rápido e estável
    o   Usuários iniciantes a intermediários
    o   Live-CD
    o   Sistemas de pacotes RPM (Yum)
Fedora 16
Características - Sistema de arquivos

•   O que é um sistema de arquivos?
    o Forma de organizar os dados em um meio de armazenamento (HD, pendrive,
      etc.)
    o Grande importância
    o Cada um tem suas vantagens e desvantagens
    o Exemplos
           ext3, ext4, swap (Unix)
           ntfs e fat32 (Windows) 
           hfs (Mac OS)
           nfs (network)
Características - Sistema de arquivos

•   Hierárquico (como uma árvore genealógica)
•   Base: diretório raiz (root) representado por /
•   Demais diretórios:
    o   /bin - utilitários principais do Unix/Linux
    o   /etc - programas e arquivos administrativos
    o   /lib - bibliotecas de funções, programas e dados
    o   /tmp - arquivos temporários
    o   /home - diretório dos usuários
            /home/fabio - contém os diretórios do usuário "fabio"
    o   /usr/bin - utilitários
    o   ...
    o   /dev - arquivos especiais de dispositivos (hd, usb, cdrom, etc.)
Características - Sistema de arquivos

•   Não há conceito de extensão
•   A extensão faz parte do nome do arquivo e é indiferente para o
    sistema
•   "exemplo.txt" é um arquivo de texto, mas podemos salvá-lo como
    "exemplo" sem alterar nada
•   Comando file
•   Comum nomearmos arquivos com "múltiplas extensões"
    o   compactado.tar.gz
Características

•   Runlevel
•   Multiusuários
•   Multitarefas
•   Sistema de permissão nativo
•   Kernel modular
•   Altamente robusto
•   Código fonte aberto
•   Uma vasta comunidade de usuários
•   Alta compatibilidade de hardware
Características - Permissões

•   chmod
    o   change mode
    o   define quem pode fazer o quê
    o   escrita, leitura e execução para proprietário, grupo de usuários e outros
    o   números octal (de 0 a 7) e representação binária (0 ou 1 - falso ou
        verdadeiro)
            read - 0 ou 1
            write - 0 ou 1
            execution - 0 ou 1
            valores de 0 a 7
    o   exemplo
            chmod 755 nome_do_arquivo
Características - Permissões

•   chown
    o   change owner
    o   define quem é o proprietário de um arquivo ou diretório
    o   exemplo
            chown novo_proprietario nome_do_arquivo
•   chgrp
    o   change group
    o   define a qual grupo o arquivo ou diretório está associado
    o   exemplo
            chgrp novo_grupo nome_do_arquivo1 nome_do_arquivo2 ...
•   Todos três comandos acima podem ser usados para arquivos e/ou
    diretórios (recursividade)
O que é possível fazer

•   Programas comuns de uso diário
    o   Mensageiro: amsn, pidgin
    o   Navegador: firefox, chrome
    o   Suíte de Escritório: LibreOffice, BrOffice
    o   Editor gráfico: gimp
    o   Player multimídia: vlc
Pidgin
Gimp
LibreOffice
Ambientes Gráficos

•   X.org
    o   Sistema de janelas adotado na maioria das distribuições Linux
    o   Open Source
•   Ambientes gráficos
    o   Gerenciador de janelas
    o   Controla como as "coisas" se comportam na interface gráfica 
    o   Ele permite a criação de um ambiente desktop
•   Gnome
•   KDE
•   Unity
•   Xfce
•   Compiz
Ambientes Gráficos - Gnome
Ambientes Gráficos - Gnome
Ambientes Gráficos - KDE
Ambientes Gráficos - KDE
Ambientes Gráficos - Unity
Ambientes Gráficos - Unity
Ambientes Gráficos - Xfce
Ambientes Gráficos - Xfce
Ambientes Gráficos - Compiz
Ambientes Gráficos - Compiz
Virtualização

•   É possível usar outros sistemas e programas
•   Técnica de virtualização
    o   Emular um computador e instalar outros S.O. (como Windows XP,
        Windows 7, Mac OS...)
•   VirtualBox
•   VMware
•   XEN

•   Também é possível "traduzir" aplicações para executá-las no seu
    sistema
    o   Wine
    o   Programas...
    o   Jogos (Counter-Strike, Half-Life, Fallout, AoE, etc.)
Terminal - Shell




             http://jneves.wordpress.com/
Terminal


Shell > Programas e comandos > Kernel > Hardware

•   Shell leva este nome porque em inglês, Shell significa concha,
    carapaça
•   Fica entre o usuário e o sistema operacional, de forma que tudo
    que interage com o sistema operacional, tem que passar pelo crivo
    do Shell
•   Para chegar ao núcleo do Linux, no seu kernel, que é o que nos
    interessa, é necessária a filtragem do Shell
•   sh (Bourne Shell), o ksh (Korn Shell), bash (Bourne Again Shell) e o
    csh (C Shell).
Terminal

•   Shell é um interpretador de comandos! com uma linguagem e
    comandos de alto nível
•   É possível programar em Shell (laços, variáveis, tomadas de decisão,
    etc.)
•   O Shell faz (nessa ordem):
    o   Exame da Linha de Comandos
    o   Resolução de Redirecionamentos
    o   Substituição de Variáveis
    o   Substituição de Meta Caracteres
    o   Passa Linha de Comando para o kernel
Terminal

•   "." , ".." , "~", "-", "/", "*", "?"
•   Comandos básicos
     o   man, apropos e whatis
     o   pwd
     o   cd
     o   ls
     o   cp
     o   mv
     o   ln
     o   mkdir
     o   rmdir
     o   rm
     o   basename
     o   dirname
Terminal

•   Comandos básicos
    o   cat
    o   wc
    o   head, tail, more, less
    o   find
    o   locate
    o   grep
    o   sort
    o   mount
    o   umount
    o   tar, zip, unzip
Terminal

•   Outros comandos 
    o   ctrl + z
    o   ctrl + c
    o   fg
    o   bg
    o   top
    o   ps
    o   jobs
Terminal

•   Comandos de rede
    o   ifconfig
    o   route
    o   ipv6
    o   ip
    o   dhcpd
    o   dhclient
    o   iwconfig
    o   iwlist
    o   ftp
    o   ssh
    o   scp
Gerenciador de pacotes

•   O que são pacotes?
•   Gerenciador de pacotes
•   Por distribuição e para todos os gostos
•   Debian e Ubuntu
    o   apt (/etc/sources.list)
    o   aptitude (gráfico e comando)
    o   synaptic
•   Red Hat e Fedora
    o   rpm
    o   yum (/etc/yum.conf)
    o   dpkg
•   Comparativo com Windows
Módulos e drivers

•   O desenvolvimento de uma nova funcionalidade para o kernel do
    Linux pode ser implementada diretamente no Kernel ou compilada
    como um módulo.

•   De modo geral, a escolha tende a ser a compilação como módulo.
    Isso se traduz no carregamento dinâmico do código apenas quando
    esta funcionalidade for necessária. Além disso, torna o kernel mais
    enxuto, leve e, portanto, mais eficiente.
•   Diversos componentes do kernel do Linux são implementados
    como módulos, por exemplo,
•   filesystems, device drivers, e novas camadas de protocolos de
    comunicação.
Módulos e drivers

•   Além dos drivers open-source incluídos no Kernel, existe um
    conjunto de drivers proprietários ou semi-proprietários, na maioria
    dos casos desenvolvidos pelos próprios fabricantes.
•   Muitos fabricantes receiam que abrir as especificações de seus
    dispositivos torna mais fácil para os concorrentes fazerem
    engenharia reversa e descobrir os segredos.
•   Muitos destes drivers precisam também do firmware do dispositivo
    para funcionar, responsável pela comunicação entre driver e
    hardware (um dos componentes do driver que vem incluído nos
    CDS para Windows).
•   Por não serem código aberto, estes drivers não são incluídos
    diretamente no Kernel e normalmente também não são incluídos
    nas distribuições, deixando para o usuário o trabalho de baixar e
    instalá-los manualmente.
Como e onde obter

•   Mídias (Live-CDs, Live-DVDs), Pendrive...

•   Onde?
    o   Internet
    o   Amigos
    o   Universidade
    o   Encomendar da própria distribuição
    o   etc. 
Seja livre!

    Obrigado.
Perguntas?
Referências

http://aurelio.net/shell/

Programação Shell Linux - Julio Cesar Neves http://jneves.wordpress.com/

Gnome http://gnome.org

KDE http://kde.org

Unity http://unity-linux.org

Xfce http://xfce.org

Compiz http://compiz.org

Instalando drivers adicionais
http://www.hardware.com.br/livros/ferramentas-linux/capitulo-instalando-drivers-adicionais.html

Módulos Linux http://www.sounerd.com.br/index.php/about-joomla.html

Como explicar um Kernel http://www.vivaolinux.com.br/artigo/Como-explicar-o-que-e-kernel-para-um-leigo/

Open Source http://en.wikipedia.org/wiki/Open_source
Imagens
   http://unity-linux.org/
   http://www.kde.org/
   http://www.gnome.org/
   http://www.xfce.org/
   http://jneves.wordpress.com
   http://img403.imageshack.us/img403/8182/snapshot1ab8
   http://img406.imageshack.us/img406/5780/screenshot10pa2
   http://img442.imageshack.us/img442/7770/snapshot3vy4
   http://img442.imageshack.us/img442/8822/mc5qi2
   http://linuxlibrary.org/wp-content/uploads/2011/04/compiz-3
   http://nixos.org/nixos/screenshots/nixos-compiz-cube

Mais conteúdo relacionado

Mais procurados

Administração de servidores Linux
Administração de servidores LinuxAdministração de servidores Linux
Administração de servidores LinuxJoão Sá
 
(01) intro+inicializacao+boot loader+fhs
(01) intro+inicializacao+boot loader+fhs(01) intro+inicializacao+boot loader+fhs
(01) intro+inicializacao+boot loader+fhsAnderson Lago
 
Complemento rodrigo f ormatado
Complemento rodrigo f ormatadoComplemento rodrigo f ormatado
Complemento rodrigo f ormatadoNeon Online
 
Aula 05 informática aplicada - discos e sistemas de arquivos
Aula 05  informática aplicada - discos e sistemas de arquivosAula 05  informática aplicada - discos e sistemas de arquivos
Aula 05 informática aplicada - discos e sistemas de arquivosRobson Ferreira
 
Arch Linux: Uma distribuição leve e simples - Érico de Morais Nunes
Arch Linux: Uma distribuição leve e simples - Érico de Morais NunesArch Linux: Uma distribuição leve e simples - Érico de Morais Nunes
Arch Linux: Uma distribuição leve e simples - Érico de Morais NunesTchelinux
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linuxeliezer
 
Adequação do servidor Proxy/Cache Squid a redes de extrema carga
Adequação do servidor Proxy/Cache Squid a redes de extrema cargaAdequação do servidor Proxy/Cache Squid a redes de extrema carga
Adequação do servidor Proxy/Cache Squid a redes de extrema cargaLucas Brasilino
 
Sistemas Operacionais - Gnu/Linux Sistemas de Arquivos e Dispositivos
Sistemas Operacionais - Gnu/Linux Sistemas de Arquivos e DispositivosSistemas Operacionais - Gnu/Linux Sistemas de Arquivos e Dispositivos
Sistemas Operacionais - Gnu/Linux Sistemas de Arquivos e DispositivosLuiz Arthur
 
Arch linux - Como instalar
Arch linux - Como instalarArch linux - Como instalar
Arch linux - Como instalarlinuxInfo
 
Curso de Introdução ao Software Livre - Aula de 29/10/2009
Curso de Introdução ao Software Livre - Aula de 29/10/2009Curso de Introdução ao Software Livre - Aula de 29/10/2009
Curso de Introdução ao Software Livre - Aula de 29/10/2009Antônio Arapiraca
 
Linux em Sistemas Embarcados - SACTA 2010 - UNIPAMPA
Linux em Sistemas Embarcados - SACTA 2010 - UNIPAMPALinux em Sistemas Embarcados - SACTA 2010 - UNIPAMPA
Linux em Sistemas Embarcados - SACTA 2010 - UNIPAMPAMarcelo Veiga Neves
 

Mais procurados (19)

Administração de servidores Linux
Administração de servidores LinuxAdministração de servidores Linux
Administração de servidores Linux
 
(01) intro+inicializacao+boot loader+fhs
(01) intro+inicializacao+boot loader+fhs(01) intro+inicializacao+boot loader+fhs
(01) intro+inicializacao+boot loader+fhs
 
Complemento rodrigo f ormatado
Complemento rodrigo f ormatadoComplemento rodrigo f ormatado
Complemento rodrigo f ormatado
 
Introdução Linux
Introdução LinuxIntrodução Linux
Introdução Linux
 
Aula 05 informática aplicada - discos e sistemas de arquivos
Aula 05  informática aplicada - discos e sistemas de arquivosAula 05  informática aplicada - discos e sistemas de arquivos
Aula 05 informática aplicada - discos e sistemas de arquivos
 
Comandos do linux
Comandos do linuxComandos do linux
Comandos do linux
 
725
725725
725
 
Arch Linux: Uma distribuição leve e simples - Érico de Morais Nunes
Arch Linux: Uma distribuição leve e simples - Érico de Morais NunesArch Linux: Uma distribuição leve e simples - Érico de Morais Nunes
Arch Linux: Uma distribuição leve e simples - Érico de Morais Nunes
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linux
 
Adequação do servidor Proxy/Cache Squid a redes de extrema carga
Adequação do servidor Proxy/Cache Squid a redes de extrema cargaAdequação do servidor Proxy/Cache Squid a redes de extrema carga
Adequação do servidor Proxy/Cache Squid a redes de extrema carga
 
Sistemas Operacionais - Gnu/Linux Sistemas de Arquivos e Dispositivos
Sistemas Operacionais - Gnu/Linux Sistemas de Arquivos e DispositivosSistemas Operacionais - Gnu/Linux Sistemas de Arquivos e Dispositivos
Sistemas Operacionais - Gnu/Linux Sistemas de Arquivos e Dispositivos
 
Arch linux - Como instalar
Arch linux - Como instalarArch linux - Como instalar
Arch linux - Como instalar
 
Curso de Introdução ao Software Livre - Aula de 29/10/2009
Curso de Introdução ao Software Livre - Aula de 29/10/2009Curso de Introdução ao Software Livre - Aula de 29/10/2009
Curso de Introdução ao Software Livre - Aula de 29/10/2009
 
Linux em Sistemas Embarcados - SACTA 2010 - UNIPAMPA
Linux em Sistemas Embarcados - SACTA 2010 - UNIPAMPALinux em Sistemas Embarcados - SACTA 2010 - UNIPAMPA
Linux em Sistemas Embarcados - SACTA 2010 - UNIPAMPA
 
S.o iuras
S.o iurasS.o iuras
S.o iuras
 
Por que FreeBSD?
Por que FreeBSD?Por que FreeBSD?
Por que FreeBSD?
 
Linux
LinuxLinux
Linux
 
So trabalho
So trabalhoSo trabalho
So trabalho
 
Kernel do Linux
Kernel do LinuxKernel do Linux
Kernel do Linux
 

Semelhante a Semana da computacao - Linux Day

Linux - Sobre a Disciplina + Introdução ao Linux
Linux - Sobre a Disciplina + Introdução ao LinuxLinux - Sobre a Disciplina + Introdução ao Linux
Linux - Sobre a Disciplina + Introdução ao LinuxFrederico Madeira
 
Introdução ao Linux
Introdução ao LinuxIntrodução ao Linux
Introdução ao Linuxguest82cc1d
 
Sistemas Operacionais - 06 - Sistemas Operacionais Linux
Sistemas Operacionais - 06 - Sistemas Operacionais LinuxSistemas Operacionais - 06 - Sistemas Operacionais Linux
Sistemas Operacionais - 06 - Sistemas Operacionais LinuxMauro Duarte
 
Desmistificando o Pinguim
Desmistificando o PinguimDesmistificando o Pinguim
Desmistificando o PinguimDiego Rubin
 
Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)Adriano Melo
 
Mini-curso de linux básico
Mini-curso de linux básicoMini-curso de linux básico
Mini-curso de linux básicoAdriano Melo
 
Sistema Operativo Linux
Sistema Operativo LinuxSistema Operativo Linux
Sistema Operativo Linuxfilipereira
 
Aula - Comandos Linux - Parte 1
Aula - Comandos Linux - Parte 1Aula - Comandos Linux - Parte 1
Aula - Comandos Linux - Parte 1Leo Amorim
 
Comandos Linux Parte 1
Comandos Linux Parte 1Comandos Linux Parte 1
Comandos Linux Parte 1Leo Amorim
 
Slide minicursocalourosufpa2010
Slide minicursocalourosufpa2010Slide minicursocalourosufpa2010
Slide minicursocalourosufpa2010Diego Damasceno
 
Aula 1 Mini Curso de Linux
Aula 1 Mini Curso de LinuxAula 1 Mini Curso de Linux
Aula 1 Mini Curso de LinuxRogério Cardoso
 
Módulo 12 linux
Módulo 12   linuxMódulo 12   linux
Módulo 12 linuxEder Dias
 
Módulo 12 linux
Módulo 12   linuxMódulo 12   linux
Módulo 12 linuxEder Dias
 
Módulo 12 linux
Módulo 12   linuxMódulo 12   linux
Módulo 12 linuxEder Dias
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linuxeliezer
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linuxguest7a481e8
 

Semelhante a Semana da computacao - Linux Day (20)

Linux - Sobre a Disciplina + Introdução ao Linux
Linux - Sobre a Disciplina + Introdução ao LinuxLinux - Sobre a Disciplina + Introdução ao Linux
Linux - Sobre a Disciplina + Introdução ao Linux
 
Intro linux
Intro linuxIntro linux
Intro linux
 
Introdução ao Linux
Introdução ao LinuxIntrodução ao Linux
Introdução ao Linux
 
Sistemas Operacionais - 06 - Sistemas Operacionais Linux
Sistemas Operacionais - 06 - Sistemas Operacionais LinuxSistemas Operacionais - 06 - Sistemas Operacionais Linux
Sistemas Operacionais - 06 - Sistemas Operacionais Linux
 
A.S.O 2 - Linux
A.S.O 2 - LinuxA.S.O 2 - Linux
A.S.O 2 - Linux
 
Linux
LinuxLinux
Linux
 
Desmistificando o Pinguim
Desmistificando o PinguimDesmistificando o Pinguim
Desmistificando o Pinguim
 
Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)
 
Mini-curso de linux básico
Mini-curso de linux básicoMini-curso de linux básico
Mini-curso de linux básico
 
apostila linux
apostila linuxapostila linux
apostila linux
 
Sistema Operativo Linux
Sistema Operativo LinuxSistema Operativo Linux
Sistema Operativo Linux
 
Aula - Comandos Linux - Parte 1
Aula - Comandos Linux - Parte 1Aula - Comandos Linux - Parte 1
Aula - Comandos Linux - Parte 1
 
Comandos Linux Parte 1
Comandos Linux Parte 1Comandos Linux Parte 1
Comandos Linux Parte 1
 
Slide minicursocalourosufpa2010
Slide minicursocalourosufpa2010Slide minicursocalourosufpa2010
Slide minicursocalourosufpa2010
 
Aula 1 Mini Curso de Linux
Aula 1 Mini Curso de LinuxAula 1 Mini Curso de Linux
Aula 1 Mini Curso de Linux
 
Módulo 12 linux
Módulo 12   linuxMódulo 12   linux
Módulo 12 linux
 
Módulo 12 linux
Módulo 12   linuxMódulo 12   linux
Módulo 12 linux
 
Módulo 12 linux
Módulo 12   linuxMódulo 12   linux
Módulo 12 linux
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linux
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linux
 

Semana da computacao - Linux Day

  • 1. Semana da Computação Mini-curso Linux Universidade Federal da Paraíba Centro de Informática Programa de Educação Tutorial Ciência da Computação Fábio Cruz B. de Albuquerque José Ivan Bezerra V. Filho
  • 2. Sumário • Introdução • Distribuições • Características • O que é possível fazer • Ambientes gráficos • Virtualização • Terminal • Gerenciador de pacotes • Módulos e drivers • Como e onde obter
  • 3. Introdução - Sistemas Operacionais • O que é um S.O.? • Qual sua importância? • Exemplos: Unix, Windows, Mac OS, GNU/Linux...
  • 4. Introdução - Kernel • Núcleo do Sistema o Base para todas as distribuições o Serve de ponte entre os programas e o hardware 
  • 5. Introdução - Software Livre História do Software Livre • 1984 o Richard Stallman, Projeto GNU o Licença GPL, FSF (Free Software Foundation) • 1991 o Linus Torvalds, primeira versão do Kernel Linux o Centenas de desenvolvedores em todo mundo juntam-se para integrar o sistema GNU ao kernel Linux o GNU/Linux sobre a licença GPL • 1997 o Termo Open Source (artigo "A Catedral e o bazar" por Eric Raymond)
  • 6. Introdução - Software Livre O que é o Software Livre •  Software com uma licença livre o GNU GPL, Licença Apache, Licença MIT, Licença BSD  o Cada uma contém suas particularidades  •  Copyleft o Em oposição ao copyright o Autor cede alguns direitos o Um software sob copyleft permenece sob copyleft • Domínio Público o Similar às obras de literatura sob domínio público
  • 7. Distribuições "Sabores" Linux • Linux + conjuntos de ferramentas para um determinado propósito • Centenas delas criadas por companhias e comunidades em todo o mundo o Canonical o Red Hat o Projeto Fedora o Projeto Debian o Mandriva • http://goo.gl/640aW - lista de distribuições • Você pode fazer sua própria distro
  • 8. Distribuições • Ubuntu o "Linux for human beings" o Debian-based o Propósito geral, usuários de todos os tipos o Contém inúmeras ferramentas o Live-CD  o Indicado para iniciantes o Sistema de pacotes DEB (apt/aptitude)
  • 10. Distribuições • Fedora o Criado pela Red Hat, mantido pelo Fedora Project o Rápido e estável o Usuários iniciantes a intermediários o Live-CD o Sistemas de pacotes RPM (Yum)
  • 12. Características - Sistema de arquivos • O que é um sistema de arquivos? o Forma de organizar os dados em um meio de armazenamento (HD, pendrive, etc.) o Grande importância o Cada um tem suas vantagens e desvantagens o Exemplos  ext3, ext4, swap (Unix)  ntfs e fat32 (Windows)   hfs (Mac OS)  nfs (network)
  • 13. Características - Sistema de arquivos • Hierárquico (como uma árvore genealógica) • Base: diretório raiz (root) representado por / • Demais diretórios: o /bin - utilitários principais do Unix/Linux o /etc - programas e arquivos administrativos o /lib - bibliotecas de funções, programas e dados o /tmp - arquivos temporários o /home - diretório dos usuários  /home/fabio - contém os diretórios do usuário "fabio" o /usr/bin - utilitários o ... o /dev - arquivos especiais de dispositivos (hd, usb, cdrom, etc.)
  • 14. Características - Sistema de arquivos • Não há conceito de extensão • A extensão faz parte do nome do arquivo e é indiferente para o sistema • "exemplo.txt" é um arquivo de texto, mas podemos salvá-lo como "exemplo" sem alterar nada • Comando file • Comum nomearmos arquivos com "múltiplas extensões" o compactado.tar.gz
  • 15. Características • Runlevel • Multiusuários • Multitarefas • Sistema de permissão nativo • Kernel modular • Altamente robusto • Código fonte aberto • Uma vasta comunidade de usuários • Alta compatibilidade de hardware
  • 16. Características - Permissões • chmod o change mode o define quem pode fazer o quê o escrita, leitura e execução para proprietário, grupo de usuários e outros o números octal (de 0 a 7) e representação binária (0 ou 1 - falso ou verdadeiro)  read - 0 ou 1  write - 0 ou 1  execution - 0 ou 1  valores de 0 a 7 o exemplo  chmod 755 nome_do_arquivo
  • 17. Características - Permissões • chown o change owner o define quem é o proprietário de um arquivo ou diretório o exemplo  chown novo_proprietario nome_do_arquivo • chgrp o change group o define a qual grupo o arquivo ou diretório está associado o exemplo  chgrp novo_grupo nome_do_arquivo1 nome_do_arquivo2 ... • Todos três comandos acima podem ser usados para arquivos e/ou diretórios (recursividade)
  • 18. O que é possível fazer • Programas comuns de uso diário o Mensageiro: amsn, pidgin o Navegador: firefox, chrome o Suíte de Escritório: LibreOffice, BrOffice o Editor gráfico: gimp o Player multimídia: vlc
  • 20. Gimp
  • 22. Ambientes Gráficos • X.org o Sistema de janelas adotado na maioria das distribuições Linux o Open Source • Ambientes gráficos o Gerenciador de janelas o Controla como as "coisas" se comportam na interface gráfica  o Ele permite a criação de um ambiente desktop • Gnome • KDE • Unity • Xfce • Compiz
  • 33. Virtualização • É possível usar outros sistemas e programas • Técnica de virtualização o Emular um computador e instalar outros S.O. (como Windows XP, Windows 7, Mac OS...) • VirtualBox • VMware • XEN • Também é possível "traduzir" aplicações para executá-las no seu sistema o Wine o Programas... o Jogos (Counter-Strike, Half-Life, Fallout, AoE, etc.)
  • 34.
  • 35.
  • 36.
  • 37.
  • 38. Terminal - Shell http://jneves.wordpress.com/
  • 39. Terminal Shell > Programas e comandos > Kernel > Hardware • Shell leva este nome porque em inglês, Shell significa concha, carapaça • Fica entre o usuário e o sistema operacional, de forma que tudo que interage com o sistema operacional, tem que passar pelo crivo do Shell • Para chegar ao núcleo do Linux, no seu kernel, que é o que nos interessa, é necessária a filtragem do Shell • sh (Bourne Shell), o ksh (Korn Shell), bash (Bourne Again Shell) e o csh (C Shell).
  • 40. Terminal • Shell é um interpretador de comandos! com uma linguagem e comandos de alto nível • É possível programar em Shell (laços, variáveis, tomadas de decisão, etc.) • O Shell faz (nessa ordem): o Exame da Linha de Comandos o Resolução de Redirecionamentos o Substituição de Variáveis o Substituição de Meta Caracteres o Passa Linha de Comando para o kernel
  • 41. Terminal • "." , ".." , "~", "-", "/", "*", "?" • Comandos básicos o man, apropos e whatis o pwd o cd o ls o cp o mv o ln o mkdir o rmdir o rm o basename o dirname
  • 42. Terminal • Comandos básicos o cat o wc o head, tail, more, less o find o locate o grep o sort o mount o umount o tar, zip, unzip
  • 43. Terminal • Outros comandos  o ctrl + z o ctrl + c o fg o bg o top o ps o jobs
  • 44. Terminal • Comandos de rede o ifconfig o route o ipv6 o ip o dhcpd o dhclient o iwconfig o iwlist o ftp o ssh o scp
  • 45. Gerenciador de pacotes • O que são pacotes? • Gerenciador de pacotes • Por distribuição e para todos os gostos • Debian e Ubuntu o apt (/etc/sources.list) o aptitude (gráfico e comando) o synaptic • Red Hat e Fedora o rpm o yum (/etc/yum.conf) o dpkg • Comparativo com Windows
  • 46. Módulos e drivers • O desenvolvimento de uma nova funcionalidade para o kernel do Linux pode ser implementada diretamente no Kernel ou compilada como um módulo. • De modo geral, a escolha tende a ser a compilação como módulo. Isso se traduz no carregamento dinâmico do código apenas quando esta funcionalidade for necessária. Além disso, torna o kernel mais enxuto, leve e, portanto, mais eficiente. • Diversos componentes do kernel do Linux são implementados como módulos, por exemplo, • filesystems, device drivers, e novas camadas de protocolos de comunicação.
  • 47. Módulos e drivers • Além dos drivers open-source incluídos no Kernel, existe um conjunto de drivers proprietários ou semi-proprietários, na maioria dos casos desenvolvidos pelos próprios fabricantes. • Muitos fabricantes receiam que abrir as especificações de seus dispositivos torna mais fácil para os concorrentes fazerem engenharia reversa e descobrir os segredos. • Muitos destes drivers precisam também do firmware do dispositivo para funcionar, responsável pela comunicação entre driver e hardware (um dos componentes do driver que vem incluído nos CDS para Windows). • Por não serem código aberto, estes drivers não são incluídos diretamente no Kernel e normalmente também não são incluídos nas distribuições, deixando para o usuário o trabalho de baixar e instalá-los manualmente.
  • 48. Como e onde obter • Mídias (Live-CDs, Live-DVDs), Pendrive... • Onde? o Internet o Amigos o Universidade o Encomendar da própria distribuição o etc. 
  • 49. Seja livre! Obrigado.
  • 51. Referências http://aurelio.net/shell/ Programação Shell Linux - Julio Cesar Neves http://jneves.wordpress.com/ Gnome http://gnome.org KDE http://kde.org Unity http://unity-linux.org Xfce http://xfce.org Compiz http://compiz.org Instalando drivers adicionais http://www.hardware.com.br/livros/ferramentas-linux/capitulo-instalando-drivers-adicionais.html Módulos Linux http://www.sounerd.com.br/index.php/about-joomla.html Como explicar um Kernel http://www.vivaolinux.com.br/artigo/Como-explicar-o-que-e-kernel-para-um-leigo/ Open Source http://en.wikipedia.org/wiki/Open_source
  • 52. Imagens  http://unity-linux.org/  http://www.kde.org/  http://www.gnome.org/  http://www.xfce.org/  http://jneves.wordpress.com  http://img403.imageshack.us/img403/8182/snapshot1ab8  http://img406.imageshack.us/img406/5780/screenshot10pa2  http://img442.imageshack.us/img442/7770/snapshot3vy4  http://img442.imageshack.us/img442/8822/mc5qi2  http://linuxlibrary.org/wp-content/uploads/2011/04/compiz-3  http://nixos.org/nixos/screenshots/nixos-compiz-cube