Tabela de conteúdos

Prova Prática - Todo o Assunto da Disciplina

Regras

Execução da Prática

Contexto da prática


Você foi contratado como técnico de laboratório por uma instituição de ensino para realizar a manutenção das máquinas de todos os laboratórios de informática. Essa instituição oferta cursos nas áreas de Web Design, Segurança da Informação e Redes de Computadores. Os laboratórios são equipados com máquinas com o Ubuntu instalado como Sistema Operacional.

Antes do início das aulas de cada semestre, os professores enviam uma lista com os softwares que devem ser instalados, bem como os que devem ser removidos, para que consigam ministrar as aulas de suas disciplinas. Cabe a você deixar as máquinas de acordo com o solicitado pelos professores.

Além disso, o professor da disciplina de Redes de Computadores solicitou a configuração das máquinas do laboratório, para que periodicamente seja executada uma rotina de atualização dos pacotes instalados e backup da pasta /home, de modos que a máquina sempre tenha as versões mais recentes dos principais pacotes instalados e possa ter a pasta /home restaurada, em caso de remoção de arquivos dos alunos. De acordo com o professor, a atualização dos pacotes deve ocorrer no primeiro dia útil da semana, sexta-feira, às 18h; e o backup todos os dias, de 4 em 4 horas.

Com intituito de atender a solicitação dos professores, você realizou uma pesquisa por soluções que permitissem o agendamento de tarefas no Linux. Você constatou que o Linux, por padrão, já possui uma solução que permite esse agendamento, chamada Cron. Seria preciso apenas construir o Shell Script para realizar as rotinas e colocar eles para rodar no Cron.

Para realizar essa tarefa, você contará com a ajuda de outro técnico de laboratório. Antes de realizar os procedimentos nas máquinas reais, vocês devem máquinas virtuais instaladas com o Ubuntu, de modos a validar todo o processo de instalação/remoção de pacotes e configuração da solução de agendamento de tarefas. As máquinas deverão ser configuradas via DHCP da rede do IFB, visto que não existe a necessidade de uma configuração de rede especifica.

A tabela abaixo contém o resumo do contexto

Rotina Periodicidade
Backup da pasta /home Todos os dias, 4 em 4 horas
Atualização dos pacotes Toda sexta-feira, às 18h

A tabela abaixo contém a característica das máquinas:

Máquina Sistema Operacional Memória
Máquina Teste 01 Ubuntu 512 MB
Máquina Teste 02 Ubuntu 512 MB

Instalação das máquinas virtuais


Abaixo segue as instruções para realizar a configuração da máquina virtual no VirtualBox, bem como a instalação do sistema operacional em cada uma das máquinas.

Configuração da máquina virtual

Instalação do Sistema Operacional

As máquinas virtuais deverão ser instaladas com o sistema operacional Ubuntu, utilizando qualquer esquema de particionamento. A configuração de Rede da máquina cliente deve ser feita via DHCP.

Gerência de pacotes


Um dos objetivos da prática é realizar a instalação e remoção de alguns pacotes nas duas máquinas clientes. O Ubuntu, derivado do Debian, possui o dpkg como software principal do sistema de gerenciamento de pacotes. Existem outros softwares que permitem a instalação de pacotes, mas todos eles utilizam o dpkg como software base. Esses softwares deixam o dpkg mais completo, adicionando resolução de dependências e interface gráfica, tornando o processo de instalação de pacotes uma tarefa relativamente simples.

Caso tenha problemas durante a instalação dos pacotes, verifique se sua rede precisa de Proxy. Caso afirmativo, utilize o tutorial disponível AQUI para configurar o Proxy em sua máquina.

A seguir os demais aplicativos utilizados para instalar pacotes:

A lista de pacotes e o método de instalação estão detalhados a seguir. Deverão ser instalados pacotes utilizando o synaptic (ou Central de Programas Ubuntu, nas versões mais novas) e apt. A remoção poderá ser feita utilizando qualquer aplicativo. Os procedimentos deverão ser realizados em ambas as máquinas clientes. Caso necessite de ajuda, acesse o Guia de Gerenciamento de Pacotes Utilizando DEB, clicando aqui.

Algumas versões do Ubuntu possuem um Bug no software Central de Programas do Ubuntu, o que impede a instalação de pacotes utilizando esse método. Para evitar esse problema, é preciso atualizar alguns pacotes já instalados. Para isso utilize os comandos abaixo, dentro do terminal, antes de processeguir com a prática:

# apt-get update
# apt-get upgrade

Pacotes que devem ser INSTALADOS utilizando a Central de Programas Ubuntu:

Os pacotes a seguir devem ser instalados utilizando a ferramenta para interface gráfica synaptic ou a Central de Programas Ubuntu, nas versões mais novas do Sistema Operacional.

Pacotes que devem ser INSTALADOS utilizando o APT:

Deverá ser instalada a versão 5.x.0 do pacote fwbuilder, utilizado para a construção de firewall. Utilize as instruções a seguir para conseguir realizar a instalação.

Adicione a linha abaixo ao final do arquivo /etc/apt/sources.list (substitua “maverick” por “lucid” ou outro nome, dependendo da sua versão do Ubuntu). Essa linha irá adicionar um novo repositório de pacotes, específico para o software fwbuilder.

deb http://packages.fwbuilder.org/deb/stable/ maverick contrib

Uma outra forma de adicionar o novo repositório é utilizando o comando apt-add-repository. Da mesma forma que na opção anterior, “maverick” deve ser substituída pelo nome corresponderdes versão do Ubuntu.

