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

Upload: fabio-albuquerque

Post on 05-Jul-2015

373 views

Category:

Documents


1 download

DESCRIPTION

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

TRANSCRIPT

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