quinta-feira, 15 de dezembro de 2011

Configurando Postgres Debian no PHPpgAdmin

Na instalação do PostgreSQL ele não te dá nenhuma oportunidade de criar a senha do usuário "postgres", sendo assim, o comando abaixo resolverá:

$ sudo -u postgres psql

Em seguida, insira a tua senha de root.

Agora você está no console do PostgreSQL. Sendo assim, agora vamos alterar a senha do usuário:

# alter user postgres with encrypted password 'senha';

#\q    para sai

Pronto, agora você já poderá conectar facilmente neste SGBD.

Edite o arquivo de configuracao do phpPGadmin. em:

etc/phppgadmin/config.inc.php


$conf['extra_login_security'] = true;

para

$conf['extra_login_security'] = false;

Edite o Postgres .conf
em sudo vi /etc/postgresql/8.4/main/postgresql.conf


Localiz e mude para:

password_encryption = on


Edite o arquivo pg_hba_.conf
em  /etc/postgresql/8.4/main/pg_hba.conf


Mude todos os metodos para autenticacao MD5
e tambem adicione a faixa da sua rede. 
ex:


# Database administrative login by UNIX sockets
#local   all         postgres                          ident
local   all         postgres                           md5


# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

# "local" is for Unix domain socket connections only
local   all         all                               md5
# IPv4 local connections:
# host    all         all         127.0.0.1/32          md5
host    all         all                   0.0.0.0/0      md5

# IPv6 local connections:
host    all         all         ::1/128               md5

E restarte o Apache e Postgres



Problem:
Forbidden

You don't have permission to access /phppgadmin/ on this server.
Solution:
sudo vi /etc/apache2/conf-enabled/phppgadmin.conf
Altere “Require local”,
para "Require all granted"
e restart apache

terça-feira, 1 de novembro de 2011

TS - Terminal Service em windows (RDesktop)

Criar um arquivo .Bat

e colocar:

@echo off
%windir%\system32\mstsc.exe  /v:wserver:3389 /w:1270  /h:950 /edit:d:\atalhos\cpd.rdp


-----------------------------------


Sintaxe de linha de comando para Conexão de Área de Trabalho Remota

Sintaxe
mstsc [] [/v:] [/admin] [/f[ullscreen]] [/w:] [/h:] [/public] | [/span] [/edit "connection file"] [/migrate] [/?]

Parâmetros de linha de comando para Conexão de Área de Trabalho Remota

Parâmetro Descrição
/v:
Especifica o computador remoto ao qual você deseja se conectar.
/admin
É usado para administração de um servidor de terminal. Nesta versão da Conexão de Área de Trabalho Remota, se o serviço de funções do Terminal Server estiver instalado no computador remoto, executar mstsc /admin causará o seguinte (somente à conexão atual):
  • Desativação do licenciamento de acesso de cliente aos Serviços de Terminal
  • Desativação do redirecionamento de fuso horário.
  • Desativação do redirecionamento do Agente de Sessão TS.
  • Desativação do TS EasyPrint.
/admin também causa o seguinte nas conexões do Windows Server 2008 com o serviço de funções do Terminal Server instalado:
  • Desativa apenas o redirecionamento de dispositivo Plug and Play da conexão atual.
  • Altera o tema da sessão remota para Windows Modo de exibição Clássico apenas na conexão atual.
Para se conectar a um computador remoto com o serviço de funções do Terminal Server instalado, siga estas etapas:
  1. Para abrir a janela Prompt de Comando, clique no botão IniciarImagem do botão Iniciar, em Todos os Programas, em Acessórios e, depois, em Prompt de Comando.
  2. Digite mstsc /v:server /admin.
/f
Inicia a Conexão de Área de Trabalho Remota no modo de tela inteira.
/w:
Especifica a largura da janela Conexão de Área de Trabalho Remota.
/h:
Especifica a altura da janela Área de Trabalho Remota.
/public
Executa a Conexão de Área de Trabalho Remota no modo público.
/span
Corresponde a largura e a altura da área de trabalho remota à área de trabalho virtual, estendendo-se em vários monitores, se necessário. Para estender-se em vários monitores, os monitores devem todos ter a mesma altura e estar alinhados lado a lado.
/edit "connection file"
Abre o arquivo de conexão .rdp especificado para edição.
/migrate
Migra arquivos de conexão mais antigos que foram criados com o Gerenciador de Conexões de Cliente para novos arquivos de conexão .rdp.
/?
Lista esses parâmetros.

segunda-feira, 3 de outubro de 2011

VNC Resolução

Ex:

  • xvnc4viewer -geometry=1250x700 192.168.1.1:5901

segunda-feira, 5 de setembro de 2011

Adicionando chave de repositorios apt-key

curl URL-da-chave-do-repositorio/archive-key.asc | sudo apt-key add -

ou

wget URL-da-chave-do-repositorio/archive-key.asc | sudo apt-key add -

ou

sudo apt-key add archive-key.asc  (OBS: arquivo de chave ja tem que esta no diretorio onde se encontra o prompt)

apt-key list (lista as assinaturas dos respositorios)

sábado, 3 de setembro de 2011

sábado, 23 de julho de 2011

Atalho para remover dispositivos USB

