Semana da computacao - Linux Day

52
Semana da Computação Mini-curso Linux Universidade Federal da Paraíba Centro de Informática Programa de Educação Tutorial Ciência da Computação Fábio Cruz B. de Albuquerque José Ivan Bezerra V. Filho

description

Short introduction of GNU/Linux world, a quick view of Shell commands and some images from various distributions and graphical environments.

Transcript of Semana da computacao - Linux Day

Page 1: Semana da computacao - Linux Day

Semana da ComputaçãoMini-curso Linux

Universidade Federal da ParaíbaCentro de InformáticaPrograma de Educação TutorialCiência da Computação

Fábio Cruz B. de AlbuquerqueJosé Ivan Bezerra V. Filho

Page 2: Semana da computacao - Linux Day

Sumário

• Introdução• Distribuições• Características• O que é possível fazer• Ambientes gráficos• Virtualização• Terminal• Gerenciador de pacotes• Módulos e drivers• Como e onde obter

Page 3: Semana da computacao - Linux Day

Introdução - Sistemas Operacionais

• O que é um S.O.?

• Qual sua importância?

• Exemplos: Unix, Windows, Mac OS, GNU/Linux...

Page 4: Semana da computacao - Linux Day

Introdução - Kernel

• Núcleo do Sistemao Base para todas as distribuiçõeso Serve de ponte entre os programas e o hardware 

Page 5: Semana da computacao - Linux Day

Introdução - Software Livre

História do Software Livre• 1984

o Richard Stallman, Projeto GNUo Licença GPL, FSF (Free Software Foundation)

• 1991o Linus Torvalds, primeira versão do Kernel Linuxo Centenas de desenvolvedores em todo mundo juntam-se para integrar o

sistema GNU ao kernel Linuxo GNU/Linux sobre a licença GPL

• 1997o Termo Open Source (artigo "A Catedral e o bazar" por Eric Raymond)

Page 6: Semana da computacao - Linux Day

Introdução - Software Livre

O que é o Software Livre•  Software com uma licença livre

o GNU GPL, Licença Apache, Licença MIT, Licença BSD o Cada uma contém suas particularidades 

•  Copylefto Em oposição ao copyrighto Autor cede alguns direitoso Um software sob copyleft permenece sob copyleft

• Domínio Públicoo Similar às obras de literatura sob domínio público

Page 7: Semana da computacao - Linux Day

Distribuições

"Sabores" Linux• Linux + conjuntos de ferramentas para um determinado propósito• Centenas delas criadas por companhias e comunidades em todo o

mundoo Canonicalo Red Hato Projeto Fedorao Projeto Debiano Mandriva

• http://goo.gl/640aW - lista de distribuições• Você pode fazer sua própria distro

Page 8: Semana da computacao - Linux Day

Distribuições

• Ubuntuo "Linux for human beings"o Debian-basedo Propósito geral, usuários de todos os tiposo Contém inúmeras ferramentaso Live-CD o Indicado para inicianteso Sistema de pacotes DEB (apt/aptitude)

Page 9: Semana da computacao - Linux Day

Ubuntu 11.10 com Unity

Page 10: Semana da computacao - Linux Day

Distribuições

• Fedorao Criado pela Red Hat, mantido pelo Fedora Projecto Rápido e estávelo Usuários iniciantes a intermediárioso Live-CDo Sistemas de pacotes RPM (Yum)

Page 11: Semana da computacao - Linux Day

Fedora 16

Page 12: Semana da computacao - Linux Day

Características - Sistema de arquivos

• O que é um sistema de arquivos?o Forma de organizar os dados em um meio de armazenamento (HD, pendrive,

etc.)o Grande importânciao Cada um tem suas vantagens e desvantagenso Exemplos

ext3, ext4, swap (Unix) ntfs e fat32 (Windows)  hfs (Mac OS) nfs (network)

Page 13: Semana da computacao - Linux Day

Características - Sistema de arquivos

• Hierárquico (como uma árvore genealógica)• Base: diretório raiz (root) representado por /• Demais diretórios:

o /bin - utilitários principais do Unix/Linuxo /etc - programas e arquivos administrativoso /lib - bibliotecas de funções, programas e dadoso /tmp - arquivos temporárioso /home - diretório dos usuários

/home/fabio - contém os diretórios do usuário "fabio"o /usr/bin - utilitárioso ...o /dev - arquivos especiais de dispositivos (hd, usb, cdrom, etc.)

Page 14: Semana da computacao - Linux Day

Características - Sistema de arquivos

• Não há conceito de extensão• A extensão faz parte do nome do arquivo e é indiferente para o

