Visualizzazione post con etichetta cli. Mostra tutti i post
Visualizzazione post con etichetta cli. Mostra tutti i post

martedì 11 gennaio 2011

Mount CIFS share protetto su client Solaris

Montare uno share da server Solaris Express (Opensolaris o derivati) in join a dominio Active Directory.
Lo share è protetto da utente di AD password.
Lo si vuole in /etc/vfstab opzionalmente montabile in automatico al boot.

smbutil view "//DOMAIN;user@filedepot"
Share Type Comment
-------------------------------
c$ disk Default Share
docs disk
IPC$ IPC Remote IPC
sii disk


Attiviamo il client cifs:

svcadm enable smb/client

Registriamo le credenziali in locale tramite smbutil, in modo da non aver una richiesta di password al mount e non dover adottare soluzioni poco pulite come mettere le credenziali in chiaro in qualche script o in vfstab:

smbutil login DOMINIO/user
Password for DOMINIO/user: XXXXXXX


Ora montiamo lo share a mano:
mount -Fsmbfs -onoac,noprompt "//DOMINIO;user@filedepot/sii" /sii

O mettendolo in vfstab:
cat /etc/vfstab|grep sii
//DOMINIO;user@filedepot/sii - /sii smbfs - yes noac,noprompt


Potete avere una descrizione delle options da passare al mount con:

man smbfs
man mount
man mount_smbfs

venerdì 3 settembre 2010

L'opzione giusta: svcs -Ho state

