Linux – DevHouse Internet Software Development House http://localhost:8080 Desenvolvimento de Sistemas para Internet e Mobile Tue, 23 Jun 2026 08:58:43 +0000 pt-BR hourly 1 https://wordpress.org/?v=4.8.14 [Dica] Ícone do Skype não aparece no Ubuntu http://localhost:8080/dica-icone-do-skype-nao-aparece-no-ubuntu/ http://localhost:8080/dica-icone-do-skype-nao-aparece-no-ubuntu/#respond Thu, 27 Aug 2015 18:43:55 +0000 http://www.devhouse.com.br/?p=879 Para fazer o ícone do Skype aparecer no systray do Unity no Ubuntu adicione o pacote sni-qt com o seguinte comando:

sudo apt-get install sni-qt:i386

Faça log out ou reinicie e pronto!

]]>
http://localhost:8080/dica-icone-do-skype-nao-aparece-no-ubuntu/feed/ 0
Copiar / Download de um site inteiro com WGET [ripar] http://localhost:8080/copiar-download-de-um-site-inteiro-com-wget-ripar/ http://localhost:8080/copiar-download-de-um-site-inteiro-com-wget-ripar/#respond Sat, 11 Oct 2014 08:44:03 +0000 http://www.devhouse.com.br/?p=765 Para copiar um site inteiro, incluindo fotos, arquivos js e css usando o wget no Linux execute o seguinte comando:

 

$ wget \
     --user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36" \
     --recursive \
     --no-clobber \
     --page-requisites \
     --html-extension \
     --convert-links \
     --restrict-file-names=windows \
     --domains exemplo.com \
     --no-parent \
     -e robots=off \
     --load-cookies=cookies.txt \
         exemplo.com/blog

o parâmetro –domains informa ao wget para só baixar arquivos daquele domínio.
O último diz de qual raiz copiar. Nesse caso eu só copiaria os arquivos, recursivamente, do /blog do site exemplo.com.

A explicação dos parâmetros segue abaixo. Depois eu traduzo:

–recursive: download the entire Web site.

–domains website.org: don’t follow links outside website.org.

–no-parent: don’t follow links outside the directory tutorials/html/.

–page-requisites: get all the elements that compose the page (images, CSS and so on).

–html-extension: save files with the .html extension.

–convert-links: convert links so that they work locally, off-line.

–restrict-file-names=windows: modify filenames so that they will work in Windows as well.

–no-clobber: don’t overwrite any existing files (used in case the download is interrupted and
resumed).

]]>
http://localhost:8080/copiar-download-de-um-site-inteiro-com-wget-ripar/feed/ 0
Habilitando Syntax Highlighting no Nano http://localhost:8080/habilitando-syntax-highlighting-no-nano/ http://localhost:8080/habilitando-syntax-highlighting-no-nano/#respond Mon, 29 Sep 2014 18:29:06 +0000 http://www.devhouse.com.br/?p=750 Estou desenvolvendo um software em PHP e testando algumas modificações direto no servidor. Para editar os arquivos php eu uso o nano (não me acostumei ao vi). Então senti falta de cores no código para facilitar a compreensão e tirar um pouco a monotonia do monocromático. E funciona via ssh!

Veja se os arquivos de highlight estão no diretório /usr/share/nano/

$ ls /usr/share/nano/
asm.nanorc     fortran.nanorc   man.nanorc     ocaml.nanorc   ruby.nanorc
awk.nanorc     gentoo.nanorc    mgp.nanorc     patch.nanorc   sh.nanorc
c.nanorc       groff.nanorc     mutt.nanorc    perl.nanorc    tcl.nanorc
cmake.nanorc   html.nanorc      nano-menu.xpm  php.nanorc     tex.nanorc
css.nanorc     java.nanorc      nanorc.nanorc  pov.nanorc     xml.nanorc
debian.nanorc  makefile.nanorc  objc.nanorc    python.nanorc

No meu caso todos os arquivos estavam lá exceto o php.nanorc. Justo o que eu precisava. Então peguei da net. Segue ele na íntegra:

