domingo, 30 de dezembro de 2007

Divida e junte arquivos e textos com os comandos split e cat

Num certo dia, fui baixar um vídeo no Badongo e observei que o vídeo estava dividido em duas partes. Imaginei que era um arquivo compactado, mas para minha surpresa o arquivo era binário. Ué, mas o que vou fazer com um arquivo binário?! Olhando mais embaixo no site tinha a seguinte mensagem: "Script do dispositivo para mesclar ficheiros Unix/Linux: Clique aqui para fazer o download do dispositivo de mesclar ficheiros".Baixei o script, abri ele e tinha as seguintes linhas:

#/bin/sh
cat heroes.118.by.islifecorp.rmvb.aa heroes.118.by.islifecorp.rmvb.ab > heroes.118.by.islifecorp.rmvb
rm heroes.118.by.islifecorp.rmvb.aa
rm heroes.118.by.islifecorp.rmvb.ab
rm heroes.118.by.islifecorp.rmvb.sh


O comando cat concatena as duas partes do arquivo:

heroes.118.by.islifecorp.rmvb.aa
heroes.118.by.islifecorp.rmvb.ab

O vídeo concatenado é jogado na saída:

> heroes.118.by.islifecorp.rmvb

As duas partes do arquivo e o script são removidos:

rm heroes.118.by.islifecorp.rmvb.aa
rm heroes.118.by.islifecorp.rmvb.ab
rm heroes.118.by.islifecorp.rmvb.sh

Muito simples, não? Agora vou explicar como o arquivo pode ser dividido com o comando split.Supondo que o vídeo do badongo tinha 139mb e eu queira dividí-lo em duas partes:

$ split -b 70m heroes.118.by.islifecorp.rmvb heroes.118.by.islifecorp.rmvb.


O parâmetro -b indica o tamanho de cada parte do arquivo que no caso era 70m (megabytes). A linha seguinte indica o arquivo que será dividido e a última indica a saída. Desta forma foram criados dois arquivos:

heroes.118.by.islifecorp.rmvb.aa com 70m
heroes.118.by.islifecorp.rmvb.ab com 69m

Como podem ver o split acrescenta no final do arquivo uma sequência (aa,ab) para que o arquivo possa ser juntado corretamente.Também é possível dividir arquivos de texto em várias partes. Cada parte corresponderá a um número de linhas que foi indicada na divisão. Veja exemplo com arquivo passwd (/etc/passwd).

$ split -l 5 /etc/passwd /tmp/passwd.


O parâmetro -l indica o número de linhas que conterá cada parte. No meu caso foram criados 5 arquivos:

passwd.aa passwd.ab passwd.ac passwd.ad passwd.ae

Para facilitar o trabalho de concatená-los, posso usar caracteres coringas (*):

$ cat /tmp/passwd.* > /tmp/passwd


Muito simples e prático.Para os usuários do sistema Rwindows existe um programa freeware Chainsaw que faz o mesmo trabalho.Obrigado prof. Márcio que foi quem me ensinou a usar o comando split no curso de linux e parabéns para o Badongo. ;)

domingo, 18 de novembro de 2007

Adicionando senha no grub

Porque adicionar senha no grub? Resposta do GuiaFeisty ."Para prevenir intrusos de modificar os argumentos de inicio do kernel que lhes permitirá acesso como root". O truque é simples e particularmente uso quando esqueço a senha de root.

Como modificar os argumentos de inicialização do kernel, para ter acesso como root.

Ligue o computador.Se o GRUB tiver oculto, tecle ESC para entrar no menu do GRUB.Se a senha tiver definida no GRUB, tecle p para acessar o GRUB.Selecione:

Ubuntu, kernel 2.6.10-5-386


Tecle e para editar os comandos antes de inicializar.Selecione:

kernel /boot/vmlinuz-2.6.10-5-386 root=/dev/hda2 ro quiet splash


Tecle e para editar os comandos selecionados na sequência de inicialização.Adicione no final dos argumentos:

rw init=/bin/bash


Deixando assim:

kernel /boot/vmlinuz-2.6.10-5-386 root=/dev/hda2 ro quiet splash rw init=/bin/bash


Tecle b para inicializar (Boot). Depois de inicializado você terá total acesso como root. O rw significa leitura e escrita. O init é o processo que dá início ao sistema. O bash indica o shell que será utilizado.

Para trocar a senha de root:

$ su passwd root


Voltando ao assunto, adicione uma senha para que os parâmetros do grub possam ser alterados apenas pelo seu administrador.

Adicionando senha no grub

$ grub

$ md5crypt


Informe a senha que será utilizada para poder modificar os parâmetros do grub. O grub responderá algo como:

Encrypted: $1$4PslE$ntys8RVD5zPLhOpo7JInl1


Copie este código.Ele será adicionado no arquivo de configuração do grub. Para modificá-lo tecle:

$ sudo gedit /boot/grub/menu.lst


Procure pela seção password --md5 e adicione ao lado o código gerado ficando assim:

password --md5 $1$4PslE$ntys8RVD5zPLhOpo7JInl1


Salve o arquivo e reinicie o computador para testar.Quando surgir a tela do grub voçê perceberá que a opção e não estará disponível. Desta forma, a única maneira de editar os parâmetros será teclar a opção p e informar a senha do grub.Você pode definir também que para ter acesso ao sistema (seja ele ubuntu,windows ou qualquer outro) você deve informar esta senha.Para isto basta adicionar a opção lock logo abaixo da seção do sistema. Veja o exemplo:

title Ubuntu 7.10, kernel 2.6.22-14-generic
root (hd0,6)
kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=59a5f0d4-c58f-48fb-9fad-298f10d65027 ro splash
initrd /boot/initrd.img-2.6.22-14-generic
quiet
lock


Assim, quando surgir a tela do grub você deverá teclar p para informar a senha e ter acesso ao sistema Ubuntu 7.10, kernel 2.6.22-14-generic. Senão, sem chance hehehe ;-)

Fontes:
http://wiki.ubuntubrasil.org/GuiaFeisty#head-ba91737bd310b29f86174447731f1d8e7f2bed69
http://wiki.ubuntubrasil.org/GuiaFeisty#head-ec8bf24ad92d63cf046d50b1d118620e6fd0088d
http://www.devin.com.br/eitch/tlm4/s1-configurando-grub.html

sexta-feira, 2 de novembro de 2007

Acesso ao Nautilus com privilégios de root

Shane T. Muelle publicou em 2001 um script que permite acesso ao Nautilus como root que posteriormente foi aperfeiçoado em 2004 por Doug Nordwall .Este script permite executar tarefas administrativas como editar e apagar arquivos do root no modo gráfico sem o uso do shell. Importante destacar que o mau uso deste script pode danificar seu sistema, pois o root pode apagar qualquer arquivo e neste caso não vai para a lixeira. Portanto, tenha muito cuidado.

Baixando o script root-nautilus-here:

$ wget http://g-scripts.sourceforge.net/nautilus-scripts/Execute/Misc/root-nautilus-here

Dando permissão de execução para o script

$ chmod a+x root-nautilus-here

Pronto. Para facilitar o uso eu adicionei um lançador no painel. Clique botão direito no painel superior, escolha Adicionar ao Painel... > Lançador de Aplicativos personalizado. Dê um nome: Acesso ao Nautilus como root. Clique em navegar... e encontre diretório onde baixou o script /home/jefferson/root-nautilus-here

Outros scripts interessantes:
http://g-scripts.sourceforge.net/
Fonte: http://g-scripts.sourceforge.net/nautilus-scripts/Execute/Misc/root-nautilus-here

domingo, 28 de outubro de 2007

Configurando Senha inicial do PostgreSQL