Script banale di riavvio demone:
if [[ `svcs -l smb/server|grep -i ^state|egrep -v '_state|state_' == "maintenance" ]]

Sbagliato!! O per lo meno ... poco bello...
anzichè greppare e usare awk sempre e comunque perchè tanto funge, molto meglio usare le opzioni dei comandi ...

Un bel:
svcs -Ho state
ti fa ottenere il valore di "state", con -H si eliminano gli header per avere un output pulito da matchare.

venerdì 19 febbraio 2010

dmesg è sacro

Quando mi loggo su una macchina Unix, io DEVO digitare "dmesg". E' più forte di me. Ognuno ha i suoi riti, lancia ksh -o vi, da invio $random volte alternato al comando cd ...
Io digito dmesg e do invio. Su Linux, su Solaris ...

Su Aix non c'è!
E non c'è alog -o -t boot o errpt -a che tenga.
Per questo sono arrivato a farmelo da me:

root@localhost / #which dmesg
/usr/bin/dmesg
root@localhost / #file /usr/bin/dmesg
/usr/bin/dmesg: shell script
root@localhost / #cat /usr/bin/dmesg
#!/usr/bin/bash

cat /var/adm/messages
root@localhost / #dmesg
Jan 14 17:18:25 localhost user:warn|warning root: sdjskdjkjdkjkwejk
Jan 14 17:19:11 localhost auth|security:crit reboot: rebooted by root
Jan 14 17:19:12 localhost syslog:err|error syslogd: going down on signal 15
Jan 14 17:19:13 localhost mail:crit sendmail[225452]: My unqualified host name (loopback) unknown; sleeping for retry
Jan 14 17:26:01 localhost mail:crit sendmail[184410]: My unqualified host name (loopback) unknown; sleeping for retry
Jan 14 17:27:01 localhost mail:alert sendmail[184410]: unable to qualify my own domain name (loopback) -- using short name
Jan 14 17:35:56 localhost syslog:info syslogd: restart
Jan 15 00:50:10 localhost user:notice syslog: set by root
Jan 15 00:51:08 localhost user:notice last message repeated 4 times
Jan 15 00:52:27 localhost syslog:info syslogd: restart
Jan 15 01:08:40 localhost auth|security:crit halt: halted by root
Jan 15 01:08:40 localhost syslog:err|error syslogd: going down on signal 15
Jan 15 08:08:40 localhost syslog:info syslogd: restart
Jan 15 08:08:41 localhost mail:crit sendmail[184422]: My unqualified host name (loopback) unknown; sleeping for retry
Jan 15 08:08:41 localhost daemon:notice RMCdaemon[274650]: (Recorded using libct_ffdc.a cv 2):::Error ID: 6eKora0tF/I9/atf.S6.e.1...................:::Referen
ce ID: :::Template ID: a6df45aa:::Details File: :::Location: RSCT,rmcd.c,1.56,213 :::RMCD_INFO_0_ST The daemon is started.
Jan 15 08:08:45 localhost auth|security:notice su: from root to pconsole at /dev/tty??
Jan 16 03:14:33 localhost syslog:info syslogd: restart
Jan 16 03:14:35 localhost mail:crit sendmail[184410]: My unqualified host name (loopback) unknown; sleeping for retry
Jan 16 03:14:37 localhost user:info syslog: /usr/sbin/ifconfig -l
Jan 16 03:14:43 localhost daemon:notice RMCdaemon[213212]: (Recorded using libct_ffdc.a cv 2):::Error ID: 6eKora0H2GI9/npg/S6.e.1...................:::Referen
ce ID: :::Template ID: a6df45aa:::Details File: :::Location: RSCT,rmcd.c,1.56,213 :::RMCD_INFO_0_ST The daemon is started.
Jan 16 03:14:52 localhost auth|security:notice su: from root to pconsole at /dev/tty??
Jan 16 03:15:35 localhost mail:alert sendmail[184410]: unable to qualify my own domain name (loopback) -- using short name
Jan 16 03:15:35 localhost mail:info sendmail[184410]: starting daemon (AIX6.1/8.13.4): SMTP+queueing@00:30:00
Jan 16 03:17:22 localhost auth|security:info syslog: tty0: failed login attempt for alex
[ -- CUT -- ]

Ebbene si :)

Allo stesso modo pgrep:
root@localhost / #which pgrep
/usr/bin/pgrep
root@localhost / #file /usr/bin/pgrep
/usr/bin/pgrep: shell script
root@localhost / #cat /usr/bin/pgrep
#!/usr/bin/bash
# My Pgrep Work in Progress 0.1

if [ $1 = "-h" ];then
echo "Usage:\n";
echo "Useful options are f and N";
echo "ps options A and e are implicited";
echo "Es:\n";
echo "pgrep Nf blabla"
else
ps -Ae${1}|grep $2|awk '{print $1,$2,$8}'
fi

mercoledì 17 febbraio 2010

lockNgo: libera memoria in un tot ;)

James Dickens ha postato questo codice sul suo blog, che locka una certa quantità di memoria e poi esce liberandola dopo essere stato in sleep per un ammontare di tempo predefinito (5 secondi) anche impostabile.

Es:

lockNgo -m 256 -s 5

frees 256 Mb e dorme 5 secondi.Funziona a meraviglia su osol 128 e 132 x86 e x64, stasera lo compilo su SPARC. Il link al suo post

/*
* Mlock memory to flush caches and create availible memory
* for Sun's VDI on undersized servers.
*
* Based on James Litchfield's blog entry on locking memory
* http://blogs.sun.com/thejel/entry/locking_memory
*/


!!!! UPDATE !!!!

Qui la nuova versione "intelligente"!

martedì 16 febbraio 2010

Stampatelo in mente!! Mirroring zpool/rpool

zpool attach [-f] pool device new_device

Attaches new_device to an existing zpool device. The
existing device cannot be part of a raidz configuration.
If device is not currently part of a mirrored configura-
tion, device automatically transforms into a two-way
mirror of device and new_device. If device is part of a
two-way mirror, attaching new_device creates a three-way
mirror, and so on. In either case, new_device begins to
resilver immediately.

venerdì 15 gennaio 2010

Mirroring rootvg su aix

Aggiungere hdisk1 al Volume Group:

# extendvg rootvg hdisk1

Dire a lvm di fare un mirror:

# mirrorvg rootvg
0516-1804 chvg: The quorum change takes effect immediately.
0516-1126 mirrorvg: rootvg successfully mirrored, user should perform
bosboot of system to initialize boot records. Then, user must modify
bootlist to include: hdisk0 hdisk1.

Aggiungere il nuovo disco a quelli bootabili:

# bootlist -m normal hdisk0 hdisk1

Installare il necessario per bootare il nuovo mirror:

# bosboot -ad hdisk0
# bosboot -ad hdisk1

Voila, les jeux sont faites:

#lspv
hdisk0 003639ba5bd2ab8f rootvg active
hdisk1 005fd68c35102992 rootvg active

Aix syslogd

Ottima questa pagina di SoftPanorama sul syslog daemon di Aix:

AIX syslogd implementation of SYSLOG has built-in log rotation capabilities that are specified with optional fields after the log destination:

facility-level destination rotate size s files n time t compress archive path

For example:

*.emerg;*.alert;*.crit;*.warning /var/adm/messages rotate files 4 time 7d compress

This is probably the most clean solution of the problem in comparison with Linux or Solaris solutions. As you can see in addition to rotation you can also specify compression

Strangely enough AIX does not provide any default syslog.conf at all. But for syslogd activation it needs to exist.

mercoledì 13 gennaio 2010

Il file defadduser per controllare "useradd"

Bellissima questa chicca sul comando useradd di Solaris:
a quanto pare è possibile modificare il comportamento di default (cioè le scelte predefinite che vengono fatte se non si specifica con flag apposito) usando il file:
/usr/sadm/defadduser
Son da specificare parametri, uno per riga, tipo defname,defgroup,defparent,defshell

I dettagli qui direttamente alla fonte.

sabato 22 agosto 2009

Montare una ISO su Opensolaris

Su Solaris, per montare la iso di un CD, era necessario prima di tutto creare un device Lofi e poi montarlo.

# lofiadm -a /example.iso
# mount -F hsfs /dev/lofi/1 /mnt

Questo creava un device lofi/1 che poi poteva essere montato.
Su Opensolaris, almeno dalla 2008.11, il comando mount chiama da se in background lofiadm, creando il device. Quindi è sufficiente dare il file di immagine direttamente a mount:

# mount -F hsfs example.iso /mnt

Farà tutto lui per voi.

Bash For loop con range numerico, in quanti modi

E io che esaltavo ksh per la sua semplicità e praticità.
Se devi fare un loop for governato da una sequenza numerica, con Bash hai una valanga di possibilità per l'implementazione. Ho odiato il secondo esempio per mesi prima di apprendere gli altri metodi, inoltre nelle vecchie versioni di Bash non esisteva seq o la forma "n .. n" presa proprio dalla Korn:

for I in {1..10}; do echo $I; done
for I in 1 2 3 4 5 6 7 8 9 10; do echo $I; done
for I in $(seq 1 10); do echo $I; done
for i in $(seq 10); do echo $I; done
for ((I=1; I <= 10 ; I++)); do echo $I; done


Do credito alla fonte per questa raccolta di esempi; visto che ogni volta mi dimentico la sintassi e ho bisogno di rivedermela, volevo da tempo aggiungerla qui.

domenica 2 agosto 2009

Montare UFS in Linux

La tabella dei types da passare al comando mount in Linux per montare filesystems ufs
  • old : Old format of ufs, this is the default, read only. (Don’t forget to give the -r option.)
  • 44bsd : For filesystems created by a BSD-like system like NetBSD,FreeBSD, and OpenBSD
  • sun : For filesystems created by SunOS or Solaris on Sparc.
  • sunx86 : For filesystems created by Solaris on x86.
  • hp : For filesystems created by HP-UX, read-only.
  • nextstep : For filesystems created by NeXTStep (read only).
  • nextstep-cd : For NextStep CDROMs (block_size == 2048),
  • openstep : For filesystems created by OpenStep (currently read only). The same filesystem type is also used by MacOSX
es:

# mount -t ufs -o ufstype=sun /dev/sdb1 /mnt

giovedì 19 marzo 2009

giovedì 11 dicembre 2008

Informazioni su StorageTek 6540 e Nagios Plugin

Ho trovato questa pagina, che dovrebbe essere un documento operativo sul 6540 di StorageTek; è in norvegese, ma potete incollare il seguente link qui e avere una grossolana traduzione in italico (o altro se si preferisce):
http://hpc.uio.no/index.php/Norstore_operational_document
Ci sono esempi dell'uso della riga di comando e anche una chicca:
il link a un plugin per Nagios per la CAM e la serie 6xxx degli array Sun Storagetek.
Praticamente, questo plugin è uno script perl che va a guardare nella directory dove la CAM mette gli allarmi (solitamente ogni allarme è custodito li sottoforma di file: un allarme - un file); non vedo indicato la directory degli allarmi, ma a memoria sta sotto /var/opt/SUNWsefms in una directory chiamata alarms o notifications (magari find può essere più preciso se gli chiedete).

Nello stesso sito anche altri plugin interessanti per il check di HBA scsi adaptec, Oracle health e MySQL performance, stato di servers HP Proliant ecc ecc

Insomma, una letta questa pagina, la merita.

mercoledì 10 dicembre 2008

Windows: symlinks, hardlinks e shortcuts

Stasera parlavo con la mia compagna dei links su Windows, e mi chiedeva se un Collegamento (shortcut) è un link. A questo proposito mi è venuto in mente un articolo che lessi tempo fa su questo argomento; e me lo sono andato a cercare.

In questo documento viene fatta luce sull'argomento, spiegato il funzionamento dei links su Windows, anche in relazione a Fat e NTFS, presentati alcuni tools per lavorarci, sia in bundle sia di terze parti, e viene anche data risposta alla domanda di sopra:

"No, gli shortcuts non sono links simbolici, sebbene spesso si faccia riferimento ad essi come se lo fossero. D'altra parte, specifica l'autore, gli shortcuts hanno tutti gli attributi per comportarsi come symlinks ed emularne le caratteristiche"

Naturalmente sono benvenuti commenti da più esperti amministratori Windows; possiamo trovare l'articolo "Windows Symbolic and Hard Links" qui

giovedì 27 novembre 2008

Quanta RAM?

Come vedo quanta RAM c'è dentro quel server?
In un modo "scriptabile"?

Solaris:
prtconf -vp|grep Mem

Hp-uX:
dmesg|grep -i physical
cat /var/adm/syslog/syslog|grep -i physical
/usr/sam/lbin/getmem
print_manifest|grep -i physical

Linux:
cat /proc/meminfo |grep MemTotal:
top -n 1|grep Mem|awk '{print $1,$3}'

giovedì 20 novembre 2008

Cerca il comando in OBP

C'è una cosa che molti non sanno, e che non ricordo nemmeno più dove l'ho appresa qualche anno fa.

OBP, diamo per scontato che sappiamo di cosa stiamo parlando, ha un "modo", chiamiamolo così, per aiutare nella ricerca di un comando Forth, istruzione o di qualsiasi cosa si voglia eseguire.

Mettiamo che vogliamo dire a OBP di fare un probe di tutti i devices scsi che sono connessi al sistema, ma non ricordiamo precisamente il comando: c'è forse probe nel nome che non ricordiamo, e quasi sicuramente anche scsi, ma chissà in che ordine:

# sifting probe

ritorna come risultato tutti i comandi che contengono i caratteri probe nell'ordine immesso. Tra i vari risultati troviamo ciò che ci serve, ovvero probe-scsi-all. Anche un sifting scsi ci avrebbe aiutato certamente.
Insomma, io trovo sifting, un pò il tipo di aiuto nel trovare il comando giusto scavando nella memoria che da un ambiente bash grazie all'autocompletamento col e a una variabile $PATH ben settata.

sabato 11 ottobre 2008

Listare i contenuti di un pacchetto

Hp-uX:
swlist | grep $nome_pacchetto
swlist -l file $nome_pacchetto

Solaris:
pkginfo|grep $nome_pacchetto
pkgchk -l $nome_pacchetto|grep Pathname

Debian:
dpkg -l|grep $nome_pacchetto
dpkg -L $nome_pacchetto

Gentoo:
qlist -I $nome_pacchetto
qfiles $nome_pacchetto

Red Hat:
rpm -qa|grep $nome_pacchetto
rpm -ql $nome_pacchetto

venerdì 10 ottobre 2008

Hp-uX: installare multipli depot in un colpo solo

E' frustrante tornare agli anni 90 a volte ... è il feeling che sento quando mi sloggo da una sessione ssh su una 25K con Solaris 10u5 per loggarmi su un Integrity con Hp-uX 11.31 (11i v3). Sapore di terminale "vetusto".
Niente guerre di religione ... tanto che Solaris è better è un dato di fatto :)

Sto avendo a che fare con Hp-uX in questi giorni. Come tutte le cose poco conosciute può essere terribilmente ostico ... quindi un pò di pacchettini da metter su per rendere l'esperienza più piacevole è un must.

uX ha i depot: swinstall è il tool per gestire l'installazione. Dopo aver fatto la guerra son riuscito a installare i pacchetti necessari. Mi son trovato a dover ovviare al problema di non riuscire a installare i pacchetti in un colpo solo; uno alla volta è terribile, ci va un sacco di tempo.

Alla fine, con swcopy e uno scriptino che mi sono prodotto apposta ho automatizzato il processo. E' sufficiente copiare i depot gzippati scaricati dal repository dell'uni dello stato dello Utah e lanciare:

# depota_pota

All'inizio ho create /staff e /staff/depot /staff/archives /staff/old , non serve altro.
#!/bin/sh

PKG_DIR="staff";
OLD="old";
DEPOT="depot";

cd /${PKG_DIR};
if [ `ls /$PKG_DIR|grep *.depot.gz` ]; then
gunzip *
fi

if [ `ls /$PKG_DIR/$DEPOT|grep catalog` ]; then
mv /$PKG_DIR/$DEPOT/* /$PKG_DIR/$OLD/
fi

for i in *.depot
do
swcopy -s ${PWD}/$i \* @ /${PKG_DIR}/${DEPOT}
done
swinstall -s
/${PKG_DIR}/${DEPOT}

Dalla GUI si selezionano i pacchetti, si marcano con 'm' e dal menù Actions si seleziona Install ... avanti avanti avanti!!




Do you remember OBP? E le env settate secoli fa?

Quando tiri di nuovo fuori la vecchia Ultra10, sicuramente oltre a una versione vecchiotta di Solaris, le variabili d'ambiente di OBP saranno settate ad minchiam, o comunque diversamente da come ti servono.
In questo momento monitor e tastiera al boot sono useless, probabilmente input e output devices sono settate a ttya o ttyb; urge un reset.

E allora, spegni, con tastiera e monitor collegati riaccendi. Tieni premuto STOP+N

Come per magia il mitico banner appare... e tutto è fresco che sa quasi di fabbrica!

venerdì 3 ottobre 2008

bashing: break e continue

Questi due comandi sono fondamentali nell'uso dei loops in uno script.
Break permette l'uscita da un loop al contrario di continue che salta alla prossima iterazione. Passandogli un parametro è possibile, nei nested loops, controllare di quanti cicli uscire (break), o quante iterazioni saltare all'interno dello stesso loop (continue).

Maggiori informazioni nella mitica Advanced Bash Scripting Guide (ABS), sempre sotto virtuale braccio quando mi trovo a scriptare.

Visite