terça-feira, 27 de novembro de 2012

Usando "dd" para testar I/O de disco

Use o comando:


dd if=/dev/zero of=/home/diego/teste bs=1M count=1024

Retorno:

1024+0 records in
1024+0 records out
1073741824 bytes (1,1 GB) copied, 2,9302 seconds, 366 MB/s

Isso mostra o foi criado um chamado teste com o tamanho de 1Gb em três segundos.
Com isso você pode testar performance entre discos (que era o meu caso).

quinta-feira, 22 de novembro de 2012

Compilando PHP com a extensão "mssql.so"

# Link para a compilação PHP e Apache abaixo:

http://suporte-em-ti.blogspot.com.br/2012/11/compilando-apache-e-php-no-linux.html

# Freetds

Baixe o freetds no link ftp://ftp.freetds.org/pub/freetds/stable/freetds-stable.tgz e descompacte:

tar -zxvf freetds-stable.tgz
cd freetds-0.91

./configure --enable-msdblib --prefix=/usr/local/freetds
make && make install

touch /usr/local/freetds/include/tds.h
touch /usr/local/freetds/lib/libtds.a

Para que o freetds possa acessar seu servidor SQL Server, edite o arquivo /usr/local/freetds/etc/freetds.conf e adicione as linhas abaixo:

[SQL]
        host = 192.168.1.10
        port = 1433
        tds version = 8.0

# PHP (versão: 5.1.2)

Infelizmente não tenho o link da download dessa versão.

tar -zxvf php-5.1.2.tar.gz
cd php-5.1.2/ext/mssql/
phpize
./configure --with-mssql=/usr/local/freetds/ --with-php-config=/usr/bin/php-config
make
cd ../../
./configure --with-apxs2=/usr/www/bin/apxs --with-mysql --with-ldap --with-gd --with-jpeg-dir=/usr/lib/ --with-zlib --with-png-dir=/usr/lib/ --enable-track-vars --enable-sigchild --with-xml --with-mssql-dir=/usr/local/freetds/ --prefix=/usr/www/php
make && make install
cp ext/mssql/modules/mssql.so /usr/www/php/extensions/

Edite o arquivo /usr/www/php/lib/php.ini e adicione a entrada abaixo.

extension=mssql.so

quarta-feira, 21 de novembro de 2012

Compilando Apache e PHP no Linux

# Apache

Baixe o apache no seguinte link http://httpd.apache.org/download.cgi e descompacte:

tar -zxvf httpd-2.4.3.tar.gz
cd httpd-2.4.3
./configure --prefix=/usr/www/ --enable-modules-so
make && make install

# PHP

Baixe o PHP no seguinte link http://php.net/downloads.php e descompacte:

tar -zxvf php-5.4.8.tar.gz
cd php-5.4.8
./configure --with-apxs2=/usr/www/bin/apxs --with-mysql --with-ldap --with-gd --with-jpeg-dir=/usr/lib/ --with-zlib --with-png-dir=/usr/lib/ --enable-track-vars --enable-sigchild --with-xml
--prefix=/usr/www/php
make && make install
mkdir /usr/www/php/extensions

# Configurações finais

Adicione as linhas abaixo no arquivo /usr/www/conf/httpd.conf

DirectoryIndex index.html index.php
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps

Crie o arquivo index.php no diretório /usr/www/htdocs/ com o seguinte conteúdo:

<?php phpinfo() ?>

Inicie o serviço do Apache com o comando:

/usr/www/bin/apachectl start

# Testando

Abra o navegador e digite:

http://ip_do_seu_servidor_apache/index.php

quarta-feira, 14 de novembro de 2012

Alterando vários valores/palavras dentro do VI/VIM

Segue o comando:

:%s/valor_antigo/valor_novo/gc

Situação:
Tenho um arquivo com o seguinte conteúdo:

Diego estuda Windows.
Diego estuda Windows.
Diego estuda Windows.
Diego estuda Windows.
Diego estuda Windows.

Quero alterar todas as palavras "Windows" para "Linux":

:%s/Windows/Linux/gc

Resultado:

Diego estuda Linux.
Diego estuda Linux.
Diego estuda Linux.
Diego estuda Linux.
Diego estuda Linux.

