• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Intro linux
 

Intro linux

on

  • 328 views

Palestra sobre Linux e afins

Palestra sobre Linux e afins

Statistics

Views

Total Views
328
Views on SlideShare
328
Embed Views
0

Actions

Likes
0
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Intro linux Intro linux Presentation Transcript

    • “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 (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
    • 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 ...
    • 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 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: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>
    • 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 Saltomysql> 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, ...
    • 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”)
    • 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/>”; ?>
    • 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
    • Dúvidas?
    • Contato duli@easylifeproject.org twitter.com/dulinuxEstes slides: http://easylifeproject.org/slides/intro-linux.pdf