Essa dica é simples, e pode vir a ser muito útil para quem trabalha com dispositivos USB, como pendrives.
Após o uso, antes de remover o pendrive, é preciso "ejetá-lo", dando um clique duplo sobre aquele pequeno ícone na badeja, e então clicando no botão Parar, na janela que surge. Isso é necessário para evitar que os dados do dispositivo USB se corrompam.
A dica abaixo permite a criação de um atalho, tal como se fosse um ícone de aplicativo, que abre essa janela de remoção. Além de facilitar o acesso, isso permite a criação de teclas de atalho, tornando as coisas muito mais intuitivas, melhorando a usabilidade do sistema como um todo.
Para fazer o atalho, é simples:
  • Clique com o botão direito do mouse num espaço vazio dentro de uma pasta, ou no desktop, aponte para Novo, e clique em Atalho;
  • No campo Linha de comando, cole o seguinte: RunDll32.exe shell32.dll,Control_RunDLL hotplug.dll ;
  • Clique em Avançar >, dê um nome para o atalho na tela seguinte, e clique em Concluir.
Agora temos um atalho que, quando clicado, abre a janela Remover hardware com segurança.
Remover hardware com segurança.
Legal, né? Agora você pode jogar o atalho para a barra de inicialização rápida, ou mesmo no menu Iniciar, e a partir daí, chamar através da instant search (no Vista).
Há mais uma coisa que pode ser feita, a fim de deixar mais à mão o atalho. Clique com o botão direito do mouse no atalho, e entre em Propriedades. Na guia Atalho, Clique no campo da opção Tecla de atalho, segure a tecla Control, e aperte a F12. Clique em Ok.
Tecla de atalho.
Dessa maneira, basta segurar a tecla Control, e apertar a F12, para que a janela Remover hardware com segurança apareça.
Dica válida para Windows Vista e XP.

Para altera o Icone, vc usa seleciona DLL de icones do Windows que é a shell32.dll dentro de System32

sábado, 16 de julho de 2011

Como recuperar o GRUB do Ubuntu

Um dos acontecimentos mais frequentes com os usuários de dual boot é a "perca" do Grub. Um usuário tem dois sistemas operacionais, Windows e Ubuntu, por exemplo. Isso acontece quando você precisa, por exemplo, formatar seu velho e defeituoso Windows, que ao ser reinstalado apaga a MBR, local onde é guardada informações do disco como ordem de boot, partições etc.

O nosso GRUB fica localizado na MBR, então para recuperá-lo de forma simples e fácil siga as instruções a seguir:

Você vai precisar de um CD-Live (no meu caso utilizei a versão 9.04 do Ubuntu).

Depois de carregado o Live-CD, entre no seu terminal e digite os comandos a seguir:

1. Verificando a partição referente ao seu GNU/LINUX:

$ sudo fdisk -l

(caso esteja utilizando outro SO que não o Ubuntu, faça o login como ROOT)

2. Vamos montar o seu sistema de arquivos na sua partição GNU/Linux no diretório /mnt.

$ sudo mount -t ext4 /dev/sda6 /mnt

Neste caso o meu sistema de arquivos é EXT4 e a minha partição Linux é a sda6, troque esses campos conforme a sua configuração.

3. Instalação do Grub:

$ sudo grub-install --root-directory=/mnt /dev/sda

Fim. Fácil não? =D

quarta-feira, 29 de junho de 2011

Comando Route



Definindo rotas estáticas no Linux com route

Para implementar rotas no Linux existem diversos softwares livres e de código aberto que possibilitam a manipulação de tabelas de roteamento IP do kernel. Seu principal ofício é configurar rotas estáticas para os hosts que compõem determinada faixa de rede, por intermédio de uma interface propriamente configurada. O software route é padrão nos sistemas Linux, foi originalmente desenvolvido por Fred N. Van Kempen e posteriormente modificado por Johannes Stille e Linus Torvalds. O suporte a irtt (compartilhamento com netstat) foi adicionado por Bernd Eckenfels.

Outras funções importantes que foram adicionadas são mss e windows, implementadas por Alan Cox. O brasileiro Arnaldo Carvalho de Melo contribuiu na tradução do manual para a língua portuguesa.

A inserção de rotas pode ser iniciada pelo comando "route" seguido de parâmetros que validam os conceitos de rotas que foram descritas no início deste documento. Abaixo segue a tabela 1 contendo todos os parâmetros.

Tabela 1: Parâmetros do route

ParâmetroEspecificação
-vLista detalhada
--versionMostra a versão e outras informações.
-nMostra as rotas definidas, sem resolver nomes
-eMostra a tabela de roteamento no formato Netstat
-eeMostra uma imensa linha contendo todos os parâmetros da tabela de roteamento
-netRefere-se ao endereço de uma rede, encontrado no arquivo /etc/networks
-hostRefere-se ao endereço de uma máquina
delRemove uma rota
addAdiciona uma rota
netmaskOpção para adicionar máscara de rede da rota a ser adicionada
gwAdiciona o gateway, onde qualquer pacote destino será roteado através do gateway específico
metricConfigura o campo métrico da tabela de roteamento, porém não é usado por kernels mais recentes, somente daemons de roteamento a utilizam
mssEspecifica o tamanho máximo do segmento TCP em bytes (MSS) para conexões TCP através desta rota
windowEspecifica o tamanho da janela TCP para conexões TCP através desta rota. Tipicamente somente usado para redes AX.25 e em drivers incapazes de de tratar frames back to back
irtt Tempo de ida e volta de conexões TCP desta rota
rejectBloqueia rota antes do uso da rota default
mod, dyn, reinstateInstala rotas modificadas ou dinâmicas, são usadas por daemons de roteamento
devRefere-se ao dispositivo - eth0, eth1
dev IfForça o uso do dispositivo indicado, pois o kernel pode determinar o dispositivo por conta própria