sistema• "exemplo.txt" é um arquivo de texto, mas podemos salvá-lo como

"exemplo" sem alterar nada• Comando file• Comum nomearmos arquivos com "múltiplas extensões"

o compactado.tar.gz

Page 15: Semana da computacao - Linux Day

Características

• Runlevel• Multiusuários• Multitarefas• Sistema de permissão nativo• Kernel modular• Altamente robusto• Código fonte aberto• Uma vasta comunidade de usuários• Alta compatibilidade de hardware

Page 16: Semana da computacao - Linux Day

Características - Permissões

• chmodo change modeo define quem pode fazer o quêo escrita, leitura e execução para proprietário, grupo de usuários e outroso números octal (de 0 a 7) e representação binária (0 ou 1 - falso ou

verdadeiro) read - 0 ou 1 write - 0 ou 1 execution - 0 ou 1 valores de 0 a 7

o exemplo chmod 755 nome_do_arquivo

Page 17: Semana da computacao - Linux Day

Características - Permissões

• chowno change ownero define quem é o proprietário de um arquivo ou diretórioo exemplo

chown novo_proprietario nome_do_arquivo• chgrp

o change groupo define a qual grupo o arquivo ou diretório está associadoo exemplo

chgrp novo_grupo nome_do_arquivo1 nome_do_arquivo2 ...• Todos três comandos acima podem ser usados para arquivos e/ou

diretórios (recursividade)

Page 18: Semana da computacao - Linux Day

O que é possível fazer

• Programas comuns de uso diárioo Mensageiro: amsn, pidgino Navegador: firefox, chromeo Suíte de Escritório: LibreOffice, BrOfficeo Editor gráfico: gimpo Player multimídia: vlc

Page 19: Semana da computacao - Linux Day

Pidgin

Page 20: Semana da computacao - Linux Day

Gimp

Page 21: Semana da computacao - Linux Day

LibreOffice

Page 22: Semana da computacao - Linux Day

Ambientes Gráficos

• X.orgo Sistema de janelas adotado na maioria das distribuições Linuxo Open Source

• Ambientes gráficoso Gerenciador de janelaso Controla como as "coisas" se comportam na interface gráfica o Ele permite a criação de um ambiente desktop

• Gnome• KDE• Unity• Xfce• Compiz

Page 23: Semana da computacao - Linux Day

Ambientes Gráficos - Gnome

Page 24: Semana da computacao - Linux Day

Ambientes Gráficos - Gnome

Page 25: Semana da computacao - Linux Day

Ambientes Gráficos - KDE

Page 26: Semana da computacao - Linux Day

Ambientes Gráficos - KDE

Page 27: Semana da computacao - Linux Day

Ambientes Gráficos - Unity

Page 28: Semana da computacao - Linux Day

Ambientes Gráficos - Unity

Page 29: Semana da computacao - Linux Day

Ambientes Gráficos - Xfce

Page 30: Semana da computacao - Linux Day

Ambientes Gráficos - Xfce

Page 31: Semana da computacao - Linux Day

Ambientes Gráficos - Compiz

Page 32: Semana da computacao - Linux Day

Ambientes Gráficos - Compiz

Page 33: Semana da computacao - Linux Day

Virtualização

• É possível usar outros sistemas e programas• Técnica de virtualização

o Emular um computador e instalar outros S.O. (como Windows XP, Windows 7, Mac OS...)

• VirtualBox• VMware• XEN

• Também é possível "traduzir" aplicações para executá-las no seu sistemao Wineo Programas...o Jogos (Counter-Strike, Half-Life, Fallout, AoE, etc.)

Page 34: Semana da computacao - Linux Day
Page 35: Semana da computacao - Linux Day
Page 36: Semana da computacao - Linux Day
Page 37: Semana da computacao - Linux Day
Page 38: Semana da computacao - Linux Day

Terminal - Shell

http://jneves.wordpress.com/

Page 39: Semana da computacao - Linux Day

Terminal

Shell > Programas e comandos > Kernel > Hardware

• Shell leva este nome porque em inglês, Shell significa concha, carapaça

• Fica entre o usuário e o sistema operacional, de forma que tudo que interage com o sistema operacional, tem que passar pelo crivo do Shell

• Para chegar ao núcleo do Linux, no seu kernel, que é o que nos interessa, é necessária a filtragem do Shell

• sh (Bourne Shell), o ksh (Korn Shell), bash (Bourne Again Shell) e o csh (C Shell).

Page 40: Semana da computacao - Linux Day

Terminal

• Shell é um interpretador de comandos! com uma linguagem e comandos de alto nível

