Mudanças entre as edições de "PJI2-2017-2"
Linha 153: | Linha 153: | ||
|7 || | |7 || | ||
|} | |} | ||
+ | |||
+ | = 31/07: Conceitos básicos e início do projeto 1= | ||
+ | |||
+ | {{Collapse top | Aula 1}} | ||
+ | |||
+ | A disciplina se compõe de três etapas: | ||
+ | # Introdução ao uso do sistema operacional Linux | ||
+ | # Instalação de um computador com Linux e implantação de uma rede local com acesso a Internet | ||
+ | # 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. | ||
+ | |||
+ | |||
+ | Nesta aula, será feito o seguinte: | ||
+ | # [[PJI2-2017-2#Apresenta.C3.A7.C3.A3o_do_Projeto_1|Apresentação do tema do Projeto 1]] | ||
+ | # [[PJI2-2017-2#Identifica.C3.A7.C3.A3o_de_softwares_para_centro_de_midia|Pesquisa sobre opções para realização do projeto]] | ||
+ | |||
+ | == Apresentação do Projeto 1 == | ||
+ | |||
+ | ''O projeto 1 tem por objetivo:'' | ||
+ | |||
+ | |||
+ | <span style="font-size:large;color:black"><center>'''Implantar um serviço de compartilhamento de midia por meio de uma rede de computadores residencial'''</center></span> | ||
+ | |||
+ | |||
+ | Isso pode ser detalhado da seguinte forma: | ||
+ | * '''O cenário:''' rede local de alcance reduzido. Uma residência ou pequeno escritório, por exemplo. | ||
+ | * '''O problema:''' armazenar e distribuir mídia em geral para os dispositivos em rede. Músicas, filmes, fotos, etc. Uma casa com vários cômodos ou um escritório com música ambiente. | ||
+ | ** ''reproduzir midia em e vindo de laptops, desktops, tablets e smartphones'' | ||
+ | ** ''reproduzir midia em TVs LCD/LED/Plasma'' | ||
+ | ** ''reproduzir midia em amplificadores de audio, ou dock stations'' | ||
+ | ** ''controlar a reprodução com controle remoto'' | ||
+ | ** ''... possivelmente outras funcionalidades !'' | ||
+ | * '''Como fazer:''' pesquisa de ferramentas de armazenamento, organização/catalogação e distribuição de mídia em rede. Compartilhamento automatizado/facilitado para o usuário final. | ||
+ | * '''O que usar:''' sistema operacional Linux, aplicações em rede. | ||
+ | |||
+ | |||
+ | [[imagem:Pji-video-sharing.jpg]] | ||
+ | |||
+ | |||
+ | Uma pequena rede interliga possivelmente computadores, smartphones, tablets e laptops. Em um ou mais dos computadores existem videos e músicas, que podem estar organizados em listas de reprodução ou por categoria (ex: os videos podem estar classificados por gênero, além de terem uma sinopse obtida do [http://www.imdb.com/ IMDB]). As pessoas que usam essa rede gostariam de poder integrar seus dispositivos, de forma a poderem neles reproduzir esses videos e músicas. Assim, eles poderão assistir ou ouvir o que quiserem em qualquer parte do ambiente. Além disso, o contrário também poderia ser desejável: uma pessoa poderia reproduzir em um computador, ou mesmo na TV, videos, músicas e fotos que estão armazenados em seu smartphone ou tablet. | ||
+ | |||
+ | |||
+ | ''Do ponto de vista da '''aprendizagem''', o projeto 1 tem por objetivos:'' | ||
+ | * Usar as interface gráfica e de linha de comando do sistema operacional Linux para operações básicas: | ||
+ | ** Visualizar, copiar, remover e criar arquivos e diretórios | ||
+ | ** Executar programas e terminar processos | ||
+ | ** Editar arquivos de texto simples em modo gráfico ou texto | ||
+ | ** Instalar pacotes de software | ||
+ | * Usar a rede de computadores, o que implica | ||
+ | ** Referenciar recursos na rede por meio de URL | ||
+ | ** Usar programas apropriados para cada tipo de aplicação de rede | ||
+ | ** Selecionar e usar programas apropriadas para cada necessidade | ||
+ | |||
+ | |||
+ | |||
+ | === Começando o projeto === | ||
+ | |||
+ | # Conheça a rede onde deseja compartilhar videos, músicas e fotos. Veja seus dispositivos e equipamentos de comunicação, e como estão interligados. Veja que programas já existem nos computadores e os sistemas operacionais que estão instalados. Procure entender como um dispositivo móvel (smartphone ou tablet) se integra a essa rede. | ||
+ | # Entenda bem o que você quer implantar na sua rede, e como espera que funcione. Se acreditar que lhe ajuda, faça diagramas que mostrem como os dispositivos compartilharão e reproduzirão conteúdos por meio da rede. Você pode também enumerar as situações em que as pessoas farão uso da estrutura que você pretende implantar. | ||
+ | # Procure identificar o material necessário e os programas (softwares) que vão desempenhar essas funções. Quer dizer, aqui vale a pergunta ''"... o que eu preciso para fazer tal coisa ?"'' e ''"... como isso será usado ?"''. | ||
+ | # Você certamente precisará usar ao menos um computador com sistema operacional Linux. O que é necessário conhecer para poder utilizá-lo a contento ? | ||
+ | |||
+ | == Identificação de softwares para centro de midia == | ||
+ | |||
+ | A investigação da turma teve como fruto um conjunto de possíveis softwares para usar no projeto. A escolha de um desses softwares depende dele ser capaz de atender os requisitos listados na descrição do projeto. Assim, a tabela abaixo pretende sistematizar o cumprimento dos requisitos por esses softwares. | ||
+ | |||
+ | {| border="1" | ||
+ | !Software | ||
+ | !Reproduz videos | ||
+ | !Reproduz musicas | ||
+ | !Apresenta fotos | ||
+ | !Acessa midia remota | ||
+ | !Controle remoto | ||
+ | !Reproduz em outro dispositivo | ||
+ | !Reproduz vindo de outro dispositivo | ||
+ | !Linux | ||
+ | !Gratuito | ||
+ | |- | ||
+ | | || || || || || || || || || | ||
+ | |} | ||
+ | |||
+ | == Uma visão geral (dos professores) sobre o projeto 1 == | ||
+ | |||
+ | A realização do projeto 1 envolve a compreensão de um conjunto de conceitos. O mapa conceitual abaixo procura resumir as ideias envolvidas, e como elas se relacionam. Esse mapa pode ser melhorado ao longo do projeto ! | ||
+ | |||
+ | |||
+ | [[imagem:Pji1-projeto1-cm.jpg|800px]] | ||
+ | |||
+ | {{Collapse bottom | Aula 1}} | ||
+ | |||
+ | = 02/08: Projeto 1: escolhendo e instalando o ''media center'' = | ||
+ | |||
+ | {{Collapse top | Aula 2}} | ||
+ | |||
+ | Na aula de hoje, será realizado o seguinte: | ||
+ | # [[PJI2-2017-2#Instala.C3.A7.C3.A3o_do_centro_de_midia|Instalação do centro de midia escolhido]] | ||
+ | #* Usar a interface gráfica de um sistema operacional Linux | ||
+ | #* Usar um navegador web para acessar páginas e transferir arquivos | ||
+ | #* Usar a interface de linha de comando no Linux | ||
+ | #* Instalar programas segundo instruções contidas em um manual | ||
+ | # [[Introdução ao Sistema Operacional Linux]] | ||
+ | # [[PJI2-2017-2#Algumas_atividades_para_o_uso_do_sistema_operacional|Realização de algumas atividades para ambientação com o Linux]] | ||
+ | |||
+ | == Instalação do centro de midia == | ||
+ | |||
+ | Na aula anterior vocês procuraram por softwares que pudessem satisfazer as necessidades apontadas no projeto. Muitos softwares existem, dentre eles [http://kodi.tv Kodi], [http://www.getmiro.com Miro], [http://www.universalmediaserver.com/ Universal Media Server] e [http://plex.tv/ Plex] (devem existir ainda outros ...). Com base na tabela comparativa feita na aula passada, cada equipe deve '''escolher um deles''' para instalá-lo. Nosso objetivo é cada equipe ter um ''media center'' básico funcionando ao final da aula. | ||
+ | |||
+ | [[imagem:Xbmc_about.jpg]] [[imagem:Plex.png|400px]] | ||
+ | |||
+ | === Instalando o Kodi === | ||
+ | |||
+ | # Execute o VirtualBox, e escolha a máquina virtual ''4-Grafico''. Os próximos passos deverão ser realizados dentro dessa máquina virtual. | ||
+ | # Acesse o [http://kodi.tv/ site do Kodi]. | ||
+ | # Esses sites sobre programas costumam ter uma página com instruções de instalação. Usualmente elas são acessadas pelo link '''Download'''. Procure esse link na página principal do site do Kodi, e siga-o. [[Image:Kodi-download.png|thumb|200px|Página de ''donwload'' do Kodi.]] | ||
+ | # Leia as instruções de instalação do Kodi no Ubuntu Linux, que é o sistema operacional que iremos usar. | ||
+ | # Siga as instruções, que evolve várias etapas, para que, ao final, se tenha o Kodi instalado. | ||
+ | |||
+ | Apesar do guia acima parecer curto e fácil, ele implica alguns conhecimentos para ser realizado a contento - e entendido ! Uma compreensão sobre o que é o sistema operacional Linux, quais seus elementos básicos, e como ele pode ser utilizado, são necessários para essa tarefa. Mas veremos isso à medida que instalarmos o Kodi. | ||
+ | |||
+ | * [http://tele.sj.ifsc.edu.br/~msobral/pji/proj1/videos Videos para testar o Kodi] | ||
+ | * [http://tele.sj.ifsc.edu.br/~msobral/pji/proj1/imagens Fotos para testar o Kodi] | ||
+ | * [http://tele.sj.ifsc.edu.br/~msobral/pji/proj1/musicas/ Musicas] | ||
+ | |||
+ | == Algumas atividades para o uso do sistema operacional == | ||
+ | |||
+ | Ao longo do projeto 1 (e também do projeto 2) 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 Caja:''' 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. ''Obs:'' no Ubuntu oficial, esse programa se chama ''nautilus'', mas no Ubuntu-mate usado no laboratório ele se chama ''caja''. | ||
+ | * '''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. | ||
+ | * '''Operar sobre diretórios:''' o uso do sistema operacional e do seu ambiente de trabalho envolve também lidar com diretórios. Operações tipicas incluem navegar, criar, remover, remover recursivamente, listar, copiar e renomear diretórios. | ||
+ | ** ''Trabalhar o conceito de nomes de arquivos e diretórios absolutos e relativos:'' usando ".", "..", "~" e "-" | ||
+ | ** ''Trabalhar o conceito de diretório de trabalho e de diretório de entrada:'' | ||
+ | * '''Operar sobre arquivos:''' arquivos são a forma usual de armazenamento persistente de informações no computador. Praticamente todos os dados acessados residem em arquivos, tais como textos, planilhas, videos, músicas, e outros. Assim, deve-se saber como criar, remover, renomear e listar arquivos. | ||
+ | * '''Usar o manual online (man):''' para ajudar o acesso à documentação do sistema operacional existem manuais online tanto em modo texto quanto gráfico. No modo texto, o comando [http://manpages.ubuntu.com/manpages/trusty/man1/man.1.html man] possibilita acesso a textos detalhados sobre inúmeros aspectos do sistema. | ||
+ | * '''Outros:''' trabalhar o conceito de arquivo escondido e usar TAB para autocompletar nomes no shell; | ||
+ | |||
+ | === Exercícios === | ||
+ | |||
+ | Para exemplificar as atividades típicas de uso do sistema operacional, faça o seguinte: | ||
+ | # Inicie e encerre uma sessão no Linux: | ||
+ | #* Faça primeiro pela interface gráfica | ||
+ | #* Repita em seguida pela interface de linha de comando (modo texto). Obs: tecle ''CTRL + ALT + F1'' para ter acesso a interface em modo texto, e ''CTRL + ALT + F7'' para voltar à interface gráfica. | ||
+ | # Inicie novamente uma sessão em modo gráfico: | ||
+ | #* Explore o menu, observando os submenus e as categorias de aplicativos | ||
+ | #* Ao identificar o aplicativo para navegar por arquivos e diretórios, observe como o diretório pessoal do seu usuário está organizado. Explore outros diretórios, para ter uma ideia do que existe no disco do seu computador. | ||
+ | #* Experimente executar diferentes aplicativos disponíveis no menu. Por exemplo, procure um editor de textos, de planilhas, de imagens, e outros que achar interessante. | ||
+ | #* Procure por um programa chamado ''terminal'' ou ''xterm''. Execute-o e veja o que ele faz. | ||
+ | #* Digite ''firefox'' no ''terminal'' e tecle ENTER | ||
+ | #* Ainda no ''terminal'', tecle a combinação de teclas CTRL C | ||
+ | #* Digite ''galculator'' no ''terminal'' e tecle ENTER | ||
+ | #* Ainda no terminal, tecle a combinação de teclas CTRL Z. Em seguida, digite ''bg'' e tecle ENTER | ||
+ | #* No ''terminal'' digite ''mate-system-monitor'' e tecle ENTER | ||
+ | #* Execute outro ''terminal'' e nele digite ''kodi'' seguido da tecla ENTER | ||
+ | #* Em qualquer ''terminal'', digite ''killall galculator'' e tecle ENTER | ||
+ | #* O que se pode concluir sobre o ''terminal'' ? | ||
+ | |||
+ | |||
+ | {{Collapse bottom | Aula 2}} | ||
+ | |||
+ | = 07/08: Projeto 1: Instalando fontes de mídia locais = | ||
+ | |||
+ | {{Collapse top | Aula 3}} | ||
+ | |||
+ | Na aula de hoje, será realizado o seguinte: | ||
+ | # [[PJI2-2017-2#Exerc.C3.ADcios|Conclusão dos exercícios da aula anterior]] | ||
+ | # [[PJI2-2017-2#Instala.C3.A7.C3.A3o_de_fontes_de_midia_locais_no_Kodi|Fontes de midia locais no Kodi]] | ||
+ | # [[PJI2-2017-2#Visualizando_o_conte.C3.BAdo_dos_arquivos|Visualizando o conteúdo dos arquivos]] | ||
+ | # [[Manipulação de arquivos e diretórios]] | ||
+ | #* [[Manipula%C3%A7%C3%A3o_de_arquivos_e_diret%C3%B3rios#Exerc.C3.ADcios|Exercícios sobre arquivos e diretórios]] | ||
+ | #* [[Manipula%C3%A7%C3%A3o_de_arquivos_e_diret%C3%B3rios#Exerc.C3.ADcio|Exercícios sobre permissões de arquivos]] | ||
+ | # [[PJI2-2017-2#Um_desafio|Atividade: um pequeno desafio]] | ||
+ | |||
+ | == Instalação de fontes de midia locais no Kodi == | ||
+ | |||
+ | Crie três fontes locais de midia no Kodi: uma para '''videos''', outra para '''musicas''' e uma terceira para '''imagens'''. Em seguida copie arquivos de midia para seu computador e organize-os para que possam ser acessados por meio do Kodi. Caso não tenha em mãos esses arquivos de midia, use o seguinte: | ||
+ | * [http://tele.sj.ifsc.edu.br/~msobral/pji/proj1/videos Alguns videos] | ||
+ | * [http://tele.sj.ifsc.edu.br/~msobral/pji/proj1/musicas Algumas músicas] | ||
+ | * [http://tele.sj.ifsc.edu.br/~msobral/pji/proj1/imagens Algumas imagens] | ||
+ | |||
+ | |||
+ | Além disso, procure por arquivos de video e de música em seu computador, e copie-os para as respectivas fontes de midia do Kodi. | ||
+ | |||
+ | == Visualizando o conteúdo dos arquivos == | ||
+ | |||
+ | Cada arquivo guarda um certo tipo de informação. Para poder visualizá-lo corretamente, deve-se usar um programa capaz de entender seu conteúdo, e mostrá-lo da forma esperada. Por exemplo, arquivos de video, música e imagem são reproduzidos pelo Kodi e outros programas. Arquivos de texto são visualizados e editados com editores de texto, e assim por diante. De forma geral, (quase) sempre existe ao menos um programa que sabe mostrar o conteúdo de um certo tipo de arquivo. Por convenção, o tipo de um arquivo é informado por sua extensão, que é a parte final do seu nome que vem após o '''.''' (ex: ''video.avi'' tem extensão ''.avi''). | ||
+ | |||
+ | |||
+ | Como exercício, procure programas capazes de mostrar estes tipos de arquivos: | ||
+ | * Videos com extensão .mp4, .avi, .mkv e .wmv | ||
+ | * Músicas com extensão .mp3, .wav, .flac, .ogg e .wma | ||
+ | * Imagens com extensão .png, .jpg, .gif, .bmp e .pnm | ||
+ | * Textos com extensão .txt, .rtf, .doc, .docx e .odt | ||
+ | * Arquivos com extensão .dia, .ods, .php, .html, .xml | ||
+ | |||
+ | Os programas encontrados devem poder ser usados tanto no modo gráfico quanto em linha de comando (se possível). | ||
+ | |||
+ | |||
+ | Mas, afinal, o que existe dentro dos arquivos ? Em que medida um arquivo de video, música, ou texto diferem em seus conteúdos ? Posto de outra forma, se não houvesse a extensão para informar o tipo de arquivo, seria possível identificá-los observando seus conteúdos ? Afinal, que conteúdo é esse ? | ||
+ | |||
+ | {{Collapse bottom | Aula 3}} | ||
= 31/07: Apresentação da disciplina = | = 31/07: Apresentação da disciplina = |
Edição das 17h31min de 31 de julho de 2017
Endereço encurtado: http://bit.ly/pji2-20172
Projeto Integrador II: Diário de Aula 2017-2
Professores: Marcelo Maia Sobral ( Facebook) e Jorge Loureiro (jorge.loureiro@ifsc.edu.br)
Encontros: 2a feira/19:00, 4a 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
- Linux
- Redes
- Outros
Alguns textos interessantes
- A história dos telefones celulares
- Telebrasil (Associação Brasileira de Telecomunicações)
- Telecom no Brasil: um panorama
- Estatísticas sobre telecomunicações no Brasil
- Principais grupos de telecomunicações no Brasil
- Telecomunicações: O Novo Cenário (BNDES)
- Desafios e Oportunidades do Setor de Telecomunicações no Brasil (IPEA)
- Netflix abocanha 34% de todo o tráfego da internet na América do Norte
- Tráfego total VoIP na Internet
- Internet no Brasil 2014 (dados e fontes)
- Internet: como estão as velocidades nos principais países
- Apresentação sobre redes de computadores
- O Mundo Submarino da Internet
- Rede Ipê: a Rede Nacional de Pesquisa (RNP)
- Openwrt no RaspberryPi
Oportunidades para Técnicos em Telecomunicações
- Ofertas de vagas para técnico em Telecom
- Ofertas de vagas para técnico em Telecom no SINE
- Salário médio do Técnico em Telecomunicações no Brasil
Documentários sobre telecomunicações
- História das Telecomunicações
- Inventos: Telefones Celulares (video Discovery)
- Documentário É Logo Ali: parte 1 e parte 2
- Video da Petrobras
Curiosidades
- Telex: um serviço já extinto (?!)
- Submarine Cable Map
- Mapa de Ataques
- Panorama do Tráfego - RNP
- Uma semana na vida do Administrador de Suporte do "Inferno" (humor)
- Vaga de Técnico em Redes na RNP: um exemplo de oferta de emprego
- Empoderar, dar autonomia, não esconder o código
- Carrier Grade Linux (CGL): Linux para Telecomunicações
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 | Conceito | Conceito após ajuste |
---|
- OBS: 0* = Indefinido (por ausência à avaliação)
Testes
Nome | T1 | T2 | T3 | T4 | T5 | T6 | T7 | Ajuste |
---|
Obs: I* = não fez o teste
Equipes
Equipe | Membros |
---|---|
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 |
31/07: Conceitos básicos e início do projeto 1
Aula 1 | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
A disciplina se compõe de três etapas:
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.
Apresentação do Projeto 1O projeto 1 tem por objetivo:
Começando o projeto
Identificação de softwares para centro de midiaA investigação da turma teve como fruto um conjunto de possíveis softwares para usar no projeto. A escolha de um desses softwares depende dele ser capaz de atender os requisitos listados na descrição do projeto. Assim, a tabela abaixo pretende sistematizar o cumprimento dos requisitos por esses softwares.
Uma visão geral (dos professores) sobre o projeto 1A realização do projeto 1 envolve a compreensão de um conjunto de conceitos. O mapa conceitual abaixo procura resumir as ideias envolvidas, e como elas se relacionam. Esse mapa pode ser melhorado ao longo do projeto ! |
02/08: Projeto 1: escolhendo e instalando o media center
Aula 2 |
---|
Na aula de hoje, será realizado o seguinte:
Instalação do centro de midiaNa aula anterior vocês procuraram por softwares que pudessem satisfazer as necessidades apontadas no projeto. Muitos softwares existem, dentre eles Kodi, Miro, Universal Media Server e Plex (devem existir ainda outros ...). Com base na tabela comparativa feita na aula passada, cada equipe deve escolher um deles para instalá-lo. Nosso objetivo é cada equipe ter um media center básico funcionando ao final da aula. Instalando o Kodi
Apesar do guia acima parecer curto e fácil, ele implica alguns conhecimentos para ser realizado a contento - e entendido ! Uma compreensão sobre o que é o sistema operacional Linux, quais seus elementos básicos, e como ele pode ser utilizado, são necessários para essa tarefa. Mas veremos isso à medida que instalarmos o Kodi. Algumas atividades para o uso do sistema operacionalAo longo do projeto 1 (e também do projeto 2) 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:
ExercíciosPara exemplificar as atividades típicas de uso do sistema operacional, faça o seguinte:
|
07/08: Projeto 1: Instalando fontes de mídia locais
Aula 3 |
---|
Na aula de hoje, será realizado o seguinte:
Instalação de fontes de midia locais no KodiCrie três fontes locais de midia no Kodi: uma para videos, outra para musicas e uma terceira para imagens. Em seguida copie arquivos de midia para seu computador e organize-os para que possam ser acessados por meio do Kodi. Caso não tenha em mãos esses arquivos de midia, use o seguinte:
Visualizando o conteúdo dos arquivosCada arquivo guarda um certo tipo de informação. Para poder visualizá-lo corretamente, deve-se usar um programa capaz de entender seu conteúdo, e mostrá-lo da forma esperada. Por exemplo, arquivos de video, música e imagem são reproduzidos pelo Kodi e outros programas. Arquivos de texto são visualizados e editados com editores de texto, e assim por diante. De forma geral, (quase) sempre existe ao menos um programa que sabe mostrar o conteúdo de um certo tipo de arquivo. Por convenção, o tipo de um arquivo é informado por sua extensão, que é a parte final do seu nome que vem após o . (ex: video.avi tem extensão .avi).
Os programas encontrados devem poder ser usados tanto no modo gráfico quanto em linha de comando (se possível).
|
31/07: Apresentação da disciplina
Aula 1 |
---|
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
Sistemas operacionais usados em equipamentos de redeEquipamentos 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árioHoje, 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:
Algumas atividades para o uso do sistema operacionalAo 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:
Atividade
|
02/08: 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:
Para iniciar, vamos usar programas gráficos para fazer buscas. Usando o ambiente gráficoO 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:
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óriosAntes 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. 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.
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 atualNa 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órioNo 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órioA 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 acimaO 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
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órioUm 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 arquivosA 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
aluno@M2:~$ cp *.jpg public_html
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 arquivosArquivos 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
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 arquivosArquivos 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:
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
aluno@M2:~$ mv *.mp? Videos
Procura por arquivosA 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:~$
find diretório [opões]
... e muitas outras (consulte o manual do find). Exercícios
|
07/08: continuação
Aula 3 |
---|
continuação da aula de 15/02 |
09/08: continuação
Aula 4 |
---|
continuação da aula de 15/02 |