Criar ISO de diretórios

# Criando a ISO

mkisofs -r -J -o nome_do_arquivo.iso /home/diego

# Montando a ISO

mount -o loop nome_do_arquivo.iso /mnt

Jogos Ubuntu

Para fãs de jogos e Ubuntu como eu, segue:

http://www.ubuntugames.org/

Adicionem como repositório, vale a pena! :D

Identificar inserção de cdrom e fazer automontagem

Estava com o seguinte problema:

Precisava compartilhar o drive de cdrom no meu Ubuntu pelo samba, mas quando inseria um CD ou DVD eles sempre montavam em caminhos diferente.
Sabemos que nas versões atuais o Ubuntu monta suas mídias dentro de /media

Resolução do problema:
Adicionar a seguinte minha no arquivo /etc/fstab

/dev/sr0        /media/cdrom    iso9660 defaults,auto,user,ro     0  0


Pronto! O Ubuntu sempre irá montar automaticamente qualquer mídia dentro do diretório /media/cdrom
Segue abaixo algumas informações que eu não conhecia todas e achei interessante divulgar:

  • 1ª coluna: Especificação do arquivo do dispositivo que será montado
  • 2ª coluna: Local (diretório) onde o dispositivo especificado na 1ª será montado
  • 3ª coluna: Tipo de sistema sistema de arquivos
    • ext2 - Sistema de arquivos do Linux
    • ext3 - Sistema de arquivos journaling (ext2 + journaling)
    • reiserfs - Sistema de arquivos journaling do Linux
    • msdos - Sistema de arquivos MS-DOS
    • vfat - Sistema de arquivos Win9x
    • ntfs - Sistema de arquivos Win2k, XP
    • iso9660 - Sistema de arquivos do CD-ROM
    • auto - Detecta o tipo de sistema automaticamente
  • 4ª coluna: Opções para montar os dispositivos
    • defaults - Montagem padrão para o dispositivo
    • exec - Permite que programas sejam executados a partir do do dispositivo
    • noexec - Nega que programas sejam executados
    • auto - Monta o dispositivo automaticamente na inicialização
    • noauto - O dispositivo deve ser especificado para a montagem
    • user - Permite que qualquer usuário monte o dispositivo
    • nouser - Não permite que usuários comuns montem o dispositivo
    • rw - Permissão de leitura e gravação para o dispositivo
    • ro - Permissão somente leitura para o dispositivo
  • 5ª coluna: Dump para o dispositivo
    • 0 - Não faz dump;
    • 1 - Faz dump.
  • 6ª coluna: Verificação e reparo do dispositivo.
    • 0 - Não faz a verificação e reparo.
    • 1 - Faz a verificação e reparo.


Migração de Servidores Físicos - Samba

Migração de Servidores Físicos - SambaSamba

Há algum tempo atrás me passaram a missão de migrar o servidor PDC da minha empresa devido um processo de virtualização que estamos passando.
Primeiramente usei o mesmo Sistema Operacional no servidor novo e os mesmos pacotes do Samba, copiei os arquivos de configuração de um servidor para o outro, mas vi que somente isso não resolvia meu problema. Então vou mostrar o procedimento correto.


Abaixo a configuração do meu servidor antigo:

Sistema Operacional: CentOS 5.3 i386
Versão do Samba: 3.5.12
Autenticação: OpenLDAP

Servidor Novo:

Sistema Operacional: CentOS 5.7 x86_64
Versão do Samba: 3.5.15
Autenticação: OpenLDAP

# Entre no servidor antigo e execute o seguinte comando:

net getlocalsid
net getdomainsid

# Salve as duas saídas.
# Entre no servidor novo:
# Instale os pacotes do Samba e de forma alguma reinicie o serviço. Copie o arquivo de configuração do samba do servidor antigo.
Execute os seguintes comandos

net setlocalsid (+ resultado do comando net getlocalsid do servidor antigo)
net setdomainsid (+ resultado do comando net getdomainsid do servidor antigo)

# OBS: não é necessário os parenteses "()"

# Feito esse procedimento reinicie o serviço do Samba e pronto. No meu caso foi necessário fazer mais um passo, pois meu servidor usa o OpenLDAP para autenticar os usuários

