“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...
O que é Linux?Sistema Operacional                                                                       Linux!!!  Kernel: ...
O que é Linux?●   Exemplos de SOs que usam o kernel Linux:       ●   Debian       ●   Ubuntu       ●   Fedora       ●   Op...
O começo●   1984: Projeto GNU (Gnus Not Unix)       ●   Objetivo: criar S.O. livre similar ao Unix (GNU)       ●   Definiç...
O começo●   1992: Linux é distribuído sob a GPL       ●   Desenvolvimento colaborativo do código               ●   Contrib...
Quem faz o Linux?●   Maior projeto mundial de desenvolvimento    colaborativo na história da computação●   Desde 2005, 8.0...
Quem faz o Linux?●   75% das contribuições para o código são de    desenvolvedores pagos por empresas para    fazer esse t...
Onde o Linux está presente?●   850 mil telefones com Android ativados por dia●   700 mil televisões vendidas por dia com L...
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...
O melhor de tudo●   Sempre será livre para qualquer um, em    qualquer lugar:    ●   USAR    ●   MODIFICAR    ●   DISTRIBU...
Filosofia da liberdade●   Irradia efeitos para outros segmentos       ●   OpenDocument Format               ●   Padrão int...
Filosofia da liberdade●   Adoção de formatos abertos por Governos       ●   Brasil               ●   Protocolo para adoção...
GNU/Linux: Um mundo de opções●   Partições (ext3, ext4, LVM, RAID ...)●   Desktops (Gnome, KDE, XFCE ...)●   Releases (Liv...
GNU/Linux: Qualidades●   Segurança (rapidez na correção de falhas,    repositórios próprios de software)        ● Praticam...
Problemas contornáveis●   Necessidade de software específico sem    versão para GNU/Linux●   “Hardcore” gamer●   Hardware ...
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.ubu...
Noções mínimas●   Usuário root●   Árvore de pastas do sistema:        ●   /                ●   bin/                ●   boo...
Instalar e Remover Programas●   O que é um repositório?●   Evite instalar programas que não estejam nos    repositórios of...
Instalar e Remover Programas
Aprofundar o aprendizado!●   Comandos no terminal (ls, cp, mv, tail, grep …)        ●   Essencial para adm. remota de serv...
easyLife                     http://easylifeproject.org●   Configura o “sudo” para o usuário regular●   Ajusta opções do d...
easyLifehttp://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 L...
Apache●   Servidor de protocolo HTTP       ●   Hypertext Transfer Protocol               ●   Sistema de Requisição/Respost...
Apache●   Alternativas para o Apache       ●   Lighttpd       ●   Nginx       ●   Hiawatha       ●   Cherokee
Exemplo Request/Response HTTP       Navegador → http://www.somehost.com/path/file.html                                    ...
MySQL●   Sistema de gerenciamento de banco de dados    relacional (RDBMS)       ●   Tabelas → colunas/linhas       ●   Ope...
MySQL  Exemplo de consulta SQL                        id   nome     cidade                        1    Silvio   Salto  Tab...
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●...
PHPComo funciona?    O código php é interpretado por um servidor     http (Apache) através de um módulo de     processamen...
PHP<?phpfor ($i = 1; $i < 5) {     echo “<p>O número é “ . $i . “<p/>”;     $i = $i + 1;}?>                               ...
PHPQue é igual a...     <p>O    número   é   1   <p/>     <p>O    número   é   2   <p/>     <p>O    número   é   3   <p/> ...
Dúvidas?
Contato   duli@easylifeproject.org                  twitter.com/dulinuxEstes slides: http://easylifeproject.org/slides/int...
Intro linux
Intro linux
Intro linux
Upcoming SlideShare
Loading in...5
×

Intro linux

275

Published on

Palestra sobre Linux e afins

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
275
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Intro linux

  1. 1. “Introdução ao Linux”Luís Felipe Bretas Marzagão duli@easylifeproject.org
  2. 2. Pauta● Linux● Distribuições GNU/Linux● Formatos abertos de documentos eletrônicos● Servidores LAMP
  3. 3. 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.
  4. 4. O que é Linux?Sistema Operacional Linux!!! Kernel: gerencia os recursos do computador e permite que outros programas usem esses recursos.
  5. 5. 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”
  6. 6. O começo● 1984: Projeto GNU (Gnus 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
  7. 7. 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 ...
  8. 8. 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
  9. 9. 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)
  10. 10. 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
  11. 11. E os desktops?Também rodam Linux!
  12. 12. E os desktops?
  13. 13. 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
  14. 14. 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
  15. 15. 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
  16. 16. 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 ...
  17. 17. 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 ...)
  18. 18. 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
  19. 19. 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!
  20. 20. Boot duplo, triplo, quádruplo ...
  21. 21. Máquina Virtual
  22. 22. Maior obstáculo!
  23. 23. Porque ...
  24. 24. 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...
  25. 25. Noções mínimas● Usuário root● Árvore de pastas do sistema: ● / ● bin/ ● boot/ ● dev/ ● etc/ ● home/ ● lib/ ● mnt/ ● tmp/ ● var/
  26. 26. 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
  27. 27. Instalar e Remover Programas
  28. 28. 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!
  29. 29. 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 ...
  30. 30. easyLifehttp://easylifeproject.org
  31. 31. Servidores LAMP● Linux● Apache● MySQL● PHP / Perl / Python
  32. 32. 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
  33. 33. 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)
  34. 34. Apache● Alternativas para o Apache ● Lighttpd ● Nginx ● Hiawatha ● Cherokee
  35. 35. 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:59Requisição: GMT Content-Type: text/htmlGET /path/file.html HTTP/1.0 Content-Length: 1354From: someuser@jmarshall.comUser-Agent: HTTPTool/1.0 <html>[blank line here] <body> <h1>Happy New Year!</h1> (more file contents) . . . </body> </html>
  36. 36. 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
  37. 37. MySQL Exemplo de consulta SQL id nome cidade 1 Silvio Salto Tabela usuarios → 2 Alex Curitiba 3 Marcos Saltomysql> SELECT * FROM usuarios WHERE cidade = Salto;+­­­­+­­­­­­­­+­­­­­­­­+| id | nome   | cidade |+­­­­+­­­­­­­­+­­­­­­­­+| 1  | Silvio | Salto  |+­­­­+­­­­­­­­+­­­­­­­­+| 3  | Marcos | Salto  |+­­­­+­­­­­­­­+­­­­­­­­+2 rows in set (0.00 sec)
  38. 38. MySQL● Alternativas para MySQL ● PostgreSQL ● SQLite ● Firebird/Interbase ● Mongo (NoSQL)
  39. 39. 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, ...
  40. 40. PHPComo 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”)
  41. 41. PHP<?phpfor ($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/>”; ?>
  42. 42. PHPQue é 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
  43. 43. Dúvidas?
  44. 44. Contato duli@easylifeproject.org twitter.com/dulinuxEstes slides: http://easylifeproject.org/slides/intro-linux.pdf
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×