## PHP Syntax Highlighting
syntax "php" "\.php[2345s~]?$"
color white start="<\?(php|=)?" end="\?>"
# Functions
color brightblue "([a-zA-Z0-9_-]*)\("
# Constructs
color brightblue "(class|extends|goto) ([a-zA-Z0-9_]*)"
color green "[^a-z0-9_-]{1}(var|class|function|echo|case|break|default|exit|switch|if|else|elseif|endif|foreach|endforeach|@|while|public|private|protected|return|true|false|null|TRUE|FALSE|NULL|const|static|extends|as|array|require|include|require_once|include_once|define|do|continue|declare|goto|print|in)[^a-z0-9_-]{1}"
color brightblue "[a-zA-Z0-9]+:"
# Variables
color white "\$[a-zA-Z_0-9$]*|[=!<>]"
color white "\->[a-zA-Z_0-9$]*|[=!<>]"
# Special Characters
color yellow "[.,{}();]"
color yellow "\["
color yellow "\]"
color yellow "[=][^>]"
# Numbers
color magenta "[+-]*([0-9]\.)*[0-9]+([eE][+-]?([0-9]\.)*[0-9])*"
color magenta "0x[0-9a-zA-Z]*"
# Special Variables
color brightblue "(\$this|parent::|self::|\$this-\>)"
# Bitwise Operations
color magenta "(\;|\||\^){1}"
# And/Or/SRO/etc
color green "(\;\;|\|\||::|=>|->)"
# Online Comments
color brightyellow "(#.*|//.*)$"
# STRINGS!
color red "('[^']*?')|(\"[^\"]*?\")"
# Inline Variables
color white "\{\$[^}]*\}"
# PHP Tags
color red "(<\?(php)?|\?>)"
# General HTML
color red start="\?>" end="<\?(php|=)?"
# trailing whitespace
color ,green "[^[:space:]]{1}[[:space:]]+$"
# multi-line comments
color brightyellow start="/\*" end="\*/"

Gravei o arquivo php.nanorc em uma pasta do meu usuario mesmo. Depois precisei criar um arquivo .nanorc e incluir o caminho para os arquivos de sintaxe:

$ nano ~/.nanorc
include /usr/share/nano/sh.nanorc
inclue ~/php.nanorc

E pronto, é só editar um arquivo php:

nano-syntax-highlight

Nano com Syntax Highlight

]]>
http://localhost:8080/habilitando-syntax-highlighting-no-nano/feed/ 0
Redimensionar Imagens em Lote no Linux [ImageMagick Batch Resize] http://localhost:8080/redimensionar-imagens-em-lote-no-linux-imagemagick-batch-resize/ http://localhost:8080/redimensionar-imagens-em-lote-no-linux-imagemagick-batch-resize/#comments Mon, 05 May 2014 03:00:16 +0000 http://www.devhouse.com.br/?p=683 ImageMagick é um conjunto de ferramentas para manipulação e edição de imagens direto do shell.

Nesta dica vamos falar apenas do comando convert que faz parte do ImageMagick.

Muitas vezes é útil reduzir imagens tiradas da Câmera Digital antes de enviá-las para a internet. Imagens de câmeras digitais podem chegar facilmente a 20 Megabytes por isso diminui-las economiza tempo no upload.

Então vamos lá: A primeira coisa é instalar o imagemagick:

sudo apt-get update
sudo apt-get install imagemagick

Com o imagemagick instalado entre na pasta que contém mas imagens e crie uma pasta que chamaremos neste exemplo de “reduzidas” e execute o seguinte comando alterando os parâmetros de acordo com suas preferências.