Por padrão o PostgreSQL possui um banco de dados chamado template1 e um usuário administrativo chamado postgres com privilégios de manutenção do banco. A menos que seu sistema tenha credencias para conectar no banco, o usuário administrativo postgres inicialmente não possue nenhuma senha. Para criar uma senha para ele (ou apagar a senha criada pelo sistema) tecle os seguintes comandos.

Entrar como usuário root para criar(alterar) a senha do postgres:
$ su root
Informe a senha de root
$ passwd postgres
Informe a nova senha do postgres

Assimilar o usuário postgres a nova senha:
$ su postgres
Informe a senha para trocar para o usuário postgres


Para PostgreSQL 7 ou superior:

$ psql -c "ALTER USER postgres WITH PASSWORD 'novasenha'" -d template1


Para o PostgreSQL 6:

$ psql -c "ALTER USER postgres WITH PASSWORD novasenha" -d template1

Fonte:http://sqlrelay.sourceforge.net/sqlrelay/gettingstarted/postgresql.html

sábado, 13 de outubro de 2007

Convertendo videos para ser tocado no seu DVDPlayer

Existem várias formas de se converter um video para dvd, entretanto, o resultado final é sempre um arquivo com a extensão .mpg que alguns aparelhos de dvd não conseguem reproduzí-lo, especialmente os mais antigos. O que vou explicar aqui é como fazer uma compilação de dvd usando o dvdauthor para poder ser tocado no seu dvdplayer.Primeiramente vamos precisar converter o video de origem que pode ser um avi,wmv.mpg,rmvb,flv,etc. Para isso podemos usar o multimedia converter que é uma interface gráfica para o mencoder e o ffmpeg usados para converter videos. Nesta página explica como instalar e usar o multimedia converter. No exemplo abaixo mostrarei como usar o mencoder e o ffmpeg para fazer a conversão para dvd. Fica a critério, qual você usará.

Instalando os pré-requisitos:(Habilite todos os repositórios)

$ sudo apt-get install mplayer mencoder ffmpeg dvdauthor


Usando o mencoder

$ mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd -vf scale=720:576,\
harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:\
vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:acodec=ac3:\
abitrate=192:aspect=16/9 -ofps 25 \
-o videofinal.mpg videoorigem.avi


Neste exemplo, observe na última que o video convertido é representado pelo saída -o videofinal.mpg e a origem pelo videoorigem.avi. Note que para converter outros tipos de videos basta trocar o videoorigem.avi pelo tipo preferido.

Usando o ffmpeg


$ ffmpeg -i videoorigem.avi -target ntsc-dvd /tmp/videofinal.mpg


Neste exemplo, observe o video convertido é o videofinal.mpg que será salvo dentro do diretório /tmp e a origem é o videoorigem.avi.A opção -target ntsc-dvd é que indica que a saída será um videodvd. Se quiser converter para outros tipos sem ser dvd basta trocar o alvo do -target por "vcd", "svcd", "dvd", "dv", "pal-vcd", "ntsc-svcd".

Criando uma compilação de dvd


Dentro do mesmo diretório que converteu o video crie um arquivo com seu editor de texto chamado dvdauthor.xml. Acrescente as seguintes linhas neste arquivo:



A primeira linha cria um diretório DVD que conterá as subpastas Audio_TS e Video_TS. A sexta linha indica que o arquivo videofinal.mpg terá uma compilação dvd(.vob) dividida em capítulos. Aqui que é definido o tamanho do filme.Ajuste conforme o tamanho do video. O tempo para cada capítulo pode ser definido da forma que desejar.

Pronto, agora basta executar apenas este comando:

$ dvdauthor -x dvdauthor.xml


Fontes:
http://manualdolinux.wordpress.com/2007/06/08/multimedia-converter-convertendo-qualquer-formato-no-linux/

http://www.linuxquestions.org/linux/answers/Applications_GUI_Multimedia/AVI_to_DVD

http://www.linuxquestions.org/questions/linuxanswers-discussion-27/discussion-avi-to-dvd-360138/

http://en.linuxreviews.org/HOWTO_Convert_video_files