• É possível programar em Shell (laços, variáveis, tomadas de decisão, etc.)

• O Shell faz (nessa ordem):o Exame da Linha de Comandoso Resolução de Redirecionamentoso Substituição de Variáveiso Substituição de Meta Caractereso Passa Linha de Comando para o kernel

Page 41: Semana da computacao - Linux Day

Terminal

• "." , ".." , "~", "-", "/", "*", "?"• Comandos básicos

o man, apropos e whatiso pwdo cdo lso cpo mvo lno mkdiro rmdiro rmo basenameo dirname

Page 42: Semana da computacao - Linux Day

Terminal

• Comandos básicoso cato wco head, tail, more, lesso findo locateo grepo sorto mounto umounto tar, zip, unzip

Page 43: Semana da computacao - Linux Day

Terminal

• Outros comandos o ctrl + zo ctrl + co fgo bgo topo pso jobs

Page 44: Semana da computacao - Linux Day

Terminal

• Comandos de redeo ifconfigo routeo ipv6o ipo dhcpdo dhcliento iwconfigo iwlisto ftpo ssho scp

Page 45: Semana da computacao - Linux Day

Gerenciador de pacotes

• O que são pacotes?• Gerenciador de pacotes• Por distribuição e para todos os gostos• Debian e Ubuntu

o apt (/etc/sources.list)o aptitude (gráfico e comando)o synaptic

• Red Hat e Fedorao rpmo yum (/etc/yum.conf)o dpkg

• Comparativo com Windows

Page 46: Semana da computacao - Linux Day

Módulos e drivers

• O desenvolvimento de uma nova funcionalidade para o kernel do Linux pode ser implementada diretamente no Kernel ou compilada como um módulo.

• De modo geral, a escolha tende a ser a compilação como módulo. Isso se traduz no carregamento dinâmico do código apenas quando esta funcionalidade for necessária. Além disso, torna o kernel mais enxuto, leve e, portanto, mais eficiente.

• Diversos componentes do kernel do Linux são implementados como módulos, por exemplo,

• filesystems, device drivers, e novas camadas de protocolos de comunicação.

Page 47: Semana da computacao - Linux Day

Módulos e drivers

• Além dos drivers open-source incluídos no Kernel, existe um conjunto de drivers proprietários ou semi-proprietários, na maioria dos casos desenvolvidos pelos próprios fabricantes.

• Muitos fabricantes receiam que abrir as especificações de seus dispositivos torna mais fácil para os concorrentes fazerem engenharia reversa e descobrir os segredos.

• Muitos destes drivers precisam também do firmware do dispositivo para funcionar, responsável pela comunicação entre driver e hardware (um dos componentes do driver que vem incluído nos CDS para Windows).

• Por não serem código aberto, estes drivers não são incluídos diretamente no Kernel e normalmente também não são incluídos nas distribuições, deixando para o usuário o trabalho de baixar e instalá-los manualmente.

Page 48: Semana da computacao - Linux Day

Como e onde obter

• Mídias (Live-CDs, Live-DVDs), Pendrive...

• Onde?o Interneto Amigoso Universidadeo Encomendar da própria distribuiçãoo etc. 

Page 49: Semana da computacao - Linux Day

Seja livre!

Obrigado.

Page 50: Semana da computacao - Linux Day

Perguntas?

Page 51: Semana da computacao - Linux Day

Referências

http://aurelio.net/shell/

Programação Shell Linux - Julio Cesar Neves http://jneves.wordpress.com/

Gnome http://gnome.org

KDE http://kde.org

Unity http://unity-linux.org

Xfce http://xfce.org

Compiz http://compiz.org

Instalando drivers adicionais http://www.hardware.com.br/livros/ferramentas-linux/capitulo-instalando-drivers-adicionais.html

Módulos Linux http://www.sounerd.com.br/index.php/about-joomla.html

Como explicar um Kernel http://www.vivaolinux.com.br/artigo/Como-explicar-o-que-e-kernel-para-um-leigo/

Open Source http://en.wikipedia.org/wiki/Open_source

Page 52: Semana da computacao - Linux Day

Imagens http://unity-linux.org/ http://www.kde.org/ http://www.gnome.org/ http://www.xfce.org/ http://jneves.wordpress.com http://img403.imageshack.us/img403/8182/snapshot1ab8 http://img406.imageshack.us/img406/5780/screenshot10pa2 http://img442.imageshack.us/img442/7770/snapshot3vy4 http://img442.imageshack.us/img442/8822/mc5qi2 http://linuxlibrary.org/wp-content/uploads/2011/04/compiz-3 http://nixos.org/nixos/screenshots/nixos-compiz-cube