Como instalar um servidor FTP no Linux Debian (vale pro Ubuntu também)

Instalar um servidor FTP é tão simples que eu não precisaria de mais de um parágrafo para tratar deste assunto objetivamente.
Mas este artigo vai falar além da instalação. Vou abordar alguns aspectos que surgem após a instalação e a configuração do FTP para que ele te sirva melhor.
As dicas aqui são voltadas para quem tem um sistema Linux baseado na distro Debian (é o caso do Ubuntu). Mas podem ser facilmente adaptadas a outras distros.

Como instalar o FTP

O servidor FTP do qual vamos tratar aqui é o popular proFTPd. Sua instalação pode ser feita em uma única linha de comando:

  • Abra uma terminal (Ctrl + Alt + T)
  • Dê o seguinte comando:sudo apt-get install proftpd

Durante o processo de instalação, o Debconf vai perguntar se você deseja usar o inetd ou o autônomo (versão em português). A última costuma ser a mais indicada para a maioria das pessoas – além do fato de que usar o inetd vai pedir outras configurações…

2013-04-22-1366655411_1024x600

Como configurar proftpd

Feita a instalação, alguns ajustes podem ser benvindos no arquivo de configuração. No Debian ele costuma ser /etc/proftpd/proftpd.conf. No Ubuntu ele é /etc/proftpd.conf.
Uma dica rápida: com o comando man proftpd você pode descobrir onde ficam os arquivos de configurações deste ou outro aplicativo, dentro da seção FILES.
apague-me-Sem título

O diretório home do usuário FTP

Para que cada usuário tenha acesso apenas aos seus próprios arquivos, descomente a linha
DefaultRoot ~.

Como permitir acesso anônimo ao servidor FTP

Há uma seção dentro do proftpd.conf  que trata disto. Normalmente, basta descomentar as linhas desta seção. Veja como está no meu arquivo. Se for o caso, adapte para as suas necessidades:

<Anonymous ~ftp>
User ftp
Group nogroup
# We want clients to be able to login with "anonymous" as well as "ftp"
UserAlias anonymous ftp

# Cosmetic changes, all files belongs to ftp user
DirFakeUser on ftp
DirFakeGroup on ftp

RequireValidShell off

# Limit the maximum number of anonymous logins
MaxClients 10

# We want 'welcome.msg' displayed at login, and '.message' displayed
# in each newly chdired directory.
DisplayLogin welcome.msg
DisplayFirstChdir .message

# Limit WRITE everywhere in the anonymous chroot
<Directory *>
<Limit WRITE>
DenyAll
<Limit>
<Directory>
</Anonymous>

Com estas opções os seus usuários poderão acessar o seu servidor como anonymous e ftp. Não poderão fazer uploads, apagar ou alterar arquivos. O acesso, neste caso, é só para leitura.

Mensagem de boas vindas

A mensagem de boas vindas (welcome message) do seu servidor proFTPd pode ser alterado em /home/ftp/welcome.msg. Trata-se de um arquivo de texto simples que é exibido pros usuários assim que autenticam.

Por último…

… mas, nem por isto, menos importante. Para que as alterações feitas ao arquivo de configuração tenham efeito, é necessário reiniciar o servidor FTP:
sudo /etc/init.d/proftpd restart

Divirta-se e não se esqueça de compartilhar! 😀

Como configurar o Vim para fazer realce de sintaxe.

Aqui, o assunto vai ser um editor de textos simples presente em quase todas as distro Linux, justamente por ser extremamente leve (acho que este não é bem o caso do vim) e, além de tudo, é extremamente ‘espartano’ no seu visual.
Não se engane com “as roupas simples” do nosso amigo. Ele tem mais recursos que o leafpad, gEdit ou o Notepad (Windows).

Gosto de algumas coisas no Vi, ou Vim.
A possibilidade de executar dentro de um terminal transparente e poder editar os meus arquivos de configuração e contemplar o meu papel de parede preferido enquanto trabalho, é uma delas.
A leveza deste aplicativo completo também se destaca.

Alternativas ao Vim

há várias outras alternativas disponíveis por aí.
E é sempre disso que estamos falando, quando o assunto é software livre: escolhas e liberdade de escolha.
Uma, que eu gosto muito é o nano e ele já tem o recurso syntax highlighting disponível como padrão e costuma vir ‘empacotado’ na maioria das distro.

Como ativar o syntax highlighting no Vim

O caso, aqui, é simples para ser resolvido.
Inicie o editor, com o arquivo código do seu programa (eu vou usar o ‘startx’, no exemplo):


vim -R /usr/bin/startx
  • Note que usei a opção ‘-R’ (read only mode), para evitar fazer alterações acidentais no arquivo.
    Dentro do editor, digite o seguinte comando:

