Linux Tech Hacks

Your Linux tech hacks and Tips

Qual o melhor Sistema de Arquivos?

 Outro dia, sendo perguntado a respeito de partições e sistema de arquivos para um servidor Linux, mandei um email para o responsável (analista de sistemas) a respeito do assunto e um link explicando tudo a respeito, me colocando a disposição para esclarecimento. Bom, já que foi uma dica que ajudou, por que não publicá-la?
 Bom, mudando um pouco o contesto que fiz anteriormente nessa publicação, e não simplesmente publicando o conteúdo de outra pessoa (apesar de que achei completo, mas não achei correto simplesmente publicar só para encher meu blog), resolvi publicar um artigo escrito por mim mesmo já que obitive informações interessantes direto Ted Ts'o, primeiro mantenedor do Kernel Linux norte americano na LinuxCon.
 Os sistemas de arquivos aqui mencionados estarão lincados com a wikipedia para que quiser se aprofundar melhor no assunto. O que eu farei aqui é explicar qual utilizar em cada situação.


Ted Ts'o (Pena que a foto saiu escura rsrsrs)



File System (ou sistema de arquivos)

Sistema de ficheiros (português europeu) ou sistema de arquivos (português brasileiro) (também conhecida por gestão de ficheiros) é a forma de organização de dados em algum meio de armazenamento de dados em massa frequentemente feito em discos magnéticos.
Origem: Wikipédia, a enciclopédia livre.

 Os principais sistemas de arquivos utilizados hoje são:
Apple Macintosh
UNIX (FreeBSD, OpenBSD, Linux, Solaris, etc.)
IBM (AIX, OS/2)
  • JFS (AIX Version 3.1 ou superior, OS/2 Warp)
  • HPFS - High Performance File System
MS-DOS/Microsoft Windows
  • FAT 12 - Microsoft BASIC Disk - MSDOS 4.0
  • FAT 16 ou FAT - DOS 4.0 ou superior / Windows 1.X ou superior (1.x, 2.x, 3.x, 95, 98, ME, 2000, XP,...)
  • FAT 32 - MS-DOS 7.1 e 8.0 / Windows 95 (versão OSR2!), ou superior (95 OSR2, 98, ME, NT, 2000, XP...)
  • NTFS - Windows NT ou superior (NT, 2000, XP, 2003 Server,...)
  • Sistema de arquivos virtual
  • VFAT - conceito generalista que se refere a qualquer formato FAT que possibilite Long FileNames - nomes de ficheiro longos - (exs: FAT16 e FAT32)
 Outros sistemas de arquivos são os GFS que quer dizer Global File System,
desenvolvida pela RedHat e não deve ser confundido com o  Google File System.
 um novo sistema de arquivo que está surgindo é o SAF, que ainda não se tem notícia do que ele trará de benefício.
 
 O ponto interessante que eu achei da apresentação foi a explicação de como deve ser usado cada File System:

 Dispositívo de disco rígido (HDD) básico e para SSD são:
 EXT3, EXT4, XFS,, BTRFS (pronuncia-se butterfs)

 MTD flash:
 JFFS2, UIBFS

 Network:
 NFS, NFSV4, SMBBFS

 PseudoFileSystem
 PROCFS, SYSFS, DEBUGFS (para SUDOFS).

 SHard block cluster file system:
 GFS, OCFS

 Distribuited cluster FS
 CEPTH

 O link que informei no inicio é o http://www.botecodigital.info/linux/qual-o-melhor-sistema-de-arquivos/

VOL DAY II - Software Livre no Dia da Independência do Brasil












NOTA: Até o momento, entre palestrantes e participantes, o evento será representado por 48 municípios divididos entre 7 estados.

VOL DAY II - Software Livre no Dia da Independência do Brasil

Venha participar do VOL DAY II, o primeiro evento organizado pela comunidade Viva o Linux no estado de São Paulo. Serão mais de 12 horas de palestras e mini-cursos!

Data: 07/09/2010 (faltam 10 dias)

Local: Faculdades Integradas FAFIBE
Rua Prof. Orlando França de Carvalho, 325 - Centro
Bebedouro - São Paulo
CEP: 14701-070

