Usando o Vim/vi
O programa Vim é hoje usado na maioria das distribuições linux para edição de textos em linha de comando. Ele é baseado no programa Vi, editor de texto padrão usado nos Unix, tanto que o significado dele é VI Improved. Hoje irei falar um pouco sobre seu funcionamento, e algumas dicas para auxiliar no seu uso.
O VI foi criado em uma época em que não existia interface gráfica e mouse para funções como Selecionar,editar,gravar arquivos por exemplo… com isso, ele possui basicamente dois modos de operação: um modo de comandos, e outro de inserção.
No modo de Comandos, você não consegue alterar os textos e passa comandos pré-definido nas teclas do teclado para fazer alguma função ( no modo gráfico seria o equivalente a clicar nos menus para efetuar alguma operação, como salvar o arquivo, procurar uma string, etc)
Ao chamar o Vim pelo console sem nenhum arquivo aparece a seguinte tela:
A primeira coisa que devemos aprender é como entrar e sair do modo de inserção, para entrar usamos a tecla “i”, o que nos possibilita digitar textos apagar etc, e para sair do modo de inserção usamos a tecla “ESC”, também podemos entrar no modo de inserção de outras formas, como por exemplo usando a tecla “o” que irá inserir uma nova linha abaixo do cursor e entrará no modo de inserção.
Os comandos mais importantes que uso sempre no Vim vou listar abaixo ( sempre no modo de comandos)
:w <filename> ——> faz a gravação do arquivo sendo editado em disco, se quiser definir um nome para o arquivo só colocar o nome na frente do “w“
:q ——-> sai do vim ( ele não permite que vc saia se efetuou alguma alteração sem salvar )
esses comandos também podem ser combinados, e também se colocar o caractere ! na frente serve para forçar a operação como em :wq!
:wq ou : x —–> grava e sai do vim
/string ——-> o barra é usado para buscas no texto ( no caso irá buscar pelo texto “string”)
G ——-> G maiúsculo ou shift+g, serve para levar o cursor até a última linha do arquivo.
:nu ——> mostra o total de linhas no arquivo
u ——-> desfaz a última alteração
x ——-> apaga o caracter sobre o cursor
dd ——> apaga toda a linha

