Como obter uma lista de palavras a partir de um dicionário Aspell

Há algum tempo eu estava precisando de uma grande lista de palavras em português (do Brasil) para fazer um teste sobre encoding e collations no PostgreSQL. A solução que eu encontrei foi fazer um dump de um dicionário pt_BR do Aspell.

Para extrair um dump no formato de uma palavra por linha, utilize o seguinte comando:

aspell -l pt_BR dump master | aspell -l pt_BR expand | tr ' ' '\n' > palavras.txt

O comando acima extrairá todas as palavras (inclusive as variações) do dicionário pt_BR do Aspell e salvará a lista no arquivo “palavras.txt”.

A partir desse arquivo você pode carregar as palavras (na versão do Aspell que estou usando – a versão 0.60.6.1 – a lista contém 9.533.294 palavras) para bancos de dados ou planilhas.

Por que o VI tem sintaxe colorida como usuário normal e como usuário root não?

OK, é uma dica bem básica mas que deixa muitos iniciantes quebrando a cabeça…

Você abre o Vi como usuário normal e o texto é exibido colorido, de acordo com a sintaxe do arquivo (SQL, C, etc.); mas quando você abre o mesmo arquivo como usuário root, o texto é exibido sem cor nenhuma. Por que isso ocorre?

Na maioria das vezes seu sistema tem 2 versões do Vi instalado: a versão original, básica, o Vi, e a versão melhorada, o Vim (Vi IMproved).

Geralmente o usuário root utiliza a versão Vi (que fica em /bin/vi) e o usuário normal utiliza a versão Vim (que fica em /usr/bin/vim).

Para ter certeza disso, execute o seguinte comando “which vi” como usuário normal e como usuário root:

[root@dbserver ~]# which vi
/bin/vi

[abrantesasf@dbserver ~]$ which vi
alias vi='vim'
 /usr/bin/vim

Como você pode ver, o usuário root utiliza o Vi (em /bin/vi) e o usuário normal utiliza o Vim (em /usr/bin/vim) através de um alias. Para fazer o usuário root usar o Vim, basta criar um alias editando o arquivo .bashrc no diretório home do usuário root e acrescentar a seguinte linha:

alias vi='/usr/bin/vim'

Agora o usuário root também usará o Vim e terá a sintaxe colorida nos arquivos.

Instalar Tcl no CentOS 7

Apesar de pouco freqüente, de vez em quando eu utilizo a Tcl para criar e rodar alguns scripts de linha de comando em servidores linux e também, de vez em quando, escrevo algumas funções para o PostgreSQL utilizando a linguagem procedural PL/Tcl.

A versão da Tcl que vem por padrão no CentOS 7.1 é a Tcl 8.5.13. Sou adepto de sempre usar os pacotes disponíveis nas distribuições linux, não instalando nada por conta própria, mas a Tcl (e o PostgreSQL) são exceções: eu sempre baixo os fontes e compilo as versões mais novas.

Assim, para instalar a última versão disponível da Tcl, a 8.6.4, faça o seguinte:

  1. No site da Tcl/Tk (http://www.tcl.tk) baixe o fonte da última versão (hoje em dia é a 8.6.4, procure pelo arquivo “tcl8.6.4-src.tar.gz”), e salve no diretório /usr/local/src.
  2. Descompacte o códio fonte e vá para o diretório /usr/local/src/tcl8.6.4/unix.
  3. Execute o seguinte comando configure:
    ./configure --prefix=/usr/local/lib/tcl8.6.4 --enable-threads --enable-64bit
  4. Se o comando configure não retornar nenhum erro, execute o comando make.
  5. Se o comando make não retornar nenhum erro, execute o comando make test. Se os testes de compilação foram concluídos com sucesso, você verá a seguinte mensagem:
    Tests ended at Wed Sep 23 22:28:32 BRT 2015
    all.tcl: Total 116     Passed 116     Skipped 0     Failed 0
  6. Agora execute o make install. A Tcl será instalada no diretório /usr/local/lib/tcl8.6.4.
  7. Crie os seguintes links simbólicos (digite cada comando em uma única linha!):
    ln -s /usr/local/lib/tcl8.6.4/bin/tclsh8.6 /usr/local/lib/tcl8.6.4/bin/tclsh
    
    ln -s /usr/local/lib/tcl8.6.4/bin/tclsh8.6 /usr/local/bin/tclsh
  8. Edite o arquivo .bashrc dos usuários que utilizarão a Tcl e altere a variável:
    export LD_LIBRARY_PATH=/usr/local/lib/tcl8.6.4/lib:$LD_LIBRARY_PATH
  9. Por fim, teste se a Tcl está instalada e se é thread-safe (tem que retornar 1):
    [usuario@servidor ~]$ tclsh
    % info exists tcl_platform(threaded)
    1
    % exit

Agora você já tem a versão mais nova da Tcl instalada, compilada para 64 bits e thread-safe.

Conversor de texto para ASCII Art

Você quer mudar o visual de sua assinatura de e-mail ou o banner SSH/FTP em seu servidor por algo mais nerd? Experimente usar o Text ASCII Art Generator (TAAG)!

Essa pequena aplicação web transforma um texto qualquer que você digitou em uma ASCII Art! Existem mais de 300 fontes para sua escolha e algumas outras opções. Por exemplo, o nome Elis:

$$$$$$$$\ $$\ $$\           
$$  _____|$$ |\__|          
$$ |      $$ |$$\  $$$$$$$\ 
$$$$$\    $$ |$$ |$$  _____|
$$  __|   $$ |$$ |\$$$$$$\  
$$ |      $$ |$$ | \____$$\ 
$$$$$$$$\ $$ |$$ |$$$$$$$  |
\________|\__|\__|\_______/
.------..------..------..------.
|E.--. ||L.--. ||I.--. ||S.--. |
| (\/) || :/\: || (\/) || :/\: |
| :\/: || (__) || :\/: || :\/: |
| '--'E|| '--'L|| '--'I|| '--'S|
`------'`------'`------'`------'
EEEEEEEEEEEEEEEEEEEEEElllllll   iiii                   
E::::::::::::::::::::El:::::l  i::::i                  
E::::::::::::::::::::El:::::l   iiii                   
EE::::::EEEEEEEEE::::El:::::l                          
  E:::::E       EEEEEE l::::l iiiiiii     ssssssssss   
  E:::::E              l::::l i:::::i   ss::::::::::s  
  E::::::EEEEEEEEEE    l::::l  i::::i ss:::::::::::::s 
  E:::::::::::::::E    l::::l  i::::i s::::::ssss:::::s
  E:::::::::::::::E    l::::l  i::::i  s:::::s  ssssss 
  E::::::EEEEEEEEEE    l::::l  i::::i    s::::::s      
  E:::::E              l::::l  i::::i       s::::::s   
  E:::::E       EEEEEE l::::l  i::::i ssssss   s:::::s 
EE::::::EEEEEEEE:::::El::::::li::::::is:::::ssss::::::s
E::::::::::::::::::::El::::::li::::::is::::::::::::::s 
E::::::::::::::::::::El::::::li::::::i s:::::::::::ss  
EEEEEEEEEEEEEEEEEEEEEElllllllliiiiiiii  sssssssssss
   ,ggggggg,                        
 ,dP""""""Y8b ,dPYb,                
 d8'    a  Y8 IP'`Yb                
 88     "Y8P' I8  8I  gg            
 `8baaaa      I8  8'  ""            
,d8P""""      I8 dP   gg     ,g,    
d8"           I8dP    88    ,8'8,   
Y8,           I8P     88   ,8'  Yb  
`Yba,,_____, ,d8b,_ _,88,_,8'_   8) 
  `"Y8888888 8P'"Y888P""Y8P' "YY8P8P

Bem, você já entendeu. Escreva seu texto e veja como ele fica com uma das 314 fontes diferentes e escolha o que mais agradar.

Como recuperar uma senha expirada de administrador do domínio no Samba 4

Você instalou o Samba 4, criou os domínios do tipo “Active Directory”, instalou as ferramentas de administração remota de servidores da Microsoft (RSAT) para gerenciar o domínio, criou os grupos, usuários, e deixou seu controlador de domínios e servidor de arquivos tinindo.

Mas, depois de um tempo, esqueceu-se de trocar a senha do “Administrator” do domínio e ela expirou. E agora? Como resolver?

Simples: logue no servidor onde o Samba 4 está rodando e, como usuário root, dê o seguinte comando:

# samba-tool user setpassword Administrator

Você terá que criar uma nova senha, de acordo com os padrões de força e segurança do Samba. Depois disso, tudo OK novamente! Você já consegue logar novamente, como Administrator, nas máquinas e no console de administração do Active Directory via RSAT.