Mudanças entre as edições de "PJI2-2017-1"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 734: Linha 734:
 
# Em outro computador, baixe o arquivo de backup e recupere-o.
 
# Em outro computador, baixe o arquivo de backup e recupere-o.
  
{{collapse bottom}}
 
 
= 10/03: Projeto da etapa 1 (continuação) =
 
 
{{collapse top | Aula 9}}
 
 
{{collapse bottom}}
 
{{collapse bottom}}

Edição das 16h39min de 10 de março de 2017

Endereço encurtado: http://bit.ly/pji2-20171

Presença: Neste link


Projeto Integrador II: Diário de Aula 2017-1

Professores: Marcelo Maia Sobral (Facebook2.png Facebook) e Simara (simara.sonaglio@ifsc.edu.br)
Encontros: 4a feira/19:00, 6a feira/19:00
Atendimento paralelo: 4a e 6a feira 18:30 h
Coordenadoria pedagógica (Graciane): graciane@ifsc.edu.br (3381-2890, 3381-2842)

Objetivo Geral

Implantar rede de dados e telefônica de pequeno porte, típica de um pequeno escritório.

Ementa

Introdução e histórico das telecomunicações e da Internet. Uso de serviços e aplicações oferecidos pelas redes de telecomunicações. Conceitos sobre redes de computadores: comutação de pacotes versus comutação de circuitos, redes locais e rede Internet. Instalação de computadores e integração a uma rede local e a Internet. Sistema operacional Linux. Introdução ao sistema telefônico: telefonia fixa e móvel, centrais de comutação, telefonia IP e convergência. Integração de serviços de voz convencionais e VoIP.

Bibliografia

  • FOROUZAN, Behrouz A.; FEGAN, Sophia Chung. Comunicação de dados e redes de computadores. Tradução de Ariovaldo Griesi. 4. ed. São Paulo: McGraw-Hill, 2008. 1134 p., il. ISBN 9788586804885.
  • KUROSE, J. e ROSS, K. Redes de Computadores e a Internet: Uma abordagem top-down. Tradução da 3a edição, Addison Wesley, 2006.
  • COLCHER, Sérgio. VOIP: voz sobre IP. Rio de Janeiro: Elsevier, 2005.

Material de apoio

Alguns textos interessantes

Oportunidades para Técnicos em Telecomunicações

Documentários sobre telecomunicações

Curiosidades

Avaliações

As avaliações serão de dois tipos:

  • Projetos: feitos em equipe, serão avaliados de acordo com o cumprimento dos objetivos previamente determinados. Na apresentação do projeto, uma entrevista será feita para definir o conceito concedido a cada membro da equipe.
  • Testes: feitos individualmente, serão aplicados semanalmente no início da aula. O conteúdo para esses testes serão textos informados com uma semana de antecedência, assim como as técnicas e assuntos vistos em aula. A avaliação de cada teste será dada com um dos conceitos S (suficiente) e I (insuficiente).


O conceito final será calculado da seguinte forma:

  • 9 a 10: ao menos dois projetos A e um projeto B
  • 7 a 9: ao menos dois projetos B em um projeto C
  • 6: ao menos C em todos projetos


Além disso, os testes ajustam o conceito final da seguinte maneira:

  • Incrementa: se pelo menos 75% dos testes S, incrementa conceito final em um nível (ex: B sobe para A)
  • Mantém: se pelo menos 40% dos testes S, mantém conceito final
  • Decrementa: se menos de 40% dos testes S, decrementa conceito final em um nível (ex: A reduz para B)

Projetos

Nome Projeto 1 Projeto 2 Projeto 3 Conceito Conceito
após ajuste
Faltas
  • OBS: D* = Indefinido (por ausência à avaliação)
  • OBS 2: conceito acompanhado de ? = falta o relatório do projeto

Testes

Nome T1 T2 T3 T4/PC T5 T6 T7 T8 T9 T10 T11 Ajuste

Obs: I* = não fez o teste

Equipes

Equipe Membros
1
2
3
4
5
6
7

10/02: Apresentação da disciplina

Aula 1


Objetivo da aula: usar o sistema operacional Linux para visualizar os conteúdos de arquivos


A disciplina se compõe de três etapas:

  1. Introdução ao uso do sistema operacional Linux
  2. Instalação de um computador com Linux e implantação de uma rede local com acesso a Internet
  3. Implementação de um pequeno PBX IP