Horário: das 8h às 18h

Inscrições abertas!

Realização:
      

        

Video com eu aparecendo no volday

Tecnologia de ponta em sistemas livres: duas palestras com convidados internacionais




Eu estive lá.Eheeeeeeeeeeeee
George W. Dunlap: Ph.D Senior software engineer; me: Linux user;  Stephen Spector: community manager of xen.org



Localização: http://ccsl.ime.usp.br/pt-br/localizacao


Início: segunda-feira, 30/08/2010 - Fim: segunda-feira, 30/08/2010
30/08/2010 - 00:00
30/08/2010 - 23:59
Etc/GMT-3
O CCSL tem o prazer de convidar todos a assistir duas palestras internacionais de alto nível, ministradas por palestrantes fortemente envolvidos com seus respectivos temas. Christoph Hellwig, um dos desenvolvedores do Linux envolvido primariamente com sistemas de arquivos, vai falar sobre o novo mecanismo de caches de disco no kernel do linux, que deve aumentar a confiabilidade do sistema e, ao mesmo tempo, garantir um melhor desempenho; e Ian Pratt, líder da comunidade Xen.org, vai falar sobre essa comunidade, o projeto Xen, seus planos para o futuro etc.
As palestras serão ministradas em inglês e ocorrem nesta segunda-feira, dia 30, das 14:00h às 16:00h (Christoph Hellwig) e das 16:00h às 18:00h (Ian Pratt), no auditório Antonio Gillioli, bloco A do IME/USP. Abaixo, os resumos das palestras e currículos dos palestrantes.
Título: A future without barriers - disk cache control and I/O ordering in Linux
Data: Segunda-feira, 30/08/2010, às 14:00h
Local: Auditório Antonio Gillioli, bloco A, IME/USP
Palestrante: Christoph Hellwig
Resumo: This presentation tells a tale of caches, ordering, lies and misconceptions. It all started when the disk started lying to us. When consumer disks started to implement volatile caches with write back semantics hell broke lose for existing filesystem implementation. Before that point they could rely on internal I/O ordering for providing data integrity, but now that disks signaled I/O completion before data actually was on stable storage this strategy fell flat.
Initially Linux like most other operating systems ignored this issue and let users chose between going really fast and actually having reliably storage, with default setting of cheap disks being lose, but fast. The concept of I/O barriers was introduced to solve that dilemma. The I/O barrier semantics implemented in Linux in 2002 mixed the cache control aspect with data ordering semantics inspired by the SCSI ordered tag commands, assuming that we can use these to offload ordering to hardware.  But in the eight years since no one managed to actually come up with an optimized implementation of this interface, leading to dramatic performance degradation over not using a cache at all for many workloads.
This year we finally designed scheme to replace barriers with a simpler cache control concept that overcomes this limitation, and this presentation explains how we overcame the limitations of the previous scheme.
Sobre o palestrante: Christoph Hellwig has been working with and on Linux for the last ten years, dealing with kernel-related issues much of the time. In addition he is or was involved with various other Open Source projects.
After a number of smaller network administration and programming contracts he worked for Caldera's German development subsidiary on various kernel and userlevel aspects of the OpenLinux distribution.
Since 2004 he has been running his own business focusing on consulting, training and contracting work in the OpenSource hemisphere. Specializing on Linux filesystems and storage he is also active in bordering areas such as virtualization and networking. He has worked for well known customers such as Dell, SGI, IBM, Red Hat and startups like LeftHand Networks and Smapper Applied Data.
Título: Xen.org com Ian Pratt
Data: Segunda-feira, 30/08/2010, às 16:00h
Local: Auditório Antonio Gillioli, bloco A, IME/USP
Palestrante: Ian Pratt
Resumo: Xen.org é a casa do hypervisor de código aberto Xen, rápido, com a base de código padronizada e segura para virtualização de sistemas operacionais. Fundada e liderada por Ian Pratt, a comunidade se beneficia de contribuições de engenheiros senior de mais de 50 fabricantes de hardware, software e segurança. O Xen.org é mantido para o benefício da comunidade pelo conselho consultivo do projeto Xen, que é selecionado a partir dos principais contribuintes do projeto.
A comunidade Xen.org segue estas missões:
- Construir o hypervisor de código aberto padrão da indústria
- Ser a base para produtos de diversos fabricantes
- Manter o Xen como líder de performance
- Ser o primeiro a explorar os novos atributos de virtualização em hardware
- Auxiliar os fornecedores de SO a paravirtualizar seus SOs
- Manter a reputação do Xen em estabilidade de qualidade
- Suportar múltiplos tipos de CPU para grandes e pequenos sistemas
- Estimular a inovação
- Garantir a interoperabilidade de drivers
Sobre o palestrante: Ian Pratt is the chief architect of the Xen project, and chairman of xen.org. He has played a key role in both the architecture of Xen and formation of industry partnerships that led to the emergence of Xen as the leading open source virtualization technology. Ian was a member of faculty at the University of Cambridge Computer Laboratory, where he led the Systems Research Group for over 7 years. He was a founder of XenSource, and is now VP for Advanced Products at Citrix.

