Archive for the 'Solaris' Category

Solaris: How to Reboot / Shutdown

August 09th, 2009 | Category: Solaris

No Solaris temos vários comandos para fazer um reboot ou shutdown.

Para Reboot:

Não é um comando interativo e pode ser interrompido com ^C.
Read more

Comments are off for this post

SSH timeout for connection idle

June 01st, 2009 | Category: AIX, Debian, HP-UX, Red Hat, SUSE, Solaris

Recentimente percebi que em alguns servidores que eu estava logando quando uma conexão ssh ficava aberta por mais de 5 minutos sem que eu tomasse nenhuma ação, a mesma se encerrava automaticamente por inatividade.

Para solucionar este problema, encontrei duas opções:

1. Configuração realizada no servidor SSH
Read more

Comments are off for this post

SSH Tunnel Proxy

May 30th, 2009 | Category: AIX, Debian, HP-UX, Red Hat, SUSE, Solaris

O conceito é praticamento o mesmo do X11 Forward, com esta opcão do SSH direcionamos uma porta do servidor remoto para qualquer porta local.

Exemplo, para direcionar a porta 25 do servidor para a porta 3000 local mantendo a conexão por 60 segundos:
Read more

Comments are off for this post

SSH: X11 Forwarding

May 30th, 2009 | Category: AIX, Debian, HP-UX, Red Hat, SUSE, Solaris

Com esta opção no SSH podemos redicionar conexão ao X Window no servidor para o servidor X local.

Ao realizar a conexão no servidor X Remoto a conexão é direcionada por default ao DISPLAY :10

Para isto realizamos a seguinte configuração nos arquivos abaixo:
Read more

Comments are off for this post

SSH sem senha

May 30th, 2009 | Category: AIX, Debian, HP-UX, Red Hat, SUSE, Solaris

Primeiro precisamos gerar um par de chaves públicas/privadas para autenticar com chaves RSA2 ou DSA.

RSA:
ssh-keygen -t rsa
DSA:
ssh-keygen -t dsa

As chaves são gerados no $HOME do usuário que você esta utilizando.
Read more

Comments are off for this post

Solução para mensagem “Terminal too wide”

January 16th, 2009 | Category: Solaris

No Solaris algumas vezes encontramos este erro quando utilizamos o editor VI:

Terminal too wide

Utilizamos o comando abaixo:

# /usr/openwin/bin/resize

Se mesmo assim não funcionar, para solucionar este problema precisamos incrementar o número de colunas utilizando o comando abaixo:

# stty columns 120

OBS.:

Uma melhor solução é instalar o VIM

Comments are off for this post

Troubleshooting snmpdx

May 10th, 2008 | Category: Solaris

A pouco tempo encontrei o seguinte log no /var/adm/messages em alguns servidores Solaris 8, fazendo com que o file system /var chega-se em 100% várias vezes.

May 5 21:01:05 sserver8 /usr/lib/snmp/snmpdx: [ID 702911 daemon.error] session_open() failed for a pdu received from localhost.55659
May 5 21:01:05 sserver8 /usr/lib/snmp/snmpdx: [ID 702911 daemon.error] community_check();bad community from localhost

Realizei os seguintes procedimentos.

  • Verifiquei o /etc/hosts, em busca de entradas duplicadas.

127.0.0.1 localhost

10.0.0.11 sserver8

  • Alterei as seguintes linhas abaixo no arquivo /etc/snmp/conf/snmpd.conf.

system-group-read-community S89priv

trap-community S89priv

managers localhost snmpman

  • Depois realizei a seguinte configuração em /etc/snmp/conf/snmpdx.acl

acl = {

{

communities = public

access = read-only

managers = *

}

}

Nota: S89priv é o nome da comunidade

  • Após isto é necessário realizar um restart do serviço

/etc/rc3.d/S76snmpdx stop

/etc/rc3.d/S76snmpdx start

E por fim você irá constatar que as mensagens de erro não mais ocorrem.

tail -f /var/adm/messages.

Espero que a dica tenha sido útil.

Comments are off for this post

How to Find

April 30th, 2008 | Category: AIX, Debian, HP-UX, Red Hat, SUSE, Solaris

Busca por nome de arquivos e/ou diretórios (pode-se realizar busca com expressões regulares)

  • Case sensitive

# find / -name “*.sh” -print
# find / -name apache2 -print
# find / -name “[Bb]ind*” -print

  • Case insensitve

# find / -iname “*lock*” -print

Busca com dois parâmetros (AND/OR)

  • Arquivos .sh e .ksh