:set syntax on

Isto deve resolver o problema.

Ops! Mensagem de erro E319…

Você ainda está aqui? Recebeu uma mensagem de erro?
vimrc-config2

Se você está usando a versão mais simplificada do vi, saiba que ela não tem o recurso de realce da sintaxe do código.
Isto gera a mensagem de erro: “E319: Sorry, this command is not available in this version“.
Para resolver, instale a versão mais avançada, Vim (vi improved):


sudo apt install vim

O exemplo, acima, é voltado para uso no Debian ou no Ubuntu (e nas distribuições derivadas deles).

Editando o arquivo de configuração do Vim

Uma solução definitiva e melhor é editar o arquivo de configuração do Vim.
Abra-o com o seu editor favorito e edite a linha syntax off para syntax on. Se estiver apenas comentado, retire os “#”, tal como na figura:
vimrc-config

No Ubuntu, o arquivo de configuração do vim é /etc/vim/vimrc.
Ao editá-lo, a solução torna-se definitiva.
Happy coding!

Como copiar arquivos recursivamente no linux (no terminal)

Você provavelmente veio parar aqui por que usou um comando semelhante a este:
cp -r /origem/*.mp3 /destino/
e não funcionou.
Há várias formas de fazer isto, com arquivos de qualquer extensão (*.mp3, *.jpg, *.txt etc.). Como você já sabe, cp -r não é uma delas.

Como copiar arquivos recursivamente com os comandos find e cpio

Estes comandos dão conta do recado. O primeiro encontra os arquivos do tipo desejado, recursivamente. O outro faz a cópia, mantendo a estrutura de diretórios.
Adapte a linha de comando, que segue, para que ela atenda às suas necessidades.
$ find /caminho/de/origem/ -name ‘*.mp3’ | cpio -pdm /caminho/de/destino/

LEIA MAIS

Veja o que as opções ‘-pdm’ fazem:

  • -p habilita a operação de cópia recursiva
  • -d cria a estrutura de diretórios no destino, de acordo com a original
  • -m preserva as datas de modificação dos arquivos

Vale a pena encerrar um aplicativo Android com task killers? Entenda por que não.

android-logo
Sempre que o assunto é gerenciamento de memória no Android este tema vem à tona.
Task killers são programas que servem para fechar arbitrariamente outros programas. Quem usa Linux talvez conheça o xKill, que serve para fechar qualquer aplicativo, desde que ele tenha alguma janela em exibição na tela.

POSTS RELACIONADOS

Embora seja útil para desenvolvedores ou profissionais que estejam fazendo testes, entre outros, para o usuário normal fazer uso de um task killer (assassino de tarefas, em português) pode ajudar a bagunçar o seu sistema em vez de torná-lo mais leve e rápido, como te prometeram.

O que é RAM

RAM (Random Access Memory ou memória de acesso aleatório, em português) é uma área, no seu aparelho, para armazenar os seus dados, enquanto ele estiver ligado. Cada sistema operacional faz um uso da RAM do dispositivo em que se encontra instalado.
Como o seu dispositivo não tem HD (disco rígido), ele vai usar a RAM para as mesmas atividades, manter aplicativos e dados em local mais acessível para o processador, uma vez que este tipo de memória tem um tempo de acesso muito melhor do que o cartão SD. É aonde os dados que precisam ser acessados mais vezes ficarão armazenados temporariamente.

Aplicativos em execução

Não estou dizendo que aplicativos de monitoramento do sistema sejam ruins. Este tipo de ferramenta tem sido usado desde o início da popularização dos PC’s, na década 80 e ninguém morreu até agora. Veja aqui o modo hacker de checar o uso da memória no seu dispositivo.
O Android, tal como outros sistemas operacionais construídos sobre as raízes do Unix têm algo em comum, no que toca a RAM:

RAM não usada é RAM desperdiçada

O nosso Android, tal como o MacOS e o Ubuntu, deseja usar toda a memória RAM possível. Ele foi projetado para isto. Há ajustes (chamados “minfree“) que dizem ao sistema quanto de RAM deve ser deixado livre e disponível. Mas, para o resto, o sistema está programado para preencher o espaço mais rápido possível e manter-se assim.
Já se perguntou “com o quê ele preenche este espaço?”. É uma boa pergunta.
Depois que o sistema, em si, tiver sido carregado, junto com tudo o que ele precisa imediatamente para funcionar, o sistema continua a carregar os seus aplicativos à medida em que são usados, até que uma função interna diga para parar.
O aplicativo atualmente aberto estará, com certeza, na memória RAM, mesmo depois de fechado. O próximo também será armazenado lá e assim em diante. Quando o sistema precisar de mais memória para algum outro aplicativo, ele vai desocupar os lugares que não estiverem mais sendo usados.
Ainda que você tenha 100 apps em seu aparelho, só deve usar alguns com frequência. Há grande probabilidade de eles já estarem armazenados na RAM, o que torna a sua abertura mais rápida. Neste caso eles não precisam ser lidos do cartão SD, o que economiza seu tempo e sua bateria. Note que a leitura/escrita do cartão consome mais energia do que o acesso à RAM, além de ser mais lenta.
Veja bem. O que ele faz é manter o Google Talk (ou qualquer outro aplicativo) na memória RAM, depois de fechado, para abri-lo quase instantaneamente na próxima vez, já que não será mais necessário ler o cartão.
Por este ponto de vista é que não vale a pena eliminar o programa da memória. Caso você não o use mais e o espaço que ele ocupa se torne necessário para armazenar outras coisas, o sistema se encarregará de fazer isto. Caso contrário, ele irá abrir mais rápido para você depois.
Já imaginou ter que carregar o messenger do cartão a cada vez que chega uma notificação de nova mensagem?
Desta forma, acredito que tenha ficado claro que os aplicativos, na memória RAM, não estão consumindo espaço à toa. Estão poupando a sua bateria e não estão sequer importunando a sua CPU. Estão apenas prontos para carregar mais rápido na próxima vez em que forem requisitados.

Cada vez menos, estes problemas importam

Os aparelhos Android têm evoluído a uma grande velocidade, ainda enquanto estão sobre nossas mãos – Os softwares estão melhores, os aparelhos estão melhores e a galera que escreve os programas está se tornando melhor nisto. A evolução das ferramentas de programação, também merece destaque.
Alguns programas mais parrudos podem demorar para serem fechados, mas serão fechados – tenha nervos. Arme-se de paciência para lidar com isto ou os desinstale, até poder comprar um aparelho com mais memória e maior capacidade de processamento. Mesmo aplicativos bem escritos podem demorar para descarregar e limpar a memória dos dados usados durante a sessão.
Ao matar um aplicativo arbitrariamente, você pode “vê-lo” sumir da memória, mas podem continuar lá alguns sub-aplicativos ou plugins zumbis ou órfãos, que seriam fechados graciosamente pelas vias normais.
Para ter uma ideia do quanto isto é prejudicial ao sistema, desenvolvedores do kernel são enfáticos ao pedir que não se use task killers.

O cenário atual

Os aparelhos (celulares, tablets etc) estão vindo com uma quantidade mais decente de memória e capacidade de processamento capaz de fazer um netbook corar de vergonha. O gerenciamento de memória do Android acompanhou esta evolução do hardware. Há cada vez menos motivos para se confiar em task killers.

O melhor conselho

Deixe o Android fazer o seu trabalho, gerenciar a memória e os outros recursos do seu dispositivo. Pare de se preocupar com isto.

😉

Gerenciamento de memória no Android

Saiba como analisar e entender o uso da memória no seu aparelho Android, através do meminfo, em conjunto com algumas outras ferramentas.
Para poder realizar os procedimentos relatados aqui, você vai precisar instalar o aplicativo de terminal do Android — clique no link, abaixo, para ir para a página de downloads, na Play Store
— Página de download do Android terminal na loja oficial do Google.
O meminfo é um arquivo e vamos fazer um acesso a ele de um modo não convencional.
Para isto, abra o Android terminal, que você acabou de instalar.

Como acessar as informações da memória do Android

Digite o seguinte comando no terminal do seu celular:

cat /proc/meminfo

O resultado vai ser algo parecido com o que você obteria em qualquer máquina Linux.
Na figura, abaixo, um exemplo do conteúdo do arquivo /proc/meminfo em uma máquina com o Ubuntu.
Captura de tela de 2013-03-26 16:44:41
Com a leitura adequada, o arquivo meminfo pode ajudar a entender o uso atual da memória do seu aparelho. Leve em consideração há variações entre as várias versões do Android.
Vejamos alguns itens:

  • MemTotal: A memória total do sistema (ou seja, memória RAM física menos alguns bits e o código binário do Kernel).
  • MemFree: É o que resta, sem uso, da memória total, no momento.
  • Buffers: A quantidade de memória em cache de buffer
  • Cached: Memória no cache de página, menos o SwapCache
  • SwapCache: Conteúdo da memória que já foi retirado do swap mas voltou e ainda se contra armazenada no arquivo de swap — se houver necessidade de usar este espaço, ela pode ser descartada (uma vez que há uma cópia do seu conteúdo no arquivo de swap). Segundo desenvolvedores, este procedimento poupa o fluxo de E/S.