http://ccsl.ime.usp.br/pt-br/localizacao

Urbi: Software para Robótica de Código Aberto

Urbi: Software para Robótica de Código Aberto

A Gostai, uma empresa francesa especialista em robótica anunciou recentemente que seu sistema operacional para robótica, o Urbi, agora já está disponível em código aberto. Essa plataforma robótica é compatível com o Linux, Windows, e vários outros sistemas operacionais em tempo-real, e utiliza uma nova linguagem de script para orquestração chamada urbiscript, que integra naturalmente paralelismo e programação baseada em eventos.


Discutindo o anúncio durante a conferência ICRA'10 no Alaska, Jean-Christophe Baillie, atual CEO e fundador da Gostai, afirmou que "Ir de código aberto com uma licença compatível com a GPL é a melhor maneira de garantir que o Urbi sempre estará disponível de forma livre para qualquer um utilizar, verificar e compartilhar, mantendo um modelo de licenciamento duplo, oferecendo suporte e funcionalidades avançadas para parceiros comerciais", e adicionou, "Vindo de um laboratório acadêmico de pesquisa, a Gostai sempre acreditou no modelo de código aberto e no compartilhamento da inovação. Há muito tempo que estamos trabalhando para preparar o Urbi para esse movimento, e agora está pronto!".

Por sinal, o software Urbi já disponível para prover funcionalidade para uma ampla gama de dispositivos, incluindo o cachorro-robô da Sony, o Aibo, o Segway, o Lego Mindstorms NXT, e muitos outros.

Para maiores informações sobre o Urbi visite o Portal Urbi Forge [2]. A última versão estável é a versão 2.1 do Urbi SDK, e já está disponível para download [3] do site oficial do projeto. Você também encontra toda a documentação [4] necessária para começar seus projetos. O código fonte do Urbi está sob a versão 3 da GNU Affero General Public License (AGPLv3).
 Site oficial: http://www.urbiforge.org/
  Downloads: http://www.urbiforge.org/index.php/Main/Downloads
 Documentação: http://www.urbiforge.org/index.php/Main/Docs

 

estranho caso na conexão 3G

 uma coisa muito estranha aconteceu hoje na minha net hoje.
 utilizo conexão Vivo 3G, e, antes de colocar o trem para funcionar, eu monto um HD de 500GB que eu tenho (nunca o deixo montado direto no arquivo /etc/fstab, não sei o por que do habito).
 Hoje resolvi montar a partição da seguinte maneira:
 #mount -t xfs /dev/sdb2 /mnt/gabriel -o ro

 Em seguida conectei a internet:
 #wvdial 3g

 Estranhamente a internet ficou lenta e eu não conseguia navegar. Tentei tudo. Desconectei, conectei de novo, verficiquei a porta USB que eu estava usando, reinicei o computador. Bom, por fim, depois de reiniciar o computador de novo, montei a partição da forma mencionada acima. Nada de funcionar. resolvi desmontar a partição e montar de novo, mas da seguinte maneira:
 #umount /mnt/gabriel
 #mount -t xfs /dev/sdb2 /mnt/gabriel
 #wvdial 3g

 Note que eu não digitei a opção "-o ro" que é a opção que deixa a partição como somente leitura, e a conexão funcionou normalmente.
 Estranho não? É isso aí, essa é a dica de hoje. Caso alguém tenha conexão 3G e um HD que é montado manualmente, não o deixe como somente leitura para não ficar fazendo cara de ariranha depois ;]

