Red Hat servindo Vienna

A Red Hat finalmente se mostrou forte após os anúncios da Oracle e Novell, assinando um contrato com a cidade de Vienna. A cidade já migrou mais de 100 sistemas e continua o processo de implantar o Red Hat em todo o complexo.

A cidade de Vienna é simpática ao software livre desde os anos 90, e sempre foi usuária de Linux e FreeBSD, disse a Red Hat.
O prefeito da cidade, Franz Brauneder, afirmou que a decisão final foi ficar com a Red Hat por sua estabilidade, larga rede de contatos e parcerias, e extensa certificação em hardware e software. “Desde que começamos a utilizar o sistema da Red Hat não tivemos sequer um problema crítico relacionado ao sistema operacional”, afirmou.

Fonte: under-linux.org


Oracle + Linux Unbreakable

Agora a Oracle já tem a sua própria distro de linux onde já vem os pacotes que sempre tinhamos que instalar depois de instalar o Red Hat, e o mais legal é que acho que esse linux é free e tem os mesmos recursos que o RH4 da propria RH, mas sem a logo e tudo mais ele se torna somente da Oracle, vou dar uma estudada mais afundo para ver até onde esse Linux é gratuito e que possamos usar em casa ou server.

Download do Enterprise Oracle Linux

Mais sobre o Unbreakable Linux Oracle

E já estão testando as versões em vários equipamentos e versões de Oracle -> lista de configuração válida

Retificando
Este Enterprise Linux Oracle não é gratuito, mas é barato em relação ao da RH e o suporte legal.


SSH sem senha

Este processo de deixar um servidor confiar noutro servidor linux na rede é muito usando para não haver complicações em aplicações como syncronismo de informação, copia de arquivos e qualquer coisa que vá trafegar entre um servidor ou outro sem precisar de ficar montando compatilhamentos entre servidores.
E como sempre esse processo será da maior seguranca que um samba por exemplo.

Primeiro devemos efetuar a criação as chaves de acesso entre os servidores:

ssh-keygen -b 1024 -t rsa

Esse comando chama o utilitário 'ssh-keygen' e diz para criar uma chave de 1024 bits e usando o algoritmo rsa. Para a chave ser criada deverá ter no mínimo 512 bits, mas 1024 é o suficiente para ter uma ótima segurança. Caso seu servidor use SSH versão 1 terá que ser usado o algoritmo rsa, mas se for versão 2 poderá ser usado tanto rsa como dsa. Caso use dsa, ficará assim: ssh-keygen -b 1024 -t dsa.

Feito isso aparecerá no seu console:

[oracle[a]localhost oracle] Enter file in which to save the key (/home/oracle/.ssh/id_rsa.pub)

Aqui será especificado o local onde será criada as chaves. O ideal é não alterar. Pressione ENTER.

[oracle[a]localhost oracle] Enter passphrase (empty for no passphrase):

Nesse ponto é que está o segredo!!! Aqui pedirá uma 'passphrase' que é uma 'frase-senha', mas como queremos nos logar sem senha, aperte ENTER, e não coloque nada.

[oracle[a]localhost oracle] Enter same passphrase again:

ENTER de novo.

[oracle[a]localhost oracle] Your public key has been saved in /home/oracle/.ssh/id_rsa.pub
The key fingerprint is:
00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00

Aparecendo isso que dizer que as chaves foram criadas com sucesso. (A 'key fingerprint' é diferente em cada caso). Agora falta pouco para terminarmos... Digitando esse comando:

[oracle[a]localhost oracle] scp /home/oracle/.ssh/id_rsa.pub oracle[a]10.0.0.5:/home/oracle/.ssh/

Será copiado nossa chave pública para o servidor. Não esqueça, tem que ser a chave PÚBLICA. A privada nunca sai de sua máquina. scp é o utilitário que irá copiar nossa chave, id_rsa.pub é a nossa chave (caso você tenha escolhido o algoritmo DSA, o nome será id_dsa.pub), oracle é o usuário, 10.0.0.5 é o servidor e finalmente o caminho para onde vai a chave.

Agora logando-se na máquina você perceberá que o servidor ainda pede a senha. O que temos que fazer é ir no diretório onde está a chave pública e mudarmos o nome para 'authorized_keys':

[oracle[a]localhost oracle] mv id_rsa.pub authorized_keys (caso seja rsa)
[oracle[a]localhost oracle] mv id_rsa.pub authorized_keys2 (Olha o 2 aí)(caso seja dsa)

Dê um logout com 'exit': exit
E logue-se de novo e não pedirá mais a senha.

Ref.: SSH sem senha ; br-linux.org ; dicas-L


Export .dmp gigante?