mkdir reduzidas
find . -maxdepth 1 -iname "*.jpg" | xargs -l -i convert -resize 1920x1080 -quality 70% -density 72 {} ./reduzidas/{}
  • find . -maxdepth 1 -iname “*.jpg”: este comando lista as imagens com extensão jpg apenas no diretório atual, sem entrar nos subdiretórios (-maxdepth 1).
  • xargs -l -i executa o comando convert fornecendo os nomes de arquivo que o  comando find encontrou.
  • convert é o comando da imagemagick para conversão de formatos.
  • -resize 1920×1080: altere para as dimensões que o arquivo ficará após o redimensionamento.
  • -quality 70%: aplicável apenas para JPG. Altere para a qualidade do jpg final. 0% – 100%.
  • -density 72: DPI da imagem. No meu caso eu tenho várias imagens em 300 DPI e quero elas em 72. Você pode omitir a opção caso não precise alterar o dpi.
  • ./reduzidas/: diretório onde serão salvas as imagens reduzidas.

That’s all folks!

]]>
http://localhost:8080/redimensionar-imagens-em-lote-no-linux-imagemagick-batch-resize/feed/ 4
Como corrigir o GPG error NO_PUBKEY no Linux (Ubuntu / Debian / Mint) http://localhost:8080/como-corrigir-o-gpg-error-no_pubkey-no-linux-ubuntu-debian-mint/ http://localhost:8080/como-corrigir-o-gpg-error-no_pubkey-no-linux-ubuntu-debian-mint/#comments Wed, 23 Apr 2014 15:32:38 +0000 http://www.devhouse.com.br/?p=666 GPG Error NO_PUBKEY

GPG Error NO_PUBKEY

Ultimamente eu tenho encontrado um erro GPG ao executar o apt-get update:

$ sudo apt-get update
W: GPG error: http://ppa.launchpad.net saucy Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 2EE5793634EF4A35

O erro acontece porque não foi possível encontrar a chave de criptografia no sistema. Para corrigir basta adicionar a chave (sequencia de caracteres após NO_PUBKEY).

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 2EE5793634EF4A35

Agora pode rodar o apt-get update que deve funcionar normalmente.

]]>
http://localhost:8080/como-corrigir-o-gpg-error-no_pubkey-no-linux-ubuntu-debian-mint/feed/ 3
Instalação do Debian Linux no Galaxy Tab 10.1 http://localhost:8080/instalacao-do-debian-linux-no-galaxy-tab-10-1/ http://localhost:8080/instalacao-do-debian-linux-no-galaxy-tab-10-1/#comments Mon, 26 Nov 2012 03:26:13 +0000 http://www.devhouse.com.br/?p=435 Desde que comprei o Galaxy Tab lí que era possível rodar linux no android. Logo ví que isso poderia ser útil: ter um sistema linux completo na ponta dos dedos. Melhor ainda: até comprei o keyboard dock original samsung e um mouse bluetooth para deixar a brincadeira ainda melhor.

Debian Linux Squeeze LXDE Desktop

Debian Linux Squeeze rodando no Galaxy Tab 10.1 com Android ICS.

Existem dois aplicativos na Play Store que fazem este “serviço” para você.

Linux Installer Standard foi o primeiro que fiquei sabendo da existência. Ele permite que você instale as distribuições Debian ou Ubuntu e ainda pode selecionar a versão. Tentei fazer a instalação a partir dele pois é o que mais tem recursos para você personalizar seu linux. Não tive sucesso. O processo de debootstrap não concluía. Tentei todas as alternativas possíveis e artimanhas, gambiarras e nada. Só perdi tempo. Talvez seja diferente para você.

Uma alternativa era o Complete Linux Installer. Este é moleza de usar e funcionou bem para mim. Ele permite a instalação das distros Debian, Ubuntu, Arch, Backtrack e Fedora. O problema dele é que você não tem muitas escolhas de personalização da imagem a ser criada, até porque ela já está pronta e ele só faz o download para o seu dispositivo android. Mas o problema principal foi que eu desejava instalar o Debian Wheezy mas o app só possui o Debian 4 com xfce. Não gostei.

Pelos motivos que descrevi acima decidi criar a minha própria imagem de disco do tamanho que eu queria e com o Linux configurado como eu desejava. Se você quiser pode fazer o download dela no link abaixo. Ela foi testada no Galaxy Tab 10.1 mas deve funcionar em qualquer android com processador arm.