recompilação do kernel 2.6.33.3

recompilação do kernel 2.6.33.3



Bom!

Resolvi colocar esse artigo sobre recompilação de kernel, por que um idiota que trabalha comigo ( e considerado bom na empresa) me disse que a recompilação do kernel no linux não funciona. Insistindo com ele para que me explicasse o por que, por fim ele ficou nervoso dizendo que não funciona.
Já a recompilação no BSD funciona.
Outras curiosidades que ele disse é que ele fez a recompilação via "apt-get" e funcionou ¬¬.
Só para matar a curiosidade dele (e caso eu estiver errado, aceito criticas de terceiros, considero a ajuda) é que os pacotes .deb possuem o código fonte embutido dentro dele. Você pode descompactar o pacote ".deb" com o comando "ar" da seguinte maneira:
$ ar -x linux-libc-dev_2.6.26-22lenny1_i386.deb
você obterá os seguintes pacotes:
debian-binary , data.tar.gz e control.tar.gz ; sendo que o data.tar.gz é o codigo fonte original do programa a ser instalado, podendo ser descompactando e entrando no diretório "/usr" que aparecerá e fazer todo processo de compilação.
Bom, para terminar isso coloquei as imagens anexadas mostrando o kernel no diretório /boot sendo que Debian Leny vem com o kernel 2.6.26-2-686 por padrão. Eu estou utilizando o 2.6.33.3 e recompilando o 2.6.34 no exato momento em que escrevo esse artigo.
A intenção aqui é simplesmente desmistificar o que ele disse e tirar esse mito.


Boot


2

Como recompilar o kernel Linux

 As informações aqui são para o kernel 2.4 e 2.6.
 Primeiro, devemos configurar o kernel; para isso, existe quatro aplicativos que podem ser escolhidos. São eles:
$make config (esse é o configurador padrão do Linux, porém bem demorado devido ser totalmente em modo texto).
 Os próximos utilizam bibliotecas que geram uma interface amigável, facilitando a instalação.
$make menuconfig (utiliza a biblioteca NCurses)
$make gconfig (utiliza a biblioteca GTK)
$make xconfig (utiliza a biblioteca QT, a mesma da interface KDE).

 Um bom artigo para configurar o kernel está na em:
 http://br-linux.org/tutoriais/002942.html

 Depois de configurado o kernel, você deve fazer o seguinte:
 Criar a imagem do kernel compactada com os seguintes comandos
 $make clean (para descartar os modulos que não serão compilados)
 $make dep (para gerar a arquitetura do kernel, no meu caso I686, já não é mais necessário fazer isso)
 $make bzImage ou $make zImage (a diferença é o bz é para o bzip2 e o z para gzip).
 compilar os modulos:
  $make modules 
 E instalá-los
 #make modules_install (lembrando que deve ser root para isso).
 Depois disso, digite
 #make install (também devendo ser administrador para essa operação) para que o sistema crie o system.map, o kernel com o nome de vmlinuz-x.y.z (sendo que x.y.z se refere a versão do kernel) e o config do kernel.
 Feito isso, dentro de /boot, digite
 #mkinitramfs -o initrd.img-x.y.z -v x.y.z para criar a imagem de disco ram (initrd) para o kernel. Ou a opção update-initramfs -c -k 2.6.33.3 -v que fará o mesmo.
 Um informação muito interessante que obtive foi que o comando "mkintrd" está defasado, sendo substituído pelo "mkinitramfs", por isso utilizado nessa postagem além de vir por padrão no Debian.
 Um observação que deve ser feita é que, se notarem, eu repeti o x.y.z. Funciona da seguinte maneira: quando vou gerar o initrd, além de indicar para qual kernel, tenho que indicar aonde ele vai buscar os módulos dentro de /lib/modules/. Por exemplo, como recompilei o 2.6.33 com os seus módulos dentro de "/lib/modulos/2.6.33", então tenho que gerar  o initrd.img-2.6.36 que irá buscar os modulos 2.6.33 (está gravado dentro do initrd que ele irá buscar automáticamente dentro de /lib/modules). Caso não passe esse parametro,por não ter sido indicado aonde buscar os módulos, você receberá uma mensagem como:
 "FATAL ERROR"
  "MODULES NOT FOUNT"
  Por isso deve passar o segundo parametro igual. Esse segundo parametro é só uma indicativa de qual módulos utilizar.
 Para terminar, se você estiver utilizando o grub como carregador de boot padrão, utilize o comando 