O comando route pode ser usado de diversas formas, pode-se encontrar diversos documentos pela internet com exemplos de configuração diferentes, portanto abordaremos uma forma não convencional para fazer a inserção de rotas no sistema, esse sendo um padrão sugerido pelos desenvolvedores desse software. É importante ressaltar que para se usar o route é necessário que, ao menos uma interface esteja configurada. Podemos adicionar entradas na interface loopback usando a máscara 255.0.0.0 e associá-la ao dispositivo lo (local).

# route add -net 127.0.0.0 netmask 255.0.0.0 dev lo

Para adicionar uma rota padrão que permita a saída do tráfego da rede é necessário indicar na sintaxe do comando default e indicar em qual interface os pacotes serão roteados. Caso não defina a interface no comando, o kernel irá definir uma interface para adicionar o gateway, naturalmente poderá vir a ser o primeiro dispositivo.

# route add default gw 192.168.0.1 dev eth0

Pode-se configurar o arquivo /etc/hosts para usar nomes de máquinas, para que não seja necessário colocar número de IP sempre que for adicionar uma rota ou rejeitar uma rota para determinada faixa de rede. Por esse motivo é importante que o arquivo fique legível, usando-se comentários indicando se é nome atribuído a máquina ou o dispositivo de rede.

Exemplo 1: Arquivo /etc/hosts

## Local
127.0.0.1                localhost
## device eth0
192.168.0.1             androide-gw
## device eth1
192.168.1.1             curupira-gw
## maquina
192.168.2.1             javali-gw
## maquina
192.168.3.1             torresmo-gw

É possível adicionar uma rota para uma máquina da rede através de uma interface e assumir que a máquina é a própria interface. Com isso podemos permitir que uma rede possa ser alcançada através dessa máquina ou definir rota para toda uma classe de rede. Nos comandos seguintes podemos validar essa afirmação.

Adicionar rota para máquina:

# route add curupira-gw eth0

Adicionar rota para uma rede:

# route add -net 192.168.2.0 netmask 255.255.255.0 gw curupira-gw

Adicionar rota para toda uma classe de rede (multcast):

# route add -net 192.168.0.0 netmask 255.255.0.0 dev eth0

Bloquear rota para rede privada:

# route add 10.0.0.0 netmask 255.0.0.0 reject

Outros comandos podem ser aplicados para a verificação do estado da tabela de roteamento, bem como informações de versões de software e exibição da tabela de roteamento. O comando route seguido da opção -V retornará como saída padrão a versão do software e módulos suportados pelo programa, já a opção -v mostra na saída padrão a tabela de roteamento de forma simplificada, porém se esta opção vier seguida de outros comandos terá a responsabilidade de jogar na saída padrão o processo sendo executado de forma detalhada.

O status da tabela de roteamento pode ser observada com a opção -n, onde serão exibidas 8 colunas (destino, roteador, MascaraGen, opções, métricas, Ref, Uso, Iface), a coluna opção relata o status de cada rota, se está habilitada, se está instalada por um daemon ou sendo rejeitada, entre outros. As possíveis situações referentes ao status das rotas podem ser apresentadas na tabela 2 abaixo.

Tabela 2: Opções

OpçãoEspecificação
UEstá habilitada
HRefere-se que o alvo é uma máquina
GUsa o roteador
REstá apontando para um roteamento dinâmico
DRota instalada dinamicamente por redirecionamento
MModificada por redirecionamento
!Rejeitada


Exemplo:

# route -n
Tabela de Roteamento IP do Kernel 
Destino       Roteador      MáscaraGen.    Opções Métrica Ref  Uso  Iface 
192.168.1.0   0.0.0.0       255.255.255.0  U      1       0    0    eth0 
192.168.2.0   0.0.0.0       255.255.0.0    U      1000    0    0    eth0 
0.0.0.0       192.168.1.1   0.0.0.0        UG     0       0    0    eth0

Outras opções podem ser aplicadas como o -e (--extend), para mostrar informações adicionais como por exemplo colunas com informações sobre tempo de ida e volta de pacotes e tamanho em máximo de segmento TCP/IP em bytes. Outra opção é usar o -F (--fib), que são informações de repasse. A opção route -C (--cache) joga na saída padrão o cache da tabela de roteamento que esteja registrada pelo kernel.

Basicamente podemos implementar rotas com esse software, embora existam formas, métricas mais eficientes, existem softwares que podem avançar mais nos conceitos de rotas, portanto no tópico seguinte há um aprofundamento na criação de rotas avançadas, que por sua vez pode restringir e controlar fluxo de tráfego e entre outros

quarta-feira, 25 de maio de 2011

Dicas para o SSH

#### Histórico de SSH ####

/var/log/auth.log


#### Para aparecer no SSH ####

* apt-get install linuxlogo
* cp /etc/motd /etc/motd-save
* /usr/bin/linux_logo > /etc/motd


#### Para colocar o SSH mais rapido para pedir a senha ####

sudo vi /etc/ssh/sshd_config

Port 2223
...
UseDNS no

-

quarta-feira, 4 de maio de 2011

Clonar HD com dd

Clone seu HD, compactando e visualizando a cópia em tempo real com o comando dd

Hoje precisei clonar um HD de um servidor (Sun Sparc Ultra10, rodando Debian), então vasculhei o Google buscando encontrar a melhor forma de fazer isso a partir de um terminal ssh, pois a máquina física está em produção em um datacenter, e não pode parar.