Bom uma prática do tempo do Unix 32bits na hora de fazer export ou import utilizar um recurso para des/compactar ou partir os arquivos na hora que eles estao sendo criados. É +/- isso ai mesmo.
No momento que tais fazendo um exp system/senha full=y file=/backup/expfull.dmp este arquivo pode mtas vezes ter centenas de gigas, mas compactados podem ficar com pequenos megas.
Bom muito DBA nos seus scripts de backup no Linux ou Unix fazem esse export e dps passam um gzip expfull.dmp para compactar ai mora outro problema, o gzip compacta mas se o arquivo dmp ficou com 20Gb e o .gz for ficar 4Gb no total vai ter que ter pelo menos de espaco livre uns 24,5Gb para essa maratona toda ai.....
Mas como eu estava dizendo há uma forma mais simplificada nisso tudo ai, como o unix ou linux todos os arquivos sao concatenados, é o termo nao é bem esse mas é algo assim, entao no momento q estou criando um arquivo posso estar pegando a informacao de dentro dele e jogando para outro lugar.
bom para nao enrolar mto vou fazer um exemplo que ficará mais fácil de enteder.

1. Tens que criar um arquivo temporario, é .... aquele que eu disse que vai ser alimentado mas vai ser jogado o seu conteudo para outro
[oracle@localhost oracle] mknod /tmp/exp_pipe p # criando um arquivo para o export
[oracle@localhost oracle] gzip < /tmp/exp_pipe > /backup/expfull.dmp.gz & # gzip recebendo a informacao do exp_pipe e a saida do gzip está sendo para /backup/expfull.dmp.gz já compactado e o & quer dizer em segundo plano
[oracle@localhost oracle] exp system/senha full=y file=/tmp/exp_pipe log=/backup/expfull.log # aqui o export vai jogar as informacoes para o exp_pipe onde o gzip que está em segundo plano esperando estas para compactar.

Não há necessidade de matar o gzip pois ele fica em segundo plano, no momento que termina o export o gzip finaliza o export e ai está o seu export de 20Gb já saiu compactado em 4Gb.
Ok pode perder um pouco de performace pois será dois processos de arquivos no servidor mas nao será tao problemático em questão de espaco.

E em relação a importar esse gzip, nao há necessidade de descompactar e dai fazer o import, vou colocar somente o código e dai com a explicação anterior já irão induzir o que ele está fazendo.

[oracle@localhost oracle] mknod /tmp/imp_pipe p
[oracle@localhost oracle] gzip -d < /backup/expfull.dmp.gz > /tmp/exp_pipe &
[oracle@localhost oracle] imp system/senha full=y file=/tmp/exp_pipe log=/backup/impfull.log fromuser=deUsuario touser=paraUsuario

Obs.: O ideal depois de compactar usando esse recurso se certificar que o arquivo está ok, como foi usado o gzip posso recomendar o seguinte comando:
gunzip -t /backup/expfull.dmp.gz ; RC=$?
if test ${RC} -ne 0
then
# aqui vc fazer um comando mail para enviar um email para o DBA dizendo que o backup falhou
fi

Referencias: OraFAQ,

Oracle export 2 gig file


logrotate .log para .log1 de para .log2

Sobre o logrotate, uma importante ferramenta de administração dos logs do sistema.

Fonte: logrotate man pages - Erik Troan e Preston Brown

O logrotate é desenhado para facilitar a administração de sistemas que geram muitos arquivos de log. Todo usuário deve sempre vigiar os arquivos de log porque estes ocupam espaço no disco rígido. Os arquivos de log são importantes porque neles estão contidos os erros do sistema, erros esses que podem ser corrigidos. Entretanto se os arquivos de log não sofrerem rotação, ou seja, não forem apagados e recriados, irão crescer infinitamente.

Quem nunca entrou no /var/log e viu aqueles logs com nomes de um dia para outro de .log para .log1 e o .log estar novinho? bom o logrotate faz bem isso.. sem vc precisar programar um shell script por exemplo.

E normalmente o logrotate é rodado pelo cron, com tarefas diárias, semanais ou mensais, porém é possível o uso direto através do comando logrotate.

Sintaxe do comando

logrotate -/

  • -d - Debug. É apenas para listar na tela o resultado do comando e não altera os logs.
  • -f - Force. Força o início da rotação mesmo se o sistema ache desnecessário.
  • -m - Mail Diz qual comando usar para enviar um email com os logs.
  • -s - State. Diz ao logrotate para usar um arquivo alternativo. The default arquivo de status é /var/lib/logrotate/status.
  • -usage - Usabilidade. Imprime uma curta mensagem.

Todas estas opções devem se seguidas do arquivo de configuração, de suma importância.

O /etc/logrotate.conf

Este é o arquivo importante para a manutenção, rotação, envio por email e exclusão dos arquivos de log. Alguns scripts especiais são incluídos na pasta /etc/logrotate.d e são lidos pelo logrotate através do logrotate.conf. Veja algumas dicas para a configuração deste arquivo:

Rotação dos logs [rotate log files weekly]

Neste ítem você deve decidir de quando em quando é feita a rotação. Pode ser diária(daily), semanal(weekly), mensal(monthly). Os arquivos de log que não tiveram indicação clara desta rotação seguirão o padrão indicado neste item.

Você também pode definir diretamente a rotação desejada deste modo:
Continue lendo →


Trocando extensão .PHP->.RS e manipulando URL’s (Apache+PHP)

Hoje estava dando uma olhada em alguns site e encontrei um artigo do BOZO no site PHPBrasil.com onde ensina como manipular URL's e achei mto interessante e fui pesquisar um pouco mais e achei uma vasta documentação sobre.