# find / \( -name \*.sh -a -name \*.ksh \) -print

  • Arquivos .sh ou .ksh

# find / \( -name \*.sh -o -name \*.ksh \) -print

Busca por owner

  • User ID

# find / -user www

  • Group ID

# find / -group bin

Busca por tipo de permissões

  • Octal

# find /usr/sbin/ -perm +0500
# find /usr/sbin/ -perm -0664
# find /usr/sbin/ -perm 0775

  • Symbolic

# find /usr/sbin/ -perm +ug=rx
# find /usr/sbin/ -perm -u=rw
# find /usr/sbin/ -perm o=r

Busca apenas no diretório corrente

# find /usr -name “*.txt” -maxdepth 1 -print

Busca no diretório corrente e desce um subdiretório

# find /usr -name “*.txt” -maxdepth 2 -print

Busca apenas no file system corrente (existindo por exemplo um file system /usr/aap, este será excluído da busca)

# find /usr -xdev -name “*.txt” -print

Busca mantendo no diretório corrente (não é preciso utilizar -depth)

# find /usr -name “*.txt” -prune

Busca por tipo

  • Somente arquivos

# find / -name apache2 -type f -print

  • Somente diretórios

# find / -name apache2 -type d -print

  • Somente links

# find / -name apache2 -type l -print

  • Arquivos no home do usuário com 2 hard links

# find $HOME -type f -links 2

  • Arquivos no home do usuário com mais de 1 hard link

# find $HOME -type f -links +1

Busca por tamanho de arquivo

  • Arquivos maiores que 5M

# find / -size +5000 -print

  • Arquivos menores que 5M

# find / -size -5000 -print

  • Arquivos exatamente igual a 5M

# find / -size 5000 -print

Busca de arquivos por data de: acesso, criação e modificação

  • Arquivos acessados com mais de 3 dias

# find /etc -atime +3 -print

  • Arquivos acessados com menos de 3 dias

# find /etc -atime -3 -print

  • Arquivos modificados com mais de 5 dias

# find /etc -mtime +5 -print

  • Arquivos modificados com menos de 5 dias

# find /etc/ -mtime -5 -print

  • Arquivos criados com mais de 10 dias

# find /var -ctime +10 -print

  • Arquivos criados com menos de 10 dias

# find /var -ctime -10 -print

  • Arquivos modificados exatamente há 7 dias

# find /etc -mtime 7 -print

  • Arquivos acessados nas útimas 24 horas

# find /etc -atime 0 -print

Busca de arquivos e/ou diretórios com exceção (imprime tudo exceto parâmetro informado)

# find /usr ! -name “*lib*” -print
# find /usr -not -name “*lib*” -print

Busca com execução de comandos na saída

  • Lista detalhe dos arquivos encontrados (equivalente a opção “ls -dils”)

# find /var/log/ -name “*.log” -ls

  • Excluir todos os arquivos no /tmp com mais de 3 dias

# find /tmp/ -ctime +3 -exec rm -rf {} \;

  • Excluir todos arquivos no /tmp com extensão .lock sem confirmação

# find /tmp/ -name *.lock -exec rm -rf {} \;

  • Exlcluir todos arquivos no /tmp com extensão .lock com confirmação

# find /tmp/ -name *.lock -ok rm -rf {} \;

  • Excluir arquivos com nome core (-delete apenas para GNU find)

# find / -name “*core*” -type f -delete

  • Compactar todos arquivos no /tmp com extensões .tmp e .bak

# find /tmp/ \( -name \*.tmp -o \*.bak \) -exec gzip {} \;

  • Busca arquivos dentro do homedir com permissões 664 e altera para 775

# find $HOME -xdev type f -perm 664 -exec chmod 775 {} \;

Nota: Abaixo seguem alguns exemplos de expressões regulares e formatação do resultado da busca.

  • Busca todos arquivos criados com menos de 5 dias, exceto arquivos que contenham “svn” no nome.

# find . -ctime -5 -not -regex ‘.*svn.*’ -print

  • Busca arquivos modificados a mais de uma semana e que tenham as extensões .csh ou .ksh

# find . -mtime +7 -regex ‘.*[ck]sh*’

  • Formanto da saída da busca

# find . -printf “%TY%TW:%p\n”
# find . -printf ‘%TY-%Tm-%Td %TH:%TM:%TS %p\n’
# find . -printf ‘%p %a %m\n’
# find . -printf ‘Name: %16f Size: %6s\n’

Importante: Descrição dos comandos acima.

