sexta-feira, 28 de março de 2014

Corrigindo problemas de disco com Fsck

O Fsck é um utilitário que existe no Linux para corrigir erros lógicos, daqueles típicos que ocorrem quando o computador é desligado abruptamente, como numa queda de energia.

O Fsck consegue identificar o sistema de arquivos e chama o aplicativo correspondente para verificar o disco. Por exemplo, em um sistema de arquivos Ext3, o Fsck vai chamar o comando fsck.ext3. Na minha máquina, por exemplo, tem os seguintes programas:

  • fsck
  • fsck.cramfs
  • fsck.ext3
  • fsck.ext4dev
  • fsck.msdos
  • fsck.vfat
  • fsck.btrfs
  • fsck.ext2
  • fsck.ext4
  • fsck.minix
  • fsck.nfs      

No nosso exemplo, vamos corrigir o disco /dev/sda5. Antes é necessário desmontá-lo com o comando abaixo.

# umount /dev/sda5

Agora vamos executar o fsck com o comando abaixo.
# fsck -y -v /dev/sda5
fsck from util-linux 2.20.1
e2fsck 1.42.5 (29-Jul-2012)
/dev/sda5: clean, 49033/24428544 files, 22543897/48853888 blocks

A opção -y assume "sim" para todas as perguntas que o Fsck fará, e é usada para reparação automática. -v é usado para mostrar mais detalhes. No nosso caso o sistema não contém erros.

Se você quiser forçar a execução do Fsck, então use a opção -f.

# fsck -pvf /dev/sda5  fsck from util-linux 2.20.1
       49033 inodes used (0.20%, out of 24428544)
         7010 non-contiguous files (14.3%)
           46 non-contiguous directories (0.1%)
              # of inodes with ind/dind/tind blocks: 7103/2437/0
     22543897 blocks used (46.15%, out of 48853888)
            0 bad blocks
            2 large files

       48923 regular files
          101 directories
            0 character device files
            0 block device files
            0 fifos
            0 links
            0 symbolic links (0 fast symbolic links)
            0 sockets
------------
        49024 files

Mas como checar o sistema raiz (/)? Você pode usar o comando Shutdown com o opção -F.

# shutdown -F

Dessa forma o Fsck testará todos os drives quando fizer o boot.


quinta-feira, 27 de março de 2014

Por que usar Linux?

Linux é melhor que Windows?

Essa pergunta simplista costuma ser respondida também de forma simplista. Os xiitas apaixonados pelo pinguim respondem usando argumentos como segurança, liberdade e estabilidade. Já os fan boys do Windows argumentam que o Linux é difícil de usar e não tem jogos. Mas todos se esquecem de perguntar: melhor para quem? Para saber qual é o melhor sistema operacional é necessário avaliar onde ele será usado, para qual finalidade, e por quem. Neste artigo eu pretendo mostrar alguns pontos que devem ser levados em conta quando entramos nessa questão.

Primeiramente temos que conhecer os tipos de licenciamentos existentes. Pode ser que você nem ligue para a licença, mas lembre-se de que estamos analisando os softwares em um nível mais global. Há vários tipos de licenças de software. As principais são apresentadas abaixo.

Proprietária : É a mais comum. Você tem o direito de usar o software mediante o pagamento de uma taxa, mas não pode modificá-lo, e nem redistribuí-lo. Um exemplo desse tipo de programa é o Windows.

Shareware : Usada quando se quer demonstrar um software proprietário. Possui limitações quanto a versão proprietária, ou pode funcionar apenas por algum tempo. A cópia é permitida, mas não a modificação do programa. Jogos promocionais são os melhores exemplos de shareware.

Grátis : Usadas em programas que são distribuídos livremente. Você tem permissão de instalar em quantos equipamentos quiser, e pode ser distribuído livremente. Mas você não tem permissão para modificá-lo. A maioria dos programa shareware também são grátis, mas um software grátis não possue as limitações que o shareware possuem. O Avast (versão doméstica) e o Adobe Reader são exemplos de programas grátis.

Código aberto (open source) : Um programa de código aberto contém as mesmas restrições de um programa proprietário, mas seu código fonte está disponível para consulta. Apesar de ter acesso ao seu código, a alteração não é permitida. O programa de votação eletrônica é de código aberto. Algumas universidades possuem contrato com as empresas de software para poderem analisar o código fonte de alguns programas com o objetivo de estudo.