E uma coisa, que sempre me perguntam. Posso alterar a extensão de .php para .rs?

Sempre respondi que poderia mas tem q fazer isso no servidor e dai vão alterar todos os sites que contenham php, entao isto é inviavel. Acabei descobrindo com esse artigo que estava totalmente errado.

Caso seu servidor tenha o apache instalado podes ter controle de diretórios com um arquivo chamado .htaccess

Vamos fazer um pequeno exemplo:

Crie um arquivo .htaccess e adicione dentro deste as seguintes linhas

AddType application/x-httpd-php .rs
DirectoryIndex index.rs index.php index.html

AddType application/x-httpd-php .rs
Indica que todos os .rs serão do tipo PHP, quer dizer serão interpretados como php mesmo sem a extensão .php e sim .rs
DirectoryIndex index.rs index.php index.html
Bom isso já diz tudo o Index do diretório caso não seja informado a página a ser mostrado irá procurar um index.rs se não achar vai p/ o index.php e assim vai. Então é só ter um index.rs dentro do diretório e blz.
-------

Agora o que vi noutro site e vou transcrever aqui é sobre o módulo Rewrite do apache.
Para quem não sabe esse sim tem editar o httpd.conf do apache e descomentar a linha

LoadModule rewrite_module modules/mod_rewrite.so

É só tirar o # da frente desta linha e reiniciar o servidor apache.

#    AllowOverride None
AllowOverride All

Comentar o AllowOverride None ou trocar por All
Verificado se isso está da forma indicada acima dentro daquele mesmo arquivo .htaccess que vais por dentro do diretório onde estão os seus fontes php:

RewriteEngine on
RewriteRule ^([a-z,0-9,A-Z,_-]+)$ index.rs?ID=$1

Isto irá fazer o mesmo efeito dos flog's espalhados no mundo como por exemplo www.rstoever.com/acesso/leite

dentro do diretório acesso há o arquivo .htaccess que irá fazer o que? Pegar a variavel indicada como leite e transportala para o $1 como se fosse um parametro do MSDOS ou Linux, e irá redirecionar para o index.rs?ID=$1 que foi feito anteriormente.
Arquivo index.rs

echo "ID.rs -> ".$_GET['ID'];

Mais referencias:
PHPbrasil - Manipulando URL com .htaccess
httpd.apache.org/docs/1.3/howto/htaccess.html
apache.org/
httpd.apache.org/docs/1.3/mod/mod_rewrite.html
pt.wikipedia.org/wiki/Express%C3%A3o_regular


Filme REVOLUTION OS

"Revolution OS" conta a história de hackers que se rebelaram contra a Microsoft e criaram o GNU/Linux e o movimento Fonte Aberta.

 

Mais detalhes sobre a matéria Folha Online 

E por favor quem achar o filme ai... me avise que eu gostaria de pegar emprestado! 


Inicialização automática do oracle em Linux

Estava navegando na net e achei uma documentação muito boa sobre como fazer a inicialização do DB Oracle em sistemas operacionais Linux distribuições similares a Red Hat, Fedora, Conectiva.....

o link promete mais conteúdos e tudo mais mas este referece a Oracle10g, startup automático.


Conhecendo o Servidor Apache

"Ao acessar qualquer site, há um servidor por trás daquele endereço responsável por disponibilizar as páginas e todos os demais recursos que você pode acessar. Assim, quando você envia um e-mail através de um formulário, coloca uma mensagem em um fórum de discussão, faz uma compra on-line, etc, um servidor Web (ou um conjunto de servidores) é responsável por processar todas essas informações."
E para ler mais sobre a matéria clique aqui


Iniciar o Oracle10g em um RH ES4 SeLinux

É pessoal, estou enfrentando alguns problemas referente a inicialização o oracle 10g em RedHat Es4, onde na instalação marquei a opção SELinux, ainda não entendi o significado disto ao certo, mas uma coisa já notei foi que ao reiniciar o linux o banco não é iniciado utilizando o famoso dbora com os comando de startup para o banco de dados.

Plataforma Linux:
Red Hat Enterprise Linux ES release 4 (Nahant Update 2)
Kernel 2.6.9-5.ELsmp on an i686
Oracle10g 10.2.0
 

Notei que ao iniciar os comando que damos é o "su" para conectar noutro usuário que seria o que tem acesso ao Oracle.

Um exemplo é:

ORA_OWNER="oracle"
ORA_HOME="/u01/app/oracle/product/10.2.0/db_1"
su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart"

e ao iniciar ele tenta conectar como usuário oracle e dar o dbstart, mas não faz isto dando um error

Your default context is user_u:system_r:unconfined_t.
Do you want to choose a different one? [n]

Procurei na net algo sobre isto e identifiquei que este SELinux é o problema ou proteção excessiva ao linux, onde que neste caso devemos entrar em /etc/pam.d

e editar o arquivo su, caso tenha problemas com o login ou remote, existe estes mesnos nomes de arquivos dentro desta pasta.

#session required pam_selinux.so multiple open
session required pam_selinux.so open

Fonte: Unix.com