Fiz um vídeo demonstrando o linux no galaxy tab:

Requerimentos:


  • Uma maquina com Debian ou Ubuntu (usei meu Linux Mint Debian Edition).
  • Galaxy Tab 10.1 rootado com BusyBox instalado.
  • Muita paciência.

Criando a Imagem:


Na maquina com o Linux você precisará instalar o debootstrap.

sudo apt-get update
sudo apt-get install debootstrap

Crie uma imagem em branco, depois formate e monte ela.

dd if=/dev/zero of=squeeze.img bs=1M count=2048

sudo mkfs.ext4 -F squeeze.img

sudo mkdir /mnt/squeeze/
sudo busybox mount -t ext4 -o loop squeeze.img /mnt/squeeze/


Nota: O arquivo de imagem acima é para 2GB. Mude o count para o tamanho que desejar (a instalação do lxde ocupa mais de 800 MB)


Rode o debootstrap e instale o sistema na imagem.

sudo debootstrap --verbose --arch armhf --foreign squeeze /mnt/squeeze/ http://ftp.debian.org/debian

Desmonte a imagem

sudo umount /mnt/squeeze

Instalação da Imagem no Android


Crie uma pasta no Android. Eu coloquei em /sdcard/Debian. Copie a imagem para a pasta.

A instalação resume-se em:

  • Criar um ponto de montagem e montar a imagem.
  • Chroot para a imagem do Debian.
  • Definição de variáveis de ambiente.
  • Rodar a segunda parte do debootstrap

Sugiro a instalação de um emulador de terminal para o android. Eu uso o Better Terminal Emulator. Você pode usar o adb shell também.
Digite os seguintes comandos no terminal. O código está comentado para facilitar a compreensão.

# Torne-se root.
su

# Crie um ponto de montagem e monte a imagem nele.
mkdir /data/local/debian
busybox mount -o loop,noatime -t ext4 /sdcard/Debian/squeeze.img /data/local/debian

# Faça chroot para o Debian
chroot /data/local/debian/ /bin/sh

# Defina algumas variáveis de ambiente
export PATH=$bin:/usr/bin:/usr/sbin:/bin:$PATH
export TERM=linux
export HOME=/root
export USER=root

# Defina o prompt do shell
export PS1='$USER@$HOSTNAME:${PWD-?} # '

# Termine o debootstrap
/debootstrap/debootstrap --second-stage

# Inicie um shell do bash
/bin/bash


Não saia do shell antes de mover para a próxima sessão.


Primeiro Boot


Tecnicamente o sistema está rodando mas ainda precisamos fazer uma última coisa:

# Adicione os repositórios para instalação de pacotes.
echo "deb http://ftp.debian.org/debian/ squeeze main contrib non-free" >> /etc/apt/sources.list
echo "deb-src http://ftp.debian.org/debian/ squeeze main contrib non-free" >> /etc/apt/sources.list

# Faça o primeiro update
apt-get update

Retorne para o Android executando o seguinte comando:

exit

O sistema está pronto para ser usado então precisamos de um script para facilitar a inicialização do Linux. Copie esse script para o diretório onde você colocou a imagem e chame ele de linux.

#!/bin/sh
if [ $EUID -ne 0 ]
then
	echo "Tornando-se root!"
	su -c linux
	exit 1
fi

mnt=/data/local/debian

# Soh eh preciso caso use o nautilus. Se usar outro
# gerenciador de arquivos nao eh necessario.
echo "Remontando a raiz para escrita para escrita..."
busybox mount -o rw,remount /

echo "Montando o Debian Squeeze..."
busybox mount -t ext4 -o loop,noatime squeeze.img $mnt/

echo "Definindo variáveis de ambiente..."
export PATH=$bin:/usr/bin:/usr/sbin:/bin:/sbin:$PATH
export TERM=linux
export HOME=/root
export USER=root
# export PS1='$USER@$HOSTNAME:${PWD-?} # '
export PS1='\[\e[1;31m\][\u@\h \W] \$\[\e[0m\] '

