Introdu¸c˜ao ao GNU/Linux Thiago Teixeira Santosthsant/pool/linux-intro.pdf · • Sistemas...

30
Introdu¸ ao ao GNU/Linux Thiago Teixeira Santos [email protected] Laborat´ orio de Imagens Vis˜ ao e Estruturas Espaciais Faculdade SENAC de Ciˆ encias Exatas e Tecnologia http://www.ime.usp.br/thsant/pool/linux-intro.pdf 1

Transcript of Introdu¸c˜ao ao GNU/Linux Thiago Teixeira Santosthsant/pool/linux-intro.pdf · • Sistemas...

Page 1: Introdu¸c˜ao ao GNU/Linux Thiago Teixeira Santosthsant/pool/linux-intro.pdf · • Sistemas GNU/Linux, ap´os a inicializa¸c˜ao, solicitam o nome de usu´ario e a senha para autenticac˜ao.

Introducao ao GNU/Linux

Thiago Teixeira [email protected]

Laboratorio de Imagens Visao e Estruturas Espaciais

Faculdade SENAC de Ciencias Exatas e Tecnologia

http://www.ime.usp.br/∼thsant/pool/linux-intro.pdf

1

Page 2: Introdu¸c˜ao ao GNU/Linux Thiago Teixeira Santosthsant/pool/linux-intro.pdf · • Sistemas GNU/Linux, ap´os a inicializa¸c˜ao, solicitam o nome de usu´ario e a senha para autenticac˜ao.

1. HISTORIA

2

Page 3: Introdu¸c˜ao ao GNU/Linux Thiago Teixeira Santosthsant/pool/linux-intro.pdf · • Sistemas GNU/Linux, ap´os a inicializa¸c˜ao, solicitam o nome de usu´ario e a senha para autenticac˜ao.

Unix

• Ritchie, Thompson e Kernighan criam o “Unix” no Bell Labs em 1969. O nomee uma brincadeira em cima do Multics, um outro SO da epoca.

• Can you send me a tape? O sistema, seu codigo fonte e seus manuais eramlivremente distribuıdos entre as universidades e os centros de pesquisa (quem maisusaria computadores na decada de 60?).

• O sistema era extendido pelos seus usuarios. Hackers da Universidade da Californiaem Berkeley lancam uma versao com suas melhorias: o BSD (Berkeley SystemsDistribution). Eles o utilizavam em suas pesquisas, incluindo o desenvolvimentodo TCP/IP.

• Decada de 80 – AT&T transforma o sistema do Bell Labs em um produtocomercial: o AT&T UNIX (maiusculo) e a distribuicao das fitas cessa. Venda decodigo fechado pelas grandes corporacoes torna-se a norma. ;-(

Thiago Santos, LIVES-FSCET, 2002 3

Page 4: Introdu¸c˜ao ao GNU/Linux Thiago Teixeira Santosthsant/pool/linux-intro.pdf · • Sistemas GNU/Linux, ap´os a inicializa¸c˜ao, solicitam o nome de usu´ario e a senha para autenticac˜ao.

GNU is not UNIX

• If you share with your neighbor, you are a pirate. If you want any changes, beg usto make them.

• Richard Stallman, pesquisador do AI-MIT, acostu-mado com intercambio livre de software durante anos,inconforma-se com os sistemas proprietarios. Cria o Pro-jeto GNU e a Free Software Foundation.

• Free as in freedom

. Voce tem liberdade de executar o programa, para qualquer finalidade.

. Voce tem liberdade para modificar o programa para atender suas necessidades (codigo

fonte).

. Voce tem liberdade de redistribuir copias, gratis ou nao.

. Voce tem liberdade de distribuir versoes modificadas do programa, para a comunidade se

beneficiar das melhorias.

Thiago Santos, LIVES-FSCET, 2002 4

Page 5: Introdu¸c˜ao ao GNU/Linux Thiago Teixeira Santosthsant/pool/linux-intro.pdf · • Sistemas GNU/Linux, ap´os a inicializa¸c˜ao, solicitam o nome de usu´ario e a senha para autenticac˜ao.

GNU is not UNIX

• GNU visa ser um sistema free completo: sistema operacional, ferramentas deprogramacao, ambiente grafico, etc.

. GNU/Linux: kernel (sistema operacional) Linux + ferramentas e bibliotecas criadas pelo

projeto GNU.

. GNU/Hurd: kernel Hurd (GNU kernel) + ferramentas e bibliotecas GNU.

• Copyleft e uma forma legal (um copyright invertido) de garantir que o softwarelivre nao se torne proprietario. Um exemplo e a GNU General Public License GPL.

• Em 1998, alguns hackers (ex.: Eric Raymond) alegaram que o termo Free Softwarepoderia confundir a industria (free = gratis) e cunharam o termo Open Source(free = livre, aberto).

Thiago Santos, LIVES-FSCET, 2002 5

Page 6: Introdu¸c˜ao ao GNU/Linux Thiago Teixeira Santosthsant/pool/linux-intro.pdf · • Sistemas GNU/Linux, ap´os a inicializa¸c˜ao, solicitam o nome de usu´ario e a senha para autenticac˜ao.

Linux

• Linus Torvalds desenvolve um kernel de sistema ope-racional, batizado de Linux, e o lanca em 1991 sob aGPL.

• A popularizacao da Internet ajuda na formacao de umacomunidade em torno do kernel. Torvalds consegue, commaestria, organizar o trabalho e as contribuicoes de umexercito de programadores ao redor do mundo.

• O GNU/Linux da origem as distribuicoes, pacotes organizados de software comsistemas de instalacao, gerenciamento e empacotamento proprios:

E muitas outras...

Thiago Santos, LIVES-FSCET, 2002 6

Page 7: Introdu¸c˜ao ao GNU/Linux Thiago Teixeira Santosthsant/pool/linux-intro.pdf · • Sistemas GNU/Linux, ap´os a inicializa¸c˜ao, solicitam o nome de usu´ario e a senha para autenticac˜ao.

Filosofia Unix

• Se um sistema tao antigo consegue sobreviver de 1969 ate hoje (e com plenovigor!) seu sucesso esta em seu design.

• Ferramentas × Aplicacao: um ambiente Unix possui pequenas ferramentas queexecutam muito bem um pequeno trabalho.

• Colocadas em pipes, a saıda de uma ferramenta se torna a entrada de outra eo conjunto passa a fazer uma tarefa mais complexa. As diversas ferramentascombinadas de formas diferentes geram um numero infinito de opcoes!

• Aplicacoes sao programas mastodonticos (processadores de texto, planilhas, na-vegadores web,...) que cuidam de todo o processo, geralmente abrindo arquivosproprietarios, realizando uma tarefa complicada e gravando o resultado novamenteem arquivos proprietarios.

• A filosofia Unix se baseia na sinergia das pequenas ferramentas.

• Linux possui o melhor dos dois mundos: ferramentas Unix de alta sinergia eaplicacoes para tarefas muito elaboradas e especializadas.

Thiago Santos, LIVES-FSCET, 2002 7

Page 8: Introdu¸c˜ao ao GNU/Linux Thiago Teixeira Santosthsant/pool/linux-intro.pdf · • Sistemas GNU/Linux, ap´os a inicializa¸c˜ao, solicitam o nome de usu´ario e a senha para autenticac˜ao.

2. BASICO

Thiago Santos, LIVES-FSCET, 2002 8

Page 9: Introdu¸c˜ao ao GNU/Linux Thiago Teixeira Santosthsant/pool/linux-intro.pdf · • Sistemas GNU/Linux, ap´os a inicializa¸c˜ao, solicitam o nome de usu´ario e a senha para autenticac˜ao.

Knoppix Linux

• Usaremos neste workshop o Knoppix Linux. Trata-se de uma distribuicaoconstituıda de um unico CD-ROM, “bootavel”, que monta os discos da maquinasomente para leitura (inicialmente) e rapidamente detecta todos o hardware docomputador e configura o sistema de acordo.

• O Knoppix nao e persistente. Nada sera instalado na maquina e, apos odesligamento da maquina e remocao do CD, ela estara exatamente em seu estadoanterior.

• Ideal para um primeiro contato em Linux e, posteriormente, como um “canivetesuıco” para ter na mala. :-D

• Baseado na Debian. Desenvolvido por Klaus Knopper e promovido pelo LinuxTag (maior conferencia sobre Linux da Europa).

• Ponham-no no drive e reiniciem a maquina!

Thiago Santos, LIVES-FSCET, 2002 9

Page 10: Introdu¸c˜ao ao GNU/Linux Thiago Teixeira Santosthsant/pool/linux-intro.pdf · • Sistemas GNU/Linux, ap´os a inicializa¸c˜ao, solicitam o nome de usu´ario e a senha para autenticac˜ao.

Ligar e Desligar

• Sistemas GNU/Linux, apos a inicializacao, solicitam o nome de usuario e asenha para autenticacao. No Knoppix, porem, so existem 2 usuarios (knoppix eroot). O usuario knoppix e autenticado como o padrao.

• Para desligar o sistema ha varias opcoes (na shell):

. Reinicializar o sistema (r de reboot):

$ shutdown -r now

. Desligar o sistema (h de halt) :

$ shutdown -h now

. Ou simplesmente:

Ctrl+Alt+Del

• Experimente no Knoppix. Aproveite para reler com atencao as mensagens dainicializacao!

Thiago Santos, LIVES-FSCET, 2002 10

Page 11: Introdu¸c˜ao ao GNU/Linux Thiago Teixeira Santosthsant/pool/linux-intro.pdf · • Sistemas GNU/Linux, ap´os a inicializa¸c˜ao, solicitam o nome de usu´ario e a senha para autenticac˜ao.

Consoles Virtuais

• Um console e um lugar onde voce podera obter I/O com o sistema.

• Voce podera ter varias sessoes simultaneas atraves dos consoles virtuais.

• Para sair do ambiente grafico. Use Ctrl+Alt+F1.

• Alterne entre os terminais com Alt+F2, Alt+F3, Alt+F4,... ou via Alt+← eAlt+→.

• Rode um comando, experimente:

$ cat /etc/modules.conf

• Muito texto? Voce pode navegar pelo conteudo exibido na tela com Shift+PgUpe Shift+PgDown.

Thiago Santos, LIVES-FSCET, 2002 11

Page 12: Introdu¸c˜ao ao GNU/Linux Thiago Teixeira Santosthsant/pool/linux-intro.pdf · • Sistemas GNU/Linux, ap´os a inicializa¸c˜ao, solicitam o nome de usu´ario e a senha para autenticac˜ao.

Arquivos e Diretorios

• A raiz de uma arvore de diretorios Unix e representada por /. E o nıvel mais altoda hierarquia.

• Sistemas GNU/Linux diferentes costumam ter pequenas diferencas em suas arvoresde diretorios, mas possuem, essencialmente:

. /bin Programas “executaveis” essenciais (de binaries).

. /dev Um dos pontos fortes do design Unix e a representacao de dispositivos (devices)

como arquivos. Veremos posteriormente as facilidades desta representacao.

. /etc O diretorio de etcetera armazena uma miscelanea de arquivos de configuracao e

inicializacao do sistema.

. /home Aqui ficam os diretorios pessoais dos usuarios do sistema

? /home/tts Meu diretorio pessoal.

? /home/mariazinha Diretorio pessoal da Mariazinha.

? /home/fhc Diretorio pessoal do usuario FHC.

. /lib Bibliotecas essenciais do sistema.

. /proc Nao se trata de arquivos reais, mas abstracoes de processos do sistema.

Thiago Santos, LIVES-FSCET, 2002 12

Page 13: Introdu¸c˜ao ao GNU/Linux Thiago Teixeira Santosthsant/pool/linux-intro.pdf · • Sistemas GNU/Linux, ap´os a inicializa¸c˜ao, solicitam o nome de usu´ario e a senha para autenticac˜ao.

Arquivos e Diretorios

• Continuacao...

. /root Diretorio do superusuario.

. /sbin Ferramentas de administracao do sistema.

. /tmp Arquivos temporarios.

. /usr Onde residem arquivos relativos as ferramentas e aplicacoes utilizadas pelos usuarios(users).

. /usr/bin Ferramentas e aplicacoes.

. /usr/doc Documentacao.

. /usr/lib Bibliotecas utilizadas pelos programas em /usr/bin.

. /usr/local Todos os diretorios vistos anteriormente podem estar localizados remota-

mente em um servidor, se necessario. Aqui residem os arquivos obrigatoriamente locais,

que dizem respeito so a maquina em questao.

. /var Arquivos de tamanho variavel : logs de sistema, spool de e-mail e impressao...

• Convem respeitar esta organizacao, para evitar que o sistema vire uma baguncaincompreensıvel!

Thiago Santos, LIVES-FSCET, 2002 13

Page 14: Introdu¸c˜ao ao GNU/Linux Thiago Teixeira Santosthsant/pool/linux-intro.pdf · • Sistemas GNU/Linux, ap´os a inicializa¸c˜ao, solicitam o nome de usu´ario e a senha para autenticac˜ao.

Arquivos e Diretorios

• Para listar o conteudo de um diretorio:$ ls

. $ ls -a exibe arquivos e diretorios ocultos.

. $ ls -l exibe informacao detalhada.

. $ ls /home/tts lista o meu diretorio pessoal.

• Para mudar de diretorio, use:$ cd path

. $ cd /

. $ cd /usr/local

. $ cd /lib

• Diretorio corrente e representado por ./ enquanto o diretorio pai o e por ../

• Naveguem um pouco pelo Knoppix. Vasculhem a arvore de diretorios. Usem asopcoes -a e -l. O que elas significam?

Thiago Santos, LIVES-FSCET, 2002 14

Page 15: Introdu¸c˜ao ao GNU/Linux Thiago Teixeira Santosthsant/pool/linux-intro.pdf · • Sistemas GNU/Linux, ap´os a inicializa¸c˜ao, solicitam o nome de usu´ario e a senha para autenticac˜ao.

Arquivos e Diretorios

• Para criar um diretorio:$ mkdir path

• Para remover um diretorio:$ rmdir path ou$ rm -rf path , caso o diretorio nao esteja vazio.

• Para remover um arquivo:$ rm path

. $ rm -i solicita confirmacao antes da remocao.

. $ rm -v exibe os arquivos sendo removidos (verbose).

. $ rm -f force: use com cautela, remove tudo sem qualquer prompt ou confirmacao!

• Para copiar arquivos:$ cp original copia

. $ cp -R dir original dir copia copia um diretorio inteiro recursivamente.

Thiago Santos, LIVES-FSCET, 2002 15

Page 16: Introdu¸c˜ao ao GNU/Linux Thiago Teixeira Santosthsant/pool/linux-intro.pdf · • Sistemas GNU/Linux, ap´os a inicializa¸c˜ao, solicitam o nome de usu´ario e a senha para autenticac˜ao.

Arquivos e Diretorios

• Para mover arquivos:$ mv origem destino

• Para criar links simbolicos (“atalhos”):$ ln -s destino link

• Exercıcio:

. Use:

$ touch path

para criar arquivos vazios.

. Crie diretorios e arquivos. Mova, copie e crie links.

. Use os caracteres coringa da shell : *, ? e .

. Tente remover um arquivo de propriedade do superusuario (root). O que acontece?

Thiago Santos, LIVES-FSCET, 2002 16

Page 17: Introdu¸c˜ao ao GNU/Linux Thiago Teixeira Santosthsant/pool/linux-intro.pdf · • Sistemas GNU/Linux, ap´os a inicializa¸c˜ao, solicitam o nome de usu´ario e a senha para autenticac˜ao.

Redirecionamentos e Pipes

• No Unix a saıda de uma ferramenta torna-se a entrada de outra.

• Para exibir o arquivo de configuracao do X Windows System na tela, podemosutilizar o comando:$ cat /etc/X11/XF86Config

• Estamos interessados somente em ver as secoes existentes. Utilizamos a ferramentagrep para filtrar a saıda de cat:$ cat /etc/X11/XF86Config | grep ’Section ’

• Nao estamos interessados nas secoes comentadas (iniciadas por #. Utilizamos ogrep novamente:$ cat /etc/X11/XF86Config | grep ’Section ’ | grep -v ’#’

• Esta quase bom ;-). Vamos colocar tudo em ordem alfabetica e inserir em umarquivo:$ cat /etc/X11/XF86Config | grep ’Section ’ | grep -v ’#’ |sort > foo

Thiago Santos, LIVES-FSCET, 2002 17

Page 18: Introdu¸c˜ao ao GNU/Linux Thiago Teixeira Santosthsant/pool/linux-intro.pdf · • Sistemas GNU/Linux, ap´os a inicializa¸c˜ao, solicitam o nome de usu´ario e a senha para autenticac˜ao.

Dispositivos

• Dispositivos (discos, CD-ROMs, mouse, portas paralelas, placas de som,...) saoabstraıdas como arquivos no Unix.

• As operacoes de redirecionamento valem para dispositivos:

. $ cat barulhinho.wav > /dev/dsp

. $ cat /dev/psaux (mova seu mouse PS2 e veja o que acontece)

• Alguns dispositivos que convem lembrar:

. /dev/hda e o primeiro disco na primeira controladora IDE.

? /dev/hda1 e a primeira particao do 1o disco IDE.

? /dev/hda2 e a segunda particao do 1o disco IDE.

? /dev/hdaN e n-esima particao do 1o disco IDE.

. /dev/hdb e o segundo disco na primeira controladora IDE.

. /dev/hdc e o primeiro disco na segunda controladora IDE.

. /dev/hdd e o segundo disco na segunda controladora IDE.

Thiago Santos, LIVES-FSCET, 2002 18

Page 19: Introdu¸c˜ao ao GNU/Linux Thiago Teixeira Santosthsant/pool/linux-intro.pdf · • Sistemas GNU/Linux, ap´os a inicializa¸c˜ao, solicitam o nome de usu´ario e a senha para autenticac˜ao.

Dispositivos

• Continuacao...

. /dev/psaux refere-se ao mouse PS2.

. /dev/ttySN sao as portas seriais (modems, mouses, etc...).

. /dev/lpN sao as portas paralelas.

. /dev/sdN sao dispositivos SCSI.

. /dev/dsp de Digital Signal Processing (placa de som).

Thiago Santos, LIVES-FSCET, 2002 19

Page 20: Introdu¸c˜ao ao GNU/Linux Thiago Teixeira Santosthsant/pool/linux-intro.pdf · • Sistemas GNU/Linux, ap´os a inicializa¸c˜ao, solicitam o nome de usu´ario e a senha para autenticac˜ao.

Dispositivos Ajuda: man, info e apropos

• O comando apropos localiza as ferramentas cuja descricao possui um dado textode interesse. Se estou, por exemplo, procurando localizadores de padroes:$ apropos pattern

• Voce ja sabe que software utilizar, o grep por exemplo. Para ver seu manual:$ man grep

• Existe ainda um formato para documentacao chamado Info. Muitas vezes,consiste em livro inteiro! Para ver a documentacao em formato Info do grep:$ info grep

Thiago Santos, LIVES-FSCET, 2002 20

Page 21: Introdu¸c˜ao ao GNU/Linux Thiago Teixeira Santosthsant/pool/linux-intro.pdf · • Sistemas GNU/Linux, ap´os a inicializa¸c˜ao, solicitam o nome de usu´ario e a senha para autenticac˜ao.

Dispositivos Ferramentas MUITO uteis

• cat

• echo

• grep

• find

• tail

• more

• less

Thiago Santos, LIVES-FSCET, 2002 21

Page 22: Introdu¸c˜ao ao GNU/Linux Thiago Teixeira Santosthsant/pool/linux-intro.pdf · • Sistemas GNU/Linux, ap´os a inicializa¸c˜ao, solicitam o nome de usu´ario e a senha para autenticac˜ao.

3. Cool Stuff

Thiago Santos, LIVES-FSCET, 2002 22

Page 23: Introdu¸c˜ao ao GNU/Linux Thiago Teixeira Santosthsant/pool/linux-intro.pdf · • Sistemas GNU/Linux, ap´os a inicializa¸c˜ao, solicitam o nome de usu´ario e a senha para autenticac˜ao.

Cool Stuff

• Programacao:

. C/C++, Java, Perl, Python, PHP, Tcl/Tk, Lisp, Prolog, Scheme, Fortran, Pascal,

Assemblers,...

. Toolkits graficos: GTK+, Qt

. Editores: Emacs, Vi

. IDEs: Netbeans (Java), Anjuta, KDeveloper, GLADE alem de ferramentas comerciais da

Borland (Kylix, ...)

. Bibliotecas para computacao grafica (OpenGL), manipulacao de vıdeo, processamento de

imagens, criptografia, controle de robos Lego, estruturas de dados, processamento paralelo

e distribuıdo, grafos,...

• Rede

. Browsers, clientes de e-mail, mensagens instantaneas e secure shell.

. Servidores Web, servidores de e-mail, servidores de ftp, ssh, streaming media, DNS.

. NIS, firewalls, roteamento,...

• Jogos, multimıdia, bancos de dados,...

Thiago Santos, LIVES-FSCET, 2002 23

Page 24: Introdu¸c˜ao ao GNU/Linux Thiago Teixeira Santosthsant/pool/linux-intro.pdf · • Sistemas GNU/Linux, ap´os a inicializa¸c˜ao, solicitam o nome de usu´ario e a senha para autenticac˜ao.

Cool Stuff - GIMP

GNU Image Manipulation Program (GIMP) utiliza GTK+.

Thiago Santos, LIVES-FSCET, 2002 24

Page 25: Introdu¸c˜ao ao GNU/Linux Thiago Teixeira Santosthsant/pool/linux-intro.pdf · • Sistemas GNU/Linux, ap´os a inicializa¸c˜ao, solicitam o nome de usu´ario e a senha para autenticac˜ao.

Cool Stuff - Gnumeric

Gnumeric (GTK+).

Thiago Santos, LIVES-FSCET, 2002 25

Page 26: Introdu¸c˜ao ao GNU/Linux Thiago Teixeira Santosthsant/pool/linux-intro.pdf · • Sistemas GNU/Linux, ap´os a inicializa¸c˜ao, solicitam o nome de usu´ario e a senha para autenticac˜ao.

Cool Stuff - Anjuta

Anjuta IDE (GTK+): projetos em C/C++ com GTK+ e GNOME.

Thiago Santos, LIVES-FSCET, 2002 26

Page 27: Introdu¸c˜ao ao GNU/Linux Thiago Teixeira Santosthsant/pool/linux-intro.pdf · • Sistemas GNU/Linux, ap´os a inicializa¸c˜ao, solicitam o nome de usu´ario e a senha para autenticac˜ao.

Cool Stuff - MPlayer

MPlayer: Um dos media players disponıveis para Linux.

Thiago Santos, LIVES-FSCET, 2002 27

Page 28: Introdu¸c˜ao ao GNU/Linux Thiago Teixeira Santosthsant/pool/linux-intro.pdf · • Sistemas GNU/Linux, ap´os a inicializa¸c˜ao, solicitam o nome de usu´ario e a senha para autenticac˜ao.

Cool Stuff - XMMS

XMMS: Um dos media players disponıveis para Linux.

Thiago Santos, LIVES-FSCET, 2002 28

Page 29: Introdu¸c˜ao ao GNU/Linux Thiago Teixeira Santosthsant/pool/linux-intro.pdf · • Sistemas GNU/Linux, ap´os a inicializa¸c˜ao, solicitam o nome de usu´ario e a senha para autenticac˜ao.

4. REFERENCIAS

Thiago Santos, LIVES-FSCET, 2002 29

Page 30: Introdu¸c˜ao ao GNU/Linux Thiago Teixeira Santosthsant/pool/linux-intro.pdf · • Sistemas GNU/Linux, ap´os a inicializa¸c˜ao, solicitam o nome de usu´ario e a senha para autenticac˜ao.

• Free Software Foundationhttp://www.gnu.org

• The Linux Documentation Project – LDPhttp://www.tldp.org

• Projeto de Documentacao do Linux – LDP-BRhttp://br.tldp.org

• The Linux Cookbook: Tips and Techniques for Everyday Usehttp://www.tldp.org/LDP/linuxcookbook/linuxcookbook-1.2.pdf

• Knoppixhttp://www.knopper.net/knoppix/index-en.html

• Debianhttp://www.debian.org

• Red Hathttp://www.redhat.com

• Linux Mall “Paulistana”http://http://www.linuxmall.com.br

Thiago Santos, LIVES-FSCET, 2002 30