apt-add-repository "deb http://packages.fwbuilder.org/deb/stable/ maverick contrib"

Atualize a lista de pacotes:

# apt-get update

Por fim, realize a instalação do pacote fwbuilder:

# apt-get install fwbuilder

Pacotes que devem ser INSTALADOS utilizando o DPKG:

Deverá ser instalada a versão 4.1.12 do pacote VirtualBox. Para tanto acesse o link abaixo e realize o download do pacote apropriado a versão do Ubuntu que esteja utilizando.

https://www.virtualbox.org/wiki/Linux_Downloads

Um outro pacote que deve ser instalado nesse método é o Dia, software utilizado para a construção de diagramas. Acesse o link abaixo e faça o download do pacote para Ubuntu.

http://dia-installer.de/download/linux.html

Após os downloads, utilizando o terminal como root, execute o comando abaixo. Ele deverá ser executado para cada um dos arquivos baixados.

dpkg -i filename

onde filename deve ser substituído pelo caminho do arquivo baixado anteriormente.

Pacotes que devem ser REMOVIDOS utilizando qualquer método:

Todos os pacotes devem ser totalmente removidos, incluíndo os arquivos de configuração.

Agendamento de Tarefas


O segundo objetivo da atividade prática é realizar a configuração do agendador de tarefas do Linux. Essa funcionalidade, bastante importante para o administrador de sistemas, permite o agendamento da execução de tarefas (por exemplo um script shell), de forma que ela execute de forma automática, na data e hora desejadas. No Linux isto é possível com a utilização do utilitário de nome Cron.

Os procedimentos descritos a seguir deverão ser realizados em ambas as máquinas de teste. Caso necessite de ajuda, acesse o Guia de Agendamento de Tarefas, clicando aqui. Inicialmente são apresentados os códigos dos scripts que antedem as duas demandas do professor e em seguida os procedimentos para configurar o cron.

Shell Script

Para facilitar a manutenção e deixar a solução mais elegante, será utilizado um Shell Script para cada uma das rotinas solicitadas pelo professor. O código de cada um dos scripts foi disponibilizado pelo próprio professor.

Backup pasta /home

#!/bin/bash
 
#Rotina para realizar o Backup da Pasta /home
#Nome Arquivo: /root/script-backup-home.sh
#Será salvo um arquivo de log na pasta /root
#O Backup será salvo na pasta /var/backups
#O Script deverá ser executado pelo usuário root
 
DATA=`date +%Y-%m-%d-%H.%M`
 
echo "Inicio do Log - $DATA" >> /root/backup-home.log
 
tar -cvzf /var/backups/"$DATA"-backup-home.tar.gz /home/* >> /root/backup-home.log
 
echo "Fim do Log - $DATA" >> /root/backup-home.log

Atualização dos Pacotes

#!/bin/bash
 
#Rotina para realizar a Atualização dos Pacotes
#Nome Arquivo: /root/script-atualizacao-pacotes.sh
#Será salvo um arquivo de log na pasta /root
#O Script deverá ser executado pelo usuário root
 
DATA=`date +%Y-%m-%d-%H.%M`
 
echo "Inicio do Log - $DATA" >> /root/atualizacao-pacotes.log
 
apt-get update >> /root/atualizacao-pacotes.log
 
apt-get upgrade -y >> /root/atualizacao-pacotes.log
 
echo "Fim do Log - $DATA" >> /root/atualizacao-pacotes.log

Agendamento das Rotinas

O primeiro passo para realizar o agendamento das rotinas é salvar os Shell Script em arquivos, com o nome sugerido no próprio código do script. Em seguida é preciso dar permissão de execução para cada um dos arquivos, utilizando o comando abaixo:

# chmod +x nome_script

Antes de configurar o Cron, teste os scripts, executando eles diretamente no terminal. A execução pode ser feita com caminho relativo:

# ./nome_script

ou com caminho absoluto:

# /root/nome_script

Como ambos os scripts devem ser executados com o usuário root, a configuração do Cron deve ser feita editando o arquivo abaixo:

/etc/crontab

Coloque uma nova linha, antes da linha #, para cada um dos scripts. A linha abaixo é um exemplo e deve ser alterada de acordo com a data e hora que o script deve ser executado, bem como de acordo com o caminho do script.

* *   * * *   root   caminho_script  

Correção da Prática


A correção da prática será feita pelo professor. Quando finalizar os trabalhos, chame o professor para que ele faça a correção.


Divisão das Duplas

Dupla 01Kaio
Wildemark
Dupla 02Carlos
Leandro
Dupla 03Claudia
Rubens

Critérios da correção da prática

Nr Critério Valor Máximo
01Instalação/Configuração das máquinas virtuais clientes 0,50
02Instalação do sistema operacional nas máquinas virtuais 1,00
03Instalação de pacotes utilizando o synaptic 1,00
04Instalação de pacotes utilizando o apt 2,00
05Instalação de pacotes utilizando o dpkg 1,00
06Remoção de pacotes 1,00
07Criação dos arquivos com o código do shell script 0,50
08Configuração da rotina para backup do /home 1,50
09Configuração da rotina para atualização de pacotes 1,50

Resultado da prova

Critérios
Duplas 01 02 03 04 05 06 07 08 08 Total
01 0,40 0,90 0,80 1,80 0,90 0,70 0,00 0,00 0,00 5,50
02 0,50 1,00 1,00 2,00 1,00 0,80 0,50 1,50 1,50 9,80
03 0,40 0,90 0,20 0,90 0,40 0,70 0,00 0,00 0,00 3,50

Lições Aprendidas