87
GNU/LINUX O exemplo de software livre

Gnu/Linux - Workshop EACH-USP

Embed Size (px)

Citation preview

Page 1: Gnu/Linux - Workshop EACH-USP

GNU/LINUXO exemplo de software livre

Page 2: Gnu/Linux - Workshop EACH-USP

About me$nome = 'Wellington F. Silva';$nick = ['_wsilva, 'tom', 'boina', 'fisi', 'iéié'];$work = 'devop';$background = '~2000';$titles = ['ZCE PHP 5.3', 'Técnico Telecom', 'Quase Bacharel SI - USP'];$contact = ['twitter' => '_wsilva'];

Page 3: Gnu/Linux - Workshop EACH-USP

Overview

● Software Livre● Open Source● Unix, BSD, GNU,

Minix, Linux● Distribuições● Popularização● Certificações

● Porque Software Livre?

● Porque Linux?● Como migrar● Demo● Perguntas

Page 4: Gnu/Linux - Workshop EACH-USP

Software Livre

04 de outubro de 1985 Richard Stallman

Page 5: Gnu/Linux - Workshop EACH-USP

FSF - Free Software Foundation

4 freedoms:(http://www.gnu.org/philosophy/free-sw.en.htm)

Page 6: Gnu/Linux - Workshop EACH-USP

FSF - Free Software Foundation

4 freedoms:(http://www.gnu.org/philosophy/free-sw.en.htm)● freedom 0 - rodar o programa como você

quiser para qualquer propósito

Page 7: Gnu/Linux - Workshop EACH-USP

FSF - Free Software Foundation

4 freedoms:(http://www.gnu.org/philosophy/free-sw.en.htm)● freedom 0 - rodar o programa como você

quiser para qualquer propósito● freedom 1 - poder alterar o software de

acordo com suas necessidades

Page 8: Gnu/Linux - Workshop EACH-USP

FSF - Free Software Foundation

4 freedoms:(http://www.gnu.org/philosophy/free-sw.en.htm)● freedom 2 - redestribuir as cópias

(gratuitamente ou não)

Page 9: Gnu/Linux - Workshop EACH-USP

FSF - Free Software Foundation

4 freedoms:(http://www.gnu.org/philosophy/free-sw.en.htm)● freedom 2 - redestribuir as cópias

(gratuitamente ou não)● freedom 3 - distribuir versões alteradas do

software

Page 10: Gnu/Linux - Workshop EACH-USP

OSI - Open Source Initiative

Fevereiro de 1998Bruce Perens Eric Raymond

Page 11: Gnu/Linux - Workshop EACH-USP

OSI - Open Source Initiative10 critérios (http://opensource.org/osd)

Page 12: Gnu/Linux - Workshop EACH-USP

OSI - Open Source Initiative10 critérios (http://opensource.org/osd)● Livre redistribuição

Page 13: Gnu/Linux - Workshop EACH-USP

OSI - Open Source Initiative10 critérios (http://opensource.org/osd)● Livre redistribuição● Código fonte - diponível

Page 14: Gnu/Linux - Workshop EACH-USP

OSI - Open Source Initiative10 critérios (http://opensource.org/osd)● Livre redistribuição● Código fonte - diponível● Obras derivadas - manter mesma licença

Page 15: Gnu/Linux - Workshop EACH-USP

OSI - Open Source Initiative10 critérios (http://opensource.org/osd)● Livre redistribuição● Código fonte - diponível● Obras derivadas - manter mesma licença● Integridade do código do autor

Page 16: Gnu/Linux - Workshop EACH-USP

OSI - Open Source Initiative● Não discriminação contra pessoas ou

grupos

Page 17: Gnu/Linux - Workshop EACH-USP

OSI - Open Source Initiative● Não discriminação contra pessoas ou

grupos● Não discriminação contra áreas de utilização

Page 18: Gnu/Linux - Workshop EACH-USP

OSI - Open Source Initiative● Não discriminação contra pessoas ou

grupos● Não discriminação contra áreas de utilização● Distribuição da licença - com os direitos

vínculados garantidos

Page 19: Gnu/Linux - Workshop EACH-USP

OSI - Open Source Initiative● Licença não pode ser específica a um

produto - mesmo que retirado de distribuição

Page 20: Gnu/Linux - Workshop EACH-USP

OSI - Open Source Initiative● Licença não pode ser específica a um

produto - mesmo que retirado de distribuição● Licenças não podem restringir outro

software

Page 21: Gnu/Linux - Workshop EACH-USP

OSI - Open Source Initiative● Licença não pode ser específica a um

produto - mesmo que retirado de distribuição● Licenças não podem restringir outro

software● Licenças devem ser neutras em relação as

tecnologias

Page 22: Gnu/Linux - Workshop EACH-USP

Histórico

1965 - Multics (Bell da AT&T, GE, MIT)

Page 23: Gnu/Linux - Workshop EACH-USP

Histórico

1965 - Multics (Bell da AT&T, GE, MIT)1969 - Unics (multics reescrito para PDP-7)

Page 24: Gnu/Linux - Workshop EACH-USP

Histórico

1965 - Multics (Bell da AT&T, GE, MIT)1969 - Unics (multics reescrito para PDP-7)1971 - Unix (v1 - reescrito para PDP-11)

Page 25: Gnu/Linux - Workshop EACH-USP

Histórico

1965 - Multics (Bell da AT&T, GE, MIT)1969 - Unics (multics reescrito para PDP-7)1971 - Unix (v1 - reescrito para PDP-11)1977 - BSD

Page 26: Gnu/Linux - Workshop EACH-USP

Histórico

1983 - Projeto GNU

Page 27: Gnu/Linux - Workshop EACH-USP

Histórico

1983 - Projeto GNU1985 - FSF

Page 28: Gnu/Linux - Workshop EACH-USP

Histórico

1983 - Projeto GNU1985 - FSF1987 - Minix

Page 29: Gnu/Linux - Workshop EACH-USP

Histórico

1983 - Projeto GNU1985 - FSF1987 - Minix1991 - Gnu Hurd e Kernel Linux

Page 30: Gnu/Linux - Workshop EACH-USP

Linux - Primeiro registro

25/08/1991 - Primeiro registro do Linux(https://groups.google.com/forum/#!original/comp.os.minix/dlNtH7RRrGA/SwRavCzVE7gJ)

Linus Torvalds

Page 31: Gnu/Linux - Workshop EACH-USP

Linux - Primeiro registroHello everybody out there using minix - I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things). I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-)

Linus ([email protected])

PS. Yes – it's free of any minix code, and it has a multi-threaded fs. It is NOT portable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that's all I have :-(.— Linus Torvalds

Page 32: Gnu/Linux - Workshop EACH-USP

Primeiros Releases● 1991 Set. - Freax 0.01 - Ainda precisava do Minix e

do GCC compiler, Código fonte tinha 230 KB, incluindo scripts e cabeçalhos, versão mínima, carregado com floppy, com driver que suportava teclado serial, EXT file system, suporte a cpus 386, e com o UNIX-Shell Bash

Page 33: Gnu/Linux - Workshop EACH-USP

Primeiros Releases● 1991 Set. - Freax 0.01 - Ainda precisava do Minix e

do GCC compiler, Código fonte tinha 230 KB, incluindo scripts e cabeçalhos, versão mínima, carregado com floppy, com driver que suportava teclado serial, EXT file system, suporte a cpus 386, e com o UNIX-Shell Bash

● 1991 Set. - Freax 0.02 - Bash e GCC portados para o MINIX, precisava de 4 MB de RAM para compilar

Page 34: Gnu/Linux - Workshop EACH-USP

Primeiros Releases● 1991 Set. - Freax 0.01 - Ainda precisava do Minix e

do GCC compiler, Código fonte tinha 230 KB, incluindo scripts e cabeçalhos, versão mínima, carregado com floppy, com driver que suportava teclado serial, EXT file system, suporte a cpus 386, e com o UNIX-Shell Bash

● 1991 Set. - Freax 0.02 - Bash e GCC portados para o MINIX, precisava de 4 MB de RAM para compilar

● 1991 Out. - Freax 0.03 - Tinha um pequeno grupo de usuários, o GCC já conseguia se compilar dentro do Linux, precisava de 2 MB de RAM compilar

Page 35: Gnu/Linux - Workshop EACH-USP

Primeiros Releases● 1991 Nov. - Freax 0.11 - Time internacional de desenvolvedores, primeiro

fix no driver de disco, com os programas mkfs / fsck / fdisk, e gráficos Hercules / MDA / CGA / EGA / VGA, teclados US / German / French / Finnish, console com beep, Linux neste momento com seu próprio ambiente de desenvolvimento

Page 36: Gnu/Linux - Workshop EACH-USP

Primeiros Releases● 1991 Nov. - Freax 0.11 - Time internacional de desenvolvedores, primeiro

fix no driver de disco, com os programas mkfs / fsck / fdisk, e gráficos Hercules / MDA / CGA / EGA / VGA, teclados US / German / French / Finnish, console com beep, Linux neste momento com seu próprio ambiente de desenvolvimento

● 1992 Fev. - Freax 0.12 - Primeira vez com a função page-to-disk nativa, Linux colocado sob a licença GPL, memória virtual, cache de disco, controle de jobs padão POSIX, sistema de arquivos multi-threading

Page 37: Gnu/Linux - Workshop EACH-USP

Primeiros ReleasesCuriosidade: Adm do FTP (ftp.funet.fi) criou a pasta não como freax mas como linux para publicar, depois adotado por Linus

● 1992 April - Linux 0.96 - Programadores e grupo de usuários com aumento considerável, X Window system do MIT é usado pela primeira vez.

Ari Lemmke

Page 38: Gnu/Linux - Workshop EACH-USP

Características

● Kernel monolítico vs distribuído (GNU Hurd)

Page 39: Gnu/Linux - Workshop EACH-USP

Características

● Kernel monolítico vs distribuído (GNU Hurd)● Rodava quase 2x mais rápido que em um

Sun Spark (US$ 7000) num PC (US$ 2000)

Page 40: Gnu/Linux - Workshop EACH-USP

Características

● Kernel monolítico vs distribuído (GNU Hurd)● Rodava quase 2x mais rápido que em um

Sun Spark (US$ 7000) num PC (US$ 2000)● Free e colaborativo

Page 41: Gnu/Linux - Workshop EACH-USP

Rumo ao topo

● 1992 - Linux sob GPL, X Window System é portado

Page 42: Gnu/Linux - Workshop EACH-USP

Rumo ao topo

● 1992 - Linux sob GPL, X Window System é portado

● 1993 - Versão 0.99 tinha 100k linhas de código e 20k usuários, primeiro release Slackware, início do Debian, início do Apache web server

Page 43: Gnu/Linux - Workshop EACH-USP

Rumo ao topo

● 1994 - V1.0, inicio do RedHat e SUSE, suporte XFree86 para primeiro GUI

Page 44: Gnu/Linux - Workshop EACH-USP

Rumo ao topo

● 1994 - V1.0, inicio do RedHat e SUSE, suporte XFree86 para primeiro GUI

● 1995 - V1.2 com 250k linhas de código e 500k usuários

Page 45: Gnu/Linux - Workshop EACH-USP

Rumo ao topo

● 1994 - V1.0, inicio do RedHat e SUSE, suporte XFree86 para primeiro GUI

● 1995 - V1.2 com 250k linhas de código e 500k usuários

● 1996 - V2.0, R. Stallman chamou de Lignux

Page 46: Gnu/Linux - Workshop EACH-USP

Rumo ao topo

● 1994 - V1.0, inicio do RedHat e SUSE, suporte XFree86 para primeiro GUI

● 1995 - V1.2 com 250k linhas de código e 500k usuários

● 1996 - V2.0, R. Stallman chamou de Lignux● 1997 - V2.1 com 800k linhas de código e 3,5

milhões de usuários

Page 47: Gnu/Linux - Workshop EACH-USP

Rumo ao topo

● 1998 - Contribuições da IBM, Oracle, Compaq. Lançamento do KDE

Page 48: Gnu/Linux - Workshop EACH-USP

Rumo ao topo

● 1998 - Contribuições da IBM, Oracle, Compaq. Lançamento do KDE

● 1999 - Gnome, Red Hat IPO

Page 49: Gnu/Linux - Workshop EACH-USP

Rumo ao topo

● 1998 - Contribuições da IBM, Oracle, Compaq. Lançamento do KDE

● 1999 - Gnome, Red Hat IPO● 2000 - LPI cetificação

Page 50: Gnu/Linux - Workshop EACH-USP

Rumo ao topo

● 1998 - Contribuições da IBM, Oracle, Compaq. Lançamento do KDE

● 1999 - Gnome, Red Hat IPO● 2000 - LPI cetificação● 2001 - V 2.4.0

Page 51: Gnu/Linux - Workshop EACH-USP

Rumo ao topo

● 1998 - Contribuições da IBM, Oracle, Compaq. Lançamento do KDE

● 1999 - Gnome, Red Hat IPO● 2000 - LPI cetificação● 2001 - V 2.4.0● 2004 - XFree86 e X Window se juntam na X.

Org

Page 52: Gnu/Linux - Workshop EACH-USP

Rumo ao topo

● 2005 - OpenOffice v2, invenção do git

Page 53: Gnu/Linux - Workshop EACH-USP

Rumo ao topo

● 2005 - OpenOffice v2, invenção do git● 2007 - Dell com ubuntu pré instalado

Page 54: Gnu/Linux - Workshop EACH-USP

Rumo ao topo

● 2005 - OpenOffice v2, invenção do git● 2007 - Dell com ubuntu pré instalado● 2009 - Valor de mercado da Red Hat se

iguala ao da Sun

Page 55: Gnu/Linux - Workshop EACH-USP

Rumo ao topo

● 2005 - OpenOffice v2, invenção do git● 2007 - Dell com ubuntu pré instalado● 2009 - Valor de mercado da Red Hat se

iguala ao da Sun● 2011 - Linux V3.0

Page 56: Gnu/Linux - Workshop EACH-USP

Rumo ao topo

● 2005 - OpenOffice v2, invenção do git● 2007 - Dell com ubuntu pré instalado● 2009 - Valor de mercado da Red Hat se

iguala ao da Sun● 2011 - Linux V3.0● 2012 - Linux líder em servidores no mundo

Page 57: Gnu/Linux - Workshop EACH-USP

Rumo ao topo

● 2005 - OpenOffice v2, invenção do git● 2007 - Dell com ubuntu pré instalado● 2009 - Valor de mercado da Red Hat se

iguala ao da Sun● 2011 - Linux V3.0● 2012 - Linux líder em servidores no mundo● 2013 - Linux em 75% dos Smartphones

Page 58: Gnu/Linux - Workshop EACH-USP

Minhas Distros

● Comecei com RedHat 6.2, passando pelo 7, 7.2, 7.3, 8.0 (Fedora)

Page 59: Gnu/Linux - Workshop EACH-USP

Minhas Distros

● Comecei com RedHat 6.2, passando pelo 7, 7.2, 7.3, 8.0 (Fedora)

● Com apt fui para Debian 3.0

Page 60: Gnu/Linux - Workshop EACH-USP

Minhas Distros

● Comecei com RedHat 6.2, passando pelo 7, 7.2, 7.3, 8.0 (Fedora)

● Com apt fui para Debian 3.0 ● Com a facilidade fui para Ubuntu 5.10

Page 61: Gnu/Linux - Workshop EACH-USP

Minhas Distros

● Comecei com RedHat 6.2, passando pelo 7, 7.2, 7.3, 8.0 (Fedora)

● Com apt fui para Debian 3.0 ● Com a facilidade fui para Ubuntu 5.10● A partir do 6.06 optei por linux sem dual boot

Page 62: Gnu/Linux - Workshop EACH-USP

Minhas Distros

● Comecei com RedHat 6.2, passando pelo 7, 7.2, 7.3, 8.0 (Fedora)

● Com apt fui para Debian 3.0 ● Com a facilidade fui para Ubuntu 5.10● A partir do 6.06 optei por linux sem dual boot● Conectiva, Mandrake, Mandriva, Mint e Arch

Page 63: Gnu/Linux - Workshop EACH-USP

Minhas Distros

● Comecei com RedHat 6.2, passando pelo 7, 7.2, 7.3, 8.0 (Fedora)

● Com apt fui para Debian 3.0 ● Com a facilidade fui para Ubuntu 5.10● A partir do 6.06 optei por linux sem dual boot● Conectiva, Mandrake, Mandriva, Mint e Arch● Em 2013 voltei ao Fedora 16 ( hj Fedora 21)

Page 64: Gnu/Linux - Workshop EACH-USP

Distros

● Ranking de distros: http://distrowatch.com/

● Timelime: http://futurist.se/gldt/

Page 65: Gnu/Linux - Workshop EACH-USP

Certificações● LPIC - 1 - Júnior (LPI 101 e LPI 102)

Page 66: Gnu/Linux - Workshop EACH-USP

Certificações● LPIC - 1 - Júnior (LPI 101 e LPI 102)● LPIC - 2 - Pleno (LPI 201 e LPI 202)

Page 67: Gnu/Linux - Workshop EACH-USP

Certificações● LPIC - 1 - Júnior (LPI 101 e LPI 102)● LPIC - 2 - Pleno (LPI 201 e LPI 202)● LPIC - 3 - Senior (LPI 301)

Page 68: Gnu/Linux - Workshop EACH-USP

Certificações● LPIC - 1 - Júnior (LPI 101 e LPI 102)● LPIC - 2 - Pleno (LPI 201 e LPI 202)● LPIC - 3 - Senior (LPI 301)● LPIC - 3 - Senior especialista (LPI 302 a LPI

306)

Page 69: Gnu/Linux - Workshop EACH-USP

Certificações● LPIC - 1 - Júnior (LPI 101 e LPI 102)● LPIC - 2 - Pleno (LPI 201 e LPI 202)● LPIC - 3 - Senior (LPI 301)● LPIC - 3 - Senior especialista (LPI 302 a LPI

306)● Red Hat Certified Architect (RHCA)

Page 70: Gnu/Linux - Workshop EACH-USP

Por que Software Livre● Liberdade para corrigir defeitos

Page 71: Gnu/Linux - Workshop EACH-USP

Por que Software Livre● Liberdade para corrigir defeitos● Rápidas correções de segurança

Page 72: Gnu/Linux - Workshop EACH-USP

Por que Software Livre● Liberdade para corrigir defeitos● Rápidas correções de segurança● Alterar de acordo com suas necessidades

Page 73: Gnu/Linux - Workshop EACH-USP

Por que Software Livre● Liberdade para corrigir defeitos● Rápidas correções de segurança● Alterar de acordo com suas necessidades● Comunidade que evolui o software

Page 74: Gnu/Linux - Workshop EACH-USP

Por que Software Livre● Liberdade para corrigir defeitos● Rápidas correções de segurança● Alterar de acordo com suas necessidades● Comunidade que evolui o software● Geralmente gratuito

Page 75: Gnu/Linux - Workshop EACH-USP

Por que Software Livre● Liberdade para corrigir defeitos● Rápidas correções de segurança● Alterar de acordo com suas necessidades● Comunidade que evolui o software● Geralmente gratuito● Possível auditar

Page 76: Gnu/Linux - Workshop EACH-USP

Por que Linux● Mesmos motivos de Software Livre

Page 77: Gnu/Linux - Workshop EACH-USP

Por que Linux● Mesmos motivos de Software Livre● Maturidade e estabilidade

Page 78: Gnu/Linux - Workshop EACH-USP

Por que Linux● Mesmos motivos de Software Livre● Maturidade e estabilidade● Otimiza utilização de recursos

Page 79: Gnu/Linux - Workshop EACH-USP

Por que Linux● Mesmos motivos de Software Livre● Maturidade e estabilidade● Otimiza utilização de recursos● Ambiente perfeito para Devs

Page 80: Gnu/Linux - Workshop EACH-USP

Migrando● Diversos software compatíveis (Unix like)

Page 81: Gnu/Linux - Workshop EACH-USP

Migrando● Diversos software compatíveis (Unix like)● Softwares como serviço (e-mails, planilhas,

processadores de texto)

Page 82: Gnu/Linux - Workshop EACH-USP

Migrando● Diversos software compatíveis (Unix like)● Softwares como serviço (e-mails, planilhas,

processadores de texto)● Ferramentas para portabilidade nativos

(wine, crossover)

Page 83: Gnu/Linux - Workshop EACH-USP

Migrando● Diversos software compatíveis (Unix like)● Softwares como serviço (e-mails, planilhas,

processadores de texto)● Ferramentas para portabilidade nativos

(wine, crossover)● Ambiente de desenvolvimento para todas as

linguagens. (Java, C, Python, Ruby, PHP, .Net, Lua, Scala, iOS, Objective C, etc...)

Page 84: Gnu/Linux - Workshop EACH-USP

A hora da tela azul...

Demo

Page 85: Gnu/Linux - Workshop EACH-USP

Perguntas

Page 86: Gnu/Linux - Workshop EACH-USP

Créditos

● Distrowatch● kernel.org● operating-system.org● fsf.org● opensource.org● Revolution OS● Forbes

Page 87: Gnu/Linux - Workshop EACH-USP

https://speakerdeck.com/wsilva/linux-workshop-each-usp