Encontrei várias matérias sobre como clonar HDs com o dd, inclusive aqui no VOL tem uma ótima. Porém todas que encontrei não falavam como executar o dd, acompanhando a evolução do processo de clonagem. Algumas matérias sugeriam outras soluções além do dd, mas no meu caso era impraticável, pois o servidor não tem acesso à internet para poder baixar nada. Então tinha que ser com o dd mesmo.

Outro problema foi que o HD secundário que armazenaria o clone tem tamanho inferior ao HD master, e desta forma eu teria que clonar compactando os dados simultaneamente.

Então mesclei várias informações de artigos diferentes, resultando numa eficiente dica de:

1. clonagem de hd a quente (com o sistema rodando)
2. compactação da imagem clonada simultaneamente
3. visualização da evolução da clonagem

Descrevo a solução abaixo (parte do princípio que a máquina tenha 2 HDs instalados):

Cenário:
  • HD1 (hda) 120GB (só 20GB em uso)
  • HD2 (hdc) 80GB

1. Primeiro vamos montar o HD slave no sistema (todos os comandos executados como root).

Criar uma pasta "imagem" no hd master para receber o ponto de montagem do hdc slave:

# mkdir imagem

Montar o hdc slave no sistema, na pasta "imagem":

# mount -t ext3 /dev/hdc1 imagem

Checando se a partição montou de acordo como esperado:

# df -h
/dev/hdc1        74G  270M   70G   1% /root/imagem

Se aparecer uma informação parecida com a linha acima, mostra que o hdc está montado no caminho /root/imagem, então está tudo bem, e nesse caso temos 70GB para uso. No meu caso, utilizei hdc1 pois é a partição ativa do meu HD slave. Se o seu for diferente, basta alterar o número. Vamos continuar como processo.

Comando para gerar a imagem-clone de hda para hdc compactando com o gzip:

# dd if=/dev/hda | gzip -9f | of=imagem/backup.iso bs=64k

No comando acima, dd if=/dev/hda significa a origem dos dados a serem clonados, no meu caso o hda. Entre dois pipes (|), o comando | gzip -9f| significa que ao mesmo tempo que o dd clona o hda ele compacta com o gzip no nível mais eficiente de compactação (que vai de 1 a 9), no caso o nível 9; o "f" significa forçar a compactação para evitar qualquer problema. O restante da linha de comando, of=imagem/backup.iso, significa a saída dos dados, o destino do clone.

No caso "imagem" é a pasta criada por mim para receber o arquivo-clone, e "backup.iso" é a imagem-clone propriamente dita, que ficará armazenada na pasta "imagem" que está montada com o hdc. O final do comando, bs=64k, é um comando extra para o dd, que fará a cópia-clone em blocos de 64k.

Com isso temos a linha de comando completa para fazer a imagem de hda para hdc.

Porém, o dd é um comando bem hard, e não tem um mostrador da evolução do clone. Dependendo da origem a ser clonada, pode demorar horas. Mas como vamos saber quando terminará?

Como eu já disse antes, esta foi uma das minha dificuldades. Então através de outro terminal ssh (ou se você estiver no console a máquina, pode abrir outro terminal com os comandos ALT+F2, ALTF3, ALTF4 etc, lembrando que você retorna para o terminal principal com ALT+F1).

Já no outro terminal ssh, digite os comandos abaixo.

Comando para descobrir o número do processo dd rodando:

# top
4839 root      25   0  2080  784  392 R 41.2  0.2  31:19.38 gzip

Na tabela mostrada pelo top, procure a coluna COMMAND (mais à direita) , a linha do dd executando. Identifique nesta linha o número do processo (PID - process ID), que fica mais à esquerda. No meu caso, o processo referente ao dd, como mostrado na linha acima, foi de PID 4839.

De posse deste número do PID, vamos executar o comando abaixo:

# watch kill -USR1 $44853; sleep 1;

Na linha de comando acima, o serviço "watch" mantém na tela ao vivo, em tempo real o que vem a seguir na linha de comando. O restante do comando, kill -USR1 é um recurso do comando dd que faz aparecer na tela a quantidade já executada da cópia-clone. E $44853 onde apenas 4853 é o número do PID descoberto como top. Altere este número para o do PID correspondente ao seu dd em execução. Ao final, sleep 1;, faz com que o processo de visualização ser finalizado. O watch faz o comando ser executado em loop, como se você tivesse várias vezes digitando ele no prompt.

Então você verá aparecer na tela a informação da clonagem a cada 2 segundos, conforme abaixo:

36090146+0 records in
336090145+0 records out
172078154240 bytes (172 GB) copied, 4686.54 seconds, 36.7 MB/s

336234848+0 records in
336234847+0 records out
172152241664 bytes (172 GB) copied, 4688.49 seconds, 36.7 MB/s

336395536+0 records in
336395536+0 records out
172234514432 bytes (172 GB) copied, 4690.53 seconds, 36.7 MB/s

336555610+0 records in
336555610+0 records out
172316472320 bytes (172 GB) copied, 4692.56 seconds, 36.7 MB/s

Pode observar que vai aumentando, linha após linha.

Espero que tenha ajudado.

domingo, 3 de abril de 2011

Informação de Placa Mae CPU e Memoria via Console



Informação da Placa Mae Geral:
# dmidecode | egrep 'Base Board Information|Manufacturer|Product Name|Serial Number|BIOS Information|Vendor|Version|Release'