Hoje inicia-se a etapa 1. Ao longo dela serão estudados alguns conceitos sobre o sistema operacional Linux, e serão praticados exercícios e resolvidos pequenos desafios relacionados com procedimentos usuais do dia-a-dia. Ao final da etapa, um pequeno projeto será realizado para consolidar o conhecimento e avaliar o progresso da turma.


O que é um sistema operacional ?

No curso iremos trabalhar com sistema operacional Linux. Porém o conceito de sistema operacional inclui também o Windows, Mac OS X, FreeBSD, Android, iOS, e (muitos, muitos, muitos mesmo !) outros. Para ter uma ideia do que faz um sistema operacional, vejam esta animação:


A Saga do Windows

Não há um video tão direto e divertido como esse que se baseie no Linux. Mas alguns documentários podem contextualizar o Linux e contar um pouco de sua história. Vocês podem assisti-lo em outro momento, caso se interessem em conhecer melhor o Linux e software livre:


Revolution OS: A História do Linux, GNU e software livre

The Code Linux - documentário sobre Linux


O que esses videos procuram revelar é que o sistema operacional é um programa que articula os recursos do computador (hardware) para que usuários possam executar programas (software). O sistema operacional por si só não tem utilidade, pois ele existe para viabilizar o uso de aplicativos, e esses sim são úteis para os usuários. Costuma-se dizer também que um sistema operacional pode ser visto como uma plataforma de software sobre a qual podem-se criar e utilizar programas.


Pji-So1.png
Um sistema computacional é formado por hardware e software, e é utilizado por pessoas ou mesmo outros sistemas


Alguns conceitos são comuns ao projeto de sistemas operacionais:

  • Interface com o usuário, tanto gráfica quanto via terminal com o interpretador de comandos (shell)
  • Processos (programas em execução), sendo usual hoje em dia que múltiplos processos possam coexistir em um sistema operacional
  • Gerenciamento dos recursos do computador (memória, discos, ...), de forma a tirar melhor proveito de suas capacidades
  • Arquivos e diretórios, para facilitar o armazenamento de dados e sua organização
  • Rede (comunicação com outros computadores), uma vez que hoje em dia é inconcebível que um dispositivo computacional não possa se comunicar com outros dispositivos


Sistemas operacionais usados em equipamentos de rede

Equipamentos de rede como roteadores, pontos de acesso, modems adsl, switches ethernet e mesmo centrais telefônicas podem ser considerados computadores especializados. Todos possuem algum sistema operacional sobre o qual outros softwares são usados para implementar as funções de cada equipamento.

Interface com o usuário

Hoje, em particular, precisaremos explorar um pouco dos conceitos de interface com o usuário, arquivos e aplicativos. A interface a ser usada inicialmente é a interface gráfica (GUI - Graphical User Interface). A figura a seguir mostra essa interface, conforme a que existe nos computadores do laboratório:

Pji-Terminal1.png
Uma interface gráfica ...


Outro tipo de interface a ser usada é a interface de linha de comando, ou simplesmente interface de texto (CLI - Command Line Interface). Essa interface se apresenta como uma tela de texto, sem recursos gráficos nem interação com mouse, onde se podem somente digitar comandos e visualizar seus resultados na forma de texto simples. A figura a seguir mostra uma interface de texto:

Pji-CLI.png
Uma interface de linha de comando acessível em um terminal ...


Em especial, ao longo da disciplina faremos uso intensivo da interface de linha de comando por meio de terminais (ver figura acima). Uma boa introdução ao uso do terminal pode ser lida no material de apoio.

Algumas atividades para o uso do sistema operacional

