Wi-fi no Debian via terminal

Para instalar wifi ou wireless no Debian via terminal utilize o wpa_supplicant

# apt-get install wpasupplicant

edite o arquivo /etc/network/interface

auto ath0
iface ath0 inet dhcp
wpa-driver wext
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

edite o arquivo /etc/wpa_supplicant/wpa_supplicant.conf

network={
ssid=”wireless-is-a-lie”
psk=”passw0rd”
}

fontes:

https://blog.nelhage.com/2008/08/using-wpa_supplicant-on-debianubuntu/

https://sempreupdate.com.br/como-conectar-wifi-via-terminal-linux/

Backup Linux

Considero essa forma a mais eficiente e elegante de se fazer um backup. Pois é um backup automático incremental com controle de versão e gera logs para controle/monitoramento.

Utilizo para isso os softwares LIVRES: SSH, CRON, RSYNC. A ideia é ter dois servidores o de produção e o de backup, o servidor de backup deve fazer semanalmente uma copia de varias pastas do servidor da produção. Cada copia deve ser datada e ter um arquivo do log da copia também datado. Essas copias são na verdade copias com hardlink do Linux a ideia é copiar o conteúdo do ultimo backup para um nova pasta com “cp -l ” e depois atualizar ela com o servidor usando o rsync, assim teremos um backup incremental e versionado por data! Sem falar que economizamos muito espaço em disco, banda de rede e tempo de backup com esse procedimento.

ver : http://www.vivaolinux.com.br/artigo/Backups-remotos-com-rSync-e-chaves-SSH

Por partes:

1 – SSH com autenticação via chaves publica/privada:

http://ramonrdm.wordpress.com/2011/08/16/autenticacao-com-chaves-publicaprivada-no-ssh/

2 – Instalação do Rsync:

4 – Criação do script de backup

bkp incremental hardlinks:

#!/usr/bin/env bash
#
# Faz backups incrementais de diretorios em um servidor remoto utilizando rsync e
# hardlinks para economia de banda e espaço em disco.
#
# Por Vinicius Figueiredo <viniciusfs [arroba] gmail.com>
# Dominio Publico
#

SERVER="servidor.com.br"
DIRS_TO_COPY="/var/www /etc"
BACKUP_DIR="/backup"
RETENTION=15

DATE=`date +%Y%m%d`
LOG="${0}_${DATE}.log"

CURRENT_BACKUP="${BACKUP_DIR}/${DATE}"

echo "Iniciando script em `date`" > ${LOG}

if [ -e ${BACKUP_DIR}/last ]; then
    LAST_BACKUP=`cat ${BACKUP_DIR}/last`

    if [ -d ${LAST_BACKUP} ]; then
        echo "Ultimo backup encontrando, linkando arquivos..." >> ${LOG}
        cp -la ${LAST_BACKUP} ${CURRENT_BACKUP} >> ${LOG} 2>&1
    fi
else
    echo "Nenhum backup anterior encontrado, criando diretorio para backup atual..." >> ${LOG}
    mkdir ${CURRENT_BACKUP} >> ${LOG} 2>&1
fi

for dir in ${DIRS_TO_COPY}; do
    echo "Iniciando backup de ${SERVER}:${dir}" >> ${LOG}
    rsync -av --delete ${SERVER}:${dir} ${CURRENT_BACKUP} >> ${LOG} 2>&1
done

echo ${CURRENT_BACKUP} > ${BACKUP_DIR}/last

for dir in `find ${BACKUP_DIR} -maxdepth 1 -type d -mtime +${RETENTION}`; do
    echo "Removendo backup ${dir}" >> ${LOG}
    rm -rf ${dir} >> ${LOG} >> ${LOG} 2>&1
done

5 – Automatizando o backup com o Cron

http://ramonrdm.wordpress.com/2011/09/06/cron-agendando-tarefas/

Usando rsync:

http://servidorlinux.wordpress.com/2008/02/02/backup-com-rsync-sem-senha/