smbpassword -W

# Pronto!!!

Alterar o diretório dos Archives no Oracle

# Logue com o usuário oracle e siga o procedimento abaixo:

sqlplus /nolog
SQL> connect / as sysdba
SQL> alter system set log_archive_Dest_1='location=/bkporacle/arch/';
SQL> show parameter log_archive

# Irá mostrar o seguinte resultado:


NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest                     string
log_archive_dest_state_1             string      enable
log_archive_dest_state_10            string      enable
log_archive_dest_state_2             string      enable
log_archive_dest_state_3             string      enable
log_archive_dest_state_4             string      enable
log_archive_dest_state_5             string      enable
log_archive_dest_state_6             string      enable
log_archive_dest_state_7             string      enable
log_archive_dest_state_8             string      enable
log_archive_dest_state_9             string      enable

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_1                   string      LOCATION=/arch MANDATORY REOPE
                                                 N
log_archive_dest_10                  string
log_archive_dest_2                   string
log_archive_dest_3                   string
log_archive_dest_4                   string
log_archive_dest_5                   string
log_archive_dest_6                   string
log_archive_dest_7                   string
log_archive_dest_8                   string
log_archive_dest_9                   string

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_duplex_dest              string
log_archive_format                   string      arch_%t_%s.arc
log_archive_max_processes            integer     2
log_archive_min_succeed_dest         integer     1
log_archive_start                    boolean     FALSE
log_archive_trace                    integer     0
SQL> alter system set log_archive_Dest_1='location=/bkporacle/arch/';

Sistema alterado.

SQL> show parameter log_archive

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest                     string
log_archive_dest_state_1             string      enable
log_archive_dest_state_10            string      enable
log_archive_dest_state_2             string      enable
log_archive_dest_state_3             string      enable
log_archive_dest_state_4             string      enable
log_archive_dest_state_5             string      enable
log_archive_dest_state_6             string      enable
log_archive_dest_state_7             string      enable
log_archive_dest_state_8             string      enable
log_archive_dest_state_9             string      enable

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_1                   string      location=/bkporacle/arch/
log_archive_dest_10                  string
log_archive_dest_2                   string
log_archive_dest_3                   string
log_archive_dest_4                   string
log_archive_dest_5                   string
log_archive_dest_6                   string
log_archive_dest_7                   string
log_archive_dest_8                   string
log_archive_dest_9                   string
log_archive_duplex_dest              string

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_format                   string      arch_%t_%s.arc
log_archive_max_processes            integer     2
log_archive_min_succeed_dest         integer     1
log_archive_start                    boolean     FALSE
log_archive_trace                    integer     0


sexta-feira, 9 de novembro de 2012

Rodando o VMware vSphere no Windows 7

Encontrei um problema para rodar o VMware vSphere no Windows 7 (64bits).
Depois de apanhar um pouco encontrei a solução.

  1. Baixe a DLL system.dll no seguinte link: http://techhead.co/files/system.dll
  2. Entre no diretório: C:\Program Files (x86)\VMware\Infrastructure\Virtual Infrastructure Client\Launcher
    • Crie a pasta "lib" e copie a dll baixada para dentro dessa pasta
  3. Edite o arquivo VpxClient.exe.config da seguinte forma:
    • <?xml version="1.0" encoding="utf-8"?>
    • <configuration>
    • <system.net>
    • <connectionManagement>
    • <clear/>
    • <add address="*" maxconnection="8" />
    • </connectionManagement>
    • </system.net>
    • <appSettings>
    • <add key = "protocolports" value = "https:443"/>
    • </appSettings>
    • <runtime>
    • <developmentMode developerInstallation="true"/>
    • </runtime>
    • </configuration>
  4. Crie a variável de ambiente DEVPATH da seguinte forma:

    • Nome da variável: DEVPATH
    • Valor da variável: C:\Program Files (x86)\VMware\Infrastructure\Virtual Infrastructure Client\Launcher\lib

  5. Salve as configurações e execute o VMware vSphere

Instalando Ubunto pelo pendrive


  • Informe a unidade do pendrive:
  • Clique em Ok e espere o processo terminar
  • Agora é só dar o boot pelo pendrive