Feeds:
Posts
Comentários

Archive for the ‘Ubuntu’ Category

I had debianized the Gmate Package, so now you can download and install it in your Ubuntu as a DEB package.

Note that it Depends of pyton-pywebkit that is included in Ubuntu 8.10. if you want to install in a previous Ubuntu release you will need to install Python Webkit Manually.

You can download the package direct from github.com

Read Full Post »

(See this post in english)

Eu acabei de corrigir alguns bugs no plugin Rails Footnotes e agora temos suporte completo para Ubuntu Linux  (Deveria funcionar em outras distros também, porém apenas usando o Gnome e o Gedit são suportados até agora).

Agora você poderá abrir qualquer arquivo listado nos stack traces exibidos no browser (Firefox) além de obter todos os demais benefícios dos Footnotes no final de suas páginas durante o desenvolvimento.

Veja os screenshots para ter uma idéia dos benefícios:

Footnotes Filters

Na imagem acima estamos mostrando a cadeia de filtros (Filter chain) do controller atual, mas podemos facilmente abrir o arquivo do controller, view, layout, estilos, javascripts direto no Gedit apenas clicando em um link, e, podemos também ver os Selects executados no banco de dados, log, Informações do ambiente, logs, routes e muito mais.

Footnotes Stack Trace

Na imagem acima estamos vendo um stack trace, então ao clicar em um dos links criados pelo plugin Footnotes, o Gedit já abre tal arquivo com o cursor posicionado corretamente sobre a linha onde o erro ocorreu.

Você pode fazer o download do plugin com suporte para linux aqui (Github master tree)

Para obter instruções sobre o processo de instalação, veja o arquivo README que está no pacote do plugin ou acesse a Página do projeto no Github.

Você pode também ler mais sobre este plugin no meu primeiro post sobre ele, e ainda assistir a um pequeno screencast mostrando sua funcionalidade.

Read Full Post »

(Ver este artigo em português)

I have just fixed some issues on Rails Footnotes plugin, and now we have full support for Ubuntu linux (this should work with other distros too, but only Gedit and Gnome are supported for now.

Now you can open any files listed on stack trace, and get all bennefits of Footnotes just bellow your pages during development.

Se the screenshots to get an Idea of beneffits:

Footnotes Filters

In image above we are showing the Filters chain of current controller, but we can easily, open the controller, view, layout, styles or javascripts files in Gedit by just one click in the link, and we can also see the database queries performed, log, Environment, Routes and much more.

Footnotes Stack Trace

In the image above we are seeing a stack trace, then we clicked on  a link created by Footnotes plugin, and Gedit just opened that file and switched the cursor to the correct line.

You can download the  plugin with linux support directly from here (Github master tree)

To get instructions about installation process point to README file on package or go to Footnotes Project Page on Github

You can also read more about this plugin on my first post about it (In Portuguese), and also watch a little screencast showing the plugin in action.

Read Full Post »

Olá, hoje vou demonstrar como criar um servidor de controle de versão distribuído Bazaar. Para tanto temos basicamente 2 alternativas:

  1. Não fazer nenhuma configuração de Bazaar no servidor, apenas utilizar a estrutura existente.
  2. Instalar o Bazaar no servidor para prover o recurso do “Fast Server” que dá uma melhora na performance, ( em alguns testes que eu fiz baixar uma arvore de codigo direto do meu servidor para minha maquina tive um ganho de aproximadamente 20% )

Alguns protocolos de comunicação são suportados pelo Bazaar, são eles:

file:// => Este é o padrão, o protocolo utilizado quando você trabalha com branches no mesmo computador ou em um compartilhamento da rede no computador local, ou seja, se você fizer o seguinte:

$ bzr init meubranch
$ cd meu branch
hack
hack
hack
$ bzr commit -m "tudo pronto!"
$ cd ..
$ bzr checkout meubranch meubranch1

o último comando irá utilizar o protocolo file://

sftp:// => Este é o protocolo para usar em uma conexão segura ssh+ftp com o servidor, claro que se também é possível trabalhar localmente com este protocolo, mas é totalmente desnecessário. Este protocolo é o mais comum para servidores sem setup de Bazaar, pois fornece um bom nível se segurança. É necessário informar o usuário e senha do usuário do servidor para fazer operações com sftp, por exemplo:

bzr branch sftp://usuario@meuservidor/~/branch
usuario@meuservidor's password:_

Então você deve informar a senha do usuário para continuar a operação.
se não quiser entrar com a senha para cada operação é possível guardar as configurações de usuário e senha em um arquivo de autenticação, você pode ver mais osbre este procedimento aqui: http://doc.bazaar-vcs.org/latest/en/user-reference/bzr_man.html#authentication-settings

ftp:// => Este protocolo utiliza ftp, pode ser necessário informar um usuário e senha assim como no sftp a maior diferença é que os dados irão trafegar sem criptografia, o restante vale o mesmo do sftp.

http:// ou https:// => O Bazaar pode acessar qualquer branch que esteja visível via http ou https (com criptografia ssl), porém estes branches são apenas para leitura, é possível configurar o Apache por exemplo para permitir gravação em repositórios Bazaar sobre http, mas não é seguro e nem muito simples, então descarte a não ser que seja a última alternativa. Entretanto é um ótimo protocolo para repositórios publicados como somente leitura.

bzr:// => Este é o protocolo interno do Bazaar para utilizar em modo FastServer. Note que este protocolo sozinho não oferece segurança.

bzr+ssh:// => Este é o mesmo protocolo acima porém, utilizando um túnel ssh para trafegar os dados. É necessário possuir um servidor ssh instalado no servidor.

Servidor Sem Configuração.

Bem você vai precisar de um servidor linux instalado, de preferência o Ubuntu Server Edition 8.04 ou 8.10. As instruções de como instalar um servidor estão fora do escopo deste guia, mas, vá até o Google e digite “instalando ubuntu server”. Também é possível utilizar um servidor Windows mas eu particularmente não recomendo.

Considerando que o servidor já esteja funcionando, ele deve ter um servidor ssh com sftp rodando, e você ter acesso a ele é claro.
Pronto! Seu servidor Bazaar já está pronto para uso!:). Mas como isso? Não é preciso fazer configurações adicionais? De fato não, como o Bazaar é um controle de versão distribuído (4a Geração) que não precisa de nenhum setup no servidor.