http://www.dicas-l.com.br/arquivo/como_programar_backup_com_rsync_e_cron_de_maneira_rapida_e_simples.php

http://www.vivaolinux.com.br/artigo/Backup-com-Rsync

http://www.vivaolinux.com.br/artigo/Sistema-de-backup-com-rsyncd

Incremental:

http://www.ultrav.com.br/2008/11/11/backup-incremental-com-rsync-e-hardlinks/

http://blog.liquuid.net/2008/05/11/time-machine-no-linux-com-rsync/

outra opcao:

http://www.dicas-l.com.br/arquivo/script_shell_de_backup_incremental.php

http://www.dicas-l.com.br/cantinhodoshell/cantinhodoshell_20070130.php

http://www.vivaolinux.com.br/script/Backup-Remoto-com-rsync-automatico-para-varias-maquinas-sem-senha./

http://www.jveweb.net/en/archives/2011/02/using-rsync-and-cron-to-automate-incremental-backups.html

Criando um HD inicializavel a partir de uma ISO

descobri a pouco tempo um comando bom pra criar um disco de inicialização pra instalar o linux via um hd ou pendrive.
Os programas só servem pra instalar em pendrive mas eu tava com problema pra botar o ISO num hd pra instalação.

Comando:

$ sudo dd if=/home/usuario/Downloads/linuxmint-17-cinnamon-64bit-v2.iso of=/dev/sdc oflag=direct bs=1048576

o sdc era o meu hd externo, só que ele apaga tudo que ta dentro dele

 

Fonte:

Anselmo Junior

$grep -n 'texto' arquivo -r

grep é um aplicativo para linha de comando de sistemas Unix/Linux que faz buscas no conteúdo dos arquivos

-Wikipedia

Exemplos

Busca simples:

$ grep ‘joao’ arquivo.txt

Recursiva