echo "Montando devpts/proc/sysfs..."
busybox mount -t devpts devpts $mnt/dev/pts
busybox mount -t proc proc $mnt/proc
busybox mount -t sysfs sysfs $mnt/sys

# Voce pode colocar aqui o comando para montar o cartao de
# memoria externo tambem. No meu caso o galaxy tab nao tem.
echo "Montando o cartaão de moemória..."
if [ ! -d $mnt/mnt/sdcard ]; then
    mkdir $mnt/mnt/sdcard
fi
busybox mount --bind /mnt/sdcard $mnt/mnt/sdcard

echo "Entrando no Debian Squeeze..."
echo " "
chroot $mnt/ /bin/sh /root/.init.sh

# busybox fuser -m $mnt -k

echo "Desmontando devpts/proc/sysfs..."
busybox umount $mnt/mnt/sdcard
busybox umount $mnt/dev/pts
busybox umount $mnt/proc
busybox umount $mnt/sys

echo "Desmontando Debian Squeeze..."
busybox umount $mnt/

Agora quando quiser rodar o linux abra o emulador de terminal do android e digite os comandos:

cd /sdcard/Debian
su
sh linux

LXDE ou GNOME e VNC Server


O LXDE tem desempenho muito superior ao Gnome em máquinas mais lentas mas é possível instalar os dois como eu fiz.

LXDE:

apt-get install lxde

Gnome:

# Não instale o pacote gnome pois é gigante e cheio de dependências.
# Instale os seguintes pacotes separados:
apt-get install gnome-session gnome-themes gnome-terminal xserver-xorg-core gdm

Durante a instalação aparecerão duas janelas de configuração. Deixe as configurações padrão e continue.
Instale o VNC Server.

apt-get install tightvncserver

O tightvncserver é o servidor vnc padrão. Para melhor desempenho baixe o código fonte do turbovnc e da libjpegturbo e compile.

TurboVNC: http://www.virtualgl.org/Downloads/TurboVNC

Libjpeg-turbo: http://libjpeg-turbo.virtualgl.org/



Para iniciar e parar o vncserver usando “service start” crie o script abaixo em /etc/init.d/vncserver e execute chmod 755 nele.

export HOME="/root"
export USER="/root"
STARTCMD="vncserver -geometry 1280x752"
STOPCMD="vncserver -kill :1"

case $1 in
    start)
        if [ -e /tmp/.X1-lock ] ; then
            echo "VNCServer already running"
        else
            $STARTCMD
        fi
            ;;
    stop)
        $STOPCMD
        ;;
    restart)
        $STOPCMD
        $STARTCMD
        ;;
    *)
        echo "$0 start|stop|restart"
        exit 1
        ;;
esac

exit 0

Execute o comando abaixo para iniciar o vncserver automaticamente.

echo "service vncserver start" >> /root/.bashrc

A primeira vez que você rodar ele vai pedir para entrar com a senha do vnc.

Configure o vncviewer do android para conectar com localhost na porta 5901.

Pronto! Temos o Debian 6 rodando em paralelo com o Android.

Algumas dicas:


Caso o script exit não consiga desmontar a imagem do linux experimente executar o seguinte comando:

killall menu-cached

Para aumentar o tamanho da imagem depois de criada (substitua 256 para a quantidade de megabytes que deseja adicionar):

dd if=/dev/zero bs=1M count=256 >> data.img
e2fsck -f data.img
resize2fs data.img
e2fsck -f data.img

Para mudar para o gnome:

update-alternatives --config x-session-manager
]]>
http://localhost:8080/instalacao-do-debian-linux-no-galaxy-tab-10-1/feed/ 28
Desabilitando o ipv6 no Debian http://localhost:8080/desabilitando-o-ipv6-no-debian/ http://localhost:8080/desabilitando-o-ipv6-no-debian/#respond Mon, 26 Nov 2012 03:13:28 +0000 http://www.devhouse.com.br/?p=553 Já tive problemas antes com o vncserver e o ipv6 e como ainda não uso ipv6…