Informação da Placa Mae Reduzido:
# dmidecode | egrep 'Base Board|Product Name|Version|Serial Number'


Tipo de Memoria
# dmidecode -t memory

Informação do Processador:  
# cat /proc/cpuinfo

versao da Bios da Placa mae:
# dmidecode | egrep 'BIOS Information|Vendor|Version|Release Date'


sábado, 5 de março de 2011

TS - Terminal Service em Linux (RDesktop)

Comando rdesktop no linux

Exemplos:

rdesktop -a 16 -r printer:Deskjet-F300-series 10.0.0.98:3389 -u juniorlima -p com01449 -g 1024x768  -r clipboard:CLIPBOARD -r disk:mydisk=/home/phdigitos/temp/rdesktop -5 -z

rdesktop -a 16 -r printer:Deskjet-F300-series -A -s "C:\seamlessrdpshell64.exe d:\pasta\programa.exe" -c "d:\pasta"  10.0.0.98:3389 -u juniorlima -p com01449 -g 1024x768 -r clipboard:CLIPBOARD -r disk:mydisk=/home/phdigitos/temp/rdesktop -5 -z 


manual:

    ...

  -a: connection colour depth

  -u: user name

  -p: password (- to prompt)

  -b: force bitmap updates

  -A: enable SeamlessRDP mode

  -s: shell run

  -c: working directory

  -f = full Screen

  -g: desktop geometry (WxH) 1024x768

  -z: enable rdp compression

  -5: use RDP version 5 (default)
   
  -r: enable specified device redirection (this flag can be repeated)
         '-r comport:COM1=/dev/ttyS0': enable serial redirection of /dev/ttyS0 to COM1
             or      COM1=/dev/ttyS0,COM2=/dev/ttyS1
         '-r disk:floppy=/mnt/floppy': enable redirection of /mnt/floppy to 'floppy' share
             or   'floppy=/mnt/floppy,cdrom=/mnt/cdrom'
         '-r clientname=': Set the client name displayed
             for redirected disks
         '-r lptport:LPT1=/dev/lp0': enable parallel redirection of /dev/lp0 to LPT1
             or      LPT1=/dev/lp0,LPT2=/dev/lp1
         '-r printer:mydeskjet': enable printer redirection
             or      mydeskjet="HP LaserJet IIIP" to enter server driver as well
         '-r sound:[local[:driver[:device]]|off|remote]': enable sound redirection
                     remote would leave sound on server
                     available drivers for 'local':
                     alsa: ALSA output driver, default device: default
         '-r clipboard:[off|PRIMARYCLIPBOARD|CLIPBOARD]': enable clipboard
                      redirection.
                      'PRIMARYCLIPBOARD' looks at both PRIMARY and CLIPBOARD
                      when sending data to server.
                      'CLIPBOARD' looks at only CLIPBOARD.
         '-r scard[:"Scard Name"="Alias Name[;Vendor Name]"[,...]]
          example: -r scard:"eToken PRO 00 00"="AKS ifdh 0"
                   "eToken PRO 00 00" -> Device in Linux/Unix enviroment
                   "AKS ifdh 0"       -> Device shown in Windows enviroment 
          example: -r scard:"eToken PRO 00 00"="AKS ifdh 0"
                   "eToken PRO 00 00" -> Device in Linux/Unix enviroment
                   "AKS ifdh 0"       -> Device shown in Windows enviroment 
          example: -r scard:"eToken PRO 00 00"="AKS ifdh 0;AKS"
                   "eToken PRO 00 00" -> Device in Linux/Unix enviroment
                   "AKS ifdh 0"       -> Device shown in Windows enviroment 
                   "AKS"              -> Device vendor name     

terça-feira, 1 de março de 2011

Zona de Horario (hora) no Debian

O fuso horário Brasil

Fusos horários brasileiros

Em 24 de abril de 2008 a Lei Federal n° 11.662 reduziu a quantidade de fusos horários do Brasil para três. São eles:
  • UTC-2: Arquipélago de Fernando de Noronha e Ilha de Trindade.
  • UTC-3 (horário de Brasília): regiões Sul, Sudeste e Nordeste, estados de Goiás, Tocantins, Pará e Amapá, e o Distrito Federal.
  • UTC-4: estados do Mato Grosso, Mato Grosso do Sul, Amazonas, Rondônia, Acre e Roraima.

Anterior à mencionada lei, um quarto fuso horário existia no território nacional brasileiro:
  • UTC-5: estado do Acre e porção oeste do estado do Amazonas.
  • Em relação ao estado do Acre, o Decreto Legislativo n.° 900/2009[16] convocou referendo, a ser realizado juntamente com as eleições de 2010, para verificar a alteração do horário legal promovida no estado. O TRE-AC definiu que o pleito será realizado no dia 31 de outubro de 2010, juntamente com o segundo turno das eleições.
  • Além disso, também anterior à dita lei, o estado do Pará possuía dois fusos horários diferentes, cabendo à parte oriental do estado o atual fuso de todo o estado de UTC-3, enquanto à parte ocidental cabia o fuso UTC-4.

Linux: Modificando o TimeZone: 2 métodos
Bem, como podem ver ainda podemos mudar de timezone mesmo dentro do nosso próprio país. Vejamos então os dois métodos de mudança.

Primeiro método

