sábado, 23 de maio de 2009

Juntar/separar ficheiros em Linux

Quantas vezes precisamos de partir aquele ficheiro gigantesco em ficheiros mais pequenos de forma a ser possível o seu envio, ou quando fazemos download daquele ficheiro, irritantemente separado em vários pedacinhos…

“Mas em Windows usava o HJSplit!”

E então? Em Linux é à moda antiga, comando na consola. Simples, eficaz e sem precisar de programas extra.


Se mesmo assim prefere a interface gráfica, aconselho novamente o HJSplit, na sua versão para Linux. Mas dado que esse programa apenas faz aquilo que lhe vou mostrar de seguida, considero-o um pouco redundante. Fica então ao seu critério. :)

Separar ficheiros

Para separar um ficheiro em vários pequenos ficheiros faça no terminal:

split –bytes=10m /caminho/grande/ficheiro/ /caminho/ficheiro/pequeno

Em que 10m corresponde a separar um grande ficheiro em ficheiros de 10MB.

Atenção: O comando split separa um ficheiro em diversos ficheiros mais pequenos sem qualquer significado individual, não sendo possível visualizar cada ficheiro resultante por si só.

Para personalizar completamente o comando split (tamanho dos ficheiros, sufixos numéricos/alfabéticos), pode correr o comando:

ana@doomy:~/$ split –help
Argumentos obrigatórios para opções longas também o são para opções curtas.
-a, –suffix-length=N usa sufixos de comprimento N (por defeito 2)
-b, –bytes=TAM põe TAM bytes por ficheiro de saída
-C, –line-bytes=TAM põe na maioria TAM bytes de linhas por ficheiro
de saída
-d, –numeric-suffixes usa sufixos numéricos em vez de alfabéticos
-l, –lines=NUMERO põe NUMERO linhas por ficheiro de saída
–verbose mostra um diagnóstico no erro padrão antes de
de cada ficheiro de saída ser aberto
–help mostra esta ajuda e sai
–version mostra a informação da versão e sai

TAMANHO pode ter um sufixo multiplicador:
b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,
GB 1000*1000*1000, G 1024*1024*1024 e por aí fora para T, P, E, Z, Y

Juntar ficheiros

Para juntar vários ficheiros num só ficheiro, basta usar a magia do cat. Fazer cat a todos os ficheiros e “redireccionar” esse output para um único ficheiro.

Imagine que tem vários ficheiros com nomes como “video.avi.001″, “video.avi.002″, “video.003″, etc. Para os juntar num único ficheiro “video.avi”, basta digitar o seguinte comando:

cat video.avi* > video.avi

Em que video.avi* é uma expressão regular que simboliza todos os ficheiros pequenos começados por video.avi.

Atenção: O comando cat une pequenos ficheiros sem qualquer utilidade individual num só ficheiro, esse sim, com utilidade. Quero com isto dizer que, se pretende juntar vários ficheiros de vídeo diferentes num só, esta não é a solução.

E pronto, dependendo do tamanho do ficheiro resultante, poderá demorar mais ou menos tempo a juntá-lo, mas no fim, o resultado será o esperado: um só ficheiro sólido e consistente.

Bons joins e splits!

segunda-feira, 30 de março de 2009

Wireless com o Ndiswrapper: um exemplo prático de como configurar

Aos amigos que estão com dificuldades com identificação de placas sem fio no Ubuntu "precisamente" vai a solução definitiva: Ndiswrapper (Emulação de Drivers do Windows), podemos dizer que o mesmo tem a funcionalidade do Wine (só que o mesmo para emulação de drivers).

Obs: Testes e implantação na versão do Ubuntu 7.10 (x86 e x64) Desktop.

Para as placas não identificadas digite o comando:

# lspci

Deve retornar algo parecido:
0a:09.0 Ethernet controller: Marvell Technology Group Ltd. 88w8335
[Libertas] 802.11b/g Wireless (rev 03)

Após a identificação, instale o pacote ndiswrapper-utils-1.9 com o comando:

# apt-get install ndiswrapper-utils-1.9

Obs: será solicitado o CD do Ubuntu, coloque-o no drive.

Baixe o driver do Windows referente a sua placa wireless. No meu caso foi a Netgear w311 v3.
jimbo7.com

Faça a descompactação do arquivo:

# tar -xzf good_WG311v3-driver.tgz

Instale o driver do Windows.

# ndiswrapper -i /home/administrador/WG311v3.INF

Verifique se o mesmo foi instalado:

# ndiswrapper -l
wg311v3 : driver installed
device (11AB:1FAA) present

Agora, carregue o módulo do driver:

# modprobe ndiswrapper

Se tudo estiver ok, o LED da placa irá acender (ficar piscando), indicando que ela está ativa.

Para que a configuração seja salva e o Ndiswrapper seja carregado durante o boot digite:

# ndiswrapper -m
adding "alias wlan0 ndiswrapper" to /etc/modprobe.d/ndiswrapper...

Para adicionar ao boot do Ubuntu:

# echo ndiswrapper >> /etc/modules

Pronto! Sua placa está instalada e pronta para conectar.


Fonte: Viva o Linux - A maior comunidade Linux do Brasil!
Autor: Adivair Júnior

quinta-feira, 12 de fevereiro de 2009

Como partilhar ligação de internet numa rede caseira

Aqui fica um pequeno tutorial de como partilhar uma ligação de internet com linux. Serve principalmente para quem possui uma máquina linux, como PC principal, e quer partilhar essa ligação em casa com os restantes PC's sejam eles linux ou nao.

Abrir uma consola e entrar como root:
sudo -s -H

Começar por configurar a placa de rede utilizada para ligar a outros pc's:
ifconfig ethX 192.168.0.1

Em que o X em ethX é o numero da placa de rede, se for o caso de só existir uma é eth0, ou entao se for wireless será wlan0.

Agora é configurar a NAT:
iptables -t nat -A POSTROUTING -o ethX -j MASQUERADE

Onde ethX é a placa de rede que comunica com a internet, no caso de ser por cabo, tens que dizer qual o numero dela, caso seja por usb normalmente irá ser ppp0.

De seguida executar:
echo 1 > /proc/sys/net/ipv4/ip_forward

Instalar o dnsmasq e o ipmasq usando o apt-get:
apt-get install dnsmasq ipmasq

Reeniciar o dnsmask:
/etc/init.d/dnsmasq restart

Reconfiguar o ipmask:
dpkg-reconfigure ipmasq

Aqui deixem tudo como predefenido e quando vos perguntar quando o ipmask deve ser iniciado, escolher "After network services have been started"

Repetir os passos 2 e 3

Adicionar a linha "net.ipv4.ip_forward = 1" ao ficheiro /etc/sysctl.conf
gedit /etc/sysctl.conf

no caso de utilizarem o ubuntu server usar:
vi /etc/sysctl.conf


Reeniciar o computador e já esta a funcionar correctamente