echo net.ipv6.conf.all.disable_ipv6=1 > /etc/sysctl.d/disableipv6.conf
# ou
sysctl net.ipv6.conf.default.disable_ipv6

Esse comando vai desabilitar o ipv6 no próximo boot. Será necessário também comentar as entradas ipv6 do arquivo /etc/hosts.

]]>
http://localhost:8080/desabilitando-o-ipv6-no-debian/feed/ 0
Instalando o Debian Squeeze no NAS D-Link DNS-320 http://localhost:8080/instalando-o-debian-squeeze-no-nas-d-link-dns-320/ http://localhost:8080/instalando-o-debian-squeeze-no-nas-d-link-dns-320/#comments Mon, 22 Oct 2012 00:45:25 +0000 http://www.devhouse.com.br/?p=513 Esta é a segunda parte do guia de configuração do Debian Linux para o NAS D-Link DNS-320. Estou considerando que você já possui uma instalação funcionando do fonz fun_plug no seu NAS, caso contrário consulte a primeira parte deste guia:

Primeiro Passo: Download do Debian Squeeze

Já existe um pacote do Debian Squeeze preparado para o NAS. Faça o download neste link:

ftp://ftp.dlink.pl/dns/dns-320/driver_software/DNS-320&325_linuxDebian_revA_Squeeze_all_en_20110111.zip

Aproveitei e criei um mirror para o caso deste link sair do ar:

http://www.4shared.com/zip/NzsLLdDt/DNS-320325_linuxDebian_revA_Sq.html

Após o download, descompacte o arquivo. Dentro estão 3 arquivos:

total 154324
-rw-r--r-- 1      2254 Jan 11  2011 DNS-320&325_howto_Linux-Debian-in-chroot.txt
-rw-r--r-- 1       569 Sep 21  2010 fun_plug.debian
-rw-r--r-- 1 158011675 Sep 22  2010 squeeze.tar.gz

Segundo Passo: Instalando o Debian Squeeze

Copie os arquivos fun_plug.debian e squeeze.tar.gz para o Volume_1 no NAS. Renomeie o arquivo fun_plug que já estava no NAS para fun_plug.old e renomeie o arquivo fun_plug.debian para fun_plug.

Não reinicie o NAS ainda. Vamos precisar do fun_plug que já está rodando para configurar o Linux. Conecte via ssh ao seu NAS.

# Substitua 192.168.0.2 pelo IP do seu NAS.
ssh root@192.168.0.2

Agora execute os seguintes comandos:

cd /mnt/HD/HD_a2
gunzip squeeze.tar.gz
tar -xf squeeze.tar
rm squeeze.tar

Reinicie o NAS.

Terceiro Passo: Configurando o Debian

Conecte via ssh ao seu NAS. Usuario root e senha dlink.

# Substitua 192.168.0.2 pelo IP do seu NAS.
ssh root@192.168.0.2

Caso não consiga se conectar em rasão da chave de criptografia ter mudado apague o arquivo ~/.ssh/known_hosts e tente novamente.

Edite o arquivo /etc/apt/sources.list.

nano /etc/apt/sources.list

Remova o repositório que já se encontra listado e insira os seguintes:

deb http://ftp.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.debian.org/debian/ squeeze main contrib non-free

deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free
deb-src http://backports.debian.org/debian-backports squeeze-backports main contrib non-free

deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free

Salve o arquivo e execute os comandos:

apt-get update

# Instalar sudo
apt-get install sudo

# Instalar locales
apt-get install locales

# Selecione a sua locale. Eu uso en_US.UTF-8
dpkg-reconfigure locales

# Atualizar o sistema
apt-get upgrade

# Alterar a senha de root
passwd

# Configure seu Timezone
dpkg-reconfigure tzdata

# Adicionar um usuário para não usar o root.
adduser leonardo
adduser leonardo sudo