Livre (Free) : Free aqui não quer dizer grátis, embora quase todos os softwares livres são também grátis. Todo software livre é também de código aberto, mas nem todo software de código aberto é livre. A diferença é que um software livre pode ser alterado livremente por qualquer um e pode ser redistribuído, desde que as alterações realizadas também sejam livres. O Linux é o melhor exemplo de software livre.

Bsd : A licença Bsd é mais liberal do que a Livre, pois permite que as alterações feitas no software posssam ser proprietárias. O FreeBSD é um exemplo de software Bsd.

Agora que sabemos as diferenças entre as licenças, vamos analisar o Linux para diversos públicos. 


Linux para usuários domésticos

Para o usuário doméstico, que usa o computador para navegar na Internet, trocar e-mail e mensagens instantâneas, fazer documentos, apresentações e planilhas, o Linux atende perfeitamente. O custo é zero, a incidência de vírus é praticamente zero, a estabilidade é total. Uma desvantagem que eu vejo para o usuário doméstico é o efeito "novo". O "novo" assusta. O efeito de sair procurando as coisas é horrível para o usuário comum. Realmente o Linux é um outro universo, embora seja tão amigável quanto o Windows. Mas veja por um outro lado: o Windows 8 também é um outro universo. Quem está acostumado com o Windows XP/Vista vai se sentir perdido no Windows 8. A curva de apredizagem é a mesma para o Windows 8 e o para o Linux. Outro ponto negativo talvez seja a instalação de hardware. Mas um usuário não técnico vai acabar chamando um técnico para instalar seu hardware de qualquer forma, seja em Windows ou Linux. Então isso não chega a aser um problema.


Gamers

O principal argumento dos defensores do Windows é a questão dos jogos. Há mais jogos para Windows do que para Linux. E isso é verdade, embora esse cenário esteja mudando com a entrada da Valve no mundo Linux e com a sua plataforma de código aberto para jogos. Mas ainda é pouco. Mas veja por outro lado. Se você quer um computador para jogos, então compre um Playstation, ou um Xbox. São melhores e mais baratos, né?


Profissionais de TI

Aqui não tem discusão. Se você é um profissionai de TI você só tem a ganhar com o Linux, principalmente por dois motivos. Primeiro: se você sabe programar, então o Linux te disponibiliza uma infinidade de linhas de código nas mais diversas linguagens, como C, C++, Perl, Php, Python, etc, além das documentações. Segundo: o fato de poder instalar, desinstalar, reinstalar e manter várias versões do mesmo software sem precisar se preocupar com licenças, vigências e número de instalações já é uma enorme vantagem. Poder testar, mudar configurações e avaliar os programas é essencial no aprendizado da ferramenta. No mundo Windows é comum ter que instalar software shareware que expira em alguns dias, ou ter que ficar aguardando novas licenças do fornecedor. E é frustante saber que a versão shareware não tem habilitada justamente a função que você quer testar. Isso não ocorre no Linux.


Empresas

Avaliar se o Linux é melhor para empresas é um pouco complicado. A economia com licenças é uma enorme vantagem. Uma empresa com 100 desktop tem que desembolsar cerca de R$ 150.000,00 só com licenças de Windows e Office, isso a cada 2 ou 3 anos. Se contarmos com os programas para servidor esse valor é ainda maior. Porém o maior problema é na implantação do Linux. Há muito software específico e legado que só roda em Windows. Por exemplo, em uma empresa que trabalhei a Intranet só funcionava no Internet Explorer. Foi necessário fazer alterações no site para que ela funcionasse no Firefox, e só depois pensar em migrar para Linux. Portanto, uma migração para Linux deve se rmuito bem planejada, feita em etapas, sem pressa. Comece com serviços em servidores menos críticos, DHCP, DNS, FTP, servidores de arquivo. Mas mesmo com todo esse trabalho, após a migração, a empresa ficará livre de fornecedores, livre de gastos com licenças, livre das amarras que as empresas de software fechado impõem. Mas não se iluda: sempre vai ficar um legado, um desktop que precisa do Windows, um servidor que roda uma aplicação crítica proprietária, etc.