%Ax – data do último acesso ao arquivo, formato da mesma definido em “x”.
%Tx – data da última modificação do arquivo, formato da mesma definido em “x”.

d – dia do mês
D – data (dd/mm/aa)
h – mês (nome)
H – hora
m – mês (número)
M – minutos
S – segundos
T – hora (hh:mm:ss)
w – dia da semana
W – número da semana no ano
y – ano (2 digítos)
Y – ano (4 digítos)

%a – data e hora do último acesso ao arquivo
%f – nome do arquivo (exclui PATH)
%m – permissões do arquivo (symbolic)
%p – nome do arquivo (inclui PATH)
%s – tamanho do arquivo (bytes)

\n – quebra de linha
\t – tabulação horizontal
\v – tabulação vertical

OBS.: Neste artigo coloquei os arquivos que tenho utilizado diariamente, pois o comando find tem inúmeras possíbilidades, para explorá-las, basta dar uma lida no man. E lembrar também que todos os comandos poder ser mesclados, exemplos: busca por extensão de arquivo, permissão e mais de x dias acessados ou, busca por extensão x e y, tamanho e tipo de arquivo e etc…

Comments are off for this post

Gerênciando swap

April 26th, 2008 | Category: Solaris

Para criar-mos uma nova partição raw swap, após criado o device (type swap), adicione a seguinte entrada em /etc/vsftap

/dev/dsk/c0t1d0s0 – – swap – no -

Depois habilitando a nova partição

# swap -a /dev/desk/c0t1d0s0

Pode adicionar uma novo área de swap através de um arquivo de swap.

# mkfile 250m /opt/myswapfile
# swap -a /opt/myswapfile
# echo “/dev/dsk/c0t1d0s0 – – swap – no -” >> /etc/vsftab

Desativando um

swap space

# swap -d /opt/myswapfile

Exibindo informações mais detalhadas da área de swap.

# swap -s
total: 402456k bytes allocated + 97104k reserved = 499560k used, 1643728k available

Neste momento verificamos que o uso real da swap é de 499560k, onde 97104k estão reservados para uso futuro e 402456k é a utilização real no momento.
O espaço livre é de 1643728k.

Para obter detalhes individuais de cada device.

# swap -l
swapfile dev swaplo blocks free
/dev/md/dsk/d20 85,20 16 4202672 3489392

Onde swapfile indica device ou arquivo de swap, a coluna deve informa o maior e menor número para o device e 0 quando for arquivo.
Em blocks temos o tamanho total da swap (blocos de 512 bytes). Finalizando em free é a quantidade de espaço livre na área de swap também em blocos de 512 bytes.

Comments are off for this post

Restaurando backups

April 26th, 2008 | Category: Solaris

Caso necessário, podemos determinando origem de um arquivo de backup.

Archive:

# ufsrestore ta /var/tmp/root.archive ./etc/passwd

Tape:

# ufsrestore tf /dev/rmt/0 ./etc/passwd

Restaurando backup em modo interativo

# cd /var/tmp
# ufsrestore if /dev/rmt/0
ufsrestore> ls
.:
.cpr_config etc/ lost+found/ sbin/ usr/
TT_DB/ export/ mnt/ sccs/ var/
b/ home/ net/ share/ vol/
bin kernel/ opt/ shared/ ws/
dev/ lib platform/ src/ xfn/
devices/ license/ proc/ tmp/
ufsrestore> cd etc
ufsrestore> add passwd shadow
ufsrestore> verbose
verbose mode on
ufsrestore> extract
Extract requested files
You have not read any volumes yet.
Unless you know which volume your file(s) are on you should start
with the last volume and work towards the first.
Specify next volume #: 1
extract file ./etc/shadow
extract file ./etc/passwd
Add links
Set directory mode, owner, and times.
set owner/mode for `.’? [yn] n
ufsrestore> quit
#

Restaurando backup sem modo interativo

# ufsrestore xvf /dev/rmt/0 ./etc/passwd ./etc/shadow
Verify volume and initialize maps
Media block size is 126
Dump date: Wed Dec 12 10:54:45 2001
Dumped from: the epoch
Level 0 dump of / on earth:/dev/dsk/c0t1d0s0
Label: none
Extract directories from tape
Initialize symbol table.
Make node ./etc
Extract requested files
You have not read any volumes yet.
Unless you know which volume your file(s) are on you should start
with the last volume and work towards the first.
Specify next volume #: 1
extract file ./etc/passwd
extract file ./etc/shadow
Add links
Set directory mode, owner, and times.
set owner/mode for `.’? [yn] n

Comments are off for this post

Next Page »