Archive for the 'Red Hat' Category
SSH sem senha
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
Sendmail: My unqualified host name …
Geralmente encontramos no Sendmail o error log abaixo:
Nov 15 08:19:56 server sendmail[314]: [ID 702911 mail.crit] My unqualified host name (localhost) unknown; sleeping for retry Nov 15 08:19:56 server sendmail[315]: [ID 702911 mail.crit] My unqualified host name (localhost) unknown; sleeping for retry Nov 15 08:20:57 server sendmail[314]: [ID 702911 mail.alert] unable to qualify my owndomain name (localhost) -- using short name Nov 15 08:20:57 server sendmail[315]: [ID 702911 mail.alert] unable to qualify my owndomain name (localhost) -- using short nameComments are off for this post
Red Hat 5: Missing ext2online
No RHEL 5 a funcionalidade do comando ext2online foi migrada para o comando resize2fs.
Portanto, ainda podemos realizar o aumento dos file systems on-line, conforme abaixo:
resize2fs /dev/rootvg/tmplv
OBS.:
Porém, reduzir file system que encontra-se em uso apenas off-line.
Comments are off for this postConfigurando Automount
Para este exemplo vou utilizar um file system exportado via NFS e outro via SAMBA.
Editamos o arquivo auto.master, para definir time out e onde os compartilhamentos serão montados.
No exemplo abaixo, todos os compartilhamentos configurados no arquivo auto.nfs serão montados em /mnt/shared e com um time out de 60 segundos.
/mnt/shared   /etc/auto.nfs   –timeout 60
/mnt/shared   /etc/auto.smbfs   –timeout 60
Feito isso editamamos o arquivo auto.nfs que contém todos os mapeamentos exportados via NFS.
/www   -rw,soft,intr   server:/exports/www
Depois editamamos o arquivo auto.smbfs que contém todos os mapeamentos exportados via SAMBA.
/SMB -fstype=smbfs,username=xxxx,password=xxxx ://server/shared
Finalizando basta realizar um start no daemon autofs.
Comments are off for this postservice autofs start
Aumentando área de swap no Linux com LVM
Primeiro precisamos desabilitar a área de swap
# swapoff -v /dev/rootvg/swaplv
Agora aumentamos a nossa área de swap em 512M
# lvextend -L +512M /dev/rootvg/swaplv
É necessário formatar a nova área de swap
# mkswap /dev/rootvg/swaplv
Finalizando habilitamos a nova área de swap
# swapon -va /dev/rootvg/swaplv
Para verificar a nova área utilize:
Comments are off for this post# cat /proc/swaps
ou
# free
How to Find
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 postAlterando velocidade e comunicação da placa Ethernet
Primeiro verificamos se temos os seguintes pacotes instalados.
server:~ # rpm -q ethtool
server:~ # rpm -q net-tools
Depois temos que verificar as caracteristicas da nossa placa Ethernet
server:~ # ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: Yes
Speed: 10Mb/s
Duplex: Half
Port: MII
PHYAD: 30
Transceiver: internal
Auto-negotiation: on
Current message level: 0×00000007 (7)
Link detected: noserver:~#mii-tool eth0
eth0: no autonegotiation, 10baseT-HD, link ok
Agora que sabemos que a placa Ethernet aceita velocidade de 100 e full duplex, base adicionar a seguinte entrada em /etc/sysconfig/network-scripts/ifcfg-etho
vi /etc/sysconfig/network-scripts/ifcfg-eth0
ETHTOOL_OPTS=”speed 100 duplex full autoneg off”
Mas para que esta configuração fique permanente é necessário adicionar a seguinte entrada em /etc/rc.local
vi /etc/rc.local
ethtool -s eth0 speed 100 duplex full autoneg off
touch /var/lock/subsys/local
OBS.:
Caso a placa Ethernet não suporte o “ethtool”, pode-se utilizar a mesma configuração com o “mii-tool”, digitando o comando abaixo.
Comments are off for this postmii-tool -F 100baseTx-FD eth0
Instalando JAVA no RedHat
O primeiro passo dever ser baixa a versão necessária para sua aplicação ou a versão current do Java em http://java.com.
Hoje a versão mais recenter é jre-6u3-linux-i586-rpm.bin
Depois de feito um download crie o seguinte diretório
mkdir /usr/java
Extraia o pacote java
mv jre-6u3-linux-i586-rpm.bin /usr/java
chmod 755 /usr/java/jre-6u3-linux-i586-rpm.bin
cd /usr/java
./jre-6u3-linux-i586-rpm.bin
Leia toda a licença e aceite o termo “yes”, será extraÃdo um pacote rpm.
Instale o pacote rpm
rpm -ivh jre-6u3-linux-i586.rpm
Pronto seu Java JRE se encontra instalado eu seu servidor.
Comments are off for this postInicialização automática de pacotes no sistema de boot Redhat Linux
A iniciliazação automática de daemons no Redhat Linux pode ser feita de duas maneiras, pela inittab ou pelo /etc/rc.d utilizando script de execução.
Para isto basta adicionar a seguinte entrada em /etc/inittab
vi /etc/inittab
# Start automático daemonname
daemonname::once:/caminho/para/bin/daemon >/dev/null 2>&1
A segunda forma é através do /etc/init.d script
Criamos um script de inicialização em /etc/init.d/startdaemon
Com o contéudo abaixo:
#!/bin/bash
#
# chkconfig: – 91 35
# description: Starts and stops vncserver/integradorTXT# Source function library.
. /etc/init.d/functions# Source networking configuration.
. /etc/sysconfig/network# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0[ -f /caminho/para/bin/startdaemon ] || exit 0
prog=”startdaemon”
export DAEMON_DIR=/caminho/para/bin
export DAEMON_CONFIG=/caminho/para/conf/startdaemon.conf # somente se necessáriostart() {
echo -n $”Starting $prog: ”
cd $DAEMON_DIR
daemon $DAEMON_DIR/startdaemon
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/startdaemon
return $RETVAL
}stop() {
if test “x`pidof startdaemon`” != x; then
echo -n $”Stopping $prog: ”
killproc startdaemon
echo
fi
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/startdaemon
return $RETVAL
}case “$1″ in
start)
start
;;stop)
stop
;;status)
status startdaemon
;;
restart)
stop
start
;;
condrestart)
if test “x`pidof startdaemon`” != x; then
stop
start
fi
;;*)
echo $”Usage: $0 {start|stop|restart|condrestart|status}”
exit 1esac
exit 0
# eof
Depois setamos as permissões de execução
chmod 744 /etc/init.d/startdaemon
Agora colocamos o nosso serviço no inialização automática, isto pode ser feito manualmente ou automaticamente.
Se automaticamente:
/sbin/chkconfig –add startdaemon
/sbin/chkconfig –level 35 startdaemon on
/sbin/chkconfig –list startdaemon
Este comando criar todos os simbólicos links automáticamentes de acordo com os runlevels escolhidos.
Se manualmente:
cd /etc/rc.d/rc3.d
ln -s ../init.d/startdaemon S91startdaemoncd /etc/rc.d/rc5.d
ln -s ../init.d/startdaemon S91startdaemoncd /etc/rc.d/rc0.d
ln -s ../init.d/startdaemon K35startdaemoncd /etc/rc.d/rc6.d
ln -s ../init.d/startdaemon K35startdaemoncd /etc/rc.d/rc1.d
ln -s ../init.d/startdaemon K35startdaemon
Para testar as configurações digitamos os seguintes comandos:
* para start do daemon manualmente
service startdaemon start
* para stop do daemon manualmente
service startdaemon stop
* para restart do daemon manualmente
service startdaemon restart
* para verificar o status do daemon
service startdaemon status
ou
ps -ef | grep startdaemon
OBS.: Para que o start funcione durante do boot que init level do sistema assuma como default 3 ou 5.
Comments are off for this postcat /etc/inittab | grep initdefault
id:5:initdefault
Aumentando a área de Swap
Primeiro verificamos qual é o tamanho total da swap.
free
Depois verificamos quanto de espaço fÃsico temos em disco para poder aumentar na memória swap.
df -hT
Definindo o quanto vamos aumentar na swap, criamos um diretório para guardar a swap
mkdir /swapdir
Depois criamos o arquivo para a swap,com um tamanho de 2GB
dd if=/dev/zero of=/swapdir/swapfile bs=1024 count=2000000
Em seguinda configuramos o nosso arquivo para swapspace (filesystem swap)
mkswap /swapdir/swapfile
Depois iniciamos a nossa segunda área de paginação
swapon /swapdir/swapfile
Para que a mesma seja carregada durante o boot
vim /etc/fstab
/swapdir/swapfile swap swap defaults 0 0
Para verificar se não houve nenhum erro
free
Para voltar a área de swap ao tamanho original
swapoff /swapdir/swapfile
rm -rf /swapdir
Depois remove as entras referentes a entrada na nova swap em /etc/fstab
OBS.:
* No Linux não é necessário que grande preocupação com a memória RAM (mas está também não deve ser desconsiderada), e sim com a memória de paginação (swap).
* Por default utilizados a swap com tendo o dobro da memória principal, exemplo, em um servidor com 1GB Ram deverá ter 2GB de Swap.
* Como um servidor com memória RAM superior a 4GB de memória RAM, a memória swap não precisa necessáriamente ter o dobro da memória RAM, pode-se adotar um tamanho igual.
* A área em disco alocada para a memória de paginação não pode ser maior que 20% do tamanho total do disco fÃsico.
* Este Post pode ser feito em qualquer distribuição Linux.
Comments are off for this post