Outro ponto e o treinamento. É necessário treinar o funcionário no novo sistema. Mas, como já falei, se sua empresa pretende migrar para o Windows 8, então é certo que você vai precisar dar treinamento também.

Agora, se a empresa tem parcerias fortes com fornecedores de software proprietário, se o negócio está muito amarrado com seus parceiros, se a empresa presta suporte em TI e seus clientes fazem questão de usar programa fechados (seja lá por qual motivo) então o Linux pode não ser um bom negócio. Se o seu negócio está focado na VENDA de software, e não no SERVIÇO de suporte, então Linux não é para você. 


Governos

Depois do caso Edward Snowden os governos passaram a olhar os programas abertos e livres mais de perto. Como saber se aquela atualização do programa não contém uma backdoor? Como saber se o sistema operacional não está gravando minha tela e enviando para a CIA? Somente com software livre é possível analisar o código fonte e ter a certeza de que tudo está no lugar. 

Outra vantagem para os governos é o fim da evasão de divisas. As verbas com licenças não são enviadas para o exterior; antes são investidas em empresas nacionais, geram renda e trabalho em seu próprio país, e isso gera a independência tecnológica.


Conclusão

Quando me perguntam se Linux é melhor que Windows eu respondo com duas outras perguntas: melhor em que? melhor prá quem?

Se você não está com paciência prá aprender algo novo, ou está sem tempo, ou não quer comprar um console de jogos, então continue com o sistema operacional atual. Prá você o Windows é melhor. Mas antes de sair falando que o Windows é melhor, pense: "melhor prá quem? melhor em quê?". A filosofia da troca de conhecimento, prá mim, não tem preço. Prá mim, o Linux é muito melhor. Prá mim!






















terça-feira, 25 de março de 2014

9 formas de usar o Linux para consertar o Windows


No video abaixo há um tutorial mostrando 9 formas de arrumar o Windows usando o Linux. A distribuição usada é a Ubuntu.




segunda-feira, 24 de março de 2014

Perdeu a senha do administrador do Windows? Isso é simples de resolver com chntpw

Não são raras as vezes em que algum usuário do Windows me liga perguntando como descobrir a senha do administrador. Nesse artigo eu mostro passo-a-passo como recuperar a senha do Windows usando um Linux live cd.

Primeiramente ligue o equipamento com o live cd no drive. Pode ser qualquer distribuição Linux. Neste exemplo eu uso uma distro baseada em Debian. Abra um terminal texto como root e digite:

# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders, total 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x358af8eb

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      206847      102400    7  HPFS/NTFS/exFAT
/dev/sda2          206848    41940991    20867072    7  HPFS/NTFS/exFAT

Reparem que, neste caso, a partição Windows é a /dev/sda2. Precisamos montá-la com permissões de escrita.

# mkdir /mnt/sda2
# ntfs-3g /dev/sda2 /mnt/sda2

Partição montada, agora precisamos encontrar o arquivo SAM.

# find /mnt/sda2/ -name SAM
/mnt/sda2/Windows/System32/config/RegBack/SAM
/mnt/sda2/Windows/System32/config/SAM

Entre as duas pastas fica claro que a primeira é um backup. Vamos entrar na segunda pasta.

# cd /mnt/sda2/Windows/System32/config

Agora vamos instalar o programa chntpw

# apt-get install chntpw

Após a instalação, digite:

# chntpw -l SAM
chntpw version 0.99.6 080526 (sixtyfour), (c) Petter N Hagen
Hive name (from header): <\SystemRoot\System32\Config\SAM>
ROOT KEY at offset: 0x001020 * Subkey indexing type is: 666c
Page at 0x7000 is not 'hbin', assuming file contains garbage at end
File size 262144 [40000] bytes, containing 6 pages (+ 1 headerpage)
Used for data: 247/20128 blocks/bytes, unused: 18/4256 blocks/bytes.


* SAM policy limits:
Failed logins before lockout is: 0
Minimum password length        : 0
Password history count         : 0
| RID -|---------- Username ------------| Admin? |- Lock? --|
| 01f4 | Administrador                  | ADMIN  | dis/lock |
| 01f5 | Convidado                      |        | dis/lock |
| 03e8 | ricardo                        | ADMIN  |          |