Ao longo da disciplina, diversas atividades precisarão ser realizadas com o sistema operacional. Algumas delas são bastante corriqueiras, e por isso acabam sendo realizadas desde as primeiras vezes em que se usa o sistema. Elas envolvem:

  • Iniciar e encerrar uma sessão no Linux: sessões são iniciadas quando um usuário se autentica no sistema operacional, iniciando sua interface de trabalho (gráfica ou textual) e executando seus aplicativos. O término da sessão encerra todos os programas em execução iniciados pelo usuário (há exceções).
  • Familizarização com a interface gráfica: a interface gráfica se apresenta como a interface preferencial para a grande maioria dos usuários. Ela oferece um acesso intuitivo para aplicativos e arquivos.
  • Usar o navegador de arquivos: o acesso a arquivos e diretórios (ou pastas) pode ser feito com o navegador de arquivos. Esse aplicativo gráfico apresenta diversas facilidades para trabalhar com arquivos e diretórios.
  • Executar programas: programas podem ser executados com ajuda do sistema operacional. Basicamente podem-se classificá-los em aplicativos, que realizam tarefas para as finalidades do usuário (ex: editar texto, navegar na web), e utilitários, que servem para ajudar a usar o ambiente do sistema operacional (ex: shell, programas de cópia de arquivos). Programas podem ser executados tanto a partir da interface gráfica quanto da linha de comando.

Atividade

  1. Um conjunto de arquivos foi disponibilizado na rede do IFSC-SJ (ver este link). Usando o ambiente gráfico (GUI), obtenha cada um desses arquivos, e faça o seguinte:
    • Visualize seu conteúdo
    • Identifique o tipo de conteúdo, apontando que informação associada ao arquivo pode ser usada para descobrir isso
    • Identifique os aplicativos capazes de apresentarem esse arquivo
    • Tente modificar os conteúdos desses arquivos, identificando os aplicativos utilizados
  2. Repita a atividade anterior, porém usando a interface de linha de comando (CLI)
  3. Escreva um relatório que contenha as informações relacionadas a cada arquivo, de acordo com as atividades realizadas. Esse relatório deve ser entregue por email para os professores.

15/02: Manipulação de arquivos e diretórios

Aula 2

Objetivo da aula: usar o sistema operacional Linux para manipular arquivos e diretórios utilizando interface gráfica e linha de comando.

Uma tarefa usual em um sistema operacional é localizar arquivos. Essa procura pode ser baseada no nome ou parte do nome de arquivo, na data de criação ou última modificação, no nome do usuário ou grupo dono, ou outros atributos do arquivo. Pode ser inclusive baseada numa combinação dessas informações. Por exemplo, pode ser necessário procurar todos os arquivos de música ou video, ou então todos os programas (arquivos executáveis) que pertençam ao superusuário (usuário root). Existem programas capazes de fazer tais buscas tanto no ambiente gráfico quanto no modo texto.

As buscas a serem realizadas são:

  1. Arquivos de música
  2. Arquivos de música ou video
  3. Arquivos de texto ou planilha do Openoffice que não tenham sido modificados a 7 dias ou mais
  4. Arquivos executáveis (programas)
  5. Arquivos executáveis pertencentes ao usuário root

Para iniciar, vamos usar programas gráficos para fazer buscas.

Usando o ambiente gráfico

O primeiro programa gráfico a ser usado é o caja (ou nautilus em outras versões do Ubuntu que não o Mate), o gerenciador de arquivos disponível no Ubuntu Linux. Para usá-lo para fazer buscas selecione a opção de pesquisa:


Pesquisa1.png


No caja aparecerá uma caixa de texto onde se deve digitar o nome ou parte do nome dos arquivos a serem procurados.


Pesquisa2.png


Tente fazer as buscas usando esse programa. Há alguma que não pode ser feita ?

Usando a linha de comando (modo texto)

O caja funciona como um gerenciador de arquivos e diretórios, possibilitando investigar que arquivos existem em cada diretório, entre outras coisas. Com ele é simples listar o conteúdo de um ou mais diretórios, bastando navegar por sua interface. Mas na linha de comando não há essa facilidade. Nela devem-se usar alguns programas para obter um resultado parecido. Para começar a usar a linha de comando, devem-se conhecer e saber usar programas para navegar por diretórios, listar diretórios, procurar arquivos e diretórios e copiar arquivos.

Árvore de diretórios

Antes de iniciarmos o estudo de comandos dos Linux é necessário entendermos como funciona a sua organização de arquivos e diretórios. Isso é importante para conseguirmos especificar adequadamente o caminho de arquivos e diretórios que desejamos manipular quando formos utilizar os mais diversos comandos.

ArvoreDiretorios2.png

Na figura acima é mostrado um exemplo de como são organizados arquivos e diretórios no Linux. Como é possível notar arquivos e diretórios são organizados de forma hierárquica, formando o que se chama de Árvore de Diretórios.

