Intro linux
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Intro linux

  • 382 views
Uploaded on

Palestra sobre Linux e afins

Palestra sobre Linux e afins

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
382
On Slideshare
382
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
3
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. “Introdução ao Linux”Luís Felipe Bretas Marzagão duli@easylifeproject.org
  • 2. Pauta● Linux● Distribuições GNU/Linux● Formatos abertos de documentos eletrônicos● Servidores LAMP
  • 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. O que é Linux?Sistema Operacional Linux!!! Kernel: gerencia os recursos do computador e permite que outros programas usem esses recursos.
  • 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. 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. 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. 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. 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. 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. E os desktops?Também rodam Linux!
  • 12. E os desktops?
  • 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. 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. 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. 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. 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. 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. 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. Boot duplo, triplo, quádruplo ...
  • 21. Máquina Virtual
  • 22. Maior obstáculo!
  • 23. Porque ...
  • 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. Noções mínimas● Usuário root● Árvore de pastas do sistema: ● / ● bin/ ● boot/ ● dev/ ● etc/ ● home/ ● lib/ ● mnt/ ● tmp/ ● var/
  • 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. Instalar e Remover Programas
  • 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. 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. easyLifehttp://easylifeproject.org
  • 31. Servidores LAMP● Linux● Apache● MySQL● PHP / Perl / Python
  • 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. 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. Apache● Alternativas para o Apache ● Lighttpd ● Nginx ● Hiawatha ● Cherokee
  • 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. 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. 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. MySQL● Alternativas para MySQL ● PostgreSQL ● SQLite ● Firebird/Interbase ● Mongo (NoSQL)
  • 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. 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. 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. 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. Dúvidas?
  • 44. Contato duli@easylifeproject.org twitter.com/dulinuxEstes slides: http://easylifeproject.org/slides/intro-linux.pdf