Pronto! Agora vocé tem um Debian completo rodando no seu NAS.

]]>
http://localhost:8080/instalando-o-debian-squeeze-no-nas-d-link-dns-320/feed/ 102
Instalando o fonz fun_plug no D-Link DNS-320 NAS http://localhost:8080/instalando-o-fonz-fun_plug-no-d-link-dns-320-nas/ http://localhost:8080/instalando-o-fonz-fun_plug-no-d-link-dns-320-nas/#comments Sun, 21 Oct 2012 21:40:09 +0000 http://www.devhouse.com.br/?p=486 Network Attached Storage

D-Link DNS-320 NAS

O NAS ou Network Attached Storage DNS-320 da D-Link é um servidor de arquivos muito bom e barato que me ajuda a sincronizar e compartilhar arquivos entre os diversos dispositivos na minha rede, como celulares, tablets, notebooks e desktops.

A característica que mais gosto no DNS-320 é a possibilidade de rodar o Debian Linux Squeeze nele.

Não vou discutir muito sobre as suas especificações e funcionalidades pois considero que se você encontrou esta página provavelmente é porque já conhece o equipamento. Caso contrário, neste link você encontrará as suas especificações.

Este tutorial é dividido em duas partes: esta primeira parte abrange a atualização de firmware e a instalação do fonz fun_plug. A segunda parte abrange a instalação e configuração do Debian Linux Squeeze. A intenção é extrair o máximo do hardware. Ter mais controle sobre as configurações e instalar novos software e recursos no seu sistema.

Então, mãos à obra!

Primeiro passo: Atualizar firmware.


O firmware mais atual no momento é o 2.03. Este firmware resolve alguns problemas citados por outros usuários do fórum da D-Link. Comigo não tive problemas com este NAS mas mesmo assim optei por usar a versão mais atual. Faça o download do firmware no link abaixo:

ftp://ftp.dlink.com/Multimedia/dns320/Firmware/dns320_FW_203

Entre na administração do NAS e vá em System Management e Firmware Upgrade. Anexe o arquivo dns320_FW_203 e clique em apply.

Atualizando o Firmware

Atualizando o Firmware

Firmware Atualizado

Firmware Atualizado

Segundo passo: Instalação do Fonz Fun_Plug

Não sei por que diabos se chama fonz fun_plug e nem porque não é algo fornecido pela D-Link apesar de estar mencionado no site, manuais, fórum, etc.
O fun_plug é um script que o NAS procura na raiz do Volume_1 e executa se encontrar. Com este fun_plug você pode adicionar mais funções ao seu NAS como telnet, ssh, apache, php, etc. Veja a lista de pacotes disponíveis neste link:

http://www.inreto.de/dns323/fun-plug/0.7/arm/PACKAGES.html

A raiz do site do fonz fun_plug é:
http://www.inreto.de/dns323/fun-plug/

Apesar de todos os tutoriais encontrados na net apontarem para a versão 0.5 vamos usar a 0.7 pelo motivo óbvio: gosto de versões atualizadas! Baixe os seguintes arquivos:

http://www.inreto.de/dns323/fun-plug/0.7/arm/fun_plug
http://www.inreto.de/dns323/fun-plug/0.7/arm/fun_plug.tgz

Edite o script fun_plug alterando:
/mnt/HD_a2
para:
/mnt/HD/HD_a2

Faça uma cópia do script fun_plug com o nome: fun_plug.ffp

e coloque os 3 arquivos em \\DNS-device\Volume_1 onde “DNS-device” é o IP do seu NAS. 😉

Reinicie o NAS pela interface de administração WEB: Management > System Management > System Settings > Restart

Terceiro Passo: Conectar via Telnet

Se tudo der certo o arquivo fun_plug.tgz terá sido descompactado na pasta ffp e será possível conectar ao NAS por telnet.

# Altere 192.168.0.2 para o IP do seu NAS
 telnet 192.168.0.2

Agora que você está conectado ao NAS, vamos alterar a senha de root e configurar seu shell e pasta home.

pwconv
 passwd
 usermod -s /ffp/bin/sh root
 mkdir -p /ffp/home/root/