No Linux há um diretório de nível superior chamado root que é identificado como apenas uma barra (/). Abaixo deste diretório principal estão organizados hierarquicamente todos os demais diretórios e arquivos existentes. Os diretórios que estão contidos em / são chamados de sub-diretórios. No exemplo mostrado na Figura acima podemos perceber que em / está o sub-diretório home, dentro de home está o sub-diretórios user1 e dentro de user1 estão os sub-diretórios doc e videos.


O caminho de um arquivo ou diretório é a localização deste a partir do topo da estrutura de diretórios (/) ou a partir do diretório atual em que o usuário se encontra. Quando apontamos o caminho a partir do topo estamos nos referindo ao caminho absoluto de arquivos e diretórios. Quando apontamos o caminho de um arquivo ou diretório a partir do diretório corrente em que o usuário se encontra, estamos usando o conceito de caminho relativo.

Por exemplo, o caminho absoluto do diretório doc que aparece na figura é /home/user1/doc. Já se o diretório atual do usuário for /home, o caminho relativo do diretório doc é user1/doc.

Diretório atual

Na linha de comando existe o conceito de diretório atual ou corrente. Quando se acessa esse tipo de interface, existe um diretório em que operações sobre arquivos são realizadas. Para descobrir o diretório atual usa-se o programa pwd, como mostrado a seguir:

msobral@turing:~$ pwd
/home/aluno

Listagem de diretório

No exemplo anterior, o diretório atual é /home/aluno. Qualquer operação sobre arquivos ou diretórios será feita tendo como base esse diretório. A operação mais simples é a listagem de diretório, que se faz com o programa ls. Aproveitando o exemplo acima, a listagem do diretório atual teria este resultado:

msobral@turing:~$ ls
001.jpg                iperf-2.0.5.tar.gz             prova4-2011-1.odt
002.jpg                juliano.tgz                    prova4-2011-1-rec.odt
003.jpg                klaus                          prr.log
004.jpg                livros                         public_html
005.jpg                Makefile.in                    quartus.cap
006.jpg                nhrp.tar                       radiusd_test.py
007.jpg                nohup.out                      rco2
008.jpg                passwd.web                     rmu
msobral@turing:~$

Mudança de diretório

A listagem apresentada revela vários arquivos e subdiretórios existentes no diretório atual. Sabendo que public_html é um subdiretório, pode-se desejar mudar o diretório atual de forma a entrar nesse subdiretório. Isso pode ser facilmente realizado com o programa cd:

aluno@turing:~$ cd public_html
aluno@turing:~/public_html$ pwd
/home/aluno/public_html


Diretório atual e diretório acima

O diretório imediatamente acima é referido com .. (dois pontos). Esse é um atalho que possibilita subir um nível de diretório sem conhecer o nome do diretório imediatamente superior. Assim, para voltar ao diretório imediatamente anterior ao diretório atual pode-se fazer isto:

aluno@turing:~/public_html$ cd ..
aluno@turing:~$ pwd
/home/aluno


O diretório atual possui também um atalho chamado . (um ponto). Assim, se for executado este comando ...

aluno@turing:~/public_html$ pwd
/home/aluno/public_html
aluno@turing:~/public_html$ cd .
aluno@turing:~/public_html$ pwd
/home/aluno/public_html

... nada acontecerá (o diretório atual não será modificado).

Criação e remoção de diretório

Um diretório pode ser criado com o comando mkdir. O uso desse comando pede apenas um argumento, que é o nome ou caminho do diretório a ser criado:

aluno@M2:~$ pwd
/home/aluno
aluno@M2:~$ mkdir teste
aluno@M2:~$ cd teste
aluno@M2:~$ pwd
/home/aluno/teste

Para remover um diretório usa-se o comando rmdir. Esse diretório deve estar vazio para o comando consiga removê-lo:

aluno@M2:~$ pwd
/home/aluno
aluno@M2:~$ rmdir teste
aluno@M2:~$ cd teste
cd: teste: Arquivo ou diretório não encontrado
aluno@M2:~$ rmdir Downloads
rmdir: falhou em remover “Downloads”: Diretório não vazio

Cópia de arquivos

A cópia de arquivos na linha de comando envolve usar o programa cp. Com ele podem-se copiar um ou mais arquivos para um diretório de destino. Por exemplo, para copiar o arquivo 001.jpg para dentro do diretório public_html pode-se fazer o seguinte:

aluno@M2:~$ cp 001.jpg public_html

O diretório de destino é sempre o último argumento passado ao programa cp. A cópia de múltiplos arquivos pode ser feita listando-os todos antes do diretório de destino:

aluno@M2:~$ cp 001.jpg 002.jpg 003.jpg public_html


... ou usando-se o caractere especial * (chamado de curinga ou wildcard no original em inglês):

aluno@M2:~$ cp *.jpg public_html


No exemplo acima, todos os arquivos cujos nomes terminem com .jpg serão copiados para dentro de public_html. Outra variação no uso do curinga é:

aluno@M2:~$ cp 00*.jpg public_html

... em que todos os arquivos cujos nomes iniciem com 00 e terminem com .jpg serão copiados.

Renomeação de arquivos

Arquivos podem ser renomeados com o comando mv. Ele pode ser usado de forma muito parecida com o comando cp. A diferença está na remoção do arquivo original, como se ele sumisse de seu diretório de origem e aparecesse no diretório de destino.

aluno@M2:~$ mv mulher_de_40.mp3 Musicas
aluno@M2:~$ ls Musicas
mulher_de_40.mp3
aluno@M2:~$ ls mulher_de_40.mp3
não é possível acessar mulher_de_40.mp3: Arquivo ou diretório não encontrado


Se os diretórios de origem e destino forem iguais, mas os nomes do arquivo de origem e destino forem diferentes, então o arquivo na verdade é renomeado.

aluno@M2:~$ mv mulher_de_40.mp3 musica_romantica.mp3
aluno@M2:~$ ls musica_romantica.mp3
musica_romantica.mp3
aluno@M2:~$ ls mulher_de_40.mp3
não é possível acessar mulher_de_40.mp3: Arquivo ou diretório não encontrado

Remoção de arquivos

Arquivos podem ser removidos com o comando rm. Cuidado ao utilizá-lo ! Uma vez removido, um arquivo não pode ser recuperado !

aluno@M2:~$ rm mulher_de_40.mp3
aluno@M2:~$ ls mulher_de_40.mp3
não é possível acessar mulher_de_40.mp3: Arquivo ou diretório não encontrado

Curingas (wildcards)

Curingas são caracteres especiais usados para selecionar vários arquivos ou diretórios de uma só vez. Os curingas podem ser usados em qualquer comando para especificar nomes de arquivos e diretórios. Dois curingas bastante usados são:

  • * : casa com uma sequência composta por 0 ou mais caracteres quaisquer.
  • ? : casa com um único caractere qualquer

Curingas são muito úteis para operações sobre arquivos e diretórios. Por exemplo, para copiar todos os arquivos de música MP3 pode-se usar o curinga *' da seguinte forma:

aluno@M2:~$ cp *.mp3 Musica


Para mover os arquivos cuja extensão seja mp4 ou mpg, podem-se usar os curingas * e ? desta forma:

aluno@M2:~$ mv *.mp? Videos

Procura por arquivos

A procura de arquivos e diretórios pode ser realizada na linha de comando com o programa find. Por exemplo, para localizar todos os arquivos ou diretórios chamados default, e que estejam abaixo de /etc:

aluno@D1:~$ find /etc -name default -print
/etc/default
/etc/calendar/default
/etc/X11/xinit/xinput.d/default
aluno@D1:~$


Uso do find :

find diretório [opões]


... sendo diretório o diretório abaixo de que se deseja fazer a busca. As opções servem para selecionar arquivos e diretórios durante a busca, e também para executar ações para cada um deles que for encontrado. Algumas opções mais comuns:

  • -name nome: seleciona arquivos ou diretórios cujos nomes sejam nome' . Essa opção aceita wildcards (* e ?)
  • -type tipo: seleciona apenas o tipo' indicado, que pode ser:
    • d: diretório
    • f: arquivo
    • l: link simbólico (ou atalho)
  • -perm modo: seleciona apenas arquivos ou diretórios que possuam as permissões indicadas em modo
  • -size tamanho: seleciona apenas arquivos com tamanho de acordo com o especificado (em bytes)
  • -mtime n: seleciona apenas arquivos ou diretórios modificados a n * 24 horas atrás
  • -atime n: seleciona apenas arquivos ou diretórios acessados a n * 24 horas atrás
  • -user usuario: seleciona apenas arquivos ou diretórios pertencentes a usuario
  • -exec comando \;: executa comando para cada arquivo ou diretório encontrado. Ex:
    • find /tmp -type f -mtime +7 -exec rm -f {} \; : remove todos os arquivos dentro de /tmp que estejam há 7 dias sem serem modificados. A sequência {} é substituída pelo nome do arquivo encontrado.

