SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Downloaden Sie, um offline zu lesen
“Introdução ao Linux”
Luís Felipe Bretas Marzagão
   duli@easylifeproject.org
Pauta
●   Linux
●   Distribuições GNU/Linux
●   Formatos abertos de documentos eletrônicos
●   Servidores LAMP
O que é Linux?
●   É o núcleo (kernel) de sistemas operacionais.



●   Então Linux não é um sistema operacional?



●   NÃO! É uma parte de um sistema operacional.
O que é Linux?
Sistema Operacional




                                                                       Linux!!!




  Kernel: gerencia os recursos do computador e permite que outros programas usem
          esses recursos.
O que é Linux?
●   Exemplos de SOs que usam o kernel Linux:
       ●   Debian
       ●   Ubuntu
       ●   Fedora
       ●   OpenSUSE
       ●   CentOS
       ●   … (e muitos, muitos outros)


●   São chamados de também de “distribuições”
O começo
●   1984: Projeto GNU (Gnu's Not Unix)
       ●   Objetivo: criar S.O. livre similar ao Unix (GNU)
       ●   Definição de Software Livre
               ●   Liberdade para executar, copiar, distribuir e
                     modificar o software
       ●   GNU General Public License (GPL)
               ●   Perpetuação da liberdade do software
       ●   Kernel GNU (“GNU Hurd”) – sem versão estável

●   1991: Linus Torvalds inicia o Kernel Linux
O começo
●   1992: Linux é distribuído sob a GPL
       ●   Desenvolvimento colaborativo do código
               ●   Contribuições do mundo inteiro
       ●   Kernel Linux foi combinado com o sistema GNU

●   1993: Proliferação de distribuições GNU/Linux
       ●   Softlanding Linux System
       ●   Debian Linux
       ●   Red Hat Linux ...
Quem faz o Linux?
●   Maior projeto mundial de desenvolvimento
    colaborativo na história da computação
●   Desde 2005, 8.000 mil desenvolvedores de
    aproximadamente 800 empresas contribuíram
    para o Linux
       ●   Red Hat, Intel, IBM, Novell, Nokia, Microsoft...
●   Contribuições que geraram mais de 15 milhões
    de linhas de código
●   Novo kernel Linux a cada 2 ou 3 meses
Quem faz o Linux?
●   75% das contribuições para o código são de
    desenvolvedores pagos por empresas para
    fazer esse trabalho

●   Apenas 18% das contribuições para o código
    não são financiadas por empresas



                                           fonte: Linux Kernel Development
                        (http://go.linuxfoundation.org/who-writes-linux-2012)
Onde o Linux está presente?
●   850 mil telefones com Android ativados por dia
●   700 mil televisões vendidas por dia com Linux
●   A cada 10 centros de finanças, 8 rodam Linux
●   A cada 10 supercomputadores, 9 rodam Linux
●   Google, Twitter, Facebook, Amazon usam Linux

                               Fonte: The Linux Foundation
                                   www.linuxfoundation.org
E os desktops?
Também rodam Linux!
E os desktops?
Características gerais GNU/Linux
●   Sistema Operacional de propósito geral
        ●   De servidores a desktops a telefones...
●   Prevalência de software livre e aberto
●   Upgrades não traumáticos em termos de
    configurações
●   Novas versões em curtos períodos de tempo
●   Suporte a todas as línguas possíveis
O melhor de tudo
●   Sempre será livre para qualquer um, em
    qualquer lugar:
    ●   USAR
    ●   MODIFICAR
    ●   DISTRIBUIR



    * Decorrência do uso da Licença GNU GPL e similares
Filosofia da liberdade
●   Irradia efeitos para outros segmentos
       ●   OpenDocument Format
               ●   Padrão internacional ISO e IEC
               ●   Armanezamento de documentos indendepentemente do
                     software utilizado - portabilidade
               ●   Qualquer desenvolvedor pode implementar o formato sem
                     pagar royalties
               ●   Perpetua a liberdade da informação armazenada
               ●   Norma ABNT NBR ISO/IEC 26300:2008


       ●   Ogg Container (formatos multimídia)
               ●   Vorbis, Theora, Speex, FLAC
Filosofia da liberdade
●   Adoção de formatos abertos por Governos
       ●   Brasil
               ●   Protocolo para adoção de Formatos Abertos - D.O.U. de
                     19/11/08, pág. 88
               ●   Arquitetura de interoperabilidade (e-PING)
               ●   Padrões Web (e-PWG)
               ●   Software Livre no Governo http://www.softwarelivre.gov.br/
               ●   Projeto de Lei 3.070/2008 (Câmara dos Deputados)
       ●   Outros países
               ●   Alemanha, Bélgica, Dinamarca, França, Japão, Holanda,
                     Reino Unido, Suécia, Venezuela ...
GNU/Linux: Um mundo de opções
●   Partições (ext3, ext4, LVM, RAID ...)
●   Desktops (Gnome, KDE, XFCE ...)
●   Releases (LiveCD, DVD, Network install ...)
●   Repositórios de Aplicativos (free, non-free ...)
●   Aplicativos (Abiword, LibreOffice.org, Gimp ...)
●   Gerenciadores de janelas (metacity, fluxbox …)
●   Arquiteturas (i386, x86_64, ppc ...)
GNU/Linux: Qualidades
●   Segurança (rapidez na correção de falhas,
    repositórios próprios de software)
        ● Praticamente imune a vírus
●   Estabilidade do S.O. (está entre as prioridades)
●   “Drivers” (pronto para uso - maioria dos casos)
●   Rapidez (demanda poucos recursos de hardware)
●   Sistemas de arquivos (Baixíssima fragmentação)
●   Registro e arquivos de configuração (texto puro)
●   Gera aprendizado
Problemas contornáveis
●   Necessidade de software específico sem
    versão para GNU/Linux
●   “Hardcore” gamer
●   Hardware não suportado
●   Sites mal feitos ou feitos exclusivamente para
    o Internet Explorer


    Solução: Máquina Virtual ou “Boot Duplo”
              EVITE RADICALISMOS!
Boot duplo, triplo, quádruplo ...
Máquina Virtual
Maior obstáculo!
Porque ...
Por onde começar?
●   “Prontos” para funcionar
       ●   Linux Mint (http://linuxmint.com)
       ●   Ubuntu (http://www.ubuntu.com)
                        maior funcionalidade “out of the box”
●   Podem demandar maior aprendizado
       ●   Fedora (http://fedoraproject.org)
               ●   Política rígida quanto ao uso exclusivo de
                    software livre
       ●   Debian (http://www.debian.org)
       ●   Etc...
Noções mínimas
●   Usuário 'root'
●   Árvore de pastas do sistema:
        ●   /
                ●   bin/
                ●   boot/
                ●   dev/
                ●   etc/
                ●   home/
                ●   lib/
                ●   mnt/
                ●   tmp/
                ●   var/
Instalar e Remover Programas
●   O que é um repositório?

●   Evite instalar programas que não estejam nos
    repositórios oficiais ou recomendados

●   Sempre use algum gerenciador de pacotes!
    ●   yum, apt-get ou as interfaces gráficas respectivas
Instalar e Remover Programas
Aprofundar o aprendizado!
●   Comandos no terminal (ls, cp, mv, tail, grep …)
        ●   Essencial para adm. remota de servidores
●   Gerenciamento de pacotes (aplicativos)
        ●   yum install nome-do-pacote (Fedora)
        ●   apt-get install nome-do-pacote (Ubuntu)
        ●   ...
●   Shell script, linguagens de programação
●   Inglês, inglês, inglês e inglês!
easyLife
                     http://easylifeproject.org

●   Configura o “sudo” para o usuário regular
●   Ajusta opções do desktop (+ agradável)
●   Instala o plugin Flash Player
●   Instala codecs
●   Instala fontes
●   Instala plugin Java
●   Instala drivers da nvidia
●   Outros ajustes ...
easyLife
http://easylifeproject.org
Servidores LAMP
● Linux
● Apache

● MySQL

● PHP / Perl / Python
Servidores LAMP
●   Compõem 2/3 dos servidores na internet
       ●   Por quê?
              ●   Livre disposição (Software Livre)
              ●   Fácil configuração
              ●   Estabilidade
              ●   Constante desenvolvimento e evolução
              ●   Poupa o desenvolvedor de tarefas
                    administrativas
Apache
●   Servidor de protocolo HTTP
       ●   Hypertext Transfer Protocol
               ●   Sistema de Requisição/Resposta
                       ●   Métodos: GET, POST, HEAD, …
                       ●   Servidor responde com recursos tais como
                            arquivos HTML
●   Altamente configurável (texto puro)
●   Altamente modular
●   Virtual Hosts (diversos websites em um mesmo
    servidor)
Apache
●   Alternativas para o Apache
       ●   Lighttpd
       ●   Nginx
       ●   Hiawatha
       ●   Cherokee
Exemplo Request/Response HTTP
       Navegador → http://www.somehost.com/path/file.html


                                      Resposta:

                                      HTTP/1.0 200 OK
                                      Date: Fri, 31 Dec 1999 23:59:59
Requisição:
                                      GMT
                                      Content-Type: text/html
GET /path/file.html HTTP/1.0
                                      Content-Length: 1354
From: someuser@jmarshall.com
User-Agent: HTTPTool/1.0
                                      <html>
[blank line here]
                                      <body>
                                      <h1>Happy New Year!</h1>
                                      (more file contents)
                                        .
                                        .
                                        .
                                      </body>
                                      </html>
MySQL
●   Sistema de gerenciamento de banco de dados
    relacional (RDBMS)
       ●   Tabelas → colunas/linhas
       ●   Operações relacionais entre tabelas, por meio
             de campos comuns
●   Utiliza SQL para manipulação dos dados
       ●   Structured Query Language
               ●   Mistura de inglês + matemática
●   Fácil de usar
●   Questões sobre performance e confiabilidade
MySQL
  Exemplo de consulta SQL
                        id   nome     cidade
                        1    Silvio   Salto
  Tabela 'usuarios' →
                        2    Alex     Curitiba
                        3    Marcos   Salto


mysql> SELECT * FROM usuarios WHERE cidade = 'Salto';

+­­­­+­­­­­­­­+­­­­­­­­+
| id | nome   | cidade |
+­­­­+­­­­­­­­+­­­­­­­­+
| 1  | Silvio | Salto  |
+­­­­+­­­­­­­­+­­­­­­­­+
| 3  | Marcos | Salto  |
+­­­­+­­­­­­­­+­­­­­­­­+
2 rows in set (0.00 sec)
MySQL
●   Alternativas para MySQL
       ●   PostgreSQL
       ●   SQLite
       ●   Firebird/Interbase
       ●   Mongo (NoSQL)
PHP
●   PHP: Hypertext Pre-processor
       ●   Antes: “Personal Home Page”
●   Linguagem de script mais popular na internet
●   Suporte comunitário abundante
●   Fácil sintaxe (mas não a mais elegante)
●   Especialmente feita para desenvolvimento web
●   Fácil interação com bancos de dados
       ●   MySQL, PostgreSQL, SQLite, Mongo, ...
PHP
Como funciona?



    O código php é interpretado por um servidor
     http (Apache) através de um módulo de
     processamento (mod_php5.so) que gera a
     página html resultante na hora (“on the fly”)
PHP
<?php

for ($i = 1; $i < 5) {
     echo “<p>O número é “ . $i . “<p/>”;
     $i = $i + 1;
}
?>

                                 É igual a...


                                                <?php

                                                echo   “<p>O   número   é   1   <p/>”;
                                                echo   “<p>O   número   é   2   <p/>”;
                                                echo   “<p>O   número   é   3   <p/>”;
                                                echo   “<p>O   número   é   4   <p/>”;

                                                ?>
PHP
Que é igual a...


     <p>O    número   é   1   <p/>
     <p>O    número   é   2   <p/>
     <p>O    número   é   3   <p/>
     <p>O    número   é   4   <p/>    No navegador:

     (saída em HTML)

                                      O   número   é   1
                                      O   número   é   2
                                      O   número   é   3
                                      O   número   é   4
Dúvidas?
Contato



   duli@easylifeproject.org

                  twitter.com/dulinux

Estes slides: http://easylifeproject.org/slides/intro-linux.pdf
Introdução ao Linux: Sua estrutura, características e aplicações

Weitere ähnliche Inhalte

Was ist angesagt?

Administração de servidores Linux
Administração de servidores LinuxAdministração de servidores Linux
Administração de servidores LinuxJoão Sá
 
Aula 4 Mini Curso de Linux
Aula 4 Mini Curso de LinuxAula 4 Mini Curso de Linux
Aula 4 Mini Curso de LinuxRogério Cardoso
 
Docker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de usoDocker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de usoTobias Sette
 
Inovações no mundo das distribuições Linux - Victor Hugo Aguiar Pacce - Tchel...
Inovações no mundo das distribuições Linux - Victor Hugo Aguiar Pacce - Tchel...Inovações no mundo das distribuições Linux - Victor Hugo Aguiar Pacce - Tchel...
Inovações no mundo das distribuições Linux - Victor Hugo Aguiar Pacce - Tchel...Tchelinux
 
Slide minicursocalourosufpa2010
Slide minicursocalourosufpa2010Slide minicursocalourosufpa2010
Slide minicursocalourosufpa2010Diego Damasceno
 
Linux Containers: do que são feitos? de onde vem? quem os alimenta?
Linux Containers: do que são feitos? de onde vem? quem os alimenta?Linux Containers: do que são feitos? de onde vem? quem os alimenta?
Linux Containers: do que são feitos? de onde vem? quem os alimenta?Marcos Paulo de Souza
 
Como Colaborar no Desenvolvimento do Kernel Linux - Fábio Olivé Leite
Como Colaborar no Desenvolvimento do Kernel Linux - Fábio Olivé LeiteComo Colaborar no Desenvolvimento do Kernel Linux - Fábio Olivé Leite
Como Colaborar no Desenvolvimento do Kernel Linux - Fábio Olivé LeiteTchelinux
 
Curso de Linux Básico com o Linux Educacional
Curso de Linux Básico com o Linux EducacionalCurso de Linux Básico com o Linux Educacional
Curso de Linux Básico com o Linux EducacionalFelipe Queiroz
 
Gentoo - Sistema Operacional
Gentoo - Sistema OperacionalGentoo - Sistema Operacional
Gentoo - Sistema OperacionalAnderson Favaro
 
LuaRocks - palestra Hack'n'Rio 2011
LuaRocks - palestra Hack'n'Rio 2011LuaRocks - palestra Hack'n'Rio 2011
LuaRocks - palestra Hack'n'Rio 2011Hisham Muhammad
 
Núcleo do Linux (Kernel Linux)
Núcleo do Linux (Kernel Linux)Núcleo do Linux (Kernel Linux)
Núcleo do Linux (Kernel Linux)Luiz Arthur
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação DockerAndré Justi
 
Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling Landgraf
Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling LandgrafDesenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling Landgraf
Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling LandgrafTchelinux
 
Produtividade & elegância com linux
Produtividade & elegância com linuxProdutividade & elegância com linux
Produtividade & elegância com linuxRalph Rassweiler
 

Was ist angesagt? (20)

Administração de servidores Linux
Administração de servidores LinuxAdministração de servidores Linux
Administração de servidores Linux
 
Aula 4 Mini Curso de Linux
Aula 4 Mini Curso de LinuxAula 4 Mini Curso de Linux
Aula 4 Mini Curso de Linux
 
Ubuntu
UbuntuUbuntu
Ubuntu
 
Docker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de usoDocker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de uso
 
Inovações no mundo das distribuições Linux - Victor Hugo Aguiar Pacce - Tchel...
Inovações no mundo das distribuições Linux - Victor Hugo Aguiar Pacce - Tchel...Inovações no mundo das distribuições Linux - Victor Hugo Aguiar Pacce - Tchel...
Inovações no mundo das distribuições Linux - Victor Hugo Aguiar Pacce - Tchel...
 
Ubuntu Xubuntu Kubuntu
Ubuntu Xubuntu KubuntuUbuntu Xubuntu Kubuntu
Ubuntu Xubuntu Kubuntu
 
Slide minicursocalourosufpa2010
Slide minicursocalourosufpa2010Slide minicursocalourosufpa2010
Slide minicursocalourosufpa2010
 
Postgresql +python
Postgresql +pythonPostgresql +python
Postgresql +python
 
Gentoo
GentooGentoo
Gentoo
 
Linux Containers: do que são feitos? de onde vem? quem os alimenta?
Linux Containers: do que são feitos? de onde vem? quem os alimenta?Linux Containers: do que são feitos? de onde vem? quem os alimenta?
Linux Containers: do que são feitos? de onde vem? quem os alimenta?
 
Como Colaborar no Desenvolvimento do Kernel Linux - Fábio Olivé Leite
Como Colaborar no Desenvolvimento do Kernel Linux - Fábio Olivé LeiteComo Colaborar no Desenvolvimento do Kernel Linux - Fábio Olivé Leite
Como Colaborar no Desenvolvimento do Kernel Linux - Fábio Olivé Leite
 
Curso de Linux Básico com o Linux Educacional
Curso de Linux Básico com o Linux EducacionalCurso de Linux Básico com o Linux Educacional
Curso de Linux Básico com o Linux Educacional
 
Gentoo - Sistema Operacional
Gentoo - Sistema OperacionalGentoo - Sistema Operacional
Gentoo - Sistema Operacional
 
LuaRocks - palestra Hack'n'Rio 2011
LuaRocks - palestra Hack'n'Rio 2011LuaRocks - palestra Hack'n'Rio 2011
LuaRocks - palestra Hack'n'Rio 2011
 
Ubuntu
UbuntuUbuntu
Ubuntu
 
Núcleo do Linux (Kernel Linux)
Núcleo do Linux (Kernel Linux)Núcleo do Linux (Kernel Linux)
Núcleo do Linux (Kernel Linux)
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação Docker
 
Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling Landgraf
Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling LandgrafDesenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling Landgraf
Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling Landgraf
 
Docker: uma visão geral
Docker: uma visão geralDocker: uma visão geral
Docker: uma visão geral
 
Produtividade & elegância com linux
Produtividade & elegância com linuxProdutividade & elegância com linux
Produtividade & elegância com linux
 

Andere mochten auch (20)

Aula 14 exercício battelle
Aula 14 exercício battelleAula 14 exercício battelle
Aula 14 exercício battelle
 
Orlando Resende - Seminário Saneamento e Tratamento da Água nos Processos de ...
Orlando Resende - Seminário Saneamento e Tratamento da Água nos Processos de ...Orlando Resende - Seminário Saneamento e Tratamento da Água nos Processos de ...
Orlando Resende - Seminário Saneamento e Tratamento da Água nos Processos de ...
 
António Pires dos Santos - IBM
António Pires dos Santos - IBMAntónio Pires dos Santos - IBM
António Pires dos Santos - IBM
 
Aula 9 uh belo monte
Aula 9 uh belo monteAula 9 uh belo monte
Aula 9 uh belo monte
 
Hidráulica apresentação geral
Hidráulica   apresentação geralHidráulica   apresentação geral
Hidráulica apresentação geral
 
DMAE - Estação de Tratamento de Água
DMAE - Estação de Tratamento de ÁguaDMAE - Estação de Tratamento de Água
DMAE - Estação de Tratamento de Água
 
Processo de tratamento da água
Processo de tratamento da águaProcesso de tratamento da água
Processo de tratamento da água
 
Aula 13 maia
Aula 13   maiaAula 13   maia
Aula 13 maia
 
Introdução aula 6
Introdução   aula 6Introdução   aula 6
Introdução aula 6
 
Aula 5b
Aula 5bAula 5b
Aula 5b
 
Aula 9
Aula 9Aula 9
Aula 9
 
Taa 1
Taa 1Taa 1
Taa 1
 
Taa 4
Taa 4Taa 4
Taa 4
 
Taa 6
Taa 6Taa 6
Taa 6
 
Taa 7
Taa 7Taa 7
Taa 7
 
Aula 7
Aula 7Aula 7
Aula 7
 
Aula 4 àrea escala e tempo
Aula 4 àrea escala e tempoAula 4 àrea escala e tempo
Aula 4 àrea escala e tempo
 
Aula 8
Aula 8Aula 8
Aula 8
 
Taa 3
Taa 3Taa 3
Taa 3
 
Tratamento de água de abastecimento
Tratamento de água de abastecimento Tratamento de água de abastecimento
Tratamento de água de abastecimento
 

Ähnlich wie Introdução ao Linux: Sua estrutura, características e aplicações

Aplicações livres para o seu Desktop - Leonardo Menezes Vaz
Aplicações livres para o seu Desktop - Leonardo Menezes VazAplicações livres para o seu Desktop - Leonardo Menezes Vaz
Aplicações livres para o seu Desktop - Leonardo Menezes VazTchelinux
 
Semana da computacao - Linux Day
Semana da computacao - Linux DaySemana da computacao - Linux Day
Semana da computacao - Linux DayFábio Albuquerque
 
Introdução ao Linux
Introdução ao LinuxIntrodução ao Linux
Introdução ao Linuxguest82cc1d
 
Aula 04 informática aplicada - comando básicos
Aula 04  informática aplicada - comando básicosAula 04  informática aplicada - comando básicos
Aula 04 informática aplicada - comando básicosRobson Ferreira
 
Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)Adriano Melo
 
Sistemas Operacionais - 06 - Sistemas Operacionais Linux
Sistemas Operacionais - 06 - Sistemas Operacionais LinuxSistemas Operacionais - 06 - Sistemas Operacionais Linux
Sistemas Operacionais - 06 - Sistemas Operacionais LinuxMauro Duarte
 
Sistemas_operacionais_1. KNOBUIBHBBHBHBH
Sistemas_operacionais_1. KNOBUIBHBBHBHBHSistemas_operacionais_1. KNOBUIBHBBHBHBH
Sistemas_operacionais_1. KNOBUIBHBBHBHBHCesarBomgiovani
 
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
 
Linux para-iniciantes-explorando
Linux para-iniciantes-explorandoLinux para-iniciantes-explorando
Linux para-iniciantes-explorandogastaovalle
 
Primeiros Passos no Linux - Principais Conceitos e Termos
Primeiros Passos no Linux - Principais Conceitos e TermosPrimeiros Passos no Linux - Principais Conceitos e Termos
Primeiros Passos no Linux - Principais Conceitos e TermosRicardo Prudenciato
 
Aula 1 sistema operacional linux
Aula 1 sistema operacional linuxAula 1 sistema operacional linux
Aula 1 sistema operacional linuxRogério Cardoso
 
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
 
Novidades no OpenBSD 4.3 - Leonardo Menezes Vaz
Novidades no OpenBSD 4.3 - Leonardo Menezes VazNovidades no OpenBSD 4.3 - Leonardo Menezes Vaz
Novidades no OpenBSD 4.3 - Leonardo Menezes VazTchelinux
 

Ähnlich wie Introdução ao Linux: Sua estrutura, características e aplicações (20)

Aplicações livres para o seu Desktop - Leonardo Menezes Vaz
Aplicações livres para o seu Desktop - Leonardo Menezes VazAplicações livres para o seu Desktop - Leonardo Menezes Vaz
Aplicações livres para o seu Desktop - Leonardo Menezes Vaz
 
Semana da computacao - Linux Day
Semana da computacao - Linux DaySemana da computacao - Linux Day
Semana da computacao - Linux Day
 
Introdução Linux
Introdução LinuxIntrodução Linux
Introdução Linux
 
Software livre
Software livreSoftware livre
Software livre
 
Introdução ao Linux
Introdução ao LinuxIntrodução ao Linux
Introdução ao Linux
 
Aula 04 informática aplicada - comando básicos
Aula 04  informática aplicada - comando básicosAula 04  informática aplicada - comando básicos
Aula 04 informática aplicada - comando básicos
 
Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)
 
Linux básico
Linux básicoLinux básico
Linux básico
 
A.S.O 2 - Linux
A.S.O 2 - LinuxA.S.O 2 - Linux
A.S.O 2 - Linux
 
Linux
LinuxLinux
Linux
 
Sistemas Operacionais - 06 - Sistemas Operacionais Linux
Sistemas Operacionais - 06 - Sistemas Operacionais LinuxSistemas Operacionais - 06 - Sistemas Operacionais Linux
Sistemas Operacionais - 06 - Sistemas Operacionais Linux
 
Sistemas_operacionais_1. KNOBUIBHBBHBHBH
Sistemas_operacionais_1. KNOBUIBHBBHBHBHSistemas_operacionais_1. KNOBUIBHBBHBHBH
Sistemas_operacionais_1. KNOBUIBHBBHBHBH
 
Aula 1 Mini Curso de Linux
Aula 1 Mini Curso de LinuxAula 1 Mini Curso de Linux
Aula 1 Mini Curso de Linux
 
Linux para-iniciantes-explorando
Linux para-iniciantes-explorandoLinux para-iniciantes-explorando
Linux para-iniciantes-explorando
 
Primeiros Passos no Linux - Principais Conceitos e Termos
Primeiros Passos no Linux - Principais Conceitos e TermosPrimeiros Passos no Linux - Principais Conceitos e Termos
Primeiros Passos no Linux - Principais Conceitos e Termos
 
Aula 1 sistema operacional linux
Aula 1 sistema operacional linuxAula 1 sistema operacional linux
Aula 1 sistema operacional linux
 
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
 
Sistema operacional-1-ano-de-informatica-completa
Sistema operacional-1-ano-de-informatica-completaSistema operacional-1-ano-de-informatica-completa
Sistema operacional-1-ano-de-informatica-completa
 
Novidades no OpenBSD 4.3 - Leonardo Menezes Vaz
Novidades no OpenBSD 4.3 - Leonardo Menezes VazNovidades no OpenBSD 4.3 - Leonardo Menezes Vaz
Novidades no OpenBSD 4.3 - Leonardo Menezes Vaz
 
Apresentacao sfd-poa
Apresentacao sfd-poaApresentacao sfd-poa
Apresentacao sfd-poa
 

Introdução ao Linux: Sua estrutura, características e aplicações

  • 1.
  • 2. “Introdução ao Linux” Luís Felipe Bretas Marzagão duli@easylifeproject.org
  • 3. Pauta ● Linux ● Distribuições GNU/Linux ● Formatos abertos de documentos eletrônicos ● Servidores LAMP
  • 4. O que é Linux? ● É o núcleo (kernel) de sistemas operacionais. ● Então Linux não é um sistema operacional? ● NÃO! É uma parte de um sistema operacional.
  • 5. O que é Linux? Sistema Operacional Linux!!! Kernel: gerencia os recursos do computador e permite que outros programas usem esses recursos.
  • 6. O que é Linux? ● Exemplos de SOs que usam o kernel Linux: ● Debian ● Ubuntu ● Fedora ● OpenSUSE ● CentOS ● … (e muitos, muitos outros) ● São chamados de também de “distribuições”
  • 7. O começo ● 1984: Projeto GNU (Gnu's Not Unix) ● Objetivo: criar S.O. livre similar ao Unix (GNU) ● Definição de Software Livre ● Liberdade para executar, copiar, distribuir e modificar o software ● GNU General Public License (GPL) ● Perpetuação da liberdade do software ● Kernel GNU (“GNU Hurd”) – sem versão estável ● 1991: Linus Torvalds inicia o Kernel Linux
  • 8. O começo ● 1992: Linux é distribuído sob a GPL ● Desenvolvimento colaborativo do código ● Contribuições do mundo inteiro ● Kernel Linux foi combinado com o sistema GNU ● 1993: Proliferação de distribuições GNU/Linux ● Softlanding Linux System ● Debian Linux ● Red Hat Linux ...
  • 9. Quem faz o Linux? ● Maior projeto mundial de desenvolvimento colaborativo na história da computação ● Desde 2005, 8.000 mil desenvolvedores de aproximadamente 800 empresas contribuíram para o Linux ● Red Hat, Intel, IBM, Novell, Nokia, Microsoft... ● Contribuições que geraram mais de 15 milhões de linhas de código ● Novo kernel Linux a cada 2 ou 3 meses
  • 10. Quem faz o Linux? ● 75% das contribuições para o código são de desenvolvedores pagos por empresas para fazer esse trabalho ● Apenas 18% das contribuições para o código não são financiadas por empresas fonte: Linux Kernel Development (http://go.linuxfoundation.org/who-writes-linux-2012)
  • 11. Onde o Linux está presente? ● 850 mil telefones com Android ativados por dia ● 700 mil televisões vendidas por dia com Linux ● A cada 10 centros de finanças, 8 rodam Linux ● A cada 10 supercomputadores, 9 rodam Linux ● Google, Twitter, Facebook, Amazon usam Linux Fonte: The Linux Foundation www.linuxfoundation.org
  • 12. E os desktops? Também rodam Linux!
  • 14. Características gerais GNU/Linux ● Sistema Operacional de propósito geral ● De servidores a desktops a telefones... ● Prevalência de software livre e aberto ● Upgrades não traumáticos em termos de configurações ● Novas versões em curtos períodos de tempo ● Suporte a todas as línguas possíveis
  • 15. O melhor de tudo ● Sempre será livre para qualquer um, em qualquer lugar: ● USAR ● MODIFICAR ● DISTRIBUIR * Decorrência do uso da Licença GNU GPL e similares
  • 16. Filosofia da liberdade ● Irradia efeitos para outros segmentos ● OpenDocument Format ● Padrão internacional ISO e IEC ● Armanezamento de documentos indendepentemente do software utilizado - portabilidade ● Qualquer desenvolvedor pode implementar o formato sem pagar royalties ● Perpetua a liberdade da informação armazenada ● Norma ABNT NBR ISO/IEC 26300:2008 ● Ogg Container (formatos multimídia) ● Vorbis, Theora, Speex, FLAC
  • 17. Filosofia da liberdade ● Adoção de formatos abertos por Governos ● Brasil ● Protocolo para adoção de Formatos Abertos - D.O.U. de 19/11/08, pág. 88 ● Arquitetura de interoperabilidade (e-PING) ● Padrões Web (e-PWG) ● Software Livre no Governo http://www.softwarelivre.gov.br/ ● Projeto de Lei 3.070/2008 (Câmara dos Deputados) ● Outros países ● Alemanha, Bélgica, Dinamarca, França, Japão, Holanda, Reino Unido, Suécia, Venezuela ...
  • 18. GNU/Linux: Um mundo de opções ● Partições (ext3, ext4, LVM, RAID ...) ● Desktops (Gnome, KDE, XFCE ...) ● Releases (LiveCD, DVD, Network install ...) ● Repositórios de Aplicativos (free, non-free ...) ● Aplicativos (Abiword, LibreOffice.org, Gimp ...) ● Gerenciadores de janelas (metacity, fluxbox …) ● Arquiteturas (i386, x86_64, ppc ...)
  • 19. GNU/Linux: Qualidades ● Segurança (rapidez na correção de falhas, repositórios próprios de software) ● Praticamente imune a vírus ● Estabilidade do S.O. (está entre as prioridades) ● “Drivers” (pronto para uso - maioria dos casos) ● Rapidez (demanda poucos recursos de hardware) ● Sistemas de arquivos (Baixíssima fragmentação) ● Registro e arquivos de configuração (texto puro) ● Gera aprendizado
  • 20. Problemas contornáveis ● Necessidade de software específico sem versão para GNU/Linux ● “Hardcore” gamer ● Hardware não suportado ● Sites mal feitos ou feitos exclusivamente para o Internet Explorer Solução: Máquina Virtual ou “Boot Duplo” EVITE RADICALISMOS!
  • 21. Boot duplo, triplo, quádruplo ...
  • 25. Por onde começar? ● “Prontos” para funcionar ● Linux Mint (http://linuxmint.com) ● Ubuntu (http://www.ubuntu.com) maior funcionalidade “out of the box” ● Podem demandar maior aprendizado ● Fedora (http://fedoraproject.org) ● Política rígida quanto ao uso exclusivo de software livre ● Debian (http://www.debian.org) ● Etc...
  • 26. Noções mínimas ● Usuário 'root' ● Árvore de pastas do sistema: ● / ● bin/ ● boot/ ● dev/ ● etc/ ● home/ ● lib/ ● mnt/ ● tmp/ ● var/
  • 27. Instalar e Remover Programas ● O que é um repositório? ● Evite instalar programas que não estejam nos repositórios oficiais ou recomendados ● Sempre use algum gerenciador de pacotes! ● yum, apt-get ou as interfaces gráficas respectivas
  • 28. Instalar e Remover Programas
  • 29. Aprofundar o aprendizado! ● Comandos no terminal (ls, cp, mv, tail, grep …) ● Essencial para adm. remota de servidores ● Gerenciamento de pacotes (aplicativos) ● yum install nome-do-pacote (Fedora) ● apt-get install nome-do-pacote (Ubuntu) ● ... ● Shell script, linguagens de programação ● Inglês, inglês, inglês e inglês!
  • 30. easyLife http://easylifeproject.org ● Configura o “sudo” para o usuário regular ● Ajusta opções do desktop (+ agradável) ● Instala o plugin Flash Player ● Instala codecs ● Instala fontes ● Instala plugin Java ● Instala drivers da nvidia ● Outros ajustes ...
  • 32. Servidores LAMP ● Linux ● Apache ● MySQL ● PHP / Perl / Python
  • 33. Servidores LAMP ● Compõem 2/3 dos servidores na internet ● Por quê? ● Livre disposição (Software Livre) ● Fácil configuração ● Estabilidade ● Constante desenvolvimento e evolução ● Poupa o desenvolvedor de tarefas administrativas
  • 34. Apache ● Servidor de protocolo HTTP ● Hypertext Transfer Protocol ● Sistema de Requisição/Resposta ● Métodos: GET, POST, HEAD, … ● Servidor responde com recursos tais como arquivos HTML ● Altamente configurável (texto puro) ● Altamente modular ● Virtual Hosts (diversos websites em um mesmo servidor)
  • 35. Apache ● Alternativas para o Apache ● Lighttpd ● Nginx ● Hiawatha ● Cherokee
  • 36. Exemplo Request/Response HTTP Navegador → http://www.somehost.com/path/file.html Resposta: HTTP/1.0 200 OK Date: Fri, 31 Dec 1999 23:59:59 Requisição: GMT Content-Type: text/html GET /path/file.html HTTP/1.0 Content-Length: 1354 From: someuser@jmarshall.com User-Agent: HTTPTool/1.0 <html> [blank line here] <body> <h1>Happy New Year!</h1> (more file contents) . . . </body> </html>
  • 37. MySQL ● Sistema de gerenciamento de banco de dados relacional (RDBMS) ● Tabelas → colunas/linhas ● Operações relacionais entre tabelas, por meio de campos comuns ● Utiliza SQL para manipulação dos dados ● Structured Query Language ● Mistura de inglês + matemática ● Fácil de usar ● Questões sobre performance e confiabilidade
  • 38. MySQL Exemplo de consulta SQL id nome cidade 1 Silvio Salto Tabela 'usuarios' → 2 Alex Curitiba 3 Marcos Salto mysql> SELECT * FROM usuarios WHERE cidade = 'Salto'; +­­­­+­­­­­­­­+­­­­­­­­+ | id | nome   | cidade | +­­­­+­­­­­­­­+­­­­­­­­+ | 1  | Silvio | Salto  | +­­­­+­­­­­­­­+­­­­­­­­+ | 3  | Marcos | Salto  | +­­­­+­­­­­­­­+­­­­­­­­+ 2 rows in set (0.00 sec)
  • 39. MySQL ● Alternativas para MySQL ● PostgreSQL ● SQLite ● Firebird/Interbase ● Mongo (NoSQL)
  • 40. PHP ● PHP: Hypertext Pre-processor ● Antes: “Personal Home Page” ● Linguagem de script mais popular na internet ● Suporte comunitário abundante ● Fácil sintaxe (mas não a mais elegante) ● Especialmente feita para desenvolvimento web ● Fácil interação com bancos de dados ● MySQL, PostgreSQL, SQLite, Mongo, ...
  • 41. PHP Como funciona? O código php é interpretado por um servidor http (Apache) através de um módulo de processamento (mod_php5.so) que gera a página html resultante na hora (“on the fly”)
  • 42.
  • 43. PHP <?php for ($i = 1; $i < 5) { echo “<p>O número é “ . $i . “<p/>”; $i = $i + 1; } ?> É igual a... <?php echo “<p>O número é 1 <p/>”; echo “<p>O número é 2 <p/>”; echo “<p>O número é 3 <p/>”; echo “<p>O número é 4 <p/>”; ?>
  • 44. PHP Que é igual a... <p>O número é 1 <p/> <p>O número é 2 <p/> <p>O número é 3 <p/> <p>O número é 4 <p/> No navegador: (saída em HTML) O número é 1 O número é 2 O número é 3 O número é 4
  • 46. Contato duli@easylifeproject.org twitter.com/dulinux Estes slides: http://easylifeproject.org/slides/intro-linux.pdf