Vamos dizer que estou no time zone de São Paulo, ou seja, estou no horário de Brasília. Mas cansei de toda esta agitação e consegui um bom projeto de pesquisa com uma altíssima remuneração e que vai exigir que fique morando por uns 5 anos em Fernando de Noronha (vai sonhando Lisandro...). Bom, chegando lá, como sou preciosista, vou querer alterar o timezone no meu portátil. Como farei isso?

Em algumas distribuições, como o Linux Mint e o Ubuntu por exemplo, o timezone é controlado por meio do arquivo /etc/timezone. Para ver meu timezone posso usar (no terminal) o comando:

# cat /etc/timezone
America/Sao_Paulo

A resposta foi certeira, estou no timezone America/Sao_Paulo.

Para trocar para o timezone de São Paulo para Fernando de Noronha vamos verificar qual o nome deste time zone fazendo:

# ls /usr/share/zoneinfo/America/

Agora é procurar na lista apresentada pelo timezone desejado. Também podemos buscar usando uma palavra chave de busca, por exemplo "Fernando" ou "Noronha", com o comando:

# ls /usr/share/zoneinfo/America/ | grep Noronha
Noronha

Veja que no caso procurei pela palavra "Noronha" e deu bem direitinho. A resposta ao comando indica que existe o arquivo de nome "Noronha".

Bem, agora que já sabemos o nome correto do arquivo, vamos alterar o conteúdo de /etc/timezone utilizando o seu editor de textos preferido, como em:

# vi /etc/timezone
ou
# gedit /etc/timezone
ou
# mcedit /etc/timezone

Altere então de America/Sao_Paulo para America/Noronha.

Agora para atualizar utilizando a variável TZ faça:

# export TZ=America/Noronha

Vamos verificar com:

# date
Sáb Out 9 09:15:40 FNT 2010

BINGO! Funcionou.

Agora a Data!


Segundo método

Em algumas distribuições, como no CentOS por exemplo, o timezone é controlado pelo arquivo /etc/localtime. Para fazer a alteração temos que apagar o arquivo com o comando:

# rm /etc/localtime

Identificamos o arquivo com o timezine desejado, no caso do nosso exemplo o timezone para Fernando de Noronha, podemos ver os arquivos disponíveis em /usr/share/zoneinfo/.

Como vimos na página anterior, é possível procurar pelo arquivo de Noronha da seguinte maneira:

# ls /usr/share/zoneinfo/America/

Agora é procurar na lista apresentada pelo timezone desejado. Também podemos buscar usando uma palavra chave de busca, por exemplo "Fernando" ou "Noronha", com o comando:

# ls /usr/share/zoneinfo/America/ | grep Noronha
Noronha

Veja que no caso procurei pela palavra "Noronha" e deu bem direitinho. A resposta ao comando indica que existe o arquivo de nome "Noronha".

Bem, agora que já sabemos o nome correto do arquivo, vamos fazer um link simbólico para ele com o comando:

# ln -s /usr/share/zoneinfo/America/Noronha /etc/localtime

Pronto, está feito. Agora vamos verificar com:

# date
Sáb Out 9 09:15:40 FNT 2010

Como podemos ver funcionou perfeitamente.

Era isso!

Fontes:

segunda-feira, 21 de fevereiro de 2011

Comandos básicos XEN

Comandos básicos para administração do XEN

Abaixo segue um resumo dos comandos básicos para administrar uma VM. Lembrando que eles só existem no dom0.

xm list = lista as vms ligadas.

xm console "ID" = abre o console da vm especificada.

xm mem-set "ID" "MEMORIA" = altera a quantidade de memória do domínio especificado, limitado ao parâmetro MAXMEM no arquivo de configuração. Ex: xm mem-set 1 512

xm vcpu-set "ID" "VCPU" = altera o número de processadores ativos num domínio, limitado ao parâmetro VCPUS no arquivo de configuração. Ex: xm vcpu-set 1 2

xm vcpu-list = mostra quais processadores (cores) reais estão sendo usados pelas VMs.

xm shutdown "ID" = inicia o desligamento do domínio especificado.

xm destroy "ID" = força o desligamento do domínio especificado. É como puxar o "cabo da tomada", inclusive com as mesmas consequências.

xm reboot "ID" = reinicia o domínio especificado.

xm top = mostra o monitor das VMs.

xm dmesg = mostra o log de inicialização do hypervisor.

domingo, 20 de fevereiro de 2011

Alterar label(rótulo) das partições Linux

Alterar label(rótulo) das partições

Esta é uma dica simples que eu usei para mudar o Label(rótulo) das partições que tenho no meu HD. Fiz o procedimento utilizando o Ubuntu.

Eventualmente quando alteramos algumas partições no HD deletando ou criando pode acontecer de esquecermos de dar um nome,um rótulo,para a partição,na pressa de criar/alterar este é um detalhe que pode passar despercebido, então depois do trabalho feito vemos que ficou aquele nome feio dado pelo sistema,para corrigir isso e inserir um rótulo na partição desejada é que resolvi criar este post simples mas útil.

Este é um procedimento feito através do terminal(Gnome)/konsole(KDE). Atualmente

Gparted possibilita a alteração através do modo gráfico facilmente. Outra opção bastante útil,não somente para este procedimento mas vários outros é o uso do live CD do Parted Magic

Inicialmente vamos identificar qual o sistema de arquivos da partição a ser alterada,digite:

colossos@ub904jj:~$ df -h -T

ou

colossos@ub904jj:~$ mount
O problema do mout é que vem um mounte  de coisas escritas :) , o df -h -T é mais limpo para este objetivo.

A saída deste comando vai ser algo próximo disto:

Sist. Arq. Tipo Tam Usad Disp Uso% Montado em
/dev/sda3 ext4 99G 60G 35G 64% /
tmpfs tmpfs 944M 0 944M 0% /lib/init/rw
varrun tmpfs 944M 316K 943M 1% /var/run
varlock tmpfs 944M 0 944M 0% /var/lock
udev tmpfs 944M 156K 943M 1% /dev
tmpfs tmpfs 944M 0 944M 0% /dev/shm
lrm tmpfs 944M 2,4M 941M 1% /lib/modules/2.6.28-11-generic/volatile
/dev/sda5 ext3 51G 16G 33G 32% /media/Debian
/dev/sda6 ext3 51G 7,6G 41G 16% /media/Lxde
/dev/sda1 fuseblk 110G 65G 45G 59% /media/NTFS
/dev/sda7 reiserfs 55G 3,9G 51G 8% /media/Slackware
/dev/sda2 ext3 99G 7,2G 87G 8% /media/Mandriva

As linhas en negrito identificam as partições que interessam,no caso acima por exemplo a linha /dev/sda7 reiserfs 55G 3,9G 51G 8% /media/Slackware , significa, Dispositivo Tipo Tamanho-total Usado Disponível Uso% Montado em . Podemos perceber então que esta partição utiliza o sistema de arquivos reiserFS,portanto o programa para alterar o label desta partição será o reiserfstune,para alterar ficaria assim no terminal,como root:

reiserfstune -l label dispositivo

Traduzindo..

reiserfstune -l o_nome_que_eu_quero dispositivo

______________________________________

Partições EXT2/EXT3/EXT4

e2label dispositivo label

______________________________________

Partições NTFS

ntfslabel dispositivo label

______________________________________

Partições Fat16/Fat32

mlabel -i dispositivo :: label

______________________________________

Estes são os principais sistemas de arquivos os mais usados,tem outros que eu nunca usei,não vi necessidade,algumas pessoas usam,são:

Partições JFS

jfs_tune -L label dispositivo

Partições XFS

xfs_admin -L label dispositivo

______________________________________


Resumindo, abaixo a lista das partições e os programas utilizados
  • Em partições ReiserFS – reiserfstune
  • Em partições EXT2/EXT3/EXT4 – e2label
  • Em partições NTFS – ntfsprogs
  • Em partições FAT16/FAT32 – mtools
  • Em partições JFS – jfs_tune
  • Em partições XFS – xfs_admin

sábado, 19 de fevereiro de 2011

Criando LVM

Introdução

O Logical Volume Manager - LVM é nativo do AIX, o UNIX da IBM e é largamente utilizado naquele sistema que na sua instalação já o implementa. O LVM tráz uma nova filosofia no que se refere a gerenciamento de discos e sistemas de arquivos.

Com esse gerenciador algumas novas funcionalidades são agregadas como, por exemplo, aumentar o tamanho de um filesystem em uma linha de comando, sem nenhum trauma. Mãos a obra.

Ah! Antes de começar, um alerta: se quiser implementar o LVM com base nesse artigo, faça seus backups e siga por sua conta e risco. Não é para assustar, mas quando se trabalha com filesystems todo cuidado é necessário.

Principais conceitos

Essa parte pode ser considerada como um "xarope" por alguns, mas é importante para entendermos o funcionamento do LVM.

PV (Physical Volume) - Os volumes físicos são as partições de discos alocadas para o LVM. No Linux é necessário criar a partição e alterar o tipo para "Linux LVM", tipo 8e do fdisk, para que ela possa ser utilizada no LVM.

VG (Volume Group) - Um conjunto de PV podem ser necessários para criar filesystems maiores que a limitação física de um disco rígido. Esses PV são agrupados em um VG.

PE (Physical Extent) - Quando um PV é inserido em um VG o LVM o divide em várias partes de igual tamanho e essas partes são associadas a uma LE (Logical Extent), o menor valor de alocação dentro de um VG (do ponto de vista do LVM). No AIX são conhecidos como PP (Physical Partition) e LP (Logical Partition), respectivamente.

LV (Logical Volume) - Esse elemento é uma área de alocação das LE, na qual criamos o filesystem. Ao criarmos um volume lógico, recebemos um device para referenciarmos, ao criar ou manipular, o sistema de arquivos. O nome do device é /dev/NOME_DO_VG/NOME_DO_LV.

VGDA (Volume Group Descriptor Area) - Numa analogia mais grosseira, essa área é uma tabela de alocação do VG. Nela há todos os dados do VG. É dividida em quatro partes básicas: descritor de PV, descritor de VG, descritor de LV e vários descritores de PE e LE. Os backup automáticos da VGDA são guardados em /etc/lvm-conf/.

Preparando os discos

Você precisa de pelo menos uma partição com o tipo "Linux LVM", o que não faria sentido se considerarmos que um dos principais objetivos do LVM é concatenar discos, mas em todo caso vamos seguir com esse conceito.

Primeira providência é criar a partição LVM. Vamos usar a hipótese que nosso disco é um IDE que está na controladora IDE Primária, como slave. Assim seu device é /dev/hdb.
  • Execute o fdisk, como root, apontando o dispositivo acima;
  • Crie a partição (opção n);
  • Altere o tipo da partição para 8e (opção t);
  • Saia do fdisk salvando a configuração (opção w).

Agora pode conferir as partições criadas com o comando "fdisk -l /dev/hdb". Se tudo foi feito corretamente você vai ver que a nova partição vai estar com o tipo "Linux LVM". Neste ponto já podemos começar a configurar o LVM.

