Aix, Solaris e Linux: Como identificar o MAC address da placa de rede

Para verificar o MAC address da placa de rede no AIX, Solaris e Linux:

Aix:

Comando lscfg, veja o “Network address”:

# lscfg -vl ent1
  DEVICE            LOCATION          DESCRIPTION

  ent1              60-58             Gigabit Ethernet-SX PCI Adapter
                                      (14100401)

        Network Address.............0004AC7CE7BC
        Displayable Message.........Gigabit Ethernet-SX PCI Adapter
                                    (14100401)
        EC Level....................E77671
        Part Number.................41L6596
        FRU Number..................07L8276
        Device Specific.(YL)........U0.2-P1-I1/E1

Solaris:

Comando ifconfig, veja o “ether”:

# ifconfig -a
le0: flags=863 mtu 1500
        inet 131.225.80.209 netmask fffff800 broadcast 131.225.87.255
        ether 8:0:20:10:d2:ae

Linux:

Comando ifconfig, veja o “HWaddr”:

# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:60:08:C4:99:AA
          inet addr:131.225.84.67  Bcast:131.225.87.255  Mask:255.255.248.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:15647904 errors:0 dropped:0 overruns:0
          TX packets:69559 errors:0 dropped:0 overruns:0
          Interrupt:10 Base address:0x300

Referência:

  1. How to find your mac address
  2. AIX – lscfg command reference
  3. Solaris – ifconfig command man page
  4. Linux – ifconfig man page

Aix – Como ver o histórico de instalação de um pacote (fileset)

No sistema operacional AIX, para ver o histórico de instalação de um pacote (fileset) utiliza-se o comando lslpp com a opção -h:

No exemplo abaixo, o histórico de instalação de um dos pacotes do DB2:

# lslpp -h db2_08_01.cj
  Fileset         Level     Action       Status       Date         Time
  ----------------------------------------------------------------------------
Path: /usr/lib/objrepos
  db2_08_01.cj
                 8.1.1.80   COMMIT       COMPLETE     06/15/08     10:46:23
                8.1.1.128   COMMIT       COMPLETE     06/24/09     15:48:40
                8.1.1.152   COMMIT       COMPLETE     10/21/09     12:30:59
                8.1.1.160   APPLY        COMPLETE     01/17/10     16:40:11

Referência:

  1. Man page do comando lslpp (Para AIX V 5.3): http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.cmds/doc/aixcmds3/lslpp.htm

Aix – Como identificar o processo que está utilizando uma porta

Para identificar qual processo está utilizando uma porta, usamos os comandos netstat e rmsock.

Primeiro execute o comando nestat com as opções Aan, conforme mostrado a seguir. Na primeira coluna será mostrado um número hexa-decimal, o PCB (protocol control block).

netstat -Aan | egrep <número da porta>

# netstat -Aan |egrep 22
f100020003ebf398  tcp        0      0  *.22               *.*                LISTEN

Usando esse número, com o comando rmsock, você conseguirá ver o processo que está utilizando a porta.

rmsock <pcb> tcpcb

# rmsock f100020003ebf398 tcpcb
The socket 0x3ebf008 is being held by proccess 123456 (sshd2).

Tendo o número do processo, basta usar o comando ps.

# ps -ef |egrep 123456|egrep -v egrep
root 123456      1   0   Sep 19      -  0:04 /usr/sbin/sshd2
root 111111 123456   2 13:47:54      -  0:00 /usr/sbin/sshd2

Para saber como identificar o processo utilizando uma porta de rede no Linux, veja aqui: Linux – Como identificar o processo que está utilizando uma porta

Referência:

  1. http://www-01.ibm.com/support/docview.wss?rs=71&uid=swg21264632

Como verificar se o TCB está ativo ou não no seu Aix

Para verificar se sua instalação de AIX está com o TCB (Trusted Computing Base) ativo, você deve verificar a ODM, da seguinte maneira:

$ odmget -q attribute=TCB_STATE PdAt

PdAt:
uniquetype = ""
attribute = "TCB_STATE"
deflt = "tcb_enabled"
values = ""
width = ""
type = ""
generic = ""
rep = ""
nls_index = 0

Se desejar alterar essa configuração, deverá direcionar a saída para um arquivo, editá-lo, apagar o registro da ODM e adicionar o novo.

$ odmget -q attribute=TCB_STATE PdAt > /tmp/odmout

$ cat /tmp/odmout

PdAt:
uniquetype = ""
attribute = "TCB_STATE"
deflt = "tcb_enabled"
values = ""
width = ""
type = ""
generic = ""
rep = ""
nls_index = 0
$

# vi odmout
PdAt:
uniquetype = ""
attribute = "TCB_STATE"
deflt = "tcb_disabled"
values = ""
width = ""
type = ""
generic = ""
rep = ""
nls_index = 0

# odmdelete -o PdAt -q attribute=TCB_STATE
0518-307 odmdelete: 1 objects deleted.

# odmget -q attribute=TCB_STATE PdAt

# odmadd /tmp/odmout

# odmget -q attribute=TCB_STATE PdAt
PdAt:
uniquetype = ""
attribute = "TCB_STATE"
deflt = "tcb_disabled"
values = ""
width = ""
type = ""
generic = ""
rep = ""
nls_index = 0

Observação: Ter o TCB desativado é um pré-requisito para quem quer utilizar a ferramenta ninadm do Nim para fazer um upgrade do sistema operacional. No entanto, se você desativá-lo conforme passos a seguir, poderá ter problemas caso queria ativá-lo novamente após a migração. Analise se vale mesmo a pena utilizar o nimadm.

Os passos indicados acima se encontram no redbook da IBM, “NIM, from A to Z in Aix 5L“.

Referências:

  1. Redbook: sg247296, “Nim from A to Z in Aix 5L”, May, 2006:  http://www.redbooks.ibm.com/abstracts/sg247296.html
  2. Trusted Computing Base:  http://publib.boulder.ibm.com/infocenter/systems/index.jsp?topic=/com.ibm.aix.security/doc/security/trusted_comp_base.htm

Como inserir quebra de linha no VI através de comando

Esse texto é um pequeno lembrete de como inserir quebra de linha num arquivo usando o vi.

Por exemplo, se você tem palavras separadas por espaço em branco e quer substituir todos os espaços por uma quebra de linha, fazendo uma lista vertical de palavras, use o comando:

:%s/ /^V^M/g

OBS: Onde vemos acima ^V^M significa que deve-se digitar [CTRL]+V e [CTRL]+M e não digitar o caracter ^ seguido das letras V e M.

Veja também Como remover ^M de arquivos no VI.

Opção “-xdev” do comando find

Como listar os maiores arquivos de um diretório ou filesystem excluindo outros filesystems montados abaixo deste?

É um problema localizar os maiores arquivos de um filesystem quando temos outros filesystems montados. Se estou com o filesystem /var com alto percentual de ocupação e preciso localizar quais os maiores arquivos que estão causando o problema, devo ler os arquivos deste filesystem mas ignorar os que estão sobre outros filesystems, por exemplo se eu tiver um /var/local.

Para isso, o comando find tem uma opção muito boa chamada -xdev. Ela considera apenas o filesystem especificado no path  do comando find.

Da man page:

-xdev: Always evaluates to the value True. Prevents the find command from traversing a file system different from the one specified by the Path parameter.

Exemplo:

Listar os 20 maiores arquivos dentro do filesystem /var:

find /var -xdev -type f -ls |sort -n +6 | tail -20

Observação: No Solaris pode-se usar a opção -xdev ou -mount.

Referências:

O unix, o universo e tudo mais.