... e muitas outras (consulte o manual do find).

Exercícios

  1. Partindo do subdiretório /home/aluno/Desktop, e usando somente caminhos (pathnames) relativos, indique a sequência de comandos necessária para visitar sucessivamente os seguintes subdiretórios:
    • /home/aluno
    • /home
    • /etc/default
    • /usr/share/doc
    • /usr/share/doc/python/faq
    • /usr/lib/ubuntu-mate
    • /usr/local/etc
    • /usr/local/man
    • /usr/local/lib/python2.7
    • /usr/local/lib/python2.7/site-packages
    • /usr/local/lib/python2.7/dist-packages
    • /home/aluno
    • /home/aluno/Downloads
  2. Partindo do subdiretório /home/aluno, informe a sequência de subdiretórios (indique-os com seus caminhos absolutos) visitados se forem seguidos os seguintes caminhos relativos:
    • Imagens
    • ../Documentos
    • ../..
    • ../boot
    • grub
    • ../../usr/lib
    • ../share
    • ../local
    • lib/python2.7
    • ../..
    • ../../etc
    • ../lib/modules
    • ../../home
    • aluno/Downloads/..
  3. Organize estes arquivos, de forma que sejam colocados nos subdiretórios Imagens, Videos e Documentos, de acordo com seus tipos. Os arquivos devem ser movidos para esses diretórios.
  4. Remova o arquivo compactado transferido no exercício anterior.
  5. Renomeie os arquivos de imagens organizados no exercício 3. Dê um nome para cada imagem de acordo com seu conteúdo.
  6. No diretório /usr/share/sounds/ubuntu existem vários arquivos de áudio. Crie um diretório dentro de seu diretório pessoal e copie-os para esse novo diretório. Em seguida, reproduza-os para escutá-los.
  7. Encontre o arquivo lsusb, que se encontra em algum subdiretório dentro de /usr
  8. Encontre os subdiretórios lib, que estão dentro de /usr
  9. Localize todos os arquivos executáveis (i.e., os programas) que existem abaixo de /lib
  10. Localize todos os arquivos pertencentes ao usuário aluno e que estejam dentro de /tmp

17/02: continuação

Aula 3

continuação da aula de 15/02

22/02: continuação

Aula 4

continuação da aula de 15/02

24/02: Editores de texto

Aula 5

Hoje serão vistos alguns editores de texto do Linux. Esses programas são essenciais para muitas tarefas realizadas no sistema, uma vez que diversos aplicativos ou do próprio sistema são ajustados (ou configurados) por meio de arquivos de texto. Alguns editores são mais intuitivos, porém limitados, e outros exigem maior esforço para serem dominados, no entanto apresentam mais recursos.


Mas primeiro vamos fazer duas atividades para relaxar ...

Um pequeno desafio


Em seu diretório home (pasta pessoal) existem alguns arquivos de video obtidos com sua câmera fotográfica, porém você não sabe exatamente onde estão. Além disso, esses videos são codificados na máquina fotográfica com o codec MJPG, que gera arquivos muito grandes. Se forem recodificados para codec XVID, os tamanhos desses videos serão reduzidos substancialmente (4 vezes ou mais). Sabendo que existem programas que podem recodificá-los no modo texto, faça o seguinte:

  1. Localize esses arquivos de video MJPG
  2. Identifique algum programa capaz de fazer essa mudança de codificação (chamada de transcodificação).
  3. Use esse programa para transcodificar esses videos para codec XVID.
  4. Ao final do processo, reproduza-os com seu programa preferido.

O que há em um sistema Android ?

