Skip to content

Tag Archives: ubuntu

Instalando o flash player 10 beta 2

09-Jul-08

Essa semana foi lançada a nova versão beta do Flash Player 10 que promete acabar com o problema das aplicações transparentes.

Como todo bom nerds curioso, tentei instalar a nova versão no meu computador para dar uma olhada no que ela trazia de bom, mas infelizmente, o instalador que vem junto com o pacote da Adobe não funcionou e eu acabei tendo que fazer a instalação manualmente mesmo… Apesar de não ser nada complicado, vou colocar aqui os passos que tomei para fazer a instalação, pois quem sabe possa ajudar mais alguém que esteja passando pelo mesmo problema. :)

Então vamos começar fazendo o download da versão para linux e descompactando:


$ wget http://download.macromedia.com/pub/labs/flashplayer10/flashplayer10_install_linux_070208.tar.gz
$ tar xvzf flashplayer10_install_linux_070208.tar.gz

Será criado um diretório chamado install_flash_player_10_linux que contém os seguintes arquivos:


$ ls install_flash_player_10_linux
flashplayer-installer  libflashplayer.so

O primeiro deles, flashplayer-installer, é o instalador da Adobe e o segundo, libflashplayer.so, é a biblioteca do flash mesmo. Antes de instalar, vamos fazer um backup da versão atual da biblioteca:


$ sudo cp /usr/lib/flashplugin-nonfree/libflashplayer.so /usr/lib/flashplugin-nonfree/libflashplayer9.so

E então vamos tentar (apesar de não ter funcionado comigo) instalar através do flashplayer-installer, existente no próprio pacote. Se você quiser que a instalação funcione para todos os usuários da máquina, execute:


$ cd install_flash_player_10_linux
$ sudo ./flashplayer-installer

Caso contrário, se você é um cara egoísta e quer que a nova versão funcione só para o seu usuário, faça:


$ cd install_flash_player_10_linux
$ ./flashplayer-installer

Como eu sou o único usuário deste meu computador, tentei instalar o player para todos os usuários da máquina mas como já foi dito, o instalador não funcionou comigo e apresentou o seguinte problema:


$ cd install_flash_player_10_linux
$ sudo ./flashplayer-installer
...
Please enter the installation path of the Mozilla, Netscape,
or Opera browser (i.e., /usr/lib/mozilla): /usr/lib/mozilla

WARNING: Please enter a valid installation path.

Please enter the installation path of the Mozilla, Netscape,
or Opera browser (i.e., /usr/lib/mozilla): /usr/lib/mozilla

WARNING: Please enter a valid installation path.

Please enter the installation path of the Mozilla, Netscape,
or Opera browser (i.e., /usr/lib/mozilla):
...

Não sei porque o instalador não reconheceu o diretório que ele mesmo recomenda, que existe e, principalmente, que é o diretório de instalação do Mozilla. Se esse erro aconteceu com você também, vamos partir para a instalação manual, que é mais simples que os passos anteriores… Para instalar a biblioteca manualmente, execute:


$ cd install_flash_player_10_linux
$ sudo cp libflashplayer.so /usr/lib/flashplugin-nonfree/

E agora você já está com a nova versão do flash player instalada! Para conferir, feche o firefox e então execute:


$ firefox "about:plugins" &

Você vai encontrar:

File name: libflashplayer.so
Shockwave Flash 10.0.0 d525

Mas e sobre o novo player!? Pois é, ele resolveu o problema das transparências porém acabou ficando mais pesado que a versão anterior… Ainda é uma release beta, então provavelmente a versão final estará um pouco melhor!

E você, já instalou a nova versão!? O que achou?

Caçando erros de sintaxe em sistemas PHP

06-Jun-08

Como o PHP não é uma linguagem compilada, grande parte dos bugs de um sistema só são percebidos (e corrigidos) em ambiente de produção. Isso acontece principalmente se você mantém um sistema grande, pois se torna difícil validar todos os arquivos que são enviados para ambiente produção em cada nova release.

Porém, usando o PHP CLI (Command Line Interface) você consegue validar a sintaxe de um sistema inteiro de uma forma simples, fácil e rápida. Se você ainda não tem o PHP CLI instalado, você pode instalá-lo no Ubuntu (ou Debian) da seguinte forma:


$ sudo aptitude install php5-cli

Pronto, agora você tem acesso ao PHP via linha de comando:


$ php -r 'echo "Hello World!";'
Hello World!

Aproveite também dar uma olhada em todas as opções do PHP CLI porque ele tem bastante coisa legal e que podem ser muito úteis em vários casos. Uma dessas opções é o validador de sintaxe, ou seja, a opção -l.

Veja o exemplo de um arquivo sem problemas de sintaxe:


$ nl helloworld.php
     1  <?php
     2  echo 'Hello ';
     3  echo 'World!';
     4  ?>
$ php -l helloworld.php
No syntax errors detected in helloworld.php

E agora o mesmo arquivo com erros de sintaxe


$ nl helloworld.php
     1  <?php
     2  echo 'Hello '   // erro de sintaxe, faltando um ";" aqui
     3  echo 'World!';
     4  ?>
$ php -l helloworld.php

Parse error: syntax error, unexpected T_ECHO, expecting ',' or ';' in helloworld.php on line 3
Errors parsing helloworld.php

Agora você pode usar um pouco de bash junto com essa opção de checagem de sintaxe para validar todo o seu sistema PHP de uma só vez, como mostrado a seguir


$ find /var/www/meu-site -name *.php -exec php5 -l {} ";"

Claro que isso não garante que não hajam erros de lógica no seu sistema, mas encontrar e corrigir todos os erros de sintaxe antes de enviar o código para o cliente já um grande passo. É possível ainda criar um script muito mais elaborado do que o comando mostado acima, mas a idéia desse post era só mostrar o conceito mesmo.

É isso ae, abraços.

Quero instalar linux, como particionar meu HD?

04-May-08

Apesar deste post ser mais voltado para aquelas pessoas que têm vontade de instalar o linux mas nunca o fizeram, eu acredito que ele pode ser de grande utilidade para todo mundo, inclusive para mim (através dos comentários). Aqui eu mostro a forma como geralmente particiono o meu HD e o porquê de cada configuração.

No dia 24 do último mês foi lançada a versão 8.04 do Ubuntu, chamada de Ubuntu Hardy. Nessas épocas, onde geralmente as pessoas (re)instalam suas máquinas, uma pergunta que se torna bastante comum é: Quero instalar o linux, como particionar meu HD?

Para instalar o linux você precisa a princípio de duas partições, uma para o sistema em si e outra que trabalha como memória virtual, chamada de swap. Porém essa estrutura pode ser modificada para garantir maior confiabilidade e organização. O linux permite que você trabalhe com um sistema distribuído em várias partições e dessa forma, você pode instalar o seu sistema utilizando o / em uma partição, o /home em outra, o /var em outra e por ae vai.

No meu computador, sempre (pelo menos nos últimos anos) utilizo quatro partições organizadas como segue abaixo:

Partições

O exemplo acima foi criado em uma máquina virtual contendo 8.6GB de disco e 512MB de RAM.

Antes de falarmos sobre as partições, vamos comentar algumas outras coisas importantes.

  • Em todas as partições eu utilizo sistema de arquivos ext3 ao invés do reiserfs. Apesar de ambos possuírem journaling, apenas o ext3 faz journaling dos dados dos arquivos.
  • Há muito tempo atrás eu criava uma partição extendida para colocar todas as outras partições do linux dentro. Hoje em dia, eu só uso essas 4 partições, por isso não há necessidade para tanto. Hoje eu prefiro colocar minhas 3 partições de dados como primárias e mante-las na MBR, mas se você possui um outro sistema na sua máquina (como o Windows, por exemplo) é legal fazer isso para deixar tudo o que é do linux junto numa mesma partição extendida.

Mas agora chega de bla-bla-bla e vamos ver o porquê das coisas.

Primeira partição: /boot

No linux, o diretório /boot é o local onde ficam armazenados os arquivos do boot loader do sistema operacional, como o kernel por exemplo. Além de tornar o sistema mais organizado, a separação do diretório /boot evita que você fique sem acesso ao sistema operacional por falta de espaço livre no HD.

Como os arquivos do boot loader não são muito pesados, eu costumo usar apenas 100MB para essa partição, que me permite armazenar umas 3 ou 4 versões de kernel. Já vi pessoas usando desde 50MB até mesmo 200MB para essa partição. Podemos tomar esses três valores como aceitáveis, uma vez que isso depende do número de kernels que você pretende manter disponíveis no seu sistema.

Segunda partição: swap

Sobre a memória swap, é muito comum ouvir que o seu tamanho deve ser sempre o dobro da memória RAM… Ok, legal! Mas porque? Na prática, isso não é uma verdade absoluta. O tamanho da swap tem relação direta com a quantidade de memória RAM da sua máquina e o com o workload máximo. Entretanto o linux é desenvolvido para utilizar a maior quantidade possível de memória RAM, fazendo cache da memória livre. Então vamos assumir que utilizar dobro da memória RAM é um valor aceitável, mesmo sendo um pouco acima do acima do necessário na maior parte dos casos.

A partição de swap trabalha como memória virtual para o sistema operacional, tendo uma alta carga de IO. Então colocar a partição de swap no início do disco traz um ganho de performance para da máquina, uma vez que em teste as primeiras sessões do disco são acessadas de forma mais rápida.

Terceira partição: /

Agora temos o / do sistema operacional em si, sem segredos. Talvez os únicos dois pontos a serem comentados aqui é o tamanho e a separação do /home.

Com relação ao tamanho, em geral não precisa ser muito grande. No exemplo acima eu usei 3,5GB que é o espaço que está sendo utilizado atualmente pelo / do meu computador. Eu sempre utilizo 10GB e nunca tive problemas com falta de espaço, mas se você costuma baixar muitos jogos ou algum outro software que seja grande, pode aumentar o espaço dessa partição conforme a sua necessidade.

A separação do /home é comentada abaixo.

Quarta partição: /home

Como todos puderam perceber, eu monto o / e o /home em partições separadas… Mas porque? Primeiro, porque fica mais organizado, simples assim! Segundo porque quando uma nova versão do Ubuntu for lançada, eu não preciso mais (a não ser que eu realmente queira) formatar essa minha partição. Eu posso instalar a nova versão na partição correspondente ao meu / e configurar para que ela utilize o /home que já está particionado (sem formatar), dessa forma logo após a instalação eu terei uma versão nova do linux com todas as minhas configurações pessoais do sistema antigo. Legal né!? :)

Mais opções…
Caso sua máquina vá trabalhar como servidor de banco de dados, é comum criar uma partição /var separada para armazenar os dados do banco. Você ainda pode utilizar sistemas de arquivos diferentes em cada uma das partições (nesse caso é bom conhecer bem as pecualiridades de cada um dos sistemas de arquivos), como por exemplo, no nosso caso do banco de dados, você poderia utilizar reiserfs para melhorar o desempenho. O importante é que cada caso é um caso e a solução que pode ser boa para um, pode não satisfazer outro.

Bom, esse é um post bem básico mostrando como eu particiono o meu computador.
Como você particiona o seu? O que faz de diferente? O que faz de melhor? Conta ae… :)

UPDATE: No comentáros foram adicionadas várias informações interessantes em resposta a outros usuários. Portanto vale a pena conferir a sessão abaixo, que contém informações de como configurar o seu sistema para utilizar sua partição /home antiga por exemplo.

Modulo python para o modem D-Link 500G

11-Mar-08

No meu último post eu falei sobre como acessar via telnet a interface modo texto (aka CLI) do modem D-Link 500G. Para quem gosta de trabalhar no terminal só isso já é uma maravilha, porém essa descoberta tem algumas outras vantagens…

E se nós pudéssemos controlar/manipular o modem através de scripts? Isso sim seria legal… Mas como criar um shell script para interagir com telnet é um tanto quanto chato, eu criei um módulo python para fazer isso. Então seguindo os exemplos do posts passado, vamos ver como fazer a mesma coisa porém dessa vez através do módulo Python:

Imprimir o help

Observe que foram criadas constantes para os valores padrão de configuração do modem, portanto se você usa o aparelho da maneira como ele lhe foi entregue, provavelmente não precisará alterar nada no códgo abaixo.


#!/usr/bin/env python
# -*- coding: utf-8 -*-

from dlink500g import *

try:
    modem = DLink500G(DEFAULT_ADDRESS, DEFAULT_PORT)
    modem.connect(DEFAULT_USERNAME, DEFAULT_PASSWORD)
    print modem.command('help')
    modem.command('quit')
except Exception, ex:
    print 'Error:', str(ex)

Reiniciar o modem


#!/usr/bin/env python
# -*- coding: utf-8 -*-

from dlink500g import *

try:
    modem = DLink500G(DEFAULT_ADDRESS, DEFAULT_PORT)
    modem.connect(DEFAULT_USERNAME, DEFAULT_PASSWORD)
    modem.command('reboot')
except Exception, ex:
    print 'Error:', str(ex)

Código fonte

Abaixo está o conteúdo da primeira versão deste módulo, que provavelmente sofrerá alterações e/ou bugfixes, portanto para se você deseja obter uma versão mais atualizada acesse o código fonte disponível no meu repositório svn do Google Code.

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# This module provides a python interface to D-Link 500G CLI.
#
# written by Arthur Furlan <arthur.furlan@gmail.com>

import re, telnetlib

# default configuration
DEFAULT_ADDRESS  = '10.0.0.1'
DEFAULT_PORT = 23
DEFAULT_USERNAME = 'admin'
DEFAULT_PASSWORD = 'admin'

class DLink500G:
    def __init__(self, address, port):
        self.address = address
        self.port = port
        self.connected = False

    def __del__(self):
        if self.connected:
            self.command('quit')
        self.telnet.close()

    def connect(self, username, password):
        self.telnet = telnetlib.Telnet(self.address, self.port)
        self.telnet.read_until('login: ')
        self.telnet.write("%s\n" % username)
        self.telnet.read_until('password: ')
        self.telnet.write("%s\n" % password)
        response = self.telnet.expect(['\$'], 5)
        if response[0] == -1:
            raise Exception('Login failed.')
        self.connected = True

    def command(self, cmd):
        if not self.connected:
            raise Exception('Not logged in.')
        self.telnet.write("%s\n" % cmd)
        self.connected = not (cmd == 'quit')
        if self.connected:
            response = self.telnet.read_until('$').replace('\r', '').split('\n')
            if re.match('^Error: ', response[1]):
                raise Exception(re.sub('^Error: ', '', response[1]))
            return '\n'.join(response[1:len(response)-1])

Sinta-se a vontade para enviar-me crítricas e/ou sugestões. :)

UPDATE1: Seguindo o “conselho” do Eduardo Willians, alterei a visibilidade dos atributos para público.

UPDATE2: Aproveitei o embalo para criar um projeto no Google Code, cuja a intenção é criar um pacote com módulos para vários dispositivos da D-Link que seguem a mesma linha. Lá você poderá encontrar as versões mais recentes desse módulo.

UPDATE3: Notícia divulgada também no br-linux.org

Acessando seu modem D-Link 500G pelo console

09-Mar-08

Quem tem modems da marca D-Link e modelo 500G já está acostumado a acessar sua interface web sempre que precisa acertar alguma configuração ou mesmo reiniciar o aparelho. Porém o que muita gente não sabe é que o mesmo modem também disponibiliza uma interface em modo texto (aka CLI) respondendo na porta 23, podendo ser acessada tanto pelo Windows como pelo Linux via telnet.

Em geral o modem vem configurado para responder no endereço 10.0.0.1, mas eu alterei a minha máscara de rede aqui em casa e utilizo o endereço 192.168.0.1. Portanto talvez você tenha que alterar os exemplos abaixo para conseguir conectar no seu modem.


$ telnet 192.168.0.1 23
    ...
login: <USUARIO>
password: <SENHA>
Login Successful
$

Caso você não saiba o usuário e senha do seu modem, o padrão é usuário admin e senha admin.
Depois de conectado, você tem acesso ao help que ajuda a enteder um pouco como funciona a aplicação:


$ telnet 192.168.0.1 23
    ...
login: <USUARIO>
password: <SENHA>
Login Successful
$ help
Command        Description
-------        -----------
alias          To Alias a command
apply          Apply configuration/image file
commit         Commit the active config to the flash
create         Create a new entry of specified type
delete         Delete the specified entry
download       Download a file on to the Device
exit           To exit the CLI shell
get            Display info for the search
help           Provides help
list           List files
modify         Modify information for specified entry
passwd         To modify user password
ping           The normal ping command
prompt         Change the user prompt
reboot         Reboot the device
remove         Remove file
reset          Reset info for the specified entry
size           ATM Sizing Information
traceroute     The normal traceroute command
trigger        To set trigger
unalias        To undefine previously defined alias
verbose        Switch ON/OFF the verbose mode

Quer saber como reiniciar o seu modem?


$ telnet 192.168.0.1 23
    ...
login: <USUARIO>
password: <SENHA>
Login Successful
$ reboot

E é isso ae… Agora brinquem com seus modems. :)

UPDATE1: Por fim eu acabei criando um módulo python para facilitar o gerenciamento do modem.

UPDATE2: Para aqueles que são clientes da Telemar, o Israel Pereira Costa disponibilizou nos comentários deste post algumas informações importantes sobre como acessar seu modem.

Firefox 3 e sua nova barra de endereços

19-Feb-08

A última atualização que ocorreu no Ubuntu Hardy instalou e configurou o Firefox 3 Beta 3 como o navegador padrão da distro.

Apesar de ainda ser beta, o Firefox 3.0b3 está bem estável e por enquanto ainda não “bugou” comigo. Porém uma coisa que me incomodou bastante foi a nova barra de endereços dessa versão, que além de ser bastante feia, ocupa muito espaço na tela e ainda traz as informações de maneira menos objetiva…

Firefox 3 - URL Bar

Depois de algum tempo fuçando (sem sucesso) no about:config do Firefox para ver se encontrava uma forma de desabilitar essa funcionalidade, eu decidi apelar para a internet e então encontrei a extensão Oldbar. A Oldbar é uma extensão que faz com que o Firefox 3.0 utilize a barra de endereços do Firefox 2.0 (pois é… parece que eu não fui o único que não gostou dessa nova feature).

Firefox 3 - Old bar

Portanto, se você também não gostou dessa nova versão da barra de endereços, instale aqui a extensão Oldbar e seja feliz novamente. :)

Obs.: Esse final de semana terminou o horário de verão… Você reconfigurou o relógio do seu sistema!? Eu nem esquentei a cabeça. :)

Sincronizando data e hora através de servidores NTP

07-Feb-08

Já pensou em não precisar configurar data e hora do seu computador, nem mesmo nas mudanças de horários de verão!? Pois bem, essa é a função dos servidores NTP, que permitem sincronizar o relógio do seu computador utilizando uma referência aceita mundialmente, conhecida como UTC.

No Ubuntu/Debian, sincronizar o relógio do seu computador através de um servidor NTP é uma tarefa bastante simples.

Primeiro escolha um servidor (de preferênicia o mais próximo da sua casa) na lista da RNP de servidores NTP brasileiros. Como eu moro no Paraná, geralmente utilizo os servidores ntp.pop-pr.rnp.br e ntp1.pucpr.br.

Depois instale o cliente NTP e o tz-brasil, que é quem configura automaticamente seu timezone (e as mudanças do horário de verão) para o Brasil:


$ aptitude install ntpdate tz-brasil

E indique o servidor que deseja utilizar


$ ntpdate ntp.pop-pr.rnp.br

Feito! Agora seu relógio está devidamente configurado e imune as mudanças de horário de verão, certo!? Quase…
E se o servidor estiver configurado com data e hora incorretos?

Eu nunca vi um servidor com o horáro errado, mas como prevenção e canja de galinha não faz mal a ninguém, eu sempre verifico a hora do servidor antes de configurá-lo na minha máquina. Portanto, se quiser apenas verificar a data e hora do servidor, adicione o parametro -q ao comando, como mostrado abaixo:


$ ntpdate -q ntp.pop-pr.rnp.br

Ok… Mas e se depois de configurado, o servidor cair!? Então para aumentar a tolerância a falhas, você pode configurar mais do que um servidor NTP na sua máquina. Para fazer isso, basta indicar todos os servidores que deseja utilizar, como mostrado abaixo:


$ ntpdate ntp.pop-pr.rnp.br ntp1.pucpr.br

E é isso… :)

Corrigindo o encoding do gnome-terminal no Ubuntu Hardy

04-Feb-08

Acabei de instalar o Ubuntu Hardy - Alpha 4 no meu desktop e achei bastante estável para uma versão Alpha. Parabéns para toda a equipe do Ubuntu.

Porém logo após todo o processo de instalação/atualização/configuração eu notei que a codificação do meu terminal estava errada. Quando eu digitava algum caracter especial aparecia um ? no lugar e isso afetava também o vim e todos os outros programas que rodam via console. Eu tentei alterar a codificação pelo menu do gnome-terminal e então notei que meu console estava configurado para usar codificação ANSI_X3.4-1968, alterei para UTF-8 e não obtive sucesso.

Minha primeira tentativa foi reconfigurar o console e alterar sua codificação para Unicode (UTF-8).


$ dpkg-reconfigure console-setup

Reiniciei a sessão e mais uma vez, sem sucesso! Chequei os locales configurados e encontrei a seguinte configuração:


$ locale
LANG=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=C

Agora sim, encontrei o problema! Vamos configurar os locales então.
Como eu uso o Ubuntu em inglês configurei meu locale para ser en_US.UTF-8


$ sudo echo 'LC_ALL="en_US.UTF-8"' >> /etc/environment

Mas se você utiliza o Ubuntu em Português (Brasil), mude seu locale para pt_BR.UTf-8


$ sudo echo 'LC_ALL="pt_BR.UTF-8"' >> /etc/environment

E reinicie a sua sessão para que as alterações tenham efeito:


$ sudo /etc/init.d/gdm restart

Pronto! Agora o seu console irá aceitar todos os caracteres como deveria.

Esse bug foi reportado no Lauchpad ainda na versão Alpha 3 do Ubuntu Hardy, mas não havia nenhuma sugestão de como solucionar o problema. Sendo assim, adicionei essa informação lá. :)

UPDATE: Bug corrigido na versão Alpha 5.

Meus 10 comandos mais rodados no Linux

17-Jan-08

Eu sei que esse meme já é meio antigo, mas é legal saber os comandos que você mais usa


afurlan@einstein:~$ history | awk '{print $2}' | awk 'BEGIN {FS="|"} {print $1}' | sort | uniq -c | sort -rn | head -10
    130 l
     72 vim
     46 cd
     34 rm
     28 ll
     20 fg
     15 mv
     14 for
      9 find
      7 du

Instalação segura do MySQL Server

09-Jan-08

A instalação default do MySQL no linux (debian-based) configura a conta do root no banco de dados para ser acessada sem precisar de senha, dessa forma qualquer usuário conectado no servidor consegue obter uma shell do MySQL através do comando:


$ mysql -u root

Não é difícil perceber o quanto essa configuração é ruim e devido à isto, antigamente eu alterava a senha do root via SQL mesmo, como segue abaixo:


$ mysql -u root
mysql> set password for root@localhost = password('NOVA-SENHA');
Query OK, 0 rows affected (0.00 sec)

E isso realmente funciona, pois força que o usuário root tenha que passar a senha NOVA-SENHA para se logar, mas descobri há pouco tempo atrás um comando mais apropriado para isso e que além de definir a senha altera várias outras configurações de segurança:

* Obs1: Eu removi a maioria dos comentários exibidos durante a execução, mas a cada passo são exibidos textos explicando os efeitos das alterações sugeridas pelo utilitário.

* Obs2: Eu já havia executado esse comando antes (quando instalei o meu servidor) portanto a execução exibida abaixo pode
ser um pouco diferente da sua, caso esta seja a primeira vez que você está executando o comando.


# mysql_secure_installation
Enter current password for root (enter for none):
OK, successfully used password, moving on...

You already have a root password set, so you can safely answer 'n'.
Change the root password? [Y/n] n
 ... skipping.

Remove anonymous users? [Y/n] Y
 ... Success!

Disallow root login remotely? [Y/n] Y
 ... Success!

Remove test database and access to it? [Y/n] Y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reload privilege tables now? [Y/n] Y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!

E como o próprio utilitário diz: Sua instalação do MySQL agora deve estar segura