segunda-feira, 18 de março de 2013

Como descompactar arquivos tar


Como descompactar arquivos tar, tar.gz/tgz, tar.bz2 e tar.xz

A maioria dos arquivos que você encontra na Internet para Linux são distribuídos no formato chamado tarball. Isto significa que o arquivo foi criado com o comando tar e, pode ou não ter sido compactado.
Vamos lá, como você expande um arquivo destes?
O formato básico que é o .tar pode ser expandido assim:
tar -xf arquivo.tar
Neste exemplo a letra x serve para extrair os dados e a letra f indica o arquivo a ser processado.
O segundo exemplo é o arquivo .tar.gz ou .tgz. Os dois são do mesmo tipo. Na verdade são arquivos .tar compactados comgzip. Processando tudo de uma vez: descompactando e abrindo o arquivo .tar.
tar -xzf arquivo.tar.gz

ou

tar -xzf arquivo.tgz
Nesse exemplo entrou a letra z responsável por acionar o comando gunzip para descompactar o arquivo antes do comando tarextrair o conteúdo.
Se você quiser, pode primeiro descompactar o arquivo e depois extrair o pacote tar:
gunzip arquivo.tar.gz
tar -xf arquivo.tar

ou

zcat arquivo.tar.gz | tar -xf -
Nesse último exemplo o comando zcat descompacta o arquivo e, ao invés de gravar um novo arquivo em disco, eu jogo os dados diretamente para o comando tar que lê os dados com o caractére – (hífen) no final da linha.
O próximo tipo é o formato .tar.bz2 que são arquivos compactados com bzip2. Para extraí-los você deve usar a letra j assim:
tar -xjf arquivo.tar.bz2

ou

bunzip2 arquivo.tar.bz2
tar -xf arquivo.tar

ou

bzcat arquivo.tar.bz2 | tar -xf -
O último formato a ser visto é o .tar.xz. O compactador xz oferece o melhor grau de compactação mas também leva mais tempo para ser criado. Para extrair um formato xz use a opção J assim:
tar -xJf arquivo.tar.xz
Espero que você tenha entendido.

Fonte:
Como descompactar arquivos tar, tar.gz/tgz, tar.bz2 e tar.xz:

'via Blog this'

Instalação e criação de banco MYSQL no CentOS

Reuni aqui algumas informações básicas sobre instalação, criação de base de dados, permissões de acesso a usuários a base.:


A instalação básica do MySQL no CentOS acontece de forma bastante simples e rápida, além disso você não irá precisar de nenhum repositório adicional, todos os pacotes necessários se encontram no repositório base.
Vou tomar por base a instalação via yum, a não ser que você precise de algum recurso adicional ou tenha bastante tempo e habilidade para manter atualizado o pacote de forma melhor que os desenvolvedores do SO você pode querer instalar via código fonte. Caso contrário, mãos a obra:

#yum install mysql mysql-server
No CentOS o serviço não será iniciado após a instalação e nem subirá automaticamente no boot time do servidor. Precisamos então colocar o mysql no startup do server. Para isto usamos o utilitário chkconfig:
#chkconfig  mysqld on
 Antes de subir o serviço é necessário preparar o terreno para o MySQL. O comando abaixo instala algumas bases necessárias para o funcionamento interno do servidor, pois sendo um banco de dados, o MySQL usa a si próprio para armazenar informações de controle, tais quais como usuários e senhas.
#mysql_install_db
Apartir deste momento o serviço já pode ser ativado sem maiores problemas:
#service mysqld start
O próximo passo é configurar um senha para o root, o usuário master do MySQL. Por padrão nenhuma senha é atribuída para este usuário e você deverá fazer isto na unha. Existem algumas formas de fazer isto, porém a mais fácil e rápida é com o mysqladmin:
#mysqladmin -u root password ‘RoOt@2010′  
Pronto, apartir de agora podemos acessar o servidor e criarmos as bases necessárias.
#mysql -u root -pRoOt@2010
mysql> CREATE DATABASE exemplo;
mysql> GRANT ALL ON exemplo.* TO ‘user’@'%’ IDENTIFIED BY ‘password’;
mysql> GRANT ALL ON exemplo.* TO ‘user’@'localhost’ IDENTIFIED BY ‘password’;
Explicando:
1- Acessamos o MySQL com o usuário root (não existe mesmo um espaço entro o -p e a senha)
2- Já na console do MySQL foi criada uma base de dados chamada exemplo.
3- É saudável usar usuários distintos para cada base de dados, e nunca utilizar a conta de root para isto. Este comando concede todos os privilégios em todas as tabelas do banco exemplo ao usuário useracessando a partir de qualquer host (devido ao uso do corginga %) identifica pela senha password.
4- Por fim as concessões são aplicadas ao usuário com acesso a partir da própria máquina.
A partir de agora, pode-se acessar o banco a partir de um front-end, como o HeidiSQL. Ele pode ser adquirido no link abaixo:
Referências:


fonte:
How to: Instalação do MySQL no CentOS | Bigualinux - Informação ao seu alcance:


Mudando a senha do MYSQL no CentOS

Boa tarde,

Hoje precisei acessar o servidor mysql que estava em uma máquina CentOS, no entanto, apesar de ter acesso root no SO eu não tinha a senha do root da aplicação MYSQL. Para fazer a mudança, encontrei esse passo a passo, prático, e resolvir compartilhar. Abraços

/etc/init.d/mysqld stop
mysqld_safe --skip-grant-tables &
mysql -u root
mysql> use mysql;
mysql> update user set password=PASSWORD("newrootpassword") where User='root';
mysql> flush privileges;
mysql> quit
/etc/init.d/mysqld stop
/etc/init.d/mysqld start

fonte:http://www.webhostingtalk.com/showthread.php?t=875255

sexta-feira, 23 de novembro de 2012

Como realizar o FULL OUTER JOIN no MySQL

O comando OUTER JOIN não faz parte do mysql, no entanto existme inúmeras maneiras de se fazer isso no mysql, vou colocar o exemplo mais prático.

Através do método UNION ALL e da exclusão do JOIN.

Uma maneira de fazer  UNIÃO incluir apenas os duplicados que eu quero é usar uma exclusão JOIN para eliminar qualquer coisa a partir do segundo resultado que já está incluído no primeiro. Como segue:

Este manipula linhas duplicadas corretamente e não incluir qualquer coisa que não deveria. É necessário usar UNION ALL. Isto poderá ser significativamente mais eficiente em grandes conjuntos de resultados, uma vez que não há necessidade de classificar e remover duplicatas.



select * from apples as a
   left outer join oranges as o on a.price = o.price
union all
select * from apples as a
   right outer join oranges as o on a.price = o.price
where a.price is null;
fonte: http://www.xaprb.com/blog/2006/05/26/how-to-write-full-outer-join-in-mysql/

quarta-feira, 7 de novembro de 2012

Capturar tela no MAC e escolher formato de saída!


Como tirar um print screen no seu Mac!

Post interessante: Republicando.

Ok, talvez você seja um expert no Mac OS e acha que essa é uma dica que todo mundo já sabe. Você está enganado!
Recentes usuários de Windows acostumados com a tecla de “print screen” quando migram para o Mac não sabem como fazer. Também tem muita gente que já usa Mac há um tempão e não sabe o jeito mais fácil de utilizar, então vamos as dicas….
Existem 3 comandos básicos no Mac para você fazer o screenshot, são eles:
  • Command + shift + 3 – Captura a tela inteira e salva no seu Desktop com a extensão “.png”;
  • Command + shift + 4 - Ao dar esse comando, seu cursor irá se transformar em um tipo de alvo, selecione e arraste para demarcar a área desejada do print e o arquivo será salvo também no seu Desktop com a extensão “.png”;
  • Command + shift + 4 + Barra de Espaço – Ao utilizar esse comando, seu cursor irá se transformar em uma câmera, selecione a janela que você deseja e o print vai ser da janela que você selecionou, também irá ser salvo no seu Desktop com a extensão “.png”.
Curiosidades:
  • Troque a tecla Command por Control e o Mac vai guardar seu print no clipboard e não mais no seu Desktop. Para utilizar a imagem depois, basta dar Command+V no local desejado. (Como no print screen do windows);
  • Para trocar o formato de .png para .pdf por exemplo, digite no terminal do seu Mac: defaults write com.apple.screencapture type pdf. Depois reinicie seu Mac para as alterações surtirem efeito.

domingo, 4 de novembro de 2012

Multiplicação de Raiz em C


Um grande exemplo de código que multiplica matrizes em C com comentarios.

No entanto antes eu gostaria de demonstrar rapidamente o cálculo de multiplicação de matriz para poder entendermos o código em C:

Multiplicação de Matrizes:


A multiplicação de matrizes é realizada de acordo com a seguinte condição: o número de colunas da 1ª matriz deve ser igual ao número de linhas da 2ª matriz. Observe alguns modelos de matrizes que podem ser multiplicadas, considerando o formato m x n.

A4x3 * B3x1

A4x2 * B2x3

A1x2 * B2x2

A3x4 * B4x3

Nesse modelo de multiplicação, os métodos são mais complexos. Dessa forma, precisamos ter muita atenção na resolução de uma multiplicação de matrizes. Vamos através de exemplos, demonstrar como efetuar tais cálculos. A operação deverá ser feita multiplicando os membros da linha da 1º matriz pelos membros da coluna da 2º matriz, onde os elementos devem ser somados, constituindo um único item posicional da matriz.Observe um modelo padrão de multiplicação:



Exemplo 1




Realizamos uma multiplicação entre uma matriz A de ordem 2 x 3 por uma matriz B de ordem 3 x 2. Observe que a condição “o número de colunas da 1ª matriz deve ser igual ao número de linhas da 2ª matriz”, foi válida, pois 3 = 3. O interessante é que a matriz, produto da multiplicação, é de ordem 2 x 2, isto é, 2 linhas e 2 colunas, possuindo o mesmo número de linhas da 1ª e o mesmo número de colunas da 2ª.

Portanto, todas essas condições são observadas na multiplicação entre matrizes. Caso alguma dessas condições não seja válida, a operação da multiplicação estará efetuada de forma incorreta. Sempre que realizar multiplicação entre matrizes, faça de forma atenciosa, desenvolvendo completamente o processo, procurando não utilizar meios diretos para obter o resultado. 

fonte: http://www.brasilescola.com/matematica/multiplicacao-matrizes.htm

Agora segue o Código em C para multiplicação de Matrizes, dado a entrada de uma matriz A e B a serem multiplicadas:



#include


main()
{

//Definição de variaveis
int i, j, l, c, l1, c1, X;

//Entrada de dados
printf("\n Informe a quantidade de linhas da matriz A : ");
scanf("%d",&l);
printf("\n Informe a quantidade de colunas da matriz A : ");
scanf("%d",&c);
printf("\n Informe a quntidade de linhas da matriz B : ");
scanf("%d",&l1);
printf("\n Informe a quantidade de colunas da matriz B : ");
scanf("%d",&c1);
float matrizA[l][c],matrizB[l1][c1],matrizC[c][l1],Aux=0;
if(c==l1)
{
for(i=0; i{
         for(j=0; j         {
         printf("\n\n Informe o valor da %d%c Linha e da %d%c Coluna da Matriz A: ", i+1, 167, j+1, 167);
         scanf("%f", &matrizA[i][j]);
         }
         printf("\n");
         }
for(i=0; i{      
         for(j=0; j         {
         printf("\n\n Informe o valor da %d%c Linha e da %d%c Coluna da 2%c Matriz B: ", i+1, 167, j+1, 167, 167);
         scanf("%f", &matrizB[i][j]);
         }
         printf("\n");
         }
printf("---------------------------- 1 - Matriz Gerada ---------------------------------\n\n");
for(i=0; i{      
         for(j=0; j         {
         printf("%6.f", matrizA[i][j]);
/* "%6.f" significa para eliminar 6 casas decimais dos componentes dados */
         }
         printf("\n\n");
         }
printf("---------------------------- 2 - Matriz Gerada ---------------------------------\n\n");
for(i=0; i{
         for(j=0; j         {
         printf("%6.f", matrizB[i][j]);
         }
         printf("\n\n");
         }
//Processamento e saida em tela
for(i=0; i{
         for(j=0; j         {
                  matrizC[i][j]=0;
                  for(X=0; X                  {
                  Aux += matrizA[i][X] * matrizB[X][j];
                  }
                  matrizC[i][j]=Aux;
                  Aux=0;
                  }
                  }
                  printf("\n\n");
printf("---------------------------- 3 - Matriz Gerada ---------------------------------\n\n");
for(i=0; i{
         for(j=0; j         {
         printf("%6.f", matrizC[i][j]);
         }
         printf("\n\n");
         }
         printf("\n\n");
         }
else
{
printf("\n\n Nao ha com multiplicar as matrizes dadas \n\n");
}


}



fim do código

fonte: http://forum.clubedohardware.com.br/multiplicacao-matrizes-c/546890

http://macboypro.wordpress.com/2009/05/20/matrix-multiplication-in-c-using-pthreads-on-linux/

sexta-feira, 26 de outubro de 2012

Permissões de pasta para Instalação do JOOMLA

Problema Impedido de ler ou instalar o JOOMLA

Me deparei com esse problema, quando estava instalando o JOOMLA 2.5 após copiar e descompactar a pasta através do console do linux, as permissões impediam a leitura dos arquivos do joomla e sua futura instalação,

Solução:

Bem, como eu queria continuar o trabalho pelo console, por ser mais rápido a solução também foi dada pelo mesmo.


Você precisa definir o proprietário das pastas e arquivos e permissões

Se você desejar permitir a gravação em toda pasta joomla , basta fazer:

chown-R www-data: www-data / var / www / joomla

Agora defina arquivo e permissões de diretório:

find  /var/www /joomla -type f -exec chmod 0644 {} \;
find /var/www /joomla -type d -exec chmod 0755 {} \;

Lembre-se  o /var/www depende do diretorio de instalaçao de suas webpages no joomla

-type f é para files
-type -d e d para diretorios

fonte: http://docs.joomla.org/Installing_Joomla_on_Debian_Linux#Set_ownerships_and_permissions