Servidor com configuração.

Vou assumir que seu servidor usa Ubuntu ou Debian, ou alguma distribuição baseada em um dos dois. Você vai precisar de acesso root (sudo) no servidor e uma conexão com a Internet é claro :).
Para instalar o Bazaar no servidor execute:

sudo apt-get install bzr

depois deste comando o Bazaar já deve estar funcionando, para verificar digite:

$ bzr
Bazaar -- a free distributed version-control tool
http://bazaar-vcs.org/

Basic commands:
  bzr init           makes this directory a versioned branch
  bzr branch         make a copy of another branch

  bzr add            make files or directories versioned
  bzr ignore         ignore a file or pattern
  bzr mv             move or rename a versioned file

  bzr status         summarize changes in working copy
  bzr diff           show detailed diffs

  bzr merge          pull in changes from another branch
  bzr commit         save some or all changes

  bzr log            show history of changes
  bzr check          validate storage

  bzr help init      more help on e.g. init command
  bzr help commands  list all commands
  bzr help topics    list all help topics

Se o comando retornar algo similar ao texto acima, o Bazaar deve ter sido instalado corretamente.
Neste momento a parte de Bazaar já está pronta! Nossa mas só isso? Sim só isso :). Mas vamos colocar algo mais palpável para uso em produção.
Primeiro para não precisar encher o servidor de usuários, vamos criar um usuário que terá direitos de acesso aos branches, você pode usar o nome que você quiser para o usuário, em nosso exemplo vamos utilizar bzr.
digite o seguinte no servidor:

$ sudo adduser \
    --system \
    --shell /bin/sh \
    --gecos 'Bazaar version control' \
    --group \
    --disabled-password \
    --home /home/bzr \
    bzr

isso vai retornar algo como:

Adding system user `bzr' (UID 110) ...
Adding new group `bzr' (GID 118) ...
Adding new user `bzr' (UID 110) with group `bzr' ...
Creating home directory `/home/bzr' ...

o que estamos fazendo é criando um usuário e dando a ele um shell válido, para que o ssh funcione porém ele não poderá se logar no servidor usando qualquer senha. Ai você me pergunta, mas se não tem senha, como vamos fazer para autenticar no servidor? a resposta é, usando autenticação por ssh. Vou explicar aqui como fazer isso usando linux, para usar windows é possível fazer algo similar usando o PuTTY, mas o uso do PuTTY também está for do nosso escopo.
O primeiro passo é gerar uma chave pública e privada ssh, para fazer isso digite em um promt no seu computador cliente:

$ ssh-keygen

O comando vai pedir o local onde salvar a chave publica e privada, deixe o padrão, também vai pedir uma senha, que é opcional, se você não digitar nada ele não vai pedir nenhuma senha para efetuar a autenticação, entretanto eu recomendo que cada usuário coloque uma senha em suas chaves.
Bem, foi criada uma chave publica em ~/.ssh/id_rsa.pub e precisamos enviar esta chave para o servidor e colocar ela em um lugar que o usuário bzr conheça para que ele possa comparar a chave publica com a chave privada de cada usuário e efetuar a autenticação. Coloque o arquivo no servidor, vou exemplificar usando sftp:

$ scp ~/.ssh/id_rsa.pub usuario@servidor:id_rsa.pub

Agora acesse o servidor (via ssh ou outro) e lá iremos adicionar a chave publica que acabamos de criar para o cliente, na lista de chaves conhecidas do usuário bzr. já no servidor é preciso tornar-se o usuário bzr utilizando sudo e em seguida jogar o conteúdo da chave para a lista de chaves conhecidas do usuário bzr:

$ sudo su bzr
$ mkdir ~/.ssh (necessário apenas se o diretório ainda não existir)
$ cat id_rsa.pub >> ~/.ssh/authorized_keys

A sequência de comandos acima assume que você está no diretório home do usuário ao qual foi enviado o arquivo id_rsa.pub. Pronto!, a partir deste momento você já pode  utilizar o servidor e criar seus branches Bazaar nele, tanto usando sftp, quanto bzr+ssh (que é o mais recomendado).
Agora volte para sua máquina e vamos criar o nosso primeiro branch usando sftp (este não necessitaria ter o Bazaar instalado no servidor):

$ mkdir meubranch
$ cd meubranch
$ bzr init
$ touch arquivo1.txt
$ bzr add
$ bzr commit -m "branch teste"
$ bzr push sftp://bzr@servidor/~/meubranch

Isto vai publicar (push) as alterações de seu branch local para o servidor remoto via sftp.
para usar via bzr+ssh e ter um ganho de performance em algumas operações troque o ultimo comando por:

$ bzr push bzr+ssh://bzr@servidor/home/bzr/meubranch

Note que neste caso utilizamos o caminho completo para o branch no servidor, pois até o presente momento o ~ (til) que representa a pasta home do usuário ainda não é suportada pelo Bazaar, mas será em breve. Lembre que informar o camhinho do branch é necessário apenas no primeiro chechout/pull/push depois o caminho fica gravado. Mas se você resolver colocar os repositórios em alguma parte do servidor que seja muito difícil de digitar, como por exemplo “/var/projetos/vcs/bzr/branch” então você pode criar um link simbólico para a pasta raís, dentro do /.

sudo ln -s /home/bzr /bzr

isto vai criar um link com o nome bzr no sistema de arquivos raíz, então a o comando com a url vai ficar assim:

$ bzr push bzr+ssh://bzr@servidor/bzr/meubranch

Se não quiser publicar diretamente a pasta do usuário como /bzr, você pode (e deve) criar um subdiretório para os projetos dentro de “/home/bzr/projetos” e apontar o link simbólico para lá. (não esqueça de tornar-se(sudo su bzr) o usuário bzr antes de criar o diretório).

Toda a parte de configuração do servidor termina aqui. Claro que você pode criar seu servidor de outros modos, como por exemplo criando um usuário para cada desenvolvedor, etc, e aplicar suas próprias regras de segurança, mas isso é uma questão estrutural de cada projeto e/ou empresa.

foi comentado do protocolo bzr:// sem o ssh, para levantar um servidor desta natureza utilize o seguinte comando dentro de um branch:

bzr serve

Ele vai levantar um servidor somente leitura que ficará ouvindo maquina local (se você tiver o Ipv6 ativado, este comando vai dar um erro, então utilize bzr serve –port=127.0.0.1:4155 ) que é bastante útil quando queremos publicar um branch temporariamente com outro membro da equipe para que ele faça um merge por exemplo. se quiser que seja publicado para leitura e escrita utilize o parametro –allow-writes.

bzr serve --port=127.0.0.1:4155 --allow-writes

Para saber mais sobre o Bazaar acesse a seguinte página: http://doc.bazaar-vcs.org/latest/
Lá você vai encontrar a documentação completa de cada comando entre outras informações úteis.

Read Full Post »

Bem, fazem apenas algumas horas que o novo Ubuntu 8.10 foi anunciado e já temos uma atualização de Kernel, isso nao faz nada menos que provar que o software livre dá uma resposta rápida à qualquer tipo de falha, problema ou erro que possa vir a ocorrer. Vale lembrar que embora o anúncio tenha saído hoje próximo ao meio dia, as imagens iso dos cds de instalação já estavam prontas pelo menos desde ontem para que todos os mirrors pudessem ser atualizados em tempo.

Com esta versão do Ubuntu temos o melhor linux de todos os tempos com várias melhorias visuais e não visuais, com uma base forte e estável (Debian), trazendo o que há de mais novo e moderno do software para as nosssas casas. Foi só uma pena que o OpenOffice 3 não tenha sido lançado antes do Freeze do 8.10 para que desse tempo de ser incluso.

Read Full Post »

Ubuntu 8.10 Intrepid Ibex

Quase todos os mirrors “espelhos” etão prontos para o lançamento, mas você já pode ir baixando antes mesmo do anúncio oficial.

Confira as novidades desta nova versão:

GNOME 2.24

Ambiente desktop GNOME 2.24, com várias correções de bugs e novas funcionalidades incluindo:

  • Nautilus Gerenciador de arquivos ganhou suporte a abas, e novos icones de eject para dispositivos removíveis na barra lateral.
  • File Roller Gerenciador de arquivos compactados agora suporta os tipos de arquivo ALZ, RZIP, CAB, TAR.7Z.

X.Org 7.4

X.Org 7.4, A última versão estável do X.Org, está disponível no Intrepid. Esta versão traz suporte melhorado para dispositivos hot-plug, como tablets, teclados e outros. Ao mesmo tempo permite que a maioria dos usuários possa utilizar o sistema sem um arquivo /etc/X11/xorg.conf. Traz também gerênciamento de falhas e ferramentas recuperar de falhas de inicialização.

Linux kernel 2.6.27

Inclui por padrão o kernel 2.6.27 que possui melhor suporte a hardware e uma série de correções de bugs.

Diretório privado criptografado

Traz também suporte a um mecanismo chamado secret encrypted folder que pode ser utilizado para criptografar seus arquivos pessoais, ele não vem habilitado por padrão pois a maioria dos usuários não necessita deste recurso, mas quem quiser, abra um terminal (Aplicações →  Acessórios → Terminal) e digite:

  • sudo aptitude install ecryptfs-utils
  • ecryptfs-setup-private

Sessão anônima

Foi criado um novo applet para o painel do gnome que permite a troca rápida entre usuários, que dá suporta também a um recurso chamado de sessão anônima, este recurso é muito útil quando você precisa deixar alguém utilizar seu computador temporariamente para uma simples checagem de email. O sistema cria uma sessão temporária, sem necessidade de senha, onde o usuário tem acesso apenas aos recursos do sistema como browser etc, porém sem nenhum acesso aos sistemas de arquivos, diretórios home por exemplo.

Network Manager 0.7

O Intrepid traz também o Network Manager 0.7 que vem com algumas funcionalidades adicionais incluindo:

  • Configurações a nivel de sistema (ex: não é necessário logar para ter acesso a uma conexão)
  • Gerenciamento de conexões 3G (GSM/CDMA)
  • Gerenciamento de dispositívos múltiplos ao mesmo tempo
  • Gerenciamento de conexões PPP(Internet Discada) e PPPOE (ADSL)
  • Gerenciamento de dispositivos com IP fixo
  • Gerenciamento de Rotas dos dispositivos

Mais informações podem ser obtidas no wiki do Network Manager. (Inglês)

DKMS

DKMS (Dell) também está incluso no 8.10, este é um recurso interessante que permite que drivers sejam recompilados (rebuild) automaticamente quando novos kernels sao instalados no sistema. Isto permite que atualizaçẽos de kernel estejam disponíveis imediatamente, sem ter que esperar a recompilação dos pacotes de drivers, agilizando o processo.

Samba 3.2

Novos recursos também incluídos na comunicação com o protocolo smb:

  • suporte a servidores de arquivos em cluster
  • transmissão de pacotes de rede criptografados
  • suporte a ipv6
  • melhor integração com as versões mais recentes do Microsoft Windows™, tanto clientes (desktop) e servidores.

framework de autenticação PAM

8.10 permite gerenciamento simples de autenticação PAM para servidores e desktop. Pacotes que provém recursos do PAM serão automaticamente configuradas, e os usuários poderão fazer suas configurações pessoais executando sudo pam-auth-update.

Mais informações no  wiki do Ubuntu.

plugin BBC para Totem

Um novo plugin que permite obter conteúdo direto da BBC.

Virtualização de servidores

python-vm-builder

O ubuntu-vm-builder foi completamente reescrito, provendo agora melhor sistema de templates, sistema de plugins permitindo suporte para outras distribuições, front-ends e outras funcionalidades adicionais

O Python-vm-builder permite a criação de novas máquinas virtuais em poucos minutos sem entrar em um processo interativo de instalação, ele pode ser múito útil para desenvolvedores, administradores de sistema e vendedores de software. Um tutorial está disponível em https://help.ubuntu.com/community/JeOSVMBuilder (Inglês)

Ubuntu como um “Xen guest”

Usar o Ubuntu deste modo agora é incluida por padrão no kernel, é mais uma opção ao criar máquinas virtuais usando o python-vm-builder.

JeOS é agora uma opção no instalador do server

Para simplificar o processo e reduzir confusão na hora de instalar o JeOS em hardware real, o JeOS não é mais uma ISO de instalação separadade. Ao invés disso é  uma opção ativada no processo de instalação da versão server, pressionando F4 na primeira tela e selcionando a opção “Install a minimal virtual machine” (Instalar máquina virtual mínima).

Inclusões no repositório principal (main)

Alguns pagotes bastante utilizados foram inclídos no repositório principal, para facilitar a instalação, estes pacotes são de interesse particular para administradores de servidores:

  • Sun Java OpenJDK 1.6 – Uma implementação open source do Kit de desenvolvimento java
  • Apache Tomcat 6 – Um container servlet para Java
  • ClamAV – um sistema de detecção de vírus que pode ser associado a uma série de servidores de email
  • SpamAssassign – Um sistema de detecção de spam que pode ser associado a vários servidores de email

Inicialização de raid com problemas

Quando um disco de um array RAID apresenta problemas normalmente o boot do Ubuntu era levado a um promt reduzido (busybox) no initramfs. Esta é a opção mais secura e previne possíveis perdas de dados e permitindo que o administrador tome alguma decisão, mas estava causando problemas com servidores remotos. O administrador do sistema pode configurar “estaticamente” suas máquinas para continuar inicializando mesmo que um disco do array esteja ruim com o seguinte comando:

  • echo "BOOT_DEGRADED=true" | sudo tee -a /etc/initramfs-tools/conf.d/mdadm

Adicionalmente esta configuração pode ser especificada na linha de boot do kernel com o parâmetro bootdegraded=[true|false].

Agora o Ubuntu também suporta o comando service

Administradores de Fedora ou Red-Hat agora vao se sentir mais confortáveis usando o Ubuntu pois o comando service que usavam antes está disponível para gerenciar os daemons. Agora por padrão, além do método tradicional sudo /etc/init.d/<service> [start|stop|restart] de gerenciamento de processos, é possível usar sudo service <service> [start|stop|restart].

Uma série de serviços padrão agora suportam a opção status, então por exemplo, sudo service postfix status vai retornar se o serviço está ou não rodando.

OpenLDAP usando ”cn=config”

A instalação padrão do servidor OpenLDAP agora usa a extenção cn=config, que permite sincronização automática entre alterações de configuração em replicas LDAP.

Firewall descomplicado (ufw)

Serviços comuns agora informam ufw sobre portas que são recomendadas para serem habilitados corretamente, então o administrador pode abrir com um simples comando ufw allow <service>.

Novas formas de instalação

Esta nova versão vem também com suporte a novas opções de instalação como o MID USB, que serve para equipamentos “Low-Power Intel Architecture”, incluindo processadores A1xx e Atom. e também uma nova  opção chamada “Mobile USB” que pode ser colocada em um pendrive para instalação ou uso (como o livecd), esta versão é otimizada para computadores pequenos com telas reduzidas (PCs Ultra-Móveis), por exemplo 10 polegadas, mas é necessário lembrar que para rodar esta versão seu equipamente precisa ter pelo menos 256 MB de memória RAM.

Mais informação

Você pode encontrar mais informação sobre o ubuntu no website e no wiki.

Para efetuar o download da ISO, clique em um dos links a seguir, note que os arquivos já estávam disponíveis em alguns servidores antes mesmo do anúncio oficial, isto se dá porque a Canonical aguarda que todos os seus espelhos estejam atualizados antes de lançar o anúncio.

Link 1 (Este link já estava disponível antes mesmo do anúncio oficial)

Link 2

Link 3 (Também disponível do anúncio oficial)
Link 4 (Também disponível antes do anuncio oficial)
 
O Link Oficial para download no site do Ubuntu é este aqui

Read Full Post »

Many thanks to Firmansyah Adiputra Now we get gedit TODO List working properly with Firefox 3 and Ubuntu 8.04

Download the 0.1.4b version from sourceforge install and enjoy.

Read Full Post »

Older Posts »