Mudanças entre as edições de "PJI2-2019-2"
(21 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 43: | Linha 43: | ||
<font size="3"> | <font size="3"> | ||
===Arquivo apresentação da disciplina=== | ===Arquivo apresentação da disciplina=== | ||
− | + | [https://drive.google.com/file/d/1HYOIk6S2y9FgJ2LHnYWeFBcBIpGgDr5p/view?usp=sharing Apresentação da disciplina 2019-1] | |
− | [https://drive.google.com/file/d/ | ||
===O que é GNU/Linux=== | ===O que é GNU/Linux=== | ||
Linha 315: | Linha 314: | ||
{{Collapse bottom | Aula 1}} | {{Collapse bottom | Aula 1}} | ||
− | + | =02/08/2019: Uso do SO: Manipulação do arquivos e diretórios= | |
{{Collapse top | Aula 2}} | {{Collapse top | Aula 2}} | ||
Linha 619: | Linha 618: | ||
# Encontre os subdiretórios ''lib'', que estão dentro de ''/usr'' | # Encontre os subdiretórios ''lib'', que estão dentro de ''/usr'' | ||
# Localize todos os arquivos (ou seja, excluindo os diretórios) que existem abaixo de ''/lib'' | # Localize todos os arquivos (ou seja, excluindo os diretórios) que existem abaixo de ''/lib'' | ||
− | # Localize todos os arquivos pertencentes ao usuário ''aluno'' e que estejam dentro de ''/tmp'' | + | # Localize todos os arquivos pertencentes ao usuário ''aluno'' e que estejam dentro de ''/tmp'' |
<!-- | <!-- | ||
Linha 697: | Linha 696: | ||
--> | --> | ||
− | + | </font> | |
− | {{Collapse bottom | Aula 2}} | + | {{Collapse bottom | Aula 2}} |
− | + | =07/08/2019: Uso do SO: Manipulação do arquivos e diretórios (continuação)= | |
{{Collapse top | Aula 3}} | {{Collapse top | Aula 3}} | ||
Linha 706: | Linha 705: | ||
</font> | </font> | ||
− | {{Collapse bottom | Aula 3}} | + | {{Collapse bottom | Aula 3}} |
− | + | =09/08/2019: Uso do SO: Manipulação do arquivos e diretórios (continuação)= | |
{{Collapse top | Aula 4}} | {{Collapse top | Aula 4}} | ||
Linha 797: | Linha 796: | ||
</font> | </font> | ||
− | {{Collapse bottom | Aula 4}} | + | {{Collapse bottom | Aula 4}} |
− | + | =14/08/2019: Usuários e Grupos= | |
{{Collapse top | Aula 5}} | {{Collapse top | Aula 5}} | ||
Linha 916: | Linha 915: | ||
** Ex: ''groupadd ger'': cria o grupo ''ger'' | ** Ex: ''groupadd ger'': cria o grupo ''ger'' | ||
* '''groupdel:''' remove um grupo | * '''groupdel:''' remove um grupo | ||
− | ** Ex: ''groupdel ger'': remove o grupo ''ger'' | + | ** Ex: ''groupdel ger'': remove o grupo ''ger'' |
<!--Esses utilitários usam os arquivos ''/etc/login.defs'' e ''/etc/default/useradd'' para obter seus parâmetros padrão. O ''/etc/adduser.conf'' tem o mesmo intuito mas é seta exclusivamente os parâmetros do comando ''adduser''. O arquivo /etc/login.defs contém uma série de diretivas e padrões que serão utilizados na criação das próximas contas de usuários. Seu principal conteúdo é: | <!--Esses utilitários usam os arquivos ''/etc/login.defs'' e ''/etc/default/useradd'' para obter seus parâmetros padrão. O ''/etc/adduser.conf'' tem o mesmo intuito mas é seta exclusivamente os parâmetros do comando ''adduser''. O arquivo /etc/login.defs contém uma série de diretivas e padrões que serão utilizados na criação das próximas contas de usuários. Seu principal conteúdo é: | ||
Linha 952: | Linha 951: | ||
QUOTAUSER="" #Se o sistema de cotas estiver funcional, pode atribuir quota ao usuário criado.--> | QUOTAUSER="" #Se o sistema de cotas estiver funcional, pode atribuir quota ao usuário criado.--> | ||
− | |||
=== Atividade === | === Atividade === | ||
Linha 983: | Linha 981: | ||
</font> | </font> | ||
− | {{Collapse bottom | Aula 5}} | + | {{Collapse bottom | Aula 5}} |
− | + | =16/08/2019: Usuários e Grupos (continuação)= | |
{{Collapse top | Aula 6}} | {{Collapse top | Aula 6}} | ||
− | <font size="3" | + | <font size="3"> |
− | + | = Exercícios Extras = | |
#Visualize os arquivos /etc/passwd e /etc/group . Observe os padrões de cada arquivo e tome nota de quais símbolos separam os campos e quais as informações em cada campo. | #Visualize os arquivos /etc/passwd e /etc/group . Observe os padrões de cada arquivo e tome nota de quais símbolos separam os campos e quais as informações em cada campo. | ||
Linha 1 004: | Linha 1 002: | ||
</font> | </font> | ||
− | {{Collapse bottom | Aula 6}} | + | {{Collapse bottom | Aula 6}} |
− | + | =21/08/2019: Linha de comando: arquivos e diretórios; permissões= | |
{{Collapse top | Aula 7}} | {{Collapse top | Aula 7}} | ||
Linha 1 118: | Linha 1 116: | ||
</font> | </font> | ||
− | {{Collapse bottom | Aula 7}} | + | {{Collapse bottom | Aula 7}} |
− | + | =23/08/2019: Linha de comando: arquivos e diretórios; permissões (continuação)= | |
{{Collapse top | Aula 8}} | {{Collapse top | Aula 8}} | ||
Linha 1 127: | Linha 1 125: | ||
</font> | </font> | ||
− | {{Collapse bottom | Aula 8}} | + | {{Collapse bottom | Aula 8}} |
− | + | =28/08/2019: Instalação do Sistema Operacional= | |
{{Collapse top | Aula 9}} | {{Collapse top | Aula 9}} | ||
Linha 1 196: | Linha 1 194: | ||
</font> | </font> | ||
− | {{Collapse bottom | Aula 9}} | + | {{Collapse bottom | Aula 9}} |
− | + | =04/09/2019: Linha de comando: Instalação de Softwares= | |
{{Collapse top | Aula 11}} | {{Collapse top | Aula 11}} | ||
Linha 1 338: | Linha 1 336: | ||
</font> | </font> | ||
− | {{Collapse bottom | Aula 11}} | + | {{Collapse bottom | Aula 11}} |
− | + | =06/09/2019: Linha de comando: Instalação de softwares - Continuação= | |
{{Collapse top | Aula 12}} | {{Collapse top | Aula 12}} | ||
Linha 1 377: | Linha 1 375: | ||
</font> | </font> | ||
− | {{Collapse bottom | Aula 12}} | + | {{Collapse bottom | Aula 12}} |
− | + | =11/09/2019: Linha de comando: Backups= | |
{{Collapse top | Aula 13}} | {{Collapse top | Aula 13}} | ||
Linha 1 508: | Linha 1 506: | ||
</font> | </font> | ||
− | {{Collapse bottom | Aula 13}} | + | {{Collapse bottom | Aula 13}} |
− | + | =13/09/2019: Linha de comando: Backups (continuação)= | |
{{Collapse top | Aula 14}} | {{Collapse top | Aula 14}} | ||
Linha 1 516: | Linha 1 514: | ||
</font> | </font> | ||
− | {{Collapse bottom | Aula 14}} | + | {{Collapse bottom | Aula 14}} |
− | + | =18/09/2019: Configuração de Rede= | |
{{Collapse top | Aula 15}} | {{Collapse top | Aula 15}} | ||
Linha 1 908: | Linha 1 906: | ||
</font> | </font> | ||
− | {{Collapse bottom | Aula 15}} | + | {{Collapse bottom | Aula 15}} |
− | + | =20/09/2019: Configuração de rede: subredes= | |
{{Collapse top | Aula 16}} | {{Collapse top | Aula 16}} | ||
Linha 2 012: | Linha 2 010: | ||
</font> | </font> | ||
− | {{Collapse bottom | Aula 16}} | + | {{Collapse bottom | Aula 16}} |
− | + | =25/09/2019: Configuração de rede: subredes (continuação)= | |
{{Collapse top | Aula 17}} | {{Collapse top | Aula 17}} | ||
Linha 2 020: | Linha 2 018: | ||
</font> | </font> | ||
− | {{Collapse bottom | Aula 17}} | + | {{Collapse bottom | Aula 17}} |
− | + | =27/09/2019: Configuração de rede - Subredes (exercícios)= | |
{{Collapse top | Aula 18}} | {{Collapse top | Aula 18}} | ||
Linha 2 054: | Linha 2 052: | ||
</font> | </font> | ||
− | {{Collapse bottom | Aula 18}} | + | {{Collapse bottom | Aula 18}} |
− | + | =28/09/2019: Configuração de rede - Subredes (aula extra - exercícios)= | |
{{Collapse top | Aula 19}} | {{Collapse top | Aula 19}} | ||
− | <font size="3" | + | <font size="3"> |
<!-- = Reposição de aula = | <!-- = Reposição de aula = | ||
− | Exercícios extras no SIGAA. Enviar as resoluções dos exercícios ao finalizar a tarefa. | + | Exercícios extras no SIGAA. Enviar as resoluções dos exercícios ao finalizar a tarefa.--> |
</font> | </font> | ||
− | {{Collapse bottom | Aula 19}} | + | {{Collapse bottom | Aula 19}} |
− | + | =02/10/2019: Acrescentando discos ao computador= | |
{{Collapse top | Aula 20}} | {{Collapse top | Aula 20}} | ||
Linha 2 351: | Linha 2 349: | ||
--> | --> | ||
+ | |||
</font> | </font> | ||
− | {{Collapse bottom | Aula 20}} | + | {{Collapse bottom | Aula 20}} |
=04/10/2019: Acrescentando discos ao computador (exercícios)= | =04/10/2019: Acrescentando discos ao computador (exercícios)= | ||
Linha 2 565: | Linha 2 564: | ||
</font> | </font> | ||
− | {{Collapse bottom | Aula 22}} | + | {{Collapse bottom | Aula 22}} |
=11/10/2019: Servidor FTP (exercícios)= | =11/10/2019: Servidor FTP (exercícios)= | ||
Linha 3 074: | Linha 3 073: | ||
'''Cálculo nota final do projeto:''' | '''Cálculo nota final do projeto:''' | ||
− | NPF | + | NPF-> Nota do projeto final |
− | NI | + | NI-> Nota Individual |
− | NG | + | NG-> Nota do Grupo |
NPF = NI x 0.7 + NG x 0.3 | NPF = NI x 0.7 + NG x 0.3 |
Edição atual tal como às 15h29min de 14 de fevereiro de 2020
Projeto Integrador II
Professora: Juliana Camilo (juliana.camilo@ifsc.edu.br)
Encontros: 3a feira/19:00, 6a feira/19:00
Atendimento paralelo Profa. Juliana: 4a feira das 13:30hs às 14:30hs e 6a feira das 18:00hs às 19:00hs
Endereço encurtado: http://bit.ly/pji2-2020-1
PPC Curso Técnico Subsequente de Telecomunicações
Conhecimentos
Estrutura de computadores; Operação de sistema operacional Linux; Administração básica de sistema operacional Linux; Introdução a redes LAN e WLAN; Arquitetura de redes TCP/IP e a Internet; Redes de acesso ADSL; Introdução a VOIP.
Objetivos
Capacitar o estudante à: conhecer a estrutura básica de um computador; conhecer o sistema operacional Linux; operar o sistema operacional pelas interfaces gráfica e linha de comando; instalar o sistema operacional Linux em um computador ajustada às necessidades de um usuário, e sua configuração para uso da rede e acesso ADSL à Internet; instalar pacotes de software no sistema operacional; gerir o acesso a recursos mantidos pelo sistema operacional por meio de usuários e permissões; configurar o sistema operacional para usar uma rede com acesso a Internet; compreender o endereçamento de dispositivos na Internet; conhecer e instalar os equipamentos de uma rede residencial (rede local e rede sem-fios); implantar um enlace de acesso a Internet para uma rede residencial usando equipamentos apropriados; resolver problemas de conectividade em uma rede local; analisar comunicações envolvendo protocolos de enlace, rede e transporte entre computadores e/ou equipamentos em uma rede; instalar e configurar terminais VoIP, tais como telefones IP, ATA e softphones, para que possam efetuar e receber chamadas de voz; identificar problemas de comunicação em uma rede, por meio de análise de comunicações entre equipamentos e investigação sobre o comportamento dos elementos de rede.
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
31/07/2019: Apresentação da disciplina. Sistema operacional e introdução ao Linux
Aula 1 |
---|
Arquivo apresentação da disciplinaApresentação da disciplina 2019-1 O que é GNU/LinuxLinux é o núcleo do sistema operacional, programa responsável pelo funcionamento do computador, que faz a comunicação entre hardware (impressora, monitor, mouse, teclado) e software (aplicativos em geral). O conjunto do kernel e demais programas responsáveis por interagir com este é o que denominamos sistema operacional. O kernel é o coração do sistema. Os principais programas responsáveis por interagir com o kernel foram criados pela fundação GNU. Por este motivo é mais correto nos referenciarmos ao sistema operacional como GNU/Linux ao invés de apenas Linux. Uma distribuição nada mais é que o conjunto de kernel, programas de sistema e aplicativos reunidos num único CD-ROM (ou qualquer outro tipo de mídia). Hoje em dia temos milhares de aplicativos para a plataforma GNU/Linux, onde cada empresa responsável por uma distro escolhe os aplicativos que nela deverão ser inclusos. Como o kernel trabalhaAssim que o computador é ligado, o kernel é acionado e começa a detectar todo o hardware que ele possui e o que precisa para funcionar. Após o carregamento, o núcleo assume outras funções: gerenciar os processos, os arquivos, a memória e os dispositivos periféricos, fazendo com que ele seja o “organizador” de tudo o que acontece na máquina. Após realizar todas essas etapas, o sistema operacional está pronto para funcionar. Ele carrega as funções responsáveis por checar o que deve ser inicializado em nível de software e processos, como, por exemplo, o conteúdo do arquivo /etc/init. Geralmente, o que é carregado é a tela de login do usuário. Com o usuário logado e o sistema operacional trabalhando, o kernel passa a executar suas funções, como a de controlar o uso da memória pelos programas ou a de atender a chamada de uma interrupção de hardware. É possível baixar o código-fonte e o próprio kernel do Linux a partir do site oficial. Nesse endereço não só é possível ter a última versão como também mais antigas. Além disso, lá o usuário pode obter informações, reportar bugs e participar de listas de discussão. Distribuições LinuxO Linux possui vários sabores e estes são denominados distribuições. Uma distribuição nada mais é que um kernel acrescido de programas escolhidos a dedo pela equipe que a desenvolve. Cada distribuição possui suas particularidades, tais como forma de se instalar um pacote (ou software), interface de instalação do sistema operacional em si, interface gráfica, suporte a hardware. Então resta ao usuário definir que distribuição atende melhor suas necessidades. Interface gráficaUma das coisas que os usuários mais estranham quando migram para o Linux é a existência de diversas interfaces gráficas, coisa que não é comum no Windows nem no Mac OS X, a não ser quando o fabricante decide fazer alguma alteração.
Diferente do que acontece nesses outros sistema operacionais, no Linux é possível mudar a interface gráfica do sistema.
Mudando a interface gráfica do sistema, a distribuição Linux continua sendo a mesma mas toda a aparência é alterada.
Quem não conhece a diferença entre sistema operacional e interface gráfica pode pensar que se trata de outra distribuição ou até mesmo de outro sistema operacional.
As interfaces gráficas mais conhecidas são Unity, Gnome, KDE, XFCE, LXDE, Cinnamon e Mate. Unity KDE Cinnamon Mate Estrutura de diretórios no LinuxO primeiro choque para quem está vindo do Windows é a estrutura de diretórios do Linux, que não lembra em nada o que temos no Windows. Basicamente, no Windows temos os arquivos do sistema concentrados nas pastas Windows e Arquivos de programas e você pode criar e organizar suas pastas da forma que quiser. No Linux é basicamente o contrário. O diretório raiz está tomado pelas pastas do sistema e espera-se que você armazene seus arquivos pessoais dentro da sua pasta no diretório /home. Mas, as diferenças não param por aí. Para onde vão os programas que são instalados se não existe uma pasta central como a arquivos de programas? E para onde vão os arquivos de configuração se o Linux não possui nada semelhante ao registro do Windows? A primeira coisa com que você precisa se habituar é que no Linux os discos e partições não aparecem necessariamente como unidades diferentes, como o C:, D:, E: do Windows. Tudo faz parte de um único diretório, chamado diretório raiz. Dentro deste diretório temos não apenas todas as partições de disco, mas também o CD-ROM, drive de disquete e outros dispositivos. Entendendo a estrutura de diretórios
Estrutura de diretórios O que é o Sistema OperacionalO sistema operacional funciona com a iniciação de processos que este irá precisar para funcionar corretamente. Esses processos poderão ser arquivos que necessitam de ser frequentemente atualizados, ou arquivos que processam dados úteis para o sistema. Poderemos ter acesso a vários processos do sistema operacional a partir do gerenciador de tarefas, onde se encontram todos os processos que estão em funcionamento desde a inicialização do sistema operacional até a sua utilização atual. O sistema operacional é uma coleção de programas que:
Qual é o papel de um Sistema OperacionalAs funções do sistema operacional são inúmeras:
Quais são os componentes do sistema operacionalO sistema operacional é composto por um conjunto de softwares que permitem administrar as interações com o hardware. Neste conjunto de softwares distinguem-se os seguintes elementos: o núcleo (kernel), que representa as funções fundamentais do sistema operacional tais como gestão da memória, processos, arquivos, entradas/saídas e das funcionalidades de comunicação; o Intérprete de comandos (shell), ou seja, a camada externa, por oposição ao núcleo, que permite a comunicação com o sistema operacional por meio de uma linguagem de comandos para o usuário pilotar os periféricos ignorando muitas das características do hardware como, por exemplo, a gestão dos endereços físicos; e o sistema de arquivos (file system), que permite registrar os arquivos em arborescência.
Como funcionam os sistemas multitarefasUm sistema operacional é multitarefas quando várias tarefas (também chamadas de processos) podem ser executadas simultaneamente. Os aplicativos são compostos por uma sequência de instruções chamados processos rápidos (threads). Estes threads serão alternadamente ativos, no modo de espera, suspensos ou destruídos, de acordo com a prioridade que lhes é associada ou executados sequencialmente. Um sistema é preemptivo quando possui um programador que reparte, de acordo com critérios de prioridade, o tempo da máquina nos diversos processos que fazem os pedidos. O sistema é de tempo compartilhado quando uma cota de tempo é atribuída a cada processo pelo programador. Este é o caso principalmente dos sistemas multiusuários, que permitem que vários deles utilizem simultaneamente um mesmo computador e vários aplicativos, diferentes ou similares. Por fim, o sistema é considerado transacional quando o sistema atribui a cada usuário uma fração de tempo.
Área de trabalho ou DesktopÉ a área de exibição quando você liga o computador e faz o logon no sistema operacional. Quando você abre programas ou pastas, eles são exibidos sobre a área de trabalho, Nela também é possível colocar itens, como arquivos e pastas, e organizá-los como quiser. Ela é composta de:
Área de trabalho Windows Área de trabalho Ubuntu
Explorador de arquivos CajaO explorador de arquivos exibe a pasta pessoal do usuário, que seria o mesmo que a pasta Meus Documentos do Windows. Porém há uma diferença do Windows, dentro desta pasta é o único local que o usuário pode criar novas pastas ou arquivos. Instalando e desinstalando programasO Linux está repleto de softwares, mas o que devemos saber é que ele possui u ma Central de programas que permite instalar diversos outros softwares, para diversas áreas. Houve uma época em que a instalação de pacotes precisava ser feita exclusivamente por comandos no console, o que consumia tempo e exigia um certo trabalho. Era necessário, por exemplo, lidar manualmente com todas as dependências necessárias para a instalação de um software, obedecendo, inclusive, a ordem de instalação desses pacotes. Mas, felizmente, isso ficou no passado. Hoje existe maneiras bem mais práticas e simples de se instalar e remover programas do Ubuntu. A principal delas é por meio da Central de Programas, que pode ser executada pelo Launcher localizado no lado esquerdo da tela. Para usar a Central sem problemas é necessário ter uma conexão ativa com a Internet. Afinal, todos os programas estão armazenados em espaços virtuais remotos conhecidos como repositórios.
Para remover um programa instalado anteriormente, voltaremos à Central de Programas. Lá, clique no botão "Instalados" para listar todo os softwares presentes no sistema. Depois disso, o procedimento é bastante similar ao de instalação. Basta navegar pelas categorias, selecionar o programa desejado e, em seguida, clicar no botão "Remover". A senha do usuário também será solicitada para que a ação seja efetivamente realizada.
Usando a Central de Programas do UbuntuExistem inúmeras maneiras de instalar um software em um sistema operacional. No Ubuntu Mate, a maneira mais rápida e fácil de encontrar e instalar novos aplicativos é através da Central de programas do Ubuntu. Para acessar, você deve ir em Sistema, Administração e Central de Programas do Ubuntu.
A Central de programas do Ubuntu pode ser usado para instalar aplicativos disponíveis nos repositórios oficiais do Ubuntu. A janela da Central de programas do Ubuntu se divide em seções:
Ao clicar em uma categoria você será levado a uma lista de aplicações relacionadas. Por exemplo, a categoria de Internet contém aplicativos como o navegador Firefox. Cada áreas em destaque como "Novidades" e "Mais bem avaliados", apresenta ícones de aplicação diferentes. Basta clicar em um ícone para obter mais informações sobre a aplicação ou para instalá-lo. Para ver todos os softwares contidos na área, clique no botão "Mais" no canto superior direito de cada painel. As três seções no topo da Cetral de programas do Ubuntu representam uma visão atual do seu catálogo de Softwares. Clique no botão "Todos aplicativos" para ver todo os aplicativos instalados, clique no botão "Instalados" para ver uma lista de aplicativos já instalados no seu computador e clique em "Histórico" para ver as instalações e exclusões anteriores organizados por data. Pesquisando aplicativosA Central de programas do Ubuntu exibe diferentes fontes na seção "Todos os aplicativos". Clicando na seta ao lado de "Todos os aplicativos" irá mostrar uma lista de seções individuais, selecionando "Fornecido pelo Ubuntu" irá mostrar os aplicativos livres oficiais. "Para Compra" mostrará os aplicativos disponíveis para compra, e "Parceiros da Canonical" mostrará os aplicativos de parceiros da Canonical, como a Adobe. Se você estiver procurando por um aplicativo, você já deve saber seu nome específico (por exemplo, o VLC Media Player), ou você pode apenas ter uma categoria geral em mente (por exemplo, a categoria som som e vídeo inclui uma série de aplicações diferentes, tais como conversores de vídeo, editores de áudio e players de música). Para ajudar você a encontrar o aplicativo certo, você pode navegar pelo catálogo da Central de programas do Ubuntu clicando na categoria do software que você procura. Ao selecionar uma categoria, será mostrado uma lista de aplicativos, algumas categorias têm subcategorias, por exemplo, a categoria de jogos tem subcategorias para simulação e jogos de cartas. Para mover através de categorias, use o botões "Voltar" e "Avançar" no topo da janela. Como você vê uma categoria de software, você verá uma caixa de pesquisa no canto superior direito da janela. Esta caixa de pesquisa pode ser utilizada para especificar nomes ou pesquisas de palavras-chave dentro desta categoria.
Para instalar um aplicativo:
Remover aplicativosRemover aplicativos é muito semelhante à instalação de aplicativos. Primeiro, encontre o aplicativo instalado na Central de programas do Ubuntu, você pode clicar no Botão "Instalados" para ver todos os aplicativos instalados listados por categorias. Vá até o aplicativo que você deseja remover, se você clicar na seta ao lado ao botão "Instalados", você vai encontrar uma lista de fornecedores de aplicativos, que pode ajudá-lo a refinar a sua pesquisa. Você também pode digitar palavras-chave na busca campo para encontrar rapidamente aplicativos instalados, ou você pode pesquisar por data na Guia "Histórico". Para remover um aplicativo:
Histórico de aplicativosA central de programas do Ubuntu mantém o controle dos aplicativos já instalados na seção Histórico. Isso é útil se você quiser reinstalar um aplicativo previamente removido e não se lembra o nome do aplicativo. Há quatro botões na seção: "Todas as alterações", "Instalações", "Atualizações" e "Remoções". Se você clicar na seta ao lado de um dia, uma lista de pacotes individuais serão exibidos, juntamente com o que foi feito com eles e a hora.
Exercícios1 - Explique o que é:
2 - Qual a diferença entre os sistemas de arquivos do Windows e Linux? 3 - Mude a proteção de tela para Cosmos com tempo de espera de 10 minutos. 4 - Através da Central de programas do Ubuntu Mate, instale os seguintes programas:
5 - Crie um diretório dentro da pasta pessoal do aluno com o nome exercicios.
|
02/08/2019: Uso do SO: Manipulação do arquivos e diretórios
Aula 2 |
---|
Manipulação de arquivos e diretóriosUma 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:~$
Como já visto em uma seção anterior, o programa ls pode apresentar mais informações sobre arquivos e subdiretórios se for executado com a opção -l (listagem longa). Experimente executar o ls com esta opação. Para conhecer outras opções e obter mais detalhes, leia a página de manual do comando: man ls
... ou acesse isto. 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
/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/2019: Uso do SO: Manipulação do arquivos e diretórios (continuação)
Aula 3 |
---|
|
09/08/2019: Uso do SO: Manipulação do arquivos e diretórios (continuação)
Aula 4 |
---|
Exercícios Extras1. A partir do diretório home do seu usuário (/home/aluno), crie a seguinte árvore de diretórios com o conceito de caminho relativo. exercicios_extras Brasil regiaoNorte Amazonas Acre regiaoSul Parana SantaCatarina 2. Entre no diretório regiaoNorte. 3. Liste os diretórios existentes dentro do diretório atual. 4. Copie o diretório Amazonas com o nome Para (dica: para copiar diretórios utilize o comando cp com o parâmetro -r. Ex. cp -r [nome_diretorio_copiado] [nome_diretorio_copia]). 5. Liste o conteúdo do diretório atual. 6. Entre no diretório regiaoSul, e copie o diretório Parana com o nome RioGrandeDoSul. 7. Liste o conteúdo do diretório atual. 8. Volte para o diretório home do seu usuário. 9. Crie dentro do diretório Amazonas um arquivo vazio com o nome Manaus.txt 10. Crie dentro do diretório Para um arquivo vazio com o nome Belem.txt 11. Crie dentro do diretório Acre um arquivo vazio com o nome Rio_branco.txt 12. A partir do diretório regiaoNorte busque todos os arquivos terminados em .txt. 13. Crie dentro do diretório Parana um arquivo vazio com o nome Curitiba.txt. 14. Crie dentro do diretório SantaCatarina um arquivo vazio com o nome Florianopolis.pdf. 15. Crie dentro do diretório SantaCatarina um arquivo vazio com o nome Chapeco.odt. 16. Crie dentro do diretório Parana um arquivo vazio com o nome FranciscoBeltrao.doc. 17. A partir do diretório /home/aluno/exercicios_extras, liste todos os arquivos que começam com a letra C. 18. A partir do diretório /home/aluno/exercicios_extras, liste todos os arquivos que começam com a letra F. 19. Crie dois diretórios com nomes aula1 e aula2 no diretório /home/aluno/exercicios_extras. 20. Crie três subdiretórios em cada um dos diretórios criados acima, com nomes aula11, aula12 e aula13 no diretório aula1, e aula21, aula22 e aula23 no diretório aula2. 21. Remova os subdiretórios aula13 e aula23. 22. Crie um arquivo vazio dentro do diretório aula12 com o nome texto1. 23. Copie o arquivo texto1 criado no exercício anterior para o diretório aula22. 24. Mova o arquivo texto1 para o diretório aula11. 25. Copie o arquivo /etc/passwd para o diretório aula2. 26. Copie o arquivo /etc/protocols para o diretório aula1. 27. Exclua o arquivo texto1. 28. Com o comando find busque a partir do diretório home do seu usuário, os diretórios que tenham no nome a palavra aula. 29. No diretório aula22, crie 11 arquivos com os seguintes nomes: trabalho1, trabalho2, trabalho3, teste1, teste2, exame1, exame2, texto1, texto3, notas e anotações. 30. Liste o conteúdo do diretório aula22 apresentando somente os arquivos que comecem com a letra "t". 31. Liste o conteúdo do diretório aula22 apresentando somente os arquivos cujo terceiro caractere seja a letra "a". 32. Liste o conteúdo do diretório aula22 apresentando somente os arquivos que termine com o caractere 2. 33. Liste o conteúdo do diretório aula22 apresentando somente os arquivos que possuam a sequência de caracteres "nota" em seu nome. 34. Liste o conteúdo do diretório aula22 apresentando somente os arquivos que possuam "x" no seu nome. 35. Copie os todos os arquivos que começam com a palavra "trabalho" para o diretório aula11. 36. Mova todos os arquivos que começam com a palavra "exame" e "teste" para o diretório aula21.
|
14/08/2019: Usuários e Grupos
Aula 5 |
---|
Links úteisUsuários e gruposUm usuário Linux é uma entidade que possui uma identificação no sistema onde os principais parâmetros são: login, senha, e número de identificação. Estas informações permitem ao Linux controlar como o acesso é garantido aos usuários e o que eles podem fazer depois de obter a permissão de acesso. Um grupo é um conjunto de usuários. Cada grupo também possui identificação única no sistema, um nome e um número. O administradores de sistemas normalmente fazem controle de acesso por meio dos grupos. Um usuário no Linux (e no Unix em geral) é definido pelo seguinte conjunto de informações:
As contas de usuários, que contêm as informações acima, podem ficar armazenadas em diferentes bases de dados (chamadas de bases de dados de usuários). Dentre elas, a mais simples é composta pelo arquivo /etc/passwd: root:x:0:0:root:/root:/bin/bash sshd:x:71:65:SSH daemon:/var/lib/sshd:/bin/false suse-ncc:x:105:107:Novell Customer Center User:/var/lib/YaST2/suse-ncc-fakehome:/bin/bash wwwrun:x:30:8:WWW daemon apache:/var/lib/wwwrun:/bin/false man:x:13:62:Manual pages viewer:/var/cache/man:/bin/bash news:x:9:13:News system:/etc/news:/bin/bash uucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bash roberto:x:1001:100:Roberto de Matos:/data1/roberto:/bin/bash Acima um exemplo de arquivo /etc/passwd Cada linha desse arquivo define uma conta de usuário no seguinte formato: nome de usuário:senha:UID:GID:Nome completo:Diretório inicial:Shell O campo senha em /etc/passwd pode assumir os valores:
O arquivo /etc/shadow armazena exclusivamente as informações relativas a senha e validade da conta. Nele cada conta possui as seguintes informações:
Um exemplo do arquivo /etc/shadow segue abaixo: root:$2a$05$8IZNUuFTMoA3xv5grggWa.oBUBfvrE4MfgRDTlUI1zWDXGOHi9dzG:13922:::::: suse-ncc:!:13922:0:99999:7::: uucp:*:13922:::::: wwwrun:*:13922:::::: roberto:$1$meoaWjv3$NUhmMHVdnxjmyyRNlli5M1:14222:0:99999:7::: Exercício: quando a senha do usuário roberto irá expirar ? Sugestão de leitura para responder a questão anterior: Cálculo de datas com o comando date
Assim como as contas de usuários, os grupos ficam armazenados em bases de dados de usuários, sendo o arquivo /etc/group a mais simples delas: root:x:0: trusted:x:42: tty:x:5: utmp:x:22: uucp:x:14: video:x:33:roberto www:x:8:roberto users:x:100: radiusd:!:108: vboxusers:!:1000: Os membros de um grupo são os usuários que o têm como grupo primário (especificado na conta do usuário em /etc/passwd), ou que aparecem listados em /etc/group. Gerenciamento de usuários e gruposPara gerenciar usuários e grupos podem-se editar diretamente os arquivos /etc/passwd, /etc/shadow e /etc/group, porém existem utilitários que facilitam essa tarefa:
Atividade
|
16/08/2019: Usuários e Grupos (continuação)
Aula 6 |
---|
Exercícios Extras
|
21/08/2019: Linha de comando: arquivos e diretórios; permissões
Aula 7 |
---|
Há uma maneira de restringir o acesso aos arquivos e diretórios para que somente determinados usuários possam acessá-los. A cada arquivo e diretório é associado um conjunto de permissões. Essas permissões determinam quais usuários podem ler, e escrever (alterar) um arquivo e, no caso de ser um arquivo executável, quais usuários podem executá-lo. Se um usuário tem permissão de execução para um diretório, significa que ele pode realizar buscas dentro daquele diretório, e não executá-lo como se fosse um programa. Quando um usuário cria um arquivo ou um diretório, o LINUX determina que ele é o proprietário (owner) daquele arquivo ou diretório. O esquema de permissões do LINUX permite que o proprietário determine quem tem acesso e em que modalidade eles poderão acessar os arquivos e diretórios que ele criou. O super-usuário (root), entretanto, tem acesso a qualquer arquivo ou diretório do sistema de arquivos. O conjunto de permissões é dividido em três classes: proprietário, grupo e usuários. Um grupo pode conter pessoas do mesmo departamento ou quem está trabalhando junto em um projeto. Os usuários que pertencem ao mesmo grupo recebem o mesmo número do grupo (também chamado de Group Id ou GID). Este número é armazenado no arquivo /etc/passwd junto com outras informações de identificação sobre cada usuário, e o arquivo correspondente as senhas criptogravadas dos usuários é /etc/shadow. O arquivo /etc/group contém informações de controle sobre todos os grupos do sistema, e o arquivo correspondente a senhas criptografadas é /etc/gshadow. Assim, pode -se dar permissões de acesso diferentes para cada uma destas três classes. Quando se executa ls -l em um diretório qualquer, os arquivos são exibidos de maneira semelhante a seguinte: > ls -l total 403196 drwxr-xr-x 4 odilson admin 4096 Abr 2 14:48 BrOffice_2.1_Intalacao_Windows/ -rw-r--r-- 1 luizp admin 113811828 Out 31 21:28 broffice.org.2.0.4.rpm.tar.bz2 -rw-r--r-- 1 root root 117324614 Dez 27 14:47 broffice.org.2.1.0.rpm.tar.bz2 -rw-r--r-- 1 luizp admin 90390186 Out 31 22:04 BrOo_2.0.4_Win32Intel_install_pt-BR.exe -rw-r--r-- 1 root root 91327615 Jan 5 21:27 BrOo_2.1.0_070105_Win32Intel_install_pt-BR.exe > As colunas que aparecem na listagem são:
O esquema de permissões está dividido em 10 colunas, que indicam se o arquivo é um diretório ou não (coluna 1), e o modo de acesso permitido para o proprietário (colunas 2, 3 e 4), para o grupo (colunas 5, 6 e 7) e para os demais usuários (colunas 8, 9 e 10). A figura a seguir destaca as classes de permissões mostradas em uma listagem de diretório.
A permissão de acesso a um diretório tem outras considerações. As permissões de um diretório podem afetar a disposição final das permissões de um arquivo. Por exemplo, se o diretório dá permissão de gravação a todos os usuários, os arquivos dentro do diretório podem ser removidos, mesmo que esses arquivos não tenham permissão de leitura, gravação ou execução para o usuário. Quando a permissão de execução é definida para um diretório, ela permite que se pesquise ou liste o conteúdo do diretório. Existem dois modos de definir uma permissão, através do modo Octal e modo Textual. TextualUsamos letras antes das permissões (chmod é o comando para modificar permissões de arquivos): $ chmod u+rw, g+w, o-rwx teste.txt Onde:
OctalO modo Octal tem a mesma função de definir permissões, só que em números. Exemplo: $ chmod 620 teste.txt (comando) (permissão) (arquivo) Tipo de permissão Octal:
A modificação das permissões de acesso a arquivos e diretórios pode ser feita usando-se os utilitários:
Atividade
|
23/08/2019: Linha de comando: arquivos e diretórios; permissões (continuação)
Aula 8 |
---|
|
28/08/2019: Instalação do Sistema Operacional
Aula 9 |
---|
Instalando Sistema OperacionalSistemas operacionais baseados em Linux já foram complicados de usar, ao menos quando comparados ao Windows, mas avanços recentes têm deixado a plataforma mais amigável. No Linux, você vai encontrar alguns programas com os quais está acostumado, como Firefox, Chrome e outros. A maioria, entretanto, não está disponível porque o Linux possui uma comunidade de desenvolvedores que cria, gratuitamente, programas equivalentes para o OS. Não há Photoshop, por exemplo, mas há o GIMP. Não há Microsoft Office, mas há o LibreOffice. Não há Lightroom, mas há o Darktable. Alguns dos programas não são tão bons quanto os disponíveis para Windows, mas por outro lado alguns são até melhores. Cabe a você experimentar. Você não vai precisar digitar nenhum comando complexo ou adquirir conhecimento avançado prévio para fazer isso, mas o processo é longo e varia um pouquinho de computador para computador. É possível que você mexa com certas coisas que nunca viu. Este processo (e o sistema Ubuntu) é utilizado por milhões de pessoas no mundo. Iremos utilizar um software de virtualização chamado Virtualbox. o Virtualbox é fornecido pela Oracle, de forma gratuita. Caso você queira instalar o Virtualbox no seu computador, pode baixar deste site. Lembre-se de baixar a versão adequada para o seu sistema operacional, juntamente com o Extension Pack (software adicional para suporte a diversos dispositivos do seu computador). Para a criação da máquina virtual, deixaremos com a seguinte configuração:
A versão do sistema operacional que utilizaremos é o Ubuntu Mate 18.04.3 (Bionic). Ao iniciar a instalação, a primeira etapa é a escolha do idioma e se queremos somente experimentar o Ubuntu ou instalar. a próxima etapa nos dá algumas orientações e também permite escolhermos se queremos baixar atualizações e instalar programas de terceiros. Logo após, teremos que escolher entre a opção de apagar o disco inteiro de forma automatizada pelo instalador ou marcar a opção avançada. Neste momento iremos utilizar a opção de apagar o disco inteiro, pois estaremos entrando nos detalhes de particionamento, sistema de arquivos e tipos de partição em outra aula. Também escolhemos o local onde estamos. Devemos definir o layout do teclado. E por fim, escolhemos o nome, nome do computador, nome de usuário e senha. Agora é só aguardar... Terminada a instalação do sistema operacional, devemos instalar alguns pacotes necessários para que a nossa máquina virtual possa ser utilizada em modo de tela cheia. Para tanto iremos utilizar o terminal do mate e digitar os comandos a seguir:
Após esta instalação, podemos clicar em Dispositivos, e ir na opção Inserir imagem de CD dos adicionais para convidado e executar a aplicação que irá abrir. ExercíciosNeste exercício iremos efetuar a instalação de um sistema operacional diferente. Iremos instalar o Ubuntu Mate 19.04 (Disco). A configuração da máquina virtual deve ser a seguinte:
|
04/09/2019: Linha de comando: Instalação de Softwares
Aula 11 |
---|
Instalação de softwareA instalação de software pode ser feita de diferentes maneiras:
No escopo desta disciplina de Projeto Integrador, são usados pacotes de software. Mas nada impede que se demonstre como seria realizar uma instalação a partir do código-fonte, caso exista a curiosidade. No Ubuntu Linux (e também nas distribuições originadas no Debian), o sistema de pacotes de software se chama dpkg (Debian Package). Existem diferentes formas de instalar e remover sofware, dentre elas:
Instalação manual com dpkgPara instalar pacotes de software manualmente, primeiro devem-se obter os respectivos arquivos de instalação. Cada pacote de software está contido em um arquivo com extensão .deb. Esses arquivos podem ser obtidos dos CD e DVD de instalação, ou de repositórios na Internet. Exemplos:
dpkg -i nome_do_pacote.deb
Se o pacote de software não puder ser instalado, uma mensagem de erro é apresentada. Uma causa para esse problema é existirem dependências em relação a outros pacotes de software, os quais devem então ser instalados previamente. Para descobrir as dependência de um pacote podemos utilizar o comando a seguir: # sudo apt-cache depends nome-do-pacote A remoção de um pacote de software pode ser feita assim: dpkg -r nome_do_pacote
Se o pacote a ser removido for dependência para outros pacotes instalados, a remoção será abortada.
dpkg-query -l
A listagem dos arquivos instalados por um pacote é mostrada com este outro comando: dpkg-query -L nome_do_pacote
dpkg-query -p nome_do_pacote
Obtenção automática de softwareOs pacotes de softwares dos sistemas operacionais Ubuntu e Debian são organizados e disponibilizados em repositórios, que são servidores na Internet onde há cópias dos arquivos de instalação desses pacotes. Os repositórios são configurados durante a própria instalação do sistema, ficando registrados no arquivo /etc/apt/sources.list. Esse arquivo pode ser modificado para incluir ou remover repositórios, quando necessário.
Links úteis:
Utilizando repositório PPA (Personal Package Archives)PPA quer dizer Personal Package Archives, os repositórios deste tipo nada mais são do quer servidores na internet onde se encontram os programas que não estão nos repositórios oficias da sua distro. Mas essa é uma generalização porque alguns programas que estão na Central de Programas possuem PPA, caso do WINE por exemplo, a diferença entre instalar a versão da Central de Programas e instalar via PPA é que a versão que está na Central de Programas e suas possíveis atualizações já foram testadas e apresentam um nível bom de segurança e estabilidade, porém, não trazem os mesmos recursos muitas vezes, das versões mais recentes, coisa que o PPA trás. Mas antes de adicionar PPAs no seu sistema, procure informações referentes aos desenvolvedores, procedência, etc, pois se trata de programas de terceiros, não oficiais da lista de repositório da versão do seu sistema operacional. O comando em si é simples: # sudo add-apt-repository nome-do-repositorio-ppa Como exemplo, vamos utilizar o PPA do Wine, ele é um software que permite rodar aplicações Windows no Linux: # sudo add-apt-repository ppa:ubuntu-wine/ppa Posteriormente devemos atualizar a lista de repositórios: # sudo apt-get update E por fim instalar o pacote: # sudo apt-get install wine Também podemos remover repositórios PPA, seja pelo fato de não estar mais disponível ou simplesmente porque não queremos mais utilizá-lo. Para isso utilizamos o comando a seguir: # sudo add-apt-repository -r ppa:endereço-do-repositorio e posteriormente atualizamos a lista: # sudo apt-get update
|
06/09/2019: Linha de comando: Instalação de softwares - Continuação
Aula 12 |
---|
AtividadesExecute os passos seguintes tanto com instalação manual quanto automática de software.
Como usar o APT - Obtendo informações sobre pacotes
|
11/09/2019: Linha de comando: Backups
Aula 13 |
---|
BackupsExistem muitos programas para realizar cópias de segurança no Linux (chamadas de backup). Porém tradicionalmente a forma mais simples de realizar uma cópia pessoal de um conjunto de arquivos e diretórios faz uso de um programa simples chamado tar. tarO programa tar é um utilitário do mundo Unix originalmente criado para backups em fita (daí seu nome: TApe aRchiver, se bem que tar é também um trocadilho que pode significar piche, pois ele de certa forma gruda um arquivo ao outro). O resultado da execução do tar é um arquivo contendo todos os arquivos e diretórios que foram selecionados para inclusão. Esse arquivo tar pode ser então compactado, obtendo-se algo parecido com o que faz zip ou rar. Mas porque não usar então zip e rar ? Afinal, eles existem também no Linux ... No entanto, esses compactadores nasceram no mundo do antigo MS-DOS, e assim não são capazes de armazenar todos os atributos de arquivos que existem em sistemas Unix (informações tais como usuário e grupo dono do arquivo, permissões de acesso, tipo do arquivo, datas de último acesso e modificação). O tar, pelo contrário, consegue preservar esses atributos, e por isto se torna mais adequado para uso no Unix em geral. Uso do tar:
Os usos acima não compactam os arquivos incluídos dentro do arquivo tar. Para compactá-los deve-se adicionar uma opção de compactação:
Parâmetros: -c - cria um novo arquivo tar; -M - cria, lista ou extrai um arquivo multivolume; -p - mantém as permissões originais do(s) arquivo(s); -r - acrescenta arquivos a um arquivo tar; -t - exibe o conteúdo de um arquivo tar; -v - exibe detalhes da operação; -w - pede confirmação antes de cada ação; -x - extrai arquivos de um arquivo tar; -z - comprime ou extrai arquivos tar resultante com o gzip; -j - comprime ou extrai arquivos tar resultante com o bz2; -f - especifica o arquivo tar a ser usado; -C - especifica o diretório dos arquivos a serem armazenados. Compactadores no modo textoVários compactadores de arquivos existem no Linux, e o nautilus simplifica sua seleção e uso. Esses compactadores podem ser usados também no modo texto ... aliás, eles originalmente foram criados para serem usados dessa forma ! O que o nautilus faz é facilitar seu uso por meio de uma interface gráfica. Os principais compactadores são:
Note que os compactadores compress, gzip, bzip2 e xz compactam um arquivo por vez. Assim, com eles não é possível juntar vários arquivos e diretórios dentro de um único arquivo compactado (o que se faz corriqueiramente com zip ou rar ...). Portanto, se for necessário compactar um diretório ou um conjunto de arquivos, o melhor é combinar um compactador com o programa tar.
ExercíciosFaça os exercícios abaixo usando os compactadores no modo texto:
|
13/09/2019: Linha de comando: Backups (continuação)
Aula 14 |
---|
|
18/09/2019: Configuração de Rede
Aula 15 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Endereço IPv4HistóriaA internet não foi criada para uso comercial que temos atualmente, foi de fato um projeto militar Americano conhecido como ARPANET que tinha por objetivo conectar vários nós tendo a forma parecida com uma teia de aranha, onde se um nó fosse desconectado não haveria problema com os demais. Com o crescimento da ARPANET nas Universidades Americanas, o principal tráfego de informações eram discussões sobre assuntos acadêmicos entre professores. Nessa época os criadores dessa rede não tinham consciência que esse projeto iria tomar gigantes proporções que hoje presenciamos. Na internet, cada host e cada roteador tem um endereço IP (Internet Protocol), que codifica seu número de rede e seu número de host. Essa combinação é única, ou seja, duas máquinas conectadas a internet não possuem o mesmo endereço IP. Devido ao alto crescimento da ARPANET, após cinco anos houve o surgimento do protocolo TCP/IP (Transmission Control Protocol/Internet Protocol) um protocolo que utilizamos até hoje, com um endereço de 32 bits e mais de 4,2 bilhões de combinações de endereços possíveis, que para época esse número era um exagero. Segundo Vint Cerf (2010), vice-presidente do Google, os endereços de IP podem esgotar em até um ano, foi exatamente o que aconteceu em Fevereiro de 2011. O problema não se agravou mais e anteriormente devido a várias tecnologias e medidas paliativas que surgiram ao longo da década de 1990. Podemos citar CIDR (Classless Inter-Domain Routing), RFC 1918 (Address Allocation for Private Internets), NAT (Network Address Translation) e DHCP (Dynamic Host Configuration Protocol) fizeram com que tardassem esse esgotamento de IP’s na internet.
Esgotamento dos endereços IPv4É importante informar que a divisão dos blocos IPv4 não é nada ponderada, metade dos endereços foram destinados aos Estados Unidos (“criador do backbone, principal estrutura da Internet”) e a outra metade foi distribuída para os demais regiões geográficas do mundo. No inicio da distribuição dos endereços, existiram empresas e universidades que compraram 16 milhões de endereços. Hoje seria raro essas entidades devolverem o que adquiriram para uma melhor redistribuição dos endereços. Mas se essa divisão dos IPv4 fosse de forma igual para tal demanda de sua determinada região, não adiantaria em nada, estaríamos sujeitos do mesmo jeito ao esgotamentos dos IPs. Por esse e outros motivos que a IANA mais tarde necessitou de regras mais rígidas para a distribuição dos IPv4 para o mundo. O IANA (Internet Assigned Numbers Authority) é responsável pelo controle de todos os números IPs e, atualmente, ele realiza suas operações através da ICANN (). A responsabilidade sobre uma parte dos endereços é delegada pela IANA para cada um dos Registros Regionais de Internet, que os gerenciam e distribuem dentro de suas respectivas regiões geográficas. Em nossa região, o responsável é o LACNIC (Latin America and Caribbean Network Information Centre). Classes de endereços IPv4Um endereço IPv4 é formado por 32 bits que é o mesmo que dizermos que possui quatro octetos representados na forma decimal (ex: 192.168.0.1). Uma parte desse endereço (bits mais significativos) indicam-nos a rede e a outra parte (bits menos significativos) indicam-nos qual a máquina dentro da rede. Com o objetivo de serem possíveis redes de diferentes dimensões, foram definidas cinco diferentes classes de endereços IP (Classes: A, B, C, D e E). Originalmente, o espaço de endereçamento IP foi dividido estruturas de tamanho fixo designadas de “classes de endereço”. As principais são a classe A, classe B e classe C. Com base nos primeiros bits (prefixo) de um endereço IP, conseguimos facilmente determinar rapidamente a qual a classe pertence de determinado endereço IP. De forma a resumir a informação relativamente às classes de redes IP, criei a seguinte tabela: Analisando as três principais classes (A, B e C) podemos verificar o seguinte: A classe A possui um conjunto de endereços que vão desde o 1.0.0.0 até 127.0.0.0, onde o primeiro octeto (primeiros 8 bits N.H.H.H) de um endereço IP identifica a rede e os restantes 3 octetos ( 24 bits) irão identificar um determinado host nessa rede. Exemplo de um endereço Classe A – 120.2.1.0
Exemplo de um endereço Classe B – 152.13.4.0
Exemplo de um endereço Classe C – 192.168.10.0
Classes especiaisExistem classes especiais na Internet que não são consideradas públicas, não são consideradas como endereçáveis, são reservadas, por exemplo, para a comunicação com uma rede privada ou com o computador local ("localhost").
Rede privadaNa arquitetura para endereçamentos da Internet, uma rede privada (private network) é uma rede que usa o espaço privado de endereços IP, seguindo os padrões estabelecidos pela RFC 1918 para redes IPv4 e RFC 4193 para IPv6. Estes endereços são associados aos dispositivos que precisam se comunicar com outros dispositivos em uma rede privada (que não faz parte da Internet). As redes privadas estão se tornando muito comuns nos escritórios (LAN), pois não há a necessidade de que todos os computadores de uma organização possuam um IP universalmente endereçável. Outra razão que torna importante os IPs privados, é o número limitado de IPs públicos. O IPv6 foi criado para resolver este último problema. Os Roteadores são configurados para descartar qualquer tráfego que use um IP privado. Este isolamento garante que uma rede privada tenha uma maior segurança pois não é possível, em geral, ao mundo externo criar uma conexão direta a uma máquina que use um IP privado. Como as conexões não podem ser feitas entre diferentes redes privadas por meio da internet, diferentes organizações podem usar a mesma faixa de IP sem que haja conflitos (ou seja, que uma comunicação chegue acidentalmente a um elemento que não deveria). Se um dispositivo em uma rede privada deve se comunicar com outras redes, é necessário que haja um "gateway" para garantir que a rede externa seja vista com um endereço que seja "real" (ou público) de maneira que o roteador permita a comunicação. Normalmente este gateway será um service NAT (‘’Network address translation’’) ou um Servidor Proxy. Isto, porém, pode causar problemas se a organização tentar conectar redes que usem os mesmos endereços privados. Os endereços atualmente reservados a redes privadas na internet são:
Endereço IPv6HistóriaO IP versão 6 começou a ser desenvolvido no início da década de 1990, com o objetivo de ser a solução definitiva para o esgotamento de endereços IPs na Internet, tendo esse como o principal objetivo. Em 1993, o IESG (Internet Engineering Steering Group) criou um grupo de trabalho para uma nova versão do protocolo IP, o IPNGWG (IP Next Generation Working Group), com base em alguns objetivos que deveriam ser alcançados. O grupo de trabalho, então, selecionou protocolos "candidatos" para a camada de rede da arquitetura TCP/IP. O vencedor foi o SIPP (Simple Internet Protocol Plus), por diferir menos do IPv4 e ter um plano de transição melhor. Mas uma combinação de aspectos positivos dos três protocolos candidatos foi feita e com isso gerou-se a recomendação para a versão 6 do IP em novembro de 1994. O protocolo IPv6 não foi só criado para resolver o problema de quantidades de endereços, foi também para disponibilizar novos serviços e benefícios que não existiam no IPv4 ou que não eram utilizados de forma otimizada. Abaixo podemos citar alguns desses benefícios:
Para a internet para fazer uso das vantagens do IPv6 sobre IPv4, a maioria dos hosts da Internet, bem como as redes de conexão, precisam implantar este protocolo. Enquanto a implantação do IPv6 está acelerando, especialmente na região da Ásia-Pacífico e alguns países europeus, áreas como as Américas e a África são comparativamente um atraso na implantação do IPv6. A troca de tráfego entre as duas redes IPv4 e IPv6 requer tradutores especiais o que torna a rede menos eficiente comparado uma rede completamente IPv6. Os sistemas operacionais modernos dos computadores implementam um protocolo de duplo software para acesso transparente para ambas as redes, quer sejam elas iguais, ou através de um protocolo de tunelamento como 6to4, 6in4, ou Teredo. Em dezembro de 2012, apesar de marcar o seu 14º aniversário, o IPv6 está apenas em sua infância em termos de implantação em todo o mundo em geral. Um estudo realizado em 2008 pelo Google Inc indicou que a penetração do protocolo IPv6 ainda era menos de 1% dos hosts habilitados para a Internet em qualquer país, naquela época.
Formato do endereçamento IPv6Os endereços IPv6 são números de 128 bits (16 bytes). Ao invés de adotar a notação decimal pontuada do IPv4, onde o endereço é formado por quadro bytes separados por ".", o IPv6 representa seu endereço na forma de 8 palavras de 16 bits, separadas por ":". Cada uma das palavras que forma o endereços IPv6 é representada em hexadecimal.
FE80:0000:0000:0000:68DA:8909:3A22:FECA
FE80:0:0:0:68DA:8909:3A22:FECA
FE80::68DA:8909:3A22:FECA
::1, que é equivalente a 0000:0000:0000:0000:0000:0000:0000:0001
FE80::68DA:8909:3A22:FECA/80
Interfaces de redeQualquer dispositivo (físico ou lógico) capaz de transmitir e receber datagramas IP. Interfaces de rede ethernet são o exemplo mais comum, mas há também interfaces PPP (seriais), interfaces tipo túnel e interfaces loopback. De forma geral, essas interfaces podem ser configuradas com um endereço IP e uma máscara de rede, e serem ativadas ou desabilitadas. Em sistemas operacionais Unix a configuração de interfaces de rede se faz com o programa ifconfig: Para mostrar todas as interfaces: aluno@M1:~> ifconfig -a
ppp0 Link encap:Point-to-Point Protocol
inet addr:189.30.70.200 P-t-P:200.138.242.254 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1
RX packets:34260226 errors:0 dropped:0 overruns:0 frame:0
TX packets:37195398 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:19484812547 (18582.1 Mb) TX bytes:10848608575 (10346.0 Mb)
eth0 Link encap:Ethernet HWaddr 00:19:D1:7D:C9:A9
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:37283974 errors:0 dropped:0 overruns:0 frame:0
TX packets:42055625 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:20939614658 (19969.5 Mb) TX bytes:18284980569 (17437.9 Mb)
Interrupt:16 Base address:0xc000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:273050 errors:0 dropped:0 overruns:0 frame:0
TX packets:273050 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:21564572 (20.5 Mb) TX bytes:21564572 (20.5 Mb)
aluno@M1:~>
Configuração manual e temporáriaPara configurar uma interface de rede (que fica automaticamente ativada): aluno@M1:~> ifconfig eth0 192.168.1.100 netmask 255.255.255.0
Para desativar uma interface: aluno@M1:~> ifconfig eth0 down
Para ativar uma interface: aluno@M1:~> ifconfig eth0 up
Ao se configurar uma interface de rede, cria-se uma rota automática para a subrede diretamente acessível via aquela interface. Isto se chama roteamento mínimo. aluno@M1:~> ifconfig eth0 192.168.10.0 netmask 255.255.0.0
aluno@M1:~> netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
dayna@dayna:~>
Usualmente, é suficiente definir uma única rota adicional para um computador, chamada de rota default (ou rota padrão). Essa rota tem o seguinte significado: se o destino não estiver em minha própria subrede, e nenhuma outra rota específica existir para a subrede onde se encontra, então repasse o pacote para o roteador indicado. Em um computador Linux isso pode ser feito assim: # adiciona a rota default, que passa pelo roteador 192.168.10.100
route add default gw 192.168.10.100
# Editar o arquivo /etc/resolv.conf
vi /etc/resolv.conf
#Editar o seu conteúdo e inserir a linha abaixo
nameserver 200.135.37.65
aluno@M1:~> ifconfig eth0:0 192.168.1.110 netmask 255.255.255.0
aluno@M1:~> ifconfig eth0:1 192.168.2.100 netmask 255.255.255.0
aluno@M1:~> ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:19:D1:7D:C9:A9
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:37295731 errors:0 dropped:0 overruns:0 frame:0
TX packets:42068558 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:20942258027 (19972.0 Mb) TX bytes:18294794452 (17447.2 Mb)
Interrupt:16 Base address:0xc000
eth0:0 Link encap:Ethernet HWaddr 00:19:D1:7D:C9:A9
inet addr:192.168.1.110 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:16 Base address:0xc000
eth0:1 Link encap:Ethernet HWaddr 00:19:D1:7D:C9:A9
inet addr:192.168.2.100 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:16 Base address:0xc000
aluno@M1:~>
Configuração permanenteTodo sistema operacional possui alguma forma de configurar suas interfaces de rede, para que sejam automaticamente ativadas no boot com seus endereços IP. Por exemplo, em sistemas Linux Ubuntu e Debian, a configuração de rede se concentra no arquivo /etc/network/interfaces: # This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
address 127.0.0.1
netmask 255.0.0.0
# a interface ethernet eth0
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.254
dns-nameservers 200.135.37.65
Esses arquivo é lido pelos scripts ifup e ifdown. Esses scripts servem para ativar ou parar interfaces específicas, fazendo todas as operações necessárias para isto: # Ativa a interface eth0
ifup eth0
# Desativa a interface eth0
ifdown eth0
Para ativar, desativar ou recarregar as configurações de todas as interfaces de rede: # desativa todas as interfaces de rede
sudo /etc/init.d/networking stop
# ativa todas as interfaces de rede
sudo /etc/init.d/networking start
# recarrega as configurações de todas as interfaces de rede
sudo /etc/init.d/networking restart
O que todo host deve possuirCom o que se fez até o momento, pode-se concluir que todo host (computador, tablet, smartphone, ..., qualquer dispositivo que rode aplicações da Internet) precisa de:
|
20/09/2019: Configuração de rede: subredes
Aula 16 |
---|
Sistema binárioO sistema binário ou de base 2 é um sistema de numeração posicional em que todas as quantidades se representam com base em dois números, ou seja, zero e um (0 e 1). Os computadores digitais trabalham internamente com dois níveis de tensão, pelo que o seu sistema de numeração natural é o sistema binário. Com efeito, num sistema simples como este é possível simplificar o cálculo, com o auxílio da lógica booliana. Em computação, chama-se um dígito binário (0 ou 1) de bit, que vem do inglês Binary Digit. Um agrupamento de 8 bits corresponde a um byte (Binary Term). Um agrupamento de 4 bits, ainda, é chamado de nibble. Um processador é formado por milhares de blocos lógicos complexos, formados por portas lógicas básicas, e o funcionamento destas está amparado por um postulado fundamental à eletrônica digital que determina que um circuito opere apenas com dois níveis de tensão bem definidos. Em um circuito digital TTL (Transistor Transistor Logic), os dois níveis de tensão padronizados são 0V (zero volt) e 5V (cinco volts). Ao projetar um sistema digital, ao invés de trabalhar com níveis de tensão trabalha-se com níveis lógicos, então, no caso do circuito TTL, 0V será representado por “0” e 5V será representado por “1”, e os níveis de tensão entre eles serão ignorados, ou seja, adotar-se-á uma faixa até a qual será considerado nível lógico zero, e a partir dela, nível lógico 1. Neste caso, de 0V a 2,5V temos “0”, e a partir daí até 5V temos “1”. O sistema binário é base para a Álgebra booliana (de George Boole — matemático inglês), que permite fazer operações lógicas e aritméticas usando-se apenas dois dígitos ou dois estados (sim ou não, verdadeiro ou falso, tudo ou nada, ligado ou desligado, 1 ou 0). Toda a electrónica digital e computação estão baseadas nesse sistema binário e na lógica de Boole, que permite representar por circuitos electrónicos digitais (portas lógicas) os números, caracteres, realizar operações lógicas e aritméticas. Os programas de computadores são codificados sob forma binária e armazenados nas mídias (memórias, discos, etc) sob esse formato. Assim, para informação armazenada na memória RAM do computador, o formato será de voltagem mais alta (1) ou mais baixa (0). Em discos magnéticos a binariedade se dará por diferença de polaridade, positiva ou negativa. Convertendo decimal para binárioPara converter um número decimal para binário, basta realizar divisões sucessivas do número decimal por 2 (base do sistema binário) e verificar se essa divisão possui resto ou não. Se possuir, o valor é 1 se não possuir, o valor é 0. Exemplo de conversão do valor 29 para binário:
Convertendo binário para decimalPara converter um número binário para decimal, basta multiplicar cada bit pelo seu valor de posição e somar os resultados. Exemplo de conversão do valor 10101 para decimal:
Estrutura do endereço IPv4O IPv4 é representado na notação de ponto decimal (por exemplo, 192.168.23.245 ), somente para benefício humano, pois os computadores entendem o endereço na sua notação binária nativa com 32 bits de tamanho, compostos de 4 octetos de 8 bits cada, separados por um ponto:
ID de rede + ID de host = 32 bits
Criando SubredesCriar sub-redes é a pratica para subdividir logicamente um espaço de endereços, alterando a máscara de sub-rede de uma rede, dividindo as redes em vários domínios de difusão (broadcast), evitando futuras lentidões com o aumento da rede. A divisão da rede também ajuda em um melhor aproveitamento do bloco de endereços disponível. Dividindo as subredesNesse método, pegamos um bloco de endereços e criamos várias sub-redes do mesmo tamanho, ou seja, com a mesma máscara. Podemos determinar o número de sub-redes que vamos criar, utilizando uma fórmula bem simples: 2 (n2 - n1)
2 (27-24) = 2 3 = 8 subredes
2 (32-27) = 2 5 = 32 endereços
|
25/09/2019: Configuração de rede: subredes (continuação)
Aula 17 |
---|
|
27/09/2019: Configuração de rede - Subredes (exercícios)
Aula 18 |
---|
ExercíciosConsiderando o IP 200.168.10.66/26, responda:
|
28/09/2019: Configuração de rede - Subredes (aula extra - exercícios)
Aula 19 |
---|
|
02/10/2019: Acrescentando discos ao computador
Aula 20 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
Particionamento do discoDeve-se instalar o sistema operacional com particionamento manual do disco. As partições devem ser:
Partições e sistemas de arquivos
EXT2O sistema de arquivos ext2 é conhecido como "Second Extended FileSystem". Foi desenvolvido para ser mais "eficiente" que o sistema de arquivos "Minix", seu antecessor. O Minix era muito utilizado nas primeiras versões do Linux, e foi utilizado por muitos anos. O sistema de arquivos ext2 não possui journaling e foi substituído pelo ext3. Segundo, a midia formatada deve ser integrada à árvore de diretórios. Essa integração, chamada de montagem, implica ela ser associada a um subdiretório (chamado de ponto de montagem, ou mount point) na árvore de diretórios. Feito isso, a midia pode ser utilizada para guardar ou acessar novos arquivos. EXT3
Essa característica foi uma evolução e tornou o ext3 um sistema de arquivos muito estável e robusto. Como no ext3 só foi adicionado o suporte a journaling, podemos converter um sistema de arquivos ext2 para ext3, adicionado suporte a journaling, e também podemos converter um sistema de arquivos ext3 para ext2, removendo o suporte a journaling.
REISERFS
Sua performance é muito boa, principalmente para um número muito grande de arquivos pequenos. ReiserFS também possui suporte a journaling.
XFS
XFS utiliza muitos recursos de cache com memória RAM, e para utilizar XFS é recomendado utilizar sistemas que possuem redundância de energia.
SWAP
Em alguns lugares ele não é mencionado como um Sistema de Arquivos. VFATO sistema de arquivos VFAT é também conhecido como FAT32 (M$ Windows). O sistema de arquivos VFAT não possui suporte a journaling. É utilizado normalmente para transferir dados entre sistemas M$ Windows e o Linux instalados no mesmo disco, pois pode ser lido e escrito por ambos os sistemas operacionais. O sistema de arquivos VFAT está longe de ser um sistema de arquivos utilizado para Sistemas Linux, exceto para compartilhamento/compatibilidade entre o M$ Windows e Linux. Se você utilizar VFAT no Linux, esteja certo de perder alguns atributos, tais como: permissão de execução, links simbólicos, entre outras coisas. Ambos os sistemas de arquivos ext3 e ReiserFS são maduros o bastante para serem utilizados como padrão no Linux. Esses dois são os mais utilizados pelas distribuições Linux. Tipos de partiçõesPartições primariasQuando vamos particionar um HD, podemos ter no máximo 4 partições primárias. Sistemas baseados em Windows só aceitam ser instalados em partições primárias, e sistemas baseados em Linux ou Mac OS aceitam dar boot em partições lógicas.
Partições estendidasUm tipo especial de partição primária que foi desenvolvido para superar o limite de quatro partições. A partição estendida é um container no interior do qual você pode criar partições lógicas. A própria partição estendida não contém nenhum dado, nem é atribuída a ela uma letra da unidade. Mas as partições lógicas dentro da partição estendida podem conter aplicativos e dados e ter letras da unidade atribuídas a elas. Uma parte de um disco básico que pode conter unidades lógicas. Um partição estendida é usada para ter mais de quatro volumes em um disco básico. Um disco básico pode conter até quatro partições primária ou três partições primária mais uma partição estendida, por exemplo. A partição estendida pode ainda ser dividida em até 255 unidades lógicas.
Partições lógicasSão partições criadas dentro de uma partição estendida, utilizada quando necessitamos de mais partições que as 4 primárias.
Guia rápido sobre criação de partições
fdisk /dev/sda
Formatar a nova partição, o que serve para criar um sistema de arquivos dentro da partição: isso depende do tipo de sistema de arquivos a ser criado. Para simplificar, vamos usar o tipo mais comum em sistemas Linux atualmente, que é o ext4. O programa de formatação no modo texto se chama mke2fs. No modo gráfico isso pode ser feito com o próprio gparted. OBS: substitua /dev/sda7 pelo caminho da partição que você criou !!! mke2fs -j /dev/sda7
Outra forma de formatar, também bastante usada é através do comando mkfs. Ele permite escolher o sistema de arquivos a ser utilizado na partição. OBS: substitua /dev/sda7 pelo caminho da partição que você criou !!! mkfs.<sistema_arquivo> /dev/sda7
Para saber os sistemas de arquivos suportados pelo mkfs, digite o seguinte comando: ls /sbin/mkfs*
a saída deve ser parecida com a imagem abaixo: Montar o novo sistema de arquivos em algum diretório, para que possa ser utilizado: isso deve ser feito no modo texto, usando-se o comando mount. OBS: substitua /dev/sda7 pelo caminho da partição que você criou, e /mnt pelo diretório onde quer montá-la !!! mount /dev/sda7 /mnt
ExercíciosCrie um disco adicional na máquina virtual com 20 Gb e crie as seguintes partições:
Formate as partições e monte no diretório /mnt, cada uma em um diretório diferente. Liste as partições montadas, com seus respectivos pontos de montagem, tamanhos e tipo de arquivo. Exercício Extra (Desafio)Um Analista de Sistemas Linux recebe uma proposta de consultoria para verificar uma possível causa de lentidão em um servidor de uma determinada empresa. Tendo em vista que esse servidor é antigo com um hardware modesto de 1 GB de RAM, processador Pentium 4 e HD de 160 GB. Percebe-se que quando este servidor foi instalado, não foi configurado uma partição de swap e que a aplicação de gestão que roda no mesmo, tem deixado um grande gargalo na memória RAM. O cliente dispõem de um disco extra de 10GB. Configure uma partição de swap de 3GB afim de evitar uma parada total do sistema por falta de espaço na memória RAM. Comandos que podem ser úteis:
mkswap -f <dispositivo>
blkid
swapon <dispositivo>
|
04/10/2019: Acrescentando discos ao computador (exercícios)
Aula 21 |
---|
|
09/10/2019: Servidor FTP
Aula 22 |
---|
O que é um servidor FTPChama-se servidor FTP um servidor que permite, através de uma rede de computadores, um serviço de acesso para usuários a um disco rígido ou servidor de arquivos através do protocolo de transferência de arquivos: File Transfer Protocol. Seu acesso pode ser feito por qualquer usuário da rede ou reservado (com pedido de login e senha). O servidor FTP utiliza o protocolo FTP via navegador ou via cliente ftp dedicado. A diferença de servidor FTP para FTP é que o servidor é um software produzido para promover o gerenciamento FTP e o FTP já é um protocolo de transporte adquirido através do servidor para acesso a certos dados. Exemplos de servidores FTP para Linux/Unix/BSD são :
E se você quiser copiar arquivos de um computador para outro que está do outro lado do mundo? Você provavelmente usaria sua conexão com a Internet. No entanto, por motivos de segurança, é muito incomum compartilhar pastas pela Internet. As transferências de arquivos pela Internet usam técnicas especiais, das quais uma das mais antigas e mais usadas é o FTP. FTP, abreviação de "File Transfer Protocol", pode transferir arquivos entre qualquer computador que tenha uma conexão com a Internet e também funciona entre computadores usando sistemas operacionais totalmente diferentes. A transferência de arquivos de um computador cliente para um computador servidor é chamada de "upload" e a transferência de um servidor para um cliente é "download".
Requisitos para usar o FTPUm cliente de FTP como o GFTP/FILEZILLA instalado no seu computador Determinadas informações sobre o servidor FTP ao qual você deseja se conectar: O endereço do servidor FTP. Isso se parece muito com os endereços que você digita para navegar em sites. Exemplo: o endereço do servidor é "ftp.videodesk.net". Às vezes, o endereço do servidor será fornecido como um endereço numérico, como "64.185.225.87". Um nome de usuário e senha. Alguns servidores FTP permitem que você se conecte a eles anonimamente. Para conexões anônimas, você não precisa de um nome de usuário e senha. Para transferir arquivos, forneça seu software cliente (GFTP/FILEZILLA) com o endereço do servidor, nome de usuário e senha. Após conectar-se ao servidor FTP, você pode usar o Gerenciador de arquivos GFTP/FILEZILLA para fazer o upload, download e excluir arquivos. Usando o Gerenciador de Arquivos é muito parecido com o trabalho com o Windows Explorer.
FTP e Conexões com a InternetO FTP usa uma conexão para comandos e a outra para enviar e receber dados. O FTP tem um número de porta padrão no qual o servidor FTP "escuta" conexões. Uma porta é um "ponto de conexão lógica" para comunicação usando o Protocolo da Internet (IP). O número de porta padrão usado pelos servidores FTP é 21 e é usado apenas para enviar comandos. Como a porta 21 é usada exclusivamente para enviar comandos, essa porta é chamada de porta de comando. Por exemplo, para obter uma lista de pastas e arquivos presentes no servidor FTP, o Cliente FTP emite um comando "LIST". O servidor FTP, em seguida, envia uma lista de todas as pastas e arquivos de volta para o cliente FTP. Então, o que acontece com a conexão de internet usada para enviar e receber dados? A porta usada para transferir dados é chamada de porta de dados. O número da porta de dados irá variar dependendo do "modo" da conexão. (Veja abaixo os modos ativo e passivo). Modo de conexão ativa e passivaO servidor FTP pode suportar conexões ativas ou passivas ou ambas. Em uma conexão FTP ativa, o cliente abre uma porta e escuta e o servidor se conecta ativamente a ela. Em uma conexão FTP passiva, o servidor abre uma porta e escuta (passivamente) e o cliente se conecta a ela. Você deve conceder acesso do GFTP/FILEZILLA à Internet e escolher o tipo correto de modo de conexão FTP. A maioria dos programas cliente de FTP seleciona o modo de conexão passiva por padrão porque os administradores do servidor preferem isso como uma medida de segurança. Os firewalls geralmente bloqueiam conexões "iniciadas" de fora. Usando o modo passivo, o cliente FTP (como o GFTP/FILEZILLA) está "chegando" ao servidor para fazer a conexão. O firewall permitirá essas conexões de saída, o que significa que não são necessários ajustes especiais nas configurações do firewall. Se você estiver se conectando ao servidor FTP usando o modo Ativo de conexão, deverá configurar seu firewall para aceitar conexões com a porta que seu cliente FTP abrirá. No entanto, muitos provedores de serviços de Internet bloqueiam conexões de entrada para todas as portas acima de 1024. Os servidores FTP ativos geralmente usam a porta 20 como porta de dados.
InstalaçãoUsaremos o ProFTP como servidor, que é uma das aplicações mais usadas do mundo.
# apt-get install proftpd
A primeira coisa a fazer é modificar a linha "UseIPv6", deixando-a como "off", desabilitando o uso do endereço IPv6. A próxima linha a ser modificada é a do "ServerName", coloque o nome do seu servidor entre as aspas PJI2. Podemos adicionar a opção "AllowForeignAddress", esta linha é a responsável por autorizar as conexões externas. Se estamos usando um FTP, lógico que a intenção não é usá-lo internamente, então, essa linha deve estar presente no arquivo:
Outra opção é a "RequireValidShell", deixando ela como "off", o ProFTPD irá aceitar conexões de usuários que não possuem shell válida no sistema, consequentemente, usuários sem shell não podem utilizar o SSH. Mais uma opção é a "MaxInstances", que define a quantidade de conexões simultâneas que o servidor aceitará. Basicamente, a configuração é essa aí. Reinicie o ProFTPD: # /etc/init.d/proftpd restart
Caso não tenha um interface gráfica, podemos acessar via terminal com o comando ftp ip_do_servidor Será solicitado um usuário com permissão de acessar o servidor, e posteriormente a senha. Os comando para utilização do ftp no terminal são:
Também podemos utilizar um cliente gráfico de FTP. Existem vários no mercado, a grande maioria gratuita. Nós vamos usar o gftp. Para instalar basta executar o comando: # apt-get install gftp Após a instalação, pode abrir o programa e preencher com as informações pedidas:
Exercícios1. Crie um servidor FTP sem acesso anônimo e com as seguintes características:
ftp ftp.unicamp.br
Adicionando ou excluindo um usuário de um grupo
|
11/10/2019: Servidor FTP (exercícios)
Aula 23 |
---|
|
16/10/2019: Processos e Servidor SSH
Aula 24 |
---|
ProcessosJá vimos que sistemas operacionais modernos, como Linux, FreeBSD, Windows, e Android, são capazes de executar múltiplos programas ao mesmo tempo. No caso dos sistemas operacionais Unix, e o Linux pertence a essa família, processos são programas em execução. Um programa contém instruções e dados armazenados em um arquivo. Ao ser executado um arquivo, cria-se um processo. O sistema operacional carrega as instruções e dados em memória RAM, e faz o processador executá-las. Múltiplos processos podem ser criados a partir do mesmo arquivo de programa, sendo executados de forma independente. Os detalhes de como manter todos os processos em memória, e revezar suas execuções de forma a parecer que são simultâneos, são responsabilidade do sistema operacional.
Atividade
Servidor SSHSSH: significa Secure Shell Trata-se de um conjunto de padrões que permite estabelecer um canal seguro entre duas máquinas. É considerado seguro, pois utiliza chave criptográfica pública para identificar um computador remoto. Ou seja, além da criptografia de envio de dados padrão, há também o sistema de criptografia pública e privada para identificar um computador na rede.
Instalando e configurando o SSHPara instalarmos o SSH no Ubuntu é muito simples. Basta, estando no shell como root, digitarmos:
# apt-get install openssh-server
Primeiro passo: vamos começar editando o principal arquivo de configuração, o sshd_config encontrado em: /etc/ssh/sshd_config. Para tal, estando no shell como root, digite:
# vim sshd_config
Em port coloque o padrão 22 ou uma de sua escolha. Esse campo diz ao SSH que ele estará escutando as requisições vindas de outros computadores por esta porta ficando assim: port 22 Na linha #AllowUsers, que pode existir ou não (se não existir crie-a), você pode deixá-la comentada para que todos os usuários possam acessar o servidor ou retirar o comentário ("#") e especificar um usuário. A linha pode ficar assim, caso deseje especificar um usuário único em poder de acesso ao servidor remotamente:
# AllowUsers usuario_ssh
Obs. 1: Se você deseja que o root se conecte, não coloque a linha AllowUsers. Obs. 2: Se você deseja que o seu usuário comum conecte-se e não o root, você deverá coloca as duas linhas, então só seu usuário irá conectar, mas ele não poderá virar root. Feito essas configurações, salve o arquivo. Segundo passo: agora precisamos parar e iniciar o serviço fazendo com que nossas configurações entrem em vigor. Para isso, ainda estando como root, digite:
# /etc/init.d/ssh stop
# /etc/init.d/ssh start
Utilizando o scp (cópia remota segura de arquivos em servidores SSH)O comando scp permite a cópia de arquivos entre duas máquinas utilizandose os recursos de criptografia do SSH e pode ser uma alternativa ao uso do FTP. Sua forma básica é: # scp arquivoorigem arquivodestino A origem e o destino podem se localizar na máquina cliente ou na máquina servidor, sendo necessário fornecer senha de login para a operação ser realizada. Por exemplo, para copiar um arquivo da máquina local para o servidor você poderá usar o scp assim: # scp arquivo usuario@servidor: # scp usuario@servidor:/caminho/arquivo . (Copia do servidor para a máquina local).
# scp -r diretório usuario@servidor: Exercícios1. Conecte-se via ssh a máquina de algum colega. 2. Com o auxílio do scp, faça a cópia de um arquivo qualquer da máquina servidora (máquina do colega) para a sua máquina e que esta cópia fique no diretório /home/aluno/arquivos_transferidos. 3. Copie agora um diretório da máquina servidora para a sua máquina, e este também deverá estar em /home/aluno/arquivos_transferidos. 4. Instale o programa PuTTy SSH Client e acesse a máquina do colega através dele.
|
18/10/2019: Processos e Servidor SSH (exercícios)
Aula 25 |
---|
|
25/10/2019: Correção da Avaliação 2. Utilizando o Raspberry Pi
Aula 27 |
---|
Uso de RaspberryPi como computadorRaspberryPi é um projeto com o propósito de disponibilizar computadores de baixo custo e alto desempenho para que pessoas possam aprender, resolver problemas e se divertirem. O computador RaspberryPi, chamado daqui em diante de Rpi, tem tamanho de um cartão de crédito, bastando teclado e mouse USB, monitor com entrada HDMI e fonte de alimentação para ser utilizado. Ele possui 1 GB RAM e processador ARM de quatro núcleos com clock de 1.2 GHz. Para acesso à rede ele possui interfaces de rede ethernet e Wifi, além de Bluetooth.
Instalação do sistema operacional no RpiA instalação do sistema operacional segue praticamente o mesmo procedimento da aula anterior. Porém desta vez será necessário gravar a imagem do sistema operacional em um cartão de memória microSD, que funcionará como o disco rígido do Rpi. De acordo com as instruções contidas no site do Rpi, a instalação deve ser feita assim:
ExercícioMonte 4 equipes e utilize o Raspberry Pi para efetuar as seguintes configurações:
Leituras úteis:
|
29/10/2019: Utilizando o Raspberry Pi (continuação)
Aula 28 |
---|
|
30/10/2019: Utilizando o Raspberry Pi (exercícios)
Aula 29 |
---|
|
01/11/2019: Rotas
Aula 30 | ||||||||
---|---|---|---|---|---|---|---|---|
Como visto anteriormente, cada dispositivo em uma rede precisa ter um endereço IP para que possa se comunicar com outros dispositivos. Porém isso não é suficiente: os dispositivos devem saber que direção devem enviar mensagens para que cheguem até cada outro dispositivo. Se o dispositivo de destino estiver na mesma rede, então basta transmitir o pacote a ele diretamente. Mas e se ele estiver em outra rede ? Por exemplo, e se um computador no laboratório de Redes 1 quiser se comunicar com outro que está na reitoria do IFSC ? Como esse pacote deve ser transmitido nesse caso?
Mas o que isso tem a ver com redes ? Muita coisa: a forma com que o Google Maps descobre caminhos se baseia nos mesmos conceitos usados para descobrir rotas entre dispositivos na Internet. E voltando a redes de computadores, também é possível descobrir que caminho os pacotes percorrem para ir de um ponto a outro na Internet. Experimento:: use o programa traceroute para descobrir os caminhos percorridos por seus pacotes. Teste-o com vários possíveis destinos:
O que significam as informações mostradas por esse programa ?
Rotas no LinuxCada computador ligado a Internet possui uma tabela de rotas. É por meio de tal tabela que ele sabe como transmitir os pacotes para cada destino. Em seu computador, você pode visualizar essa tabela da seguinte forma: # Isto funciona em qualquer *nix que se preze ...
netstat -rn
aluno@M1:~> ifconfig eth1 192.168.10.1 netmask 255.255.0.0
aluno@M1::~> netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
# adiciona a rota default, que passa pelo roteador 192.168.10.100
route add default gw 192.168.10.100
# este comando tem o mesmo efeito que o anterior ...
route add -net 0.0.0.0/0 gw 192.168.10.100
# este comando define que para chegar à rede 191.36.9.0/24
# deve-se usar o gateway 192.168.1.1
route add -net 191.36.9.0/24 gw 192.168.1.1
Rotas, prefixos de rede e máscarasUma rota serve para informar como se chega a um determinado destino. Um destino pode ser um único endereço IP, ou uma subrede (que contém um conjunto de endereços IP). Para que um pacote IP chegue a um destino, deve-se transmiti-lo para o próximo roteador em direção a esse destino. Esse próximo roteador também deve conhecer uma rota para tal destino, repetindo o mesmo processo (reveja o experimento com 'traceroute). Ao menos duas informações compõem cada rota:
Imagine que exista uma subrede contendo os endereços de 192.168.2.0 até 192.168.2.255. Se representarmos esses endereços em binário, podemos ver que os 24 bits mais significativos são os mesmos para todos os endereços:
O que todo host deve possuirCom o que se fez até o momento, pode-se concluir que todo host (computador, tablet, smartphone, ..., qualquer dispositivo que rode aplicações da Internet) precisa de:
Exercícios
OBS: Os experimentos de Rotas serão feito na ferramenta Netkit2 na máquina real, e os arquivos para os experimentos estão disponíveis em www.docente.ifsc.edu.br/juliana.camilo/PJI2
|
06/11/2019: Rotas (continuação). Recuperação Av2
Aula 31 |
---|
|
08/11/2019: Definição e Início do Projeto Final
Aula 32 |
---|
IMPORTANTE
11/12/2019 - Última data para apresentação do projeto final. 13/12/2019 - Recuperação Final.
Todas as configurações/orientações abaixo deverão ser efetuadas no computador de cada integrante do grupo.
2. Após instalar o sistema operacional, instale o adicional de convidados do VirtualBox e todas as dependências necessárias. 3. Configure o IP fixo em sua placa de rede (as informações serão fornecidas pelos professores) mas deixe-as comentadas para não dar conflito com a rede do laboratório. Essa atividade não poderá ser testada, será só uma simulação de como seria em uma máquina real. 4. Crie 5 usuários usando o comando adduser. 5. Defina a senha de cada um dos usuários. 6. Crie o grupo Projeto. 7. Adicione os usuários criados a este grupo. 8. Acrescente, por comandos, ao perfil do usuário seu nome completo e endereço. 9. Adicione o repositório do Google Chrome e do Libreoffice 6 e instale este aplicativos. 10. Instale o editor de texto VIM, Zoiper, K3B e VLCMediaPlayer. 11. Crie 2 partições primárias, 1 estendida e 3 lógicas no disco virtual adicional (disco que não foi utilizado para a instalação do sistema operacional) no VirtualBox. Formate as partições com diferentes sistemas de arquivo. Monte cada uma delas em um diretório diferente. 12. Crie um servidor FTP sem acesso anônimo e com as seguintes características: 1. O diretório de acesso de todos os usuários deve ser /srv/ftp/projeto 2. O grupo de acesso dos usuários do servidor FTP deve ser ftpprojeto 3. Deve ser criado um usuário chamado ftp, sem acesso ao terminal, e acesso somente ao diretório /srv/ftp/projeto, para o acesso ao servidor FTP 4. Os usuários criados também deverão ter acesso ao servidor FTP no diretório /srv/ftp/projeto. 13. Instale um servidor SSH e faça com que o usuário root não tenha acesso via SSH. Também mude a porta padrão para 2222. 14. Faça a configuração das rotas estáticas para a rede no arquivo rede.conf disponível em: http://docente.ifsc.edu.br/juliana.camilo/PJI2/Projeto_final/ de modo que todos os Pcs consigam se comunicar. OBS: As subredes disponíveis para endereçamento são 10.0.1.0/24, 172.20.20.16/30, 192.168.12.0/24, 10.10.0.0/29, 192.168.18.0/24, 172.30.30.0/30 e 10.20.0.0/24. Como as configurações do Netkit são apagadas cada vez que iniciamos o software, apresentem essa atividade para as professoras assim que conseguirem finalizá-la. As configurações/orientações 15 e 16 abaixo deverão ser efetuadas pela dupla. 15. Instalação do sistema operacional no Raspberry Pi3 - Efetuar a instalação do ubuntu Mate. O nome do computador deve ser Projeto(nº do seu grupo). Deve existir um usuário pji2 com a senha pji22019, também crie os mesmos usuários que foram criados na máquina virtual. Repita as etapas de 3 a 13 (sendo que o Zoiper não precisa ser instalado), e não faça o item 11. 16. Efetue o backup utilizando a ferramenta TAR com a extensão tar.gz dos seguintes diretórios (No Virtual Box): 1. /srv/ftp 2. /home Cálculo nota final do projeto: NPF-> Nota do projeto final NI-> Nota Individual NG-> Nota do Grupo NPF = NI x 0.7 + NG x 0.3 onde NG = (NI_integrante1 + NI_integrante2)/2.
|