#update-grub que o sistema irá se encarregar de atualizar a lista de kernel dentro de /boot/grub/menu.lst (já no ubuntu 10.04 a hitória muda um pouco).
 Caso queiram me ajudar a escrever melhor este artigo sobre recompilação de kernel, fico feliz se puder receber essa contribuição, por que a intenção é realmente escrever o artigo que vai ajudar a todos com qualquer problema que apareça, até mesmo os novatos.
 O próximo artigo que pretendo escrever sobre o mesmo assunto é sobre o drive de DVD que estou tendo um pequeno problema.

 Creative Commons License

Ophcrack

Bom, para o meu primeiro artigo, quero escrever sobre a distribuição OphCrack.



Uma distro live CD que visa quebrar senha do WindowsXp e Vista. Tive um problema na intelig que  resa a seguinte história e motivo para o uso da distro:

 
A intelig foi comprada pela Claro, e a parte administrativa estava frequentemente indo para lá.
 Com a ida de uma fulana da parte administrativa para lá,e como os domínios ainda eram diferentes, ela necessitava a senha de administrador para que pudesse colocar seu notebook no domínio ”Claro”, porém, nós não podíamos fornecer a senha para os analistas da claro por que não tínhamos permissão da presidência inetlig por parte da própria Claro para isso. O engraçadinho do analista da claro quebrou nossa senha, entrou como administrador local e colocou o notebook no domínio (se fosse só isso estava tudo bem, o problema é que ele alterou a senha do usuário local).
 Quando a usuária chegou na intelig nos não conseguimos colocá-la no domínio intelig devido ao fato ocorrido (o mais engraçado, é que ninguém na claro sabia a senha e não foi ninguém que alterou a senha ¬¬). A solução foi partir para o arrebento usando uma distro que fizesse o serviço sujo; aí começa a história:
(A distro executa o programa para realizar a quebra de senha lendo o hash assim que ela inicia a interface gráfica)
Tive a idéia de salvar e  documentar tudo que eu fiz para ser publicado. Peguei meu pendrive e conectei no notebook. O problema foi que a distro não carrega pendrives automaticamente e fui eu tentar montar o pendrive. Mas dentro “/dev”, como saber o que era no meio de um monte de coisa?
Qual a senha do “root”? Vish.
Bom, um administrador em Linux da Intelig meu deu uma boa e uma má ideia. A boa idéia era que, nesses casos, geralmente, para utilizar o root,  digite :
$su – root
Password: root


Maravilha.
Feito isso, vamos montar o pendrive. A idéia que o administrador me deu foi: “tenta um dispositivo de cada vez. Tal como mount -t vfat /dev/sdb1..../dev/sdb2.../dev/sdb3, até morrer”.
 Nossa, fiquei irradiando alegria quando ele disse isso. Grande ideia (¬¬).
Tive uma idea melhor em meio ao problema, utilizar o fdisk com a opção -l (isso é, se caso a dstro tivesse o fdisk, para a minha sorte tinha ):
#fdisk -l

Achei o pendrive.
Geralmente, dispositivos moveis é o ultimo que aparece como mostra a imagem acima a linha:
Device   Boot   Start   End      Blocks   Id     System
    /dev/sdb1          *         51   97997  7835712       C  Win95 FAT32(LBA)

Assim facilitando para identificar e montar o dispositivo:
 

Depois de montado o pendrive, pude salvar todas as telas que printei. Mas por fim olha a senha que apareceu sozinha no notebook aí, já que não foi ninguém que colocou então acredito em fantasma kkkkkkkkkkkkkkkkkkkkkkkkkkkkk:

Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 Unported License.

Siga-nos