Criando o VG, o LV e o filesystem

Nessa etapa vamos ser pontuais e passaremos os comandos para criação dos PV, VG, LV e filesystems. Vamos imaginar que temos duas partições, /dev/sda1 e /dev/sda2.

1. Criar os PV (Physical Volumes), com o comando:

# pvscan       (scaneia os Physical Volume)
# pvcreate /dev/sda1 /dev/sdb1

2. Criar o VG (Volume Group):

# vgcreate VolumeGroupName_vg /dev/sda1 /dev/sdb1

2.2 Para remover o Volume Group

# vgchange -a n VolumeGroupName_vg  (desativa o volume group)
# vgremove VolumeGroupName_vg
OBS: só pode ser removido se não haver nenhum Logical Volume

3. Ativar o VG criado:

# vgchange -a n  (desativa o volumes group)
# vgchange -a y VolumeGroupName_vg  (ativa)


4. Criar o LV (Logical Volume):

# lvcreate -L tamanho(M/G/T) VolumeGroupName_vg -n LogicalVolumeName_lv

OBS: o tamanho do Logical Volume deve ser informado acompanhado da ordem de grandeza em bytes, ex.: 100M, 10G, 1T.

# lvcreate -l
100%FREE VolumeGroupName_vg -n LogicalVolumeName_lv

OBS: Usa toda a extenção do disco.

4.1 Remover (Logical Volume):

# umount /dev/nome_do_vg/nome_do_lv (desmonte a particao ativa)
# lvremove /dev/nome_do_vg/nome_do_lv
lvremove -- do you really want to remove "/dev/myvg/homevol"? [y/n]: y
lvremove -- doing automatic backup of volume group "myvg"
lvremove -- logical volume "/dev/myvg/homevol" successfully removed


5. Renomeando (Logical Volume)

lvrename VolumeGroupName  OldLogicalVolumeName  NewLogicalVolumeName

6. Criar o sistema de arquivos (filesystem):

# mke2fs -b 4096 -j -L LabelName_do_fs /dev/nome_do_vg/nome_do_lv
ou
mkfs.ext4 -b 4096 -m .5 -L LabelName_do_fs  /dev/nome_do_vg/nome_do_lv

OBS: -m .5 ,  equivale a reservar de 5% do espaço para administração, em caso de lotação do disco.

7. Montar o filesystem:

# mount -t tipo_filesystem  /dev/nome_do_vg/nome_do_lv     /mnt/mount_point 

8. Extendendo Logical Volume

Primeiro desative qualquer acesso a particao e a desmonte
# umount /dev/nome_do_vg/nome_do_lv

Aqui vc acrescenta + 60 Giga na paticao do volume
# lvextend -L +60G /dev/nome_do_vg/nome_do_lv

9. Reduzindo o Logical Volume

Primeiro desative qualquer acesso a particao e a desmonte
# umount /dev/nome_do_vg/nome_do_lv

Aqui vc decrementa - 50 Giga na paticao do volume 
# lvreduce -L -50G /dev/nome_do_vg/nome_do_lv


OBS: Se vc redimencionou a particao ja formatada com algum tipo de formato, ext2, ext3, ext4, raiserfs e etc...  eh bom sempre depois de redimencionado passar um checador de Disco.

Ex: fsck,  fsck.cramfs,  fsck.ext2,   fsck.ext3,   fsck.ext4,   fsck.ext4dev,  
       fsck.minix,  fsck.nfs,  fsck.reiserfs,  fsck.vfat  



Considerações finais

Algumas particularidades não foram abordadas nesse artigo, mas acreditamos que esses passos, aqui descritos, podem ser úteis para a configuração do LVM.

Algumas distribuições mais antigas podem não ter o LVM habilitado no kernel, necessitando, dessa forma, recompilar o kernel incluindo o suporte ao LVM.

A principal utilidade do LVM é concatenar discos, permitindo a criação de filesystem maiores que o limite físico do hardware. Entretanto, tenho utilizado o LVM, também, para aumentar a granularidade na alocação de espaços de filesystems.

Certamente há conteúdo para alguns outros artigos. 
Fontes:  http://www.vivaolinux.com.br/artigo/Entendendo-e-configurando-o-LVM-manualmente/?pagina=1 
Autor: Azevedo

http://tldp.org/HOWTO/LVM-HOWTO/

Utilitario para manipulação LVM

#system-config-lvm  (Opcao Grafica)

quinta-feira, 17 de fevereiro de 2011

Debian source.list

apt-cache search apt-spy

OBS: apt-spy - escreve um arquivo sources.list baseado em testes de largura de banda

domingo, 6 de fevereiro de 2011

Configurando o Network Manager (Debian)

Funciona tando no Lenny como no Squeeze

Configuração do Network Manager no Debian
http://wiki.debian.org/NetworkManager

Configurando a Interface Wifi no NetWork Manager
http://wiki.debian.org/WiFi/HowToUse#GNOME

Relacao de Placas Wifi Compativeis
http://wiki.debian.org/WiFi


Configurando Modelos Wifi : Intel Wireless WiFi Link 4965, 5100, 5300, 5350, 5150, 1000, 6000, 6250 devices (iwlagn)
http://wiki.debian.org/iwlagn#Installation


Outra forma:

Dica de Configuracões do arquivo de rede: /etc/network/interfaces
http://wiki.debian.org/NetworkConfiguration#SettingupanEthernetInterface