$ grep ‘texto’ /etc/* -r

Mostrando as linhas:

$ grep -n ‘joao’ arquivo.txt

fontes:

http://www.vivaolinux.com.br/artigo/Usando-grep-e-egrep?pagina=2

http://ndvo.blog.br/pt-br/gnulinux/como-procurar-por-uma-string-em-v%C3%A1rios-arquivos/

iptables

Uma configuração de iptables

Você pode aprender tudo sobre Iptables aqui: http://www.guiafoca.org/cgs/guia/avancado/ch-fw-iptables.html

Compartilha a rede externa com a interna e liberar as principais portas do servidor:

#!/bin/bash
#################### Inicio Firewall #################################

modprobe ip_nat
modprobe ip_nat_ftp
modprobe ip_queue
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_tables
modprobe iptable_filter
modprobe iptable_nat
modprobe iptable_mangle
modprobe ipt_state
modprobe ipt_limit
modprobe ipt_multiport
modprobe ipt_mac
modprobe ipt_string
## Limpando as Regras existentes #######
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -t filter -F
iptables -X
iptables -Z

## Definindo politica padrão (Nega entrada e permite saida)
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

## Estabelece relação de confiança entre maquinas da rede local eth0(rede local)
iptables -A INPUT -i eth1 -s 10.1.0.0/255.255.255.0 -j ACCEPT
iptables -A INPUT -i eth1 -m state –state NEW -j ACCEPT
iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT

############################ Compartilhamento Internet #########################
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

### SSH
iptables -A INPUT -p tcp –dport 22 -j ACCEPT
### HTTP
iptables -A INPUT -p tcp –dport 80 -j ACCEPT
### HTTPS
iptables -A INPUT -p tcp –dport 443 -j ACCEPT
### SMPT
iptables -A INPUT -p tcp –dport 25 -j ACCEPT
### IMAP
iptables -A INPUT -p tcp –dport 143 -j ACCEPT
### IMAPS
iptables -A INPUT -p tcp –dport 993 -j ACCEPT
### POP
iptables -A INPUT -p tcp –dport 110 -j ACCEPT
### POPS
iptables -A INPUT -p tcp –dport 465 -j ACCEPT
### ???
iptables -A INPUT -p tcp –dport 587 -j ACCEPT
### POPS
iptables -A INPUT -p tcp –dport 995 -j ACCEPT
### ICMP e ping
iptables -A INPUT -p icmp  -j ACCEPT

######################################## Fim ###################################

 

Para salvar no Debian:

# iptables-save > /etc/default/iptables

# iptables-restore < /etc/default/iptables

 

Fontes:

http://www.guiafoca.org/cgs/guia/avancado/ch-fw-iptables.html

http://deangerber.com/blog/2011/09/10/basic-iptables-firewall-configuration/

http://www.rackspace.com/knowledge_center/article/mail-server-opening-ports-in-the-linux-firewall

Recuperação de dados

Vou apresentar algumas ferramentas do mundo GNU que permitem recuperar dados, partições e arquivos de extensão especifica. Eles podem ser decisivos na hora que tudo deu errado.

Primeiro o magnifico TestDisk, com ele você pode recuperar partições inteiras!

Uso: http://www.hardware.com.br/livros/ferramentas-linux/usando-testdisk.html

Agora se você precisa recuperar aquivos deletados você pode usar o PhotoRec que foi criado inicialmente para recuperar fotos de cartões digitais, mas pode ser usado para recuperar em mídia agora. Ele recuperar até o que você não quer… tome cuidado.

Uso: http://www.hardware.com.br/livros/hardware/usando-photorec.html

e : http://www.vivaolinux.com.br/artigo/Recuperacao-de-Dados-com-o-PhotoRec

Temos também o dd_rescue que recupera os arquivos mesmo que eles estejam em setores defeituosos, em casos de arquivos ou imagens pode ser muito útil, pois mesmo copiando com dados imprecisos você consegue recuperar a parte boa do arquivo.

Uso: http://www.hardware.com.br/livros/ferramentas-linux/copiando-dados-hds-cds-defeituosos.html

Recomendo a leitura de :

http://www.hardware.com.br/livros/hardware/capitulo-sistemas-arquivos-recuperacao-dados.html

http://www.vivaolinux.com.br/artigo/Recuperando-discos-danificados-com-o-myrescue/?pagina=1

Criando partição maior que 2 TB no Linux

Descobri somente na pratica que o MBR está limitado para partições de até 2 TB, mas para maiores temos uma solução o GPT!

Para mais informações olhe as fontes!

Aqui vai como fazer:

Vendo dados do Disco

# fdisk -l /dev/sdb

Saida:

Disk /dev/sdb: 3000.6 GB, 3000592982016 bytes
255 heads, 63 sectors/track, 364801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/sdb doesn't contain a valid partition table

Criar um partição de 3 TB

# parted /dev/sdb

Saída:

GNU Parted 2.3
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)

Criando um novo rotulo do tipo GPT:

(parted) mklabel gpt

saída:

Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? yes
(parted)

Setar para TB a unidade de medida:

(parted) unit TB

Criando a partição com 3TB:

(parted) mkpart primary 0.00TB 3.00TB

Imprimindo o resultado:

(parted) print

Sample outputs:

Model: ATA ST33000651AS (scsi)
Disk /dev/sdb: 3.00TB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number  Start   End     Size    File system  Name     Flags
 1      0.00TB  3.00TB  3.00TB  ext4         primary

Saindo e salvando as mudanças:

(parted) quit

Agora utilize o mkfs.ext4 para formatar a partição criada!

# mkfs.ext4 /dev/sdb1

 

Pronto! Linux é foda né?

Fontes:

http://www.ibm.com/developerworks/br/linux/library/l-gpt/

http://www.cyberciti.biz/tips/fdisk-unable-to-create-partition-greater-2tb.html

http://www.vivaolinux.com.br/artigo/Exemplos-praticos-de-comandos-com-Parted?pagina=1