Skip to content


Trabalho prático

Trabalho prático – Sistemas de Software Livre

No mundo do software livre, encontramos diversas ferramentas de trabalho, fornecendo meios de aprender cada vez mais visualizando/estudando seu código fonte.

Dentre as opções, há uma ferramenta (frontends) que eu sinto falta: Visualizador/Extrator de arquivos ISO sem a necessidade de ser administrador (root).

A implementação da primeira ferramenta utilizará:

  • Interface em GTK+ para a aparência da ferramenta;

  • Os programas do sleuthkit para manipular a visualização e a extração de arquivos da ISO;

  • xgettext para suporte multi-idioma, sendo obrigatório: português/inglês.

Após terminar e homologar a ferramenta, votaremos em uma para lançar no site <http://gtk-apps.org>.

Para instalar o sleuthkit e o ipython na máquina virtual fornecida, execute:

$ apt-get install sleuthkit ipython

Ao término do trabalho, deve-se entregar o código fonte da ferramenta e também um relatório, formatado com estilos no LibreOffice, contendo:

  • Primeira página com o título do trabalho;
  • Índice dos capítulos, das figuras (quando tiver) e das tabelas (quando tiver) do trabalho;
  • Introdução, explicando o que é GTK+, Glade, PyGTK, xgettext e licença livre (GPL3);
  • Desenvolvimento, explicando como foi desenvolvido o trabalho;
  • Utilização, explicando como utilizar a ferramenta;
  • Conclusão, expondo as dificuldades, o aprendizado e onde a ferramenta pode ser utilizada.

Data final de entrega: 03/12/2015

Referências para ajudar:

 Código Feito em aula:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os, sys

cmd = 'fls %s' % sys.argv[1]

saida = os.popen(cmd).read()
mapa = {}

for i in saida.split('\n'):
   try:
      inode = i.split(':')[0].split(' ')[-1]
      nome  = i.split('\t')[-1]
      tipo  = i.split('/')[0]
      mapa[int(inode)] = [tipo, nome]
   except: pass

for i in mapa.keys():
        print 'Inode: %s' % i , '| ',
        print 'Arquivo (%s): %s' % (mapa[i][0], mapa[i][1])
        print '-'*10

O código do Glade que fizemos em aula encontra-se no seguinte link: <conteudo_aula-SL-Glade>

Uma ajuda com o Glade: <http://www.micahcarrick.com/gtk-glade-tutorial-part-1.html>

Mas lembre-se de utilizar um glade mais antigo (versão 3.6).

Para utilizar a máquina virtual, faça:

  1. Coloque a interface de rede como Bridge e selecione uma interface de seu computador que tenha IP;
  2. Logue-se na máquina virtual e defina um IP;
  3. Reinicie o samba com o comando: /etc/apt/samba restart
  4. De fora, execute os programas lá de dentro da seguinte forma:
    ssh -X aluno@IP_DA_MAQUINA_VIRTUAL  ‘PROGRAMA;exit’
  5. Para acessar os arquivos da máquina virtual, digite na barra de localização (CTRL+L) do navegador de arquivos:
    smb://IP_DA_MAQUINA_VIRTUAL

Se você preferir instalar o GNU/Linux e os programas manualmente, faça (para sistemas tipo Debian):

Adicione a seguinte linha no arquivo “/etc/apt/sources.list”:

deb http://ftp.br.debian.org/debian squeeze main

E execute os comandos:

sudo apt-get update
sudo apt-get install python-gtk2 python-glade2 glade=3.6.7-1+b1
echo glade hold | dpkg --set-selection

O último comando vai bloquear a atualização do glade. Você pode evitar esse comando, mas não aceite atualizar o glade após isso.

Na tela inicial do Glade (ou no menu Editar->Preferências), escolha o seguinte:

glade

abs

Postado em Software Livre.