Podemos ver que temos trê usuários, sendo que dois estão bloqueados, inclusive o Administrador. Primeiramente vamos trocar a senha do usuário "ricardo".

# chntpw -l SAM -u ricardo
chntpw version 0.99.6 080526 (sixtyfour), (c) Petter N Hagen
Hive name (from header): <\SystemRoot\System32\Config\SAM>
ROOT KEY at offset: 0x001020 * Subkey indexing type is: 666c
Page at 0x7000 is not 'hbin', assuming file contains garbage at end
File size 262144 [40000] bytes, containing 6 pages (+ 1 headerpage)
Used for data: 247/20128 blocks/bytes, unused: 18/4256 blocks/bytes.


* SAM policy limits:
Failed logins before lockout is: 0
Minimum password length        : 0
Password history count         : 0
| RID -|---------- Username ------------| Admin? |- Lock? --|
| 01f4 | Administrador                  | ADMIN  | dis/lock |
| 01f5 | Convidado                      |        | dis/lock |
| 03e8 | ricardo                        | ADMIN  |          |


---------------------> SYSKEY CHECK <----------------------- p="">SYSTEM   SecureBoot            : -1 -> Not Set (not installed, good!)
SAM      Account\F             : 0 -> off
SECURITY PolSecretEncryptionKey: -1 -> Not Set (OK if this is NT4)
Syskey not installed!

RID     : 1000 [03e8]
Username: ricardo
fullname:
comment :
homedir :

User is member of 1 groups:
00000220 = Administradores (which has 2 members)

Account bits: 0x0214 =
[ ] Disabled        | [ ] Homedir req.    | [X] Passwd not req. |
[ ] Temp. duplicate | [X] Normal account  | [ ] NMS account     |
[ ] Domain trust ac | [ ] Wks trust act.  | [ ] Srv trust act   |
[X] Pwd don't expir | [ ] Auto lockout    | [ ] (unknown 0x08)  |
[ ] (unknown 0x10)  | [ ] (unknown 0x20)  | [ ] (unknown 0x40)  |

Failed login count: 0, while max tries is: 0
Total  login count: 8

- - - - User Edit Menu:
 1 - Clear (blank) user password
 2 - Edit (set new) user password (careful with this on XP or Vista)
 3 - Promote user (make user an administrator)
(4 - Unlock and enable user account) [seems unlocked already]
 q - Quit editing user, back to user select
Select: [q] 

Digite a opção "1" para deixar o usuário sem senha.

Hives that have changed:
 #  Name
 0  
Write hive files? (y/n) [n] :

Digite "y" para salvar o arquivo SAM

 0   - OK

Agora vamos habilitar o usuário administrador

# chntpw -l SAM -u Administrador

- - - - User Edit Menu:
 1 - Clear (blank) user password
 2 - Edit (set new) user password (careful with this on XP or Vista)
 3 - Promote user (make user an administrator)
 4 - Unlock and enable user account [probably locked now]
 q - Quit editing user, back to user select
Select: [q] 

Digite "4".

Unlocked!

Hives that have changed:
 #  Name
 0  
Write hive files? (y/n) [n] : 

Digite "y" para salvar.

 0   - OK

Podemos também promover o usuário "ricardo" para ser administrador do Windows.

# chntpw -l SAM -u ricardo

- - - - User Edit Menu:
 1 - Clear (blank) user password
 2 - Edit (set new) user password (careful with this on XP or Vista)
 3 - Promote user (make user an administrator)
(4 - Unlock and enable user account) [seems unlocked already]
 q - Quit editing user, back to user select
Select: [q] 

Digite "3".

NOTE: This function is still experimental, and in some cases it
      may result in stangeness when editing user/group in windows.
      Also, users (like Guest often is) may still be prevented
      from login via security/group policies which is not changed.
Do you still want to promote the user? (y/n) [n]

Digite "y".

User is member of 1 groups.
User was member of groups: 00000220 =Administrators,
Deleting user memberships
Adding into only administrators:
Promotion DONE!

Hives that have changed:
 #  Name
 0  
Write hive files? (y/n) [n] :

Digite "y" para salvar o arquivo.

 0   - OK

Vamos verificar se o usuário "ricardo" virou administrador do sistema.

# chntpw -l SAM
| RID -|---------- Username ------------| Admin? |- Lock? --|
| 01f4 | Administrador                  | ADMIN  |          |
| 01f5 | Convidado                      |        | dis/lock |
| 03e8 | ricardo                        | ADMIN  |          |


Agora é só reiniciar o equipamento e testar o login no Windows.


quinta-feira, 13 de março de 2014

Apagando um arquivo bem apagado

Se você não sabe, quando um arquivo é apagado ele não é realmente apagado do disco. Mesmo que teu sistema tenha uma lixeira e você a esvazia, o arquivo ainda continua lá em algum lugar do disco. O espaço que ele utilizava ainda contém seus dados. O disco só vai relamente apagar o arquivo quando ele precisar de espaço e sobreescrever o arquivo. Isso pode levar dias, ou mesmo semanas, dependendo do quando você usa o computador. Mesmo que você formate o disco e reinstale o sistema ainda será possível recuperar alguns. Se você pretende vender teu computador, pense bem nisso.

Um utilitário muito útil para apagar um arquivo bem apagado de forma que não seja possível recuperá-lo é o Wipe. Para instalá-lo, digite:

# apt-get install wipe

Seu uso é bem simples.

$ wipe arquivo.txt 
Okay to WIPE 1 regular file ? (Yes/No) Yes

Se tiver certeza disso, digite YES e tecle ENTER.

Operation finished.                                                        
1 file wiped and 0 special files ignored in 0 directories, 0 symlinks removed but not followed, 0 errors occured.

Ao final um relatório é exibido. Repare que a exclusão é um pouco mais demorada. É que o Wipe reescreve o arquivo várias vezes antes de realmente apagá-lo. Isso dificulta uma possível recuparação e, mesmo que se consiga recuperá-lo, ele estará todo embaralhado. Para efeito de teste, coloquei duas pastas com os mesmos arquivos e calculei o tempo que leva para apagá-las usando o "rm" e o "wipe".

$ du -sh site*
372K site2
372K sites

Reparem que ambas possuem o mesmo tamanho.

$ cd sites
$ time rm *

real 0m0.002s
user 0m0.000s
sys 0m0.000s

Com rm levou cerca de 2 milisegundos. Agora com wipe.

$ cd ../site2
$ time wipe *
Okay to WIPE 56 regular files ? (Yes/No) yes
Operation finished.                                                        
56 files wiped and 0 special files ignored in 0 directories, 0 symlinks removed but not followed, 0 errors occured.

real 6m32.526s
user 0m0.056s
sys 0m0.276s

Seis minutos e meio! Mas agora os arquivos estão realmente apagados. Mas use o wipe com cuidado! Não vá falar que eu não avisei!

quarta-feira, 12 de março de 2014

Uma breve história do Linux

Para entendermos toda a filosofia do softwre livre e do Linux precisamos conhecer como era a informática no princípio e o que levou o Linux a aparecer. Quer queira, quer não, a história do Linux está ligada à Microsoft.


Antes mesmo da Microsoft e da Apple existirem, as empresas de informática (IBM, Xerox, GE, etc) forneciam hardware para as empresas. O software era imbutido no equipamento. Os aplicativos eram criados pelas empresas cliente, ou mesmo pela empresa fornecedora através de um contrato de prestação de serviço. Era comum os programas serem entregues com seus códigos fonte escritos em Cobol ou Frontran. Era comum a empresa cliente ter programadores que alteravam o código do programa para que este se adequasse à empresa.

Enquanto isso um grupo de entusiastas liderados por Dennis Ritchie e Ken Thompson lutavam para escrever um sistema operacional que fosse mais portável, ou seja, que rodasse em mais equipamentos, e que não dependesse do fabricante do hardware: o Unix. O Unix era aberto, ou seja, vários programadores ao redor do mundo podiam alterá-lo. E essas alterações eram repassadas para os demais programadores. Por ser estável, escalável e multiplataforma, as grandes empresas passaram a utilizar o Unix como base para seus sistemas. Assim, a IBM criou o AIX, a Sun criou o Solaris, a HP o Hpux, e outros mais. Cada sistema focado no hardware de suas empresas. 


Com o surgimento da microcomputação no início da década de 1970, as grandes empresas não deram muita importância para os computadores pessoais. Elas não viam motivos para pessoas comuns comprarem um computador, visto que manter um sistema era caro, pois era necessário contratar programadores. É aí que entram dois visionários: Steve Jobs e Bill Gates.


Jobs e Gates vislumbraram um mundo onde cada cidadão teria um computador pessoal. A questão era como desenvolver sistemas para esse público não especializado A idéia foi criar programas generalistas, amigáveis, baratos, e que cumpririam a maior parte das necessidades das pessoas, e vender o direito de uso dos programas. Não haveria necessidade de customizações. O programa não pertencia ao cliente. Este tinha apenas o direito de uso. As mudanças sugeridas pelas pessoas poderiam ser incluídas na próxima versão do software, que novamente deveria ser comprado. Dessa forma era possível ganhar dinheiro desenvolvendo software barato, mas para um público maior. Nasciam as gigantes Microsoft, de Bill Gtes, e Apple, de Steve Jobs.

Em 1983, Richard Stallman lança o projeto GNU com o objetivo de criar um sistema operacional livre. Ele definiu que um software, para ser livre, precisava cumprir 4 requisitos:

  • Possiblidade de rodar em qualquer equipamernto, para qualquer fim;
  • Possibilidade de modificar o programa para atender a qualquer objetivo;
  • Possiblidade de copiar e distribuir o programas livremente;
  • As modificações feitas em um software livre também deveriam ser livre.




Com isso, Stallman queria garantir que o conhecimento fosse compartilhado, e que as pessoas não ficassem dependentes das grandes empresas de TI para conseguir o software que atendesse às suas necessidades. Em 1985 Stallman cria a Free Software Fundation, FSF. Em 1989, Richard Stallman escreve a primeira versão da GNU General Public License.

Em 1990, um estudante de informática finlandês chamado Linus Benedict Torvalds adquiriu um computador IBM PC 386 para poder estudar o Unix. O computador veio com o Microsoft Windows instalado. Torvalds, que não queria o sistema da Microsoft, exigiu um desconto na compra do equipamento, o que lhe foi negado. Revoltado, por assim dizer, Torvalds resolveu escrever um sistema operacional semelhante ao Unix que funcionasse no seu computador. Em 1991 ele postou em um site o primeiro código e convidou os membros a contribuirem com o desenvolvimento. Nascia o Linux.

Em 1992, seguindo a recomendação de Richard Stallman, Linux Torvalds licencia o Linux sob os termos da GNU GPL. Por isso, o nome correto do Linux passou a ser GNU/Linux.

Assim, vários grupos ao redor do mundo começaram a contribuir com o Linux. Ainda em 1992 as primeiras distribuições surgiram. Distribuição, ou distro, é um conjunto de software que acompanha o Linux, e que podem ser fornecidos em uma midia, como o CD. No ano seguinte surge a distribuição Slackware, a mais antiga ainda em atividade, e depois a Debian, que hoje possui a maior comunidade de usuários.



Em 1994, Torvalds lança a versão 1.0 do Linux. Como "versão do Linux" queremos dizer a versão do "kernel", ou seja, a versão do núcleo do sistema operacional. Assim, hoje (2014) a distribuição Debian mais nova é a 7.0, que vem com o kernel 3.2. No ano do kernel 1.0 surgiram também as distribuições Red Hat e Suse.

Em 1996 surge o kernel 2.0. A principal mudança foi o suporte a múltiplos processadores. Nesse momento, as grandes empresas começam a considerar o uso e o apoio ao Linux. A interface gráfica, ainda pobre, começa a ganhar recursos interessantes com o projeto KDE. Diferentemente de outros sistemas, como Windows e OSX, o Linux possue várias interfaces gráficas para os mais variados gostos e necessidades. 

Em 1997 surge a primeira grande distribuição brasileira, a Conectiva, versão Perolin. O projeto Gnome tem inicio em 1999 com a meta de criar uma interface gráfica tão boa quando a KDE, porém mais leve. Várias distribuições adotam o Gnome como interface padrão, entre elas a Red Hat.

Em 2003 nasce a distribuição brasileira de maior sucesso até então: o Kurumin. Seu criador, Carlos Morimoto, personalizou uma distribuição chamada Knopix, traduziu a interface para o português brasileiro, e adicionou um painel que ficou conhecido como Ícones Mágicos, que permitia instalar vários programas complicados com apenas um click. Várias distribuições passaram a utilizar ferramentas parecidas. Outra característica do Kurumin era o fato de ser Live-cd, ou seja, rodava pelo cd, sem necessidade de instalação. Com isso era possível usar o Linux sem medo de perder os arquivos. Todas essas características ajudaram na divulgação do Linux.


Em 2004, a Canonical lança do Ubuntu. Sua estratégia de enviar gratuitamente seus cd para qualquer parte do mundo (numa época em que ninguém tinha banda larga) é uma revolução e faz com que o Ubuntu, em poucos anos, passe a ser a distribuição mais usada em desktop, o que fez com a Dell  passasse a vender laptos com o Ubuntu pré-instalado em 2007. No mesmo ano, a Google anuncia o Android, sistema operacional baseado no Linux voltado para dispositivos móveis, como tablet e smartphone.

Hoje em dia o Linux está em todos os setores, como smartphones, desktop, servidores, supercomputadores, robôs, eletrodomésticos e relógios de pulso. Ele já é o sistema operacional mais usado no mundo, só perdendo para o Windows nos desktop, mas seu uso vem crescendo a cada ano.

Quando digo que trabalho com Linux, as pessoas pensam mais ou menos como na imagem abaixo.







E qual a melhor distribuição Linux? Isso depende de quem vai usá-la e para qual finalidade. Para saber qual a melhor distro prá você é só seguir o fluxograma abaixo (clique na imagem para ver melhor)


sexta-feira, 7 de março de 2014

Analisando o uso da memória ram com o Free

Um dos motivos para a lentidão de um computador é o elevado uso de memória ram, o que faz com que o sistema operacional use memória virtual (swap). A memória virtual é, na verdade, um arquivo em disco. Como o disco é, em média, mil vezes mais lento do que a memória ram, quanto mais memória virtual for usada mais lento o micro fica.

Um dos comandos mais usado em ambiente Linux para verificar o uso da memória ram é o free.

$ free
             total       used       free     shared    buffers     cached
Mem:       8226632    7763568     463064          0     265932    4523028
-/+ buffers/cache:    2974608    5252024
Swap:            0          0          0

Você pode usar as opções -k (para mostrar os dados em kbytes), -m (megabytes), -g (gigabytes) ou -h (para mostrar os valores na forma "humana"). 

$ free -h
             total       used       free     shared    buffers     cached
Mem:          7,8G       7,4G       434M         0B       259M       4,3G
-/+ buffers/cache:       2,8G       5,0G

Swap:           0B         0B         0B

Reparem que eu tenho somente 434 Mb disponível. Mas 4,3 Gb estão sendo usados para cache, e 259 Mb para buffer. Essas memórias podem ser liberadas caso o sistema precise. Portanto, na prática eu ainda tenho 434 Mb + 259 Mb + 4,3 Gb de memória rma livre, ou seja, 5,1 Gb. Reparem que meu sistema nem tem memória swap configurada.

Você pode ir analisando o uso da memória a medida que uma aplicação abre. No exemplo abaixo, o parâmetros "-s 5" faz com que o free rode a cada segundo, enquanto que o "-c 5" faz o free parar depois de 5 amostras.

$ free -s 5 -c 5 -m
             total       used       free     shared    buffers     cached
Mem:          8033       7602        430          0        260       4433
-/+ buffers/cache:       2909       5124
Swap:            0          0          0

             total       used       free     shared    buffers     cached
Mem:          8033       7607        426          0        260       4436
-/+ buffers/cache:       2910       5123
Swap:            0          0          0

             total       used       free     shared    buffers     cached
Mem:          8033       7624        409          0        260       4453
-/+ buffers/cache:       2910       5122
Swap:            0          0          0

             total       used       free     shared    buffers     cached
Mem:          8033       7614        419          0        260       4443
-/+ buffers/cache:       2911       5122
Swap:            0          0          0

             total       used       free     shared    buffers     cached
Mem:          8033       7612        421          0        260       4441
-/+ buffers/cache:       2911       5122

Swap:            0          0          0