Categoria: Tutorial

Rsync Unicode entre Mac e Linux

O problema

Pesquisando no google, encontrei esse post sobre um problema conhecido dos usuários que de macOS, que usam para trabalhar — com é o meu caso, e também para publicar sites em servidores Linux utilizando rsync, tenho uma dica preciosa para vocês.

Inicialmente eu achei que era um problema no Apache HTTPd, eu até setei default chartset e nada de resolver, estava quase jogando a toalha quando resolvi usar o Google de verdade, após alguma pesquisa entendi o problema.

No FAQ ( https://rsync.samba.org/FAQ.html ) do projeto RSYNC já tem a dica de como resolver isso, mas é um pouco obscuro de entender.

rsync recopies the same files

Some people occasionally report that rsync copies too many files when they expect it to copy only a few. In most cases the explanation is that you forgot to include the --times (-t) option in the original copy, so rsync is forced to (efficiently) transfer every file that differs in its modified time to discover what data (if any) has changed.

Another common cause involves sending files to an Microsoft filesystem: if the file's modified time is an odd value but the receiving filesystem can only store even values, then rsync will re-transfer too many files. You can avoid this by specifying the --modify-window=1 option.

Yet another periodic case can happen when daylight-savings time changes if your OS+filesystem saves file times in local time instead of UTC. For a full explanation of this and some suggestions on how to avoid them problem, see this document.

Something else that can trip up rsync is a filesystem changeing the filename behind the scenes. This can happen when a filesystem changes an all-uppercase name into lowercase, or when it decomposes UTF-8 behind your back.

An example of the latter can occur with HFS+ on Mac OS X: if you copy a directory with a file that has a UTF-8 character sequence in it, say a 2-byte umlaut-u (\0303\0274), the file will get that character stored by the filesystem using 3 bytes (\0165\0314\0210), and rsync will not know that these differing filenames are the same file (it will, in fact, remove a prior copy of the file if --delete is enabled, and then recreate it).

You can avoid a charset problem by passing an appropriate --iconv option to rsync that tells it what character-set the source files are, and what character-set the destination files get stored in. For instance, the above Mac OS X problem would be dealt with by using --iconv=UTF-8,UTF8-MAC (UTF8-MAC is a pseudo-charset recognized by Mac OS X iconv in which all characters are decomposed).

If you think that rsync is copying too many files, look at the itemized output (-i) to see why rsync is doing the update (e.g. the 't' flag indicates that the time differs, or all pluses indicates that rsync thinks the file doesn't exist). You can also look at the stats produced with -v and see if rsync is really sending all the data. See also the --checksum (-c) option for one way to avoid the extra copying of files that don't have synchronized modified times (but keep in mind that the -c option eats lots of disk I/O, and can be rather slow).

Em resumo, quando você copia um arquivo do MacOS que usa sistema de arquivos HFS+ para um sistema linux há um problema pois o MacOS usa Unicode do tipo NFD enquanto o Linux usa Unicode do tipo NFC, com isso, dependendo do nome do arquivo, o Linux pode não reconhecer, em especial no meu caso em que um arquivo HTML possuia caracteres especiais.

Como resolver?

Eu copiava os arquivos dessa forma entre meu mac e o servidor linux

rsync -avz --stats --progress --delete /Mac/origem/* [email protected]:/Linux/destino/

O segredo é acrescentar alguns parametros de conversão ao comando

--iconv=utf-8-mac,utf-8

O comando final ficará assim

rsync -avz --stats --progress --delete --iconv=utf-8-mac,utf-8 /Mac/origem/* [email protected]:/Linux/destino/

Com isso meus arquivos são convertidos e transferidos corretamente.

Agora posso usar acento nos títulos dos posts sem receio de quebrar os links.

Fonte:
http://gutocarvalho.net/blog/2016/09/21/rsync-unicode-entre-mac-e-linux/

GitLab: Repositórios git Privados Grátis

O GitLab é para você está a procura de um sistema de gerenciamento repositórios Git onde você queira usar somente projetos privados, como se fosse um Github pago, Codeplane, Bitbucket ou muitos outros que existem, use o GitLab, uma plataforma open source para desenvolvedores trabalharem em ambientes privados, sem custo mensal. Há também opções de projetos públicos e internos(onde só usuários autenticados possam ver).

Criado com Ruby on Rails, esta plataforma usa tecnologias que utilizamos no dia a dia, algumas bem conhecidas como: Ruby on Rails, Twitter Bootstrap, Font-Awesome, PostgreSQL, Redis, Nginx, Unicorn e omnibus-gitlab.

Com a interface(UX) um pouco diferente do famoso github,  leveza e opções de configurações diferentes, como por exemplo o uso de README.markdown  e alterar a cor do editor de código aberto

Para as funcionalidades, podemos citar que são as mesmas do github, porém temos também:

  • Controle de acesso ao repositório(Private,Internal e Public)
  • Gerenciamento de chaves públicas
  • Procurar o código-fonte
  • Procurar um commit
  • Visualização de arquivos com destaque
  • Histórico do arquivo
  • Download em tar e zip
  • Gerenciamento de usúarios

Meu GitLab: https://gitlab.com/rsilvabr

Configurando um servidor local com AMPPS

Vamos conhecer o AMPPS. MAMP é a aplicação mais popular no OSX para executar servidores locais(Apache e MySQL); para  os usuários Windows, tem o WAMP ou XAMPP que são as opções mais utilizadas. Estas 3 aplicações são suficientes para trabalhar. Mas há uma outra ferramenta que pode fazer o trabalho de um desenvolvedor mais rápido e eficiente.

Recentemente pesquisando na internet, a procura de um ambiente para desenvolvimento local me deparei com um aplicativo chamado AMPPS. É um “software pack” de fácil instalação e com vários, ele faz mais do que apenas executar um servidor local. Se você está atualmente procurando um aplicativo alternativo, vamos verificar o que AMPPS tem para oferecer, e ver como implantar um site em um computador local com ele.

AMPPS

Descrição no site “AMPPS is an easy to install software stack of Apache, Mysql, PHP, Perl, Python and Softaculous auto-installer that can be used on Desktops and office servers.”

Iniciando

Similar as 3 aplicações mencionadas acima, AMPPS é um pacote com Apache, MySQL e phpMyAdmin que usamos para desenvolver localmente no computador baseados em PHP. Além disso, o AMPPS também inclui MongoDB, Python, e RockMongo para atender às necessidades mais amplas da tecnologia e preferências, vem também com Softaculous que nos permite instalar aplicativos web de forma mais rápida com um auto-installer. Com ele, também podemos criar nomes de domínio para os sites que criamos, em vez de usar o nome padrão localhost.

Instalando AMPPS

AMPPS é um aplicativo gratuito e está disponível para Windows e OSX. Faça o download aqui e siga as instruções de instalação de acordo com seu sistema operacional. Execute-o, em seguida, abra o AMPPS administrador. Certifique-se de que o Apache e MySQL foram iniciados.

apache-mysql

Em seguida, abra o navegador e digite o endereço http://localhost/ampps Esta é a página onde as gerencias os recursos como instalação de aplicativos, a criação de senha para AMPPS, criando banco de dados, bem como a gestão de nomes de domínio.

ammps-admin

Usando AAMPS

No lado esquerdo, como mostrado na imagem acima, você pode ver que há várias categorias de apps que vão desde Blogging, CMS, E-Commerce para aplicativos educacionais. Antes de prosseguir, é preciso criar um nome de domínio para ele.

Conclusão

Como você pode ver o AMPPS vem com um gerenciador de domínio, e uma ferramenta de auto-installer com centenas de aplicações web. Além disso, há literalmente um monte de recursos livres, que nós ainda não exploramos. Por comparação, acho AMPPS poderia realmente ser uma alternativa melhor para MAMP, WAMP, e XAMPP.

Referências:
http://www.ampps.com/

Esse post foi extraído e adaptado do post em inglês http://www.hongkiat.com/blog/ampps-server/

Fontes Calibri do Office 2007 no Ubuntu Linux 10.04

Por questões de compatibilidade com alguns arquivos de uso, resolvi então instalar as fontes Calibri e outas do Office 2007 no meu Ubuntu 10.04.

Para facilitar a vida eu fiz esse pequeno tutoria com o passo a passo.

1º – Clique AQUI e baixe esse arquivo com as fontes, salve no seu local de preferencia.

2º – Extrair o conteúdo desse arquivo no diretório /usr/share/fonts/ o caminho deverá ficar /usr/share/fonts/vista/

3º – Abra um terminal e execute o comando: fc-cache -fv

Pronto ao abrir seu OpenOfficer Editor de Texto as fontes já estaram disponíveis.

Um abraço e até a próxima!

Seja Livre! Use Linux e Software Livre!

Diário de migração windows para linux – A libertação

Introdução

Já a bastante tempo eu vinha me programando para me libertar do código proprietário e migrar para o código livre, quero dizer trocar meu Windows Vista Home Premium 32 Bits Original pelo Linux Ubuntu 10.04 LTS, mas sempre me acomodava com a facilidade do Windows e mesmo usando Debian linux nos meu servidores, existia algo que me impedia de fazer a troca, mas após o lançamento do Ubuntu 10.04 LTS no dia 30 de abril de 2010 aqui em Recife / PE feito pela fuctura.com.br na Faculdade Joaquim Nabuco, eu decidi me libertar e vou descrever em partes abaixo como foi todo o processo.

Parte 1 – Planejamento

Primeiramente fiz uma lista dos software que usava normalmente no windows, e procurei os equivalentes e logo encontrei esse link: http://wiki.ubuntu-br.org/ProgramasEquivalentes que mostra tudo prontinho em colunas, incluindo o MAC OS.

Continue reading