# Ignore o erro
 usermod -d /ffp/home/root/ root

# Vamos logar como root
 login

Se tudo funcionar é hora de configurar o ambiente para guardar as alterações caso contrário tudo volta como antes no próximo reboot.

Você vai precisar executar um script para isso. Ele está hospedado no link http://wolf-u.li/u/172/. Caso o link esteja funcionando ainda basta usar o wget para fazer o download:

wget http://wolf-u.li/u/172/ -O /ffp/sbin/store-passwd.sh

Caso o link tenha saido do ar eu copiei o conteúdo do script abaixo:

#!/ffp/bin/sh

PATH=/ffp/sbin:/ffp/bin:$PATH

if [[ -d /usr/local/config/ ]]; then
	echo "Saving Userdata to /usr/local/config/"
	cp -f /etc/passwd /usr/local/config/
	cp -f /etc/group /usr/local/config/
	cp -f /etc/shadow /usr/local/config/
	cp -f /etc/samba/smbpasswd /usr/local/config/
else
	echo "Saving Userdata to flash storage"
	echo "Mounting flash ..."
	mount -t minix /dev/mtdblock0 /sys/mtd1
	mount -t minix /dev/mtdblock1 /sys/mtd2
	echo "Updating files ..."
	for d in /usr/local/config /sys/mtd1 /sys/mtd2 /mnt/HD_a4/.systemfile/AccountFile /mnt/HD_b4/.systemfile/AccountFile; do
		if [ -d "$d" ]; then
			for f in /etc/passwd /etc/group /etc/shadow /etc/samba/smbpasswd; do
				b=$(basename $f)
				if [ -e "$d/$b" ]; then
					echo "  $d/$b"
					cp -f $f $d
				fi
			done
		fi
	done
	echo "Unmounting flash ..."
	sync
	umount /sys/mtd1
	umount /sys/mtd2
fi
# Crie e cole o conteúdo em /ffp/sbin/store-passwd.sh
vi /ffp/sbin/store-passwd.sh

Agora basta executar o script:

store-passwd.sh

Quarto Passo: Habilitar o SSH

chmod a+x /ffp/start/sshd.sh
sh /ffp/start/sshd.sh start

Quinto Passo: Desabilitar o Telnet

Saia da sessão do telnet digitando exit duas vezes e faça o login via ssh.

# Substitua 192.168.0.2 pelo ip do seu NAS
ssh root@192.168.0.2

# Desabilite o telnet
chmod -x /ffp/start/telnetd.sh

# Feche a sessão
exit

Agora reinicie o NAS para testar.

]]>
http://localhost:8080/instalando-o-fonz-fun_plug-no-d-link-dns-320-nas/feed/ 96
apt-file search: resolvendo problemas de “No such file or directory” http://localhost:8080/apt-file-search-resolvendo-problemas-de-no-such-file-or-directory/ http://localhost:8080/apt-file-search-resolvendo-problemas-de-no-such-file-or-directory/#respond Fri, 07 Sep 2012 20:12:05 +0000 http://www.devhouse.com.br/?p=474 Você está tentando compilar um programa no linux mas se depara com a mensagem: “No such file or directory”. Normalmente quando você executa o configure ou o próprio make.

Uma dica boa é instalar o apt-file (caso já não tenha instalado) e executar um search pelo pacote que contenha o tal arquivo faltando e assim resolver o problema.

# Instale o apt-file.
sudo apt-get update
sudo apt-get install apt-file

# Atualize o cache do apt-file.
sudo apt-file update

# Procure pelo arquivo.
sudo apt-file search StdSel.h
    libxmu-headers: /usr/include/X11/Xmu/StdSel.h

# Agora instale o pacote que contém o arquivo.
sudo apt-get install libxmu-headers

# Opcionalmente apague o cache do apt-file para liberar espaço em disco.
sudo apt-file purge

Pronto! Simples mas ajuda muito.

]]>
http://localhost:8080/apt-file-search-resolvendo-problemas-de-no-such-file-or-directory/feed/ 0