O sistema operacional Android se baseia em componentes do Linux. Inclusive é possível abrir um terminal de texto para investigar informações internas do sistema, as quais não são visíveis na interface gráfica de usuário. Um experimento pode ser facilmente realizado para revelar esse terminal de texto, que muito se assemelha à linha de comando de um sistema Linux usual.

  1. Ative o modo de depuração USB do seu celular. Existe um procedimento para cada modelo, como se pode ler neste tutorial.
  2. Obtenha as ferramentas de plataforma do Android. Siga as instruções para download e utilização.
  3. A ferramenta para acesso ao celular se chamada adb (Android Debug Bridge), que é um programa de linha de comando.
  4. Conecte seu celular ao computador com um cabo USB
  5. Execute este comando no computador:
    adb devices
    
    ... conferindo se seu celular é identificado.
  6. Abra um terminal com seu celular com este comando:
    adb shell
    
  7. Navegue pelos subdiretórios em seu celular, comparando-os com os de um sistema Linux. Investigue também subdiretórios que pareçam ser de aplicativos instalados em seu celular.
  8. Experimente copiar arquivos do seu celular para o computador, por meio do comando:
    adb pull
    
    ... mas os detalhes de como fazer isso devem ser procurados no manual (aqui tem alguma coisa).


01/03: continuação

Aula 6

continuação da aula de 24/02

03/03: Backups

Aula 7

A aula de hoje tem estes objetivos:

  • interpretar permissões de arquivos e diretórios
  • realizar e recuperar cópias de segurança pela interface gráfica e pela linha de comando


08/03: Continuação aula 7

Aula 8

10/03: Projeto da etapa 1

Aula 9

A etapa 1 envolveu ter um primeiro contato com o sistema operacional Linux. Foram apresentadas as duas interfaces de usuário, sendo elas a interface gráfica (GUI) e a linha de comando (CLI ou, simplesmente, shell). Aprenderam-se conceitos básicos, tais como diretórios, arquivos e permissões, e usaram-se aplicativos gráficos e programas pela linha de comando para manipulá-los. Isso deve ser suficiente para que se consiga usar o sistema operacional e os aplicativos nele disponíveis.

A conclusão da etapa 1 envolve implantar um serviço de compartilhamento de arquivos para uma empresa. Esse serviço tem por finalidade oferecer acesso a arquivos para funcionários e clientes. No caso de funcionários, deve ser possível tanto enviar quanto baixar arquivos. Para clientes, apenas baixar arquivos está disponível. Esses tipos de transferência de arquivos podem ser descritas assim:

  • upload: enviar arquivos para esse computador
  • download: baixar arquivos desse computador

Quando as transferências são feitas por funcionários, o acesso deve ser autenticado por meio de um usuário e sua senha. Cada funcionário possui seu usuário. Ao acessar o serviço, um funcionário tem acesso a seu diretório pessoal, a um diretório com documentos da empresa, e a um diretório compartilhado com os demais funcionários. O diretório compartilhado serve para funcionários poderem disponibilizar arquivos entre si. O diretório com documentos da empresa (manuais, formulários e programas) deve estar em modo somente-leitura.

Acessos feitos por clientes da empresa são anônimos, não exigindo um usuário e senha válidos. Esse tipo de acesso possibilita o acesso a um diretório onde a empresa compartilha manuais e programas relacionados a seus produtos. Apenas tal diretório pode ser acessado de forma anônima.

O tipo de serviço que melhor atende essa necessidade se chama FTP. Existem vários programa que implementam esse serviço para o Linux, e assim um deles devem ser escolhido e instalado. A lista a seguir apresenta algumas opções para servidores FTP:

  • wu-ftpd
  • proftpd
  • vsftpd
  • pure-ftpd


Atividades


  1. Cada equipe deve escolher um dos servidores FTP. As características desses programas devem ser avaliadas para uma boa escolha.
  2. O programa escolhido deve ser instalado em seu computador (máquina virtual).
  3. Deve-se configurar o servidor FTP para que se possam fazer acessos com usuários autenticados ou anônimo.
  4. Devem-se disponibilizar arquivos variados (ex: videos, imagens, documentos, outros programas) para acesso anônimo. Dica: veja como funciona o servidor FTP da UFPR.
  5. Devem-se disponibilizar arquivos da empresa, também variados, para acesso de funcionários. Eles devem ficar no diretório somente-leitura que contém arquivos de uso corporativo para ps funcionários.
  6. Acesse seu servidor FTP a partir de outros computadores e de seus celulares (dica: use um cliente FTP): transfira arquivos em ambas direções e verifique se foram copiados corretamente.
  7. Faça um backup de arquivos pessoais, e copie-o para seu servidor FTP.
  8. Em outro computador, baixe o arquivo de backup e recupere-o.