no modo de comandos, não sendo comandos de edição diretos, aparecerá no canto inferior da tela o comando digitado
Uma curiosidade são as teclas de movimentação do cursor, ( o vi tinha sido idealizado para funcionar em teclados que não possuíam setas) então a movimentação é feita no modo de comandos usando as teclas:
cima = k , baixo = j , esquerda= h , direita = l
Existem também recursos de substituição avançados como:
:1,$ s/old/new/g
esse comando acima faz uma busca da primeira linha até o fim do arquivo ” 1,$ ” o “old” é a string que será substituída e o “new” é pelo que substituirá
essa sintaxe é feita com base no comando sed do linux.
Existem muitos comandos para o vim, que auxiliam a ter uma agilidade ao utilizar este editor, customizar sua interface etc, esses comandos podem ser verificados acessando o manual online dele pelo comando :help ou mesmo acessando paginas na internet, como http://www.cs.fsu.edu/general/vimanual.html
Só para se ter uma ideia, muitos programadores Unix utilizam o Vi como suíte de programação, devido ao nível de prática que estes alcançaram com esta ferramenta.
Para quem está começando a aprender linux (principalmente administração de sistemas), recomendo fortemente evitar editores gráficos e procurar utilizar o vim, pois a dificuldade encontrada inicialmente, será superada pela praticidade de uso dele.
Palestra sobre inteligência
Aproveitando o embalo do meu ultimo post, que foi sobre mapas mentais, lembrei de uma palestra sensacional que tinha visto sobre inteligência, com o Professor e Neuro-Pedagogo Pierluigi Piazzi, onde ele demonstra como funciona o processo de aprendizado, e mostra como nosso sistema de ensino atualmente é uma merda…
A palestra está divida em 8 partes no youtube, para continuar assistindo clique acima ^ procure as outras partes nos vídeos relacionados.
Mapas Mentais
Segundo a Wikipédia:
Mapa mental, ou mapa da mente é o nome dado para um tipo de diagrama, sistematizado pelo inglês Tony Buzan, voltado para a gestão de informações, de conhecimento e de capital intelectual; para a compreensão e solução de problemas; na memorização e aprendizado; na criação de manuais, livros e palestras; como ferramenta de brainstorming (tempestade de ideias); e no auxílio da gestão estratégica de uma empresa ou negócio.
é um desenho ( como uma árvore genealógica, ou uma estrutura de rede) que nos auxilia a enxergar todas as partes que compõem determinado assunto, com o objetivo visualizarmos o todo.
Instalando o FreeBSD
Sou usuário de Linux já há algum tempo, mas quando falamos em servidores, nem sempre o pinguim é a melhor solução para algumas necessidades. Dito isto, tenho visto alguns reviews sobre sistemas Unix, como FreeBSD, Solaris e comparações com os proprietários, como o AIX da IBM e o HP-UX ( esses com mais difícil acesso por só rodarem em conjunto com hardware dos fabricantes), também tenho discutido com um BSD-admin que está me encorajando a usar o sistema .
Abaixo um Screencast muito bom que ensina a instalação básica do sistema, pra auxiliar quem quer adentrar por essas aguas.
video original do site http://blog.bibliotecaunix.org/?p=217
Existem soluções bem bacanas e estruturadas criadas em cima de sistemas BSD, dentre elas destaque para o FreeNAS ( sistema de Storage ) e PFsense ( firewall, gateway, VPN ) que pretendo me aprofundar em um futuro próximo.
Instalação do SAMBA 4
PASSO 1: DOWNLOAD DO SAMBA 4
Caso não tenha o comando git ( não vem padrão no Centos por exemplo )
Adicione o repositório EPEL com o comando:
# su -c ‘rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm’
# yum install git.i386
#apt-get install git
# git clone git://git.samba.org/samba.git samba-master; cd samba-master
# yum install libacl-devel libblkid-devel gnutls-devel readline-devel python-devel
#apt-get install build-essential libattr1-dev libblkid-dev libgnutls-dev libreadline5-dev python-dev autoconf python-dnspython
Passo 2: Compile o Samba4
# cd samba-master# ./configure.developer# make
Esses comandos irão instalar o Samba em /usr/local/samba. Se quiser instalar o samba em outro diretório use a opção –prefix no configure.developer.
Após o termino do make, rode o comando abaixo para testar a validade da compilação:
#make quicktest
( no meu especificamente apareceram alguns erros, mas não obtive problemas, coisa normal se tratando de código em constantes mudanças )
Passo 3: instalando o Samba4
agora basta rodar o comando make install para instalar os binários do samba em /usr/local/samba
Passo 4: provisionando o Samba4 ( configurando o domínio )
#cd samba-master
#./source4/setup/provision –realm=samba4.casa –domain=SAMBA4 –adminpass=ALGUMASENHA –server-role=’domain controller’
Passo 5: iniciando o Samba 4
#samba
#samba -i -M single
Passo 6: testando o Samba 4
#smbclient –version
#smbclient -L localhost -U%
Sharename Type Comment——— —- ——-test Disknetlogon Disksysvol DiskIPC$ IPC IPC Service (Samba 4.0.0alpha12-GIT-5e755e9)ADMIN$ Disk DISK Service (Samba 4.0.0alpha12-GIT-5e755e9)
# smbclient //localhost/netlogon -Uadministrator%PASSWORD
Para criar um compartilhamento, é necessário entrar no smb.conf ( no meu caso está em /usr/local/samba/etc) e incluir uma sessão referente ao share ( da mesma forma feita nas versões anteriores do samba.
[test]
path = /data/test
read only = no
Passo 7: Configurando o Kerberos
Para instalar os pacotes necessários a ter suporte a kerberos no linux use o comando abaixo:
#apt-get install krb5-user krb5-kdc krb5-config kstart
Para testar o kerberos usamos o seguinte comando:
# kinit administrator@SAMBA4.CASA
Password for administrator@SAMBA4.CASA:
Warning: Your password will expire in 39 days on Fri Jul 15 21:28:29 2011
#klist -e
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@SAMBA4.CASAValid starting Expires Service principal
06/06/11 00:07:47 06/06/11 10:07:47 krbtgt/SAMBA4.CASA@SAMBA4.CASA
renew until 06/07/11 00:07:39, Etype (skey, tkt): arcfour-hmac, arcfour-hmac
Passo 8: Configurando o DNS
Para instalação do samba é necessário utilizar um servidor DNS para controle do domínio, pode ser um servidor bind na própria maquina, externo, ou mesmo um DNS M$.
Da primeira vez que instalei, o bind9 não tinha suporte para as atualizações dinamicas do AD, era necessário aplicar alguns patches e recompilar o dns para funcionar :S. Hoje não é mais necessário, apenas instalando o dns e configurando para que o samba faça as alterações, já é suficiente.
O comando provision já gerou os arquivos de configuração necessários, agora aponte esse arquivo com a linha abaixo dentro do /etc/bind/named.conf.local
include “/usr/local/samba/private/named.conf”;
Após adicionar a linha acima e reiniciar o DNS, rode os comandos abaixo para testar o funcionamento do dns ( a reposta tem que ser similar ao que está abaixo)
# host -t SRV _ldap._tcp.samba4.casa.
_ldap._tcp.samba4.casa has SRV record 0 100 389 samba4lab.samba4.casa.# host -t SRV _kerberos._udp.samba4.casa.
_kerberos._udp.samba4.casa has SRV record 0 100 88 samba4lab.samba4.casa.# host -t A samba4lab.samba4.casa
samba4lab.samba4.casa has address 10.0.0.103
Passo 9: Configurar atualizações dinâmicas no DNS com o kerberos
#KEYTAB_FILE=”/usr/local/samba/private/dns.keytab”
#KRB5_KTNAME=”/usr/local/samba/private/dns.keytab”
#export KEYTAB_FILE
#export KRB5_KTNAME
#chown named:named /usr/local/samba/private/dns.keytab
tkey-gssapi-credential “DNS/samba4.casa”;
tkey-domain “SAMBA4.CASA”;
Você pode checar o processo com o comando abaixo:
#/usr/local/samba/sbin/samba_dnsupdate –verbose
Compartilhamento Windows em maquinas linux – Samba
O convívio com sistemas Windows no dia-a-dia de um administrador Linux/Unix é comum, não existe nenhum sysadmin que já não tenha tido que compartilhar diretórios com o Windows ( mesmo impressoras de rede) para que o trabalho na rede funcione.
A solução mais usada para obtermos a integração nesse ambiente misto é o projeto Samba. site oficial http://www.samba.org/
O samba nasceu em 1992 da necessidade de conectar um PC com o sistema DOS à uma maquina Unix, usando o protocolo SMB ( server message block) mais detalhes em http://pt.wikipedia.org/wiki/Samba_(servidor)
Hoje existem duas versões do samba sendo desenvolvidas em paralelo, a versão 3 (3.5.8) baseada na familia do windows NT 4.0, atualmente a versão estável, que possui suporte a atuar como um PDC (controlador de domínio), servidor de impressão, e servidor de arquivos, mas ainda não possui o Active directory ( sendo usado em conjunto com o OpenLDAP em implementações). E temos também a versão 4 que ainda está em fase alpha de desenvolvimento. Essa segunda versão, já é compatível com as versões mais recentes de windows simulando um servidor LDAP completo totalmente compatível com o AD da Microsoft.
O Active Directory da Microsoft ( também conhecido como AD ) é a implementação do protocolo LDAP em redes Windows, que oferece uma ferramenta centralizada para controlar diversos aspectos de uma rede windows. ( servidor de impressão, compartilhamentos, autenticação de usuários, políticas de restrição etc) é na minha opinião a melhor ferramenta para gerenciamento de domínios atualmente. ( somente em maquinas windows obviamente :S )
Com este recurso sendo implementado no Samba 4, a administração de ambientes mistos fica muito mais homogênea, e em alguns casos exclui a necessidade de um servidor windows rodando o AD, já que o samba cumpre muito bem esse papel.
Solução dos problemas
Cansado de explicar várias vezes a mesma coisa, tem aquele primo ou amigo que sempre vem te pedir ajuda em alguma coisa?
Eis o site que irá esclarecer toda e qualquer dúvida de seus amigos e clientes!
Vmware compra o Zimbra
Conhecido de profissionais opensource, a suite de colaboração ( junção de e-mail, calendário, agenda etc ) Zimbra, que também é conhecida como concorrente do Exchange da Microsoft, foi adquirida pela empresa de virtualização Vmware.
A VMware fechou um acordo com o Yahoo para adquirir toda a tecnologia e propriedade intelectual relacionada ao Zimbra. A companhia de virtualização planeja utilizar o software código aberto de e-mail e colaboração para o desenvolvimento de virtualização de infraestrutura para ambientes de computação em nuvem.
Maiores informações:
http://www.itweb.com.br/noticias/index.asp?cod=64407
http://www.vmware.com/company/news/releases/zimbra.html *em inglês
KDE 4.4 Lançado
Hoje é anunciado a mais nova versão do KDE (4.4 ), de codinome Caikaku. Sempre gostei muito da interface do KDE, apesar de atualmente usar apenas o Gnome, sempre estou conferindo o Kde, pois em questões de usabilidade e aparência é um dos projetos mais ativos do mundo linux. Vale a pena conferir.





