The FuckUp Fairy
Mi e' parso di capire (da vari commenti e mail che
mi sono arrivate) che si e' sparsa la convizione che io sia un'Essere
Assolutamente Infallibile. Che io So Tutto e non faccio MAI errori.
Le pa!!e!
Io faccio la mia parte di casini. E magari anche la parte di qualcun'altro.
Ed eccone una piccola 'carrellata'.
- Questo o quello per me pari sono
Decido di approfittare della pausa-pranzo, quando tutti gli altri
programmatori giocano o 'surfano' il web, per sostituire il disco
fisso del db server. Spengo il server, lo tiro giu' dal rack, sto
montando il disco quando uno dei programmatori arriva li' e mi
chiede se so come mai il proxy non risponde piu'. Io guardo
l'altro computer nel rack... DOH!
Cosa ho imparato? metti le etichette sui server
- Questo o quello per me pari sono (2)
Devo spostare uno dei server da un rack ad un'altro, avviso tutti,
spengo il server da remoto, vado in Sala Macchine, giro dietro il
rack, stacco i cavi... e qualcuno subito mi chiede come mai
il server tal-de-tali non funziona piu'... io guardo il cavo che
ho in mano... DOH!
Cosa ho imparato? metti le etichette anche sul retro dei
server
- Questo o quello per me pari sono (3)
Uno degli switch e' TFU, vado nello sgabuzzino delle connessioni,
stacco tutti i cavi, spendo 20 minuti smontando lo switch, sto
uscendo con lo switch sottomano quando mi scontro con un'orda di
utenti preoccupati perche' "la rete non funziona piu". Mi accorgo
a quel punto che sono al secondo piano e non al terzo...
Cosa ho imparato? LEGGILE LE ETICHETTE...
- Hardware fuck-up
Acquistato nuovissimo computer direttamente dal distributore
americano per risparmiare, computer arriva, tolto dall'imballo,
guardato il cavo di alimentazione con spina americana, buttato via
cavo, preso normale cavo con spina europea, manco pensato a
controllare alimentatore (110/220), infilata spina e premuto
pulsante... aperto tutte le finestre per dissipare fumo e puzza,
recuperato cavo dal secchio della mondezza, re-imballato computer,
rispedito indietro computer....
- Hardware fuck-up (2)
Decido di tentare di aggiustare un'alimentatore per un pc
invece di comperare un'alimentatore nuovo, passato 2 giorni
lavorandoci su, e' il momento di re-installarlo, installo, infilo
la spina *KA-WAMP*, via la luce ed UPS urlanti...
cosa ho imparato? il filo rosa e quello rosso sembrano uguali ma
non lo sono...
- Remote fuck-up
Modifiche a script di firewall su server remoto, digitato in
consolle iptables -i $WANIF -s $all -d $all -j DENY enter!...
passati successivi 20 minuti imprecando e ringraziando APC
per i managed power switch...
- Remote fuck-up (2)
Tentativo di fare due cose allo stesso tempo: ravanare su computer
dall'altra parte del pianeta e mettere a posto semplice cretinata
sul computer di casa. Deciso che cio' che serve e' un bel reboot
del server remoto mentre quello di casa deve andare in single-user,
digitato init1 nella consolle sbagliata... passate le successive
7 ore bestemmiando finche' qualcuno non ha risposto al telefono
e fatto riavviare il server. Cosa ho imparato? il multitasking
fallo fare ai computer che io non son capace di fare una cosa alla
volta...
- Remote fuck-up (3)
Modifiche a configurazione di ssh per aggiungere un nuovo IP
da cui accettare connessioni e rimuovere vecchio IP. Devo dire
altro?
- Local fuck-up
Preparando per installare nuova distribuzione su nuovo PC, devo
fare il dischetto di boot, digitato dd if=bootimg of=/dev/sda.
Esaurite bestemmie dopo circa 25 minuti, passate successive 3
ore ripristinando / e ringraziando per il backup.
- Local fuck-up (2)
Facendo pulizia tra le varie cazzate digitato
rm -fr /home/myuser/somedir /var (notare lo spazio). Bestemmie e
restore.
- database fuck-up
Preparando a trasferire un database dall'ambiente di test a
quello di produzione, script per reperire i dati dal db di produzione
in modo da fare dei test con dati 'reali', lo script comincia con
un bel truncate table... truncate table.. truncate table...,
eseguito (of course) per prima cosa sul db di produzione...
- database fuck-up (2)
Deciso che drop table.. drop table.. drop table... per rimuovere
le dozzine di tabelle non piu' usate dall'applicazione di
contabilita' e' troppo lungo, optato per un bel drop user cascade.
- database fuck-up (3)
Deciso che il db dell'applicazione di contabilita' richiede un
bounce per funzionare meglio, optato per uno shutdown abort
(nota: abort non scrive i buffer sul disco).
- database fuck-up (4)
Ripristino database da ambiente di test ad ambiente di produzione,
dimenticato di impostare il default tablespace per l'utente a
"user", tutte le tabelle ripristinate in SYSTEM e "tablespace
exausted" 15 secondi dopo... 'nuff said...
- database fuck-up (5)
Che era tanto che non ne facevo uno... Sto facendo delle modifiche sul mio nuovo CMS
per il sito, decido di fare i cambiamenti prima sul sistema di staging e poi eventualmente
riportarle sul sito 'live' (furbo neh?). Solo che di cambiamenti ne ho fatti un casino e adesso
non me li ricordo piu'... e non posso fare un dump/restore sul sito live... che ti fo'? Idea!
Faccio un dump di questa sola tabella e la re-importo! E cosi' faccio... e adesso che
succede? Perche' il sito non risponde piu'? Perche' mi dice load average 47? Che vor di' "Out of Memory"??? E vai di restore...
- Software fuck-up
Dovendo sostituire il nome di una variabile in una serie di
files .pl digitato
for file in `ls *.pl` ; do sed 's/nomevarold/nomevarnew/g' $file
> $file ; done... (e se non sapete cosa fa non provateci).
Davide
30/03/2008 00:00
E tanto per ribadire che "sono stati distrutti piu' sistemi dagli
amministratori che dalla tempesta"...
Da parte di Matteo:
- Hardware fuck-up: aggiungi pure anche il mio di alimentatore installato sul
pc senza controllare lo switch 110/220. Pero` ho fatto l'indiano e me l'hanno
sostituito in garanzia
- perche` usare il prompt dei comandi quando e` meglio usare gli strumenti di
windows: cmd ... dir a:\ ...... ok sto disco non mi serve c:\> del *.*
sei sicuro?? si` ovvio... Ca#####o mi sono mangiato command.com e altri
simpatici file nella root del disco c: !!!! fortuna che era una vecchia
macchina 95, un bel floppy di boot e undelete con le norton utility di una
volta !!!
- Capo: Sposta i file da server1\disco1 a server2\disco2.
IO: OK uso RoboCopy cosi` preservo timestamp e permessi, meno lavoro da fare
dopo. Bella sta opzione sincronizza (uno switch invece di tre)
FastForward di 20 minuti
Capo: Non trovo piu` il dump di database che stava su server2\disco2.....
IO: perche` ho letto solo la prima riga dell'help dell'opzione sincronizza???
per la cronaca nella seconda dice che togliera' ogni file presente nella
directory di destinazione non presente in quella sorgente
- Capo: c'e` da sostituire il disco di DBServer con disco piu`
capiente per far stare i datafile che stanno crescendo troppo, perdendo
meno tempo possibile. IO: ok, non reinstallo ne sistema operativo ne DB,
uso drive image e copio le partizioni. Recupero disco dismesso da altro
server, faccio il boot con il floppy, partizione origine questa partizione
destinazione questa..... FastForward di 2 ore. Fine copia. OK rimuovo il
disco vecchio, richiudo, boot per il controllo ..... che strano non vedo
tra i servizi l'istanza oracle, uhmmm non parte Apache, uhhm
mancano un po' di directory, Ca####o ......
che bello ho due copie del disco del server dismesso
due ore trasformate in due giorni per reinstallare S.O., Oracle, application
server
Luca Coianiz invece manda questa:
-
Stavo installando un game-server (POL: Penultima OnLine) sul mio server
casalingo... scarico il pacchetto... leggo la DOCs (uhmmm... "non necessita
installazione: basta copiare in una directory ed e` tutto a posto"... seee...
col cavolo!).
Creo l'utenza "pol" nel gruppo "pol" (LOL: evviva la fantasia! ;))... il
sistema (stranamente) non crea la /home/pol (avro` usato io un comando
"inadeguato")... poco male... cd /home... md pol... cp ${utente}/* pol/
Poi cd pol... e... cavolo!... (ovviamente) tutti i file avevano mantenuto
user/group di ${utente}, dato che copiavo da root. :/
Vabbe`... poco male: chown -R pol:pol * ... ahhh... tutto ok... uhm...
tutto?.. e quegli stupidi DUE file ancora con i vecchi owner? (per la
cronaca .Xdefaults e .Xmodmap)... uhmmm... ok: chown -R pol:pol .*
... attimo di silenzio... (rumorino del RAID) poi DUBBIO
ATROCE: cd ..; ls -la ... AAAAAAAARGHHH!!!... pol:pol su TUTTE le home(s).
Insomma: le solite due ore (di recupero dei file e ripristino ownership) al
posto dell'uso di una (stra)comoda utility (Midnight Commander).
Lezioni: 1) fai i backup! 2) non fare il sistemista se non sei capace! :D
Da parte di Federico:
- Anche i MacOs sbagliano:
Sto tornando a casa in treno e decido di pulire la mia home da un
programmino che ho provato per un cliente che si annida come un cancro
maligno (caso raro visto che uso macosx). Faccio la prima parte del lavoro
a mano ($find / -name "*programma*"). Dopo la 15a riga di rm decido che
find mi puo` dare una mano a ripulire la home: digito "$find ~ -delete
-name "*programma*"
Ho un dubbio, rileggo e penso: "No, il -delete non va li`, ma forse si,
in fondo e` logico: prima gli dico cosa fare, dopo dove farlo."
Se non fosse stato per il Finder che non mi faceva piu` usare la scrivania
avrei perso dei dati importantissimi: le foto dei miei nipotini =) Per
l'archivio fatture degli ultimi sei mesi, pazienza, le rifaro` =)
Da parte di Alessio Orlandi:
- Remote fuckup:
Sto facendo vedere i comandi basilari della CLI di un router ad una
persona. "E poi c'e' il comodo comando show, abbreviabile in sh"...
(per chi non lo sapesse: in configure mode sh e'
l'abbreviazione di shutdown e non di show)
- Copy fuckup:
Migrazione da un server all'altro di piu' di 5000 home dir, in NFS
su una 10 mbit. Monto il disco remoto e faccio un bel cp -r come
utente root di circa 10giga di roba. Alla fine faccio partire apache
e il fotogramma seguente mostra ME davanti alla man page di cp e
all'opzione "-a".
- Copy fuckup (2):
Uno dei primi esperimenti di compilazioni varie su linux, qualche
anno fa: cp /usr/src/libc-nuove/libc.so.6 /lib
Da Francesco:
- Database fuckup:
Devo fare delle modifiche ad un dabatase MsSql Server 2000 da remoto,
decido di farmi una copia del db in locale sulla mia macchina.
Ma.. c'e` gia` un database con quel nome sulla mia macchina, quindi
provvedo a spianarlo con una bella serie di drop table.
Solo che (ops!) l'ho fatto su quello remoto..
Da "RedLance":
- Hardware fuckup:
Cliente che chiama "questo computer fa troppo rumore". E che sara` mai, penso
io. Giungo alla sede del cliente, in effetti il rumore era dovuto al fatto che
la ventolina di plastica sul controller UDMA aveva le viti spanate e non stava
fissata. Ho provato in vari modi a farcela stare. Niente, faceva rumore. In
quel momento il lampo di genio "beh, poco male, per quanto usano l'hard disk
questi" .. ZACK .. tagliati i cavi della ventola.
Fast forward di due mesi. Cliente che chiama "presente il computer che prima
faceva rumore e poi non lo faceva piu`? ecco, ora lo fa meno, non si accende
neppure" io "oh oh"...
Lezione imparata: mai diminuire ventole, sempre aumentarle.
Da parte di Erich Roncarolo:
- Trash fuckup:
Un po' di puliza serale sul server di produzione:
# cd /etc/init.d/
# ./postgresql stop
# ls -al /var/lib/postgres/tmp/
# rm *
Oppss.... ricordarsi di andare nella directory giusta prima di lanciare rm.
Il giorno successivo vedeva la luce
trash.sh
e la riga alias rm='/usr/local/bin/trash.sh' nel mio boot.local
Da parte di Filippo:
- Windows fsckup
Si, ok, lo so che Windows non c'e' bisogno di fare niente di particolare
per incatastarlo, ma e' lo spirito che conta...
avevo 1 pc con win98 e venne l'xp. Ganzo dico io...mi ce lo provo subito.
Essendo pero` la ver pro. necessitava di partizione ntfs quindi dico ok,
con partition magic creo un'altra partizione (avevo 1 disco solo) e lo
metto li`. (gia` per creare la partizione e spostare l'altra dopo sul
disco ci son volute quasi 2 ore..) Cmq installato xp tutto ok ..con
bootMagic sceglievo il sistema da avviare ecc...
Poi mi venne la geniale idea di dire: ma io il 98 lo levo.
boot magic era sulla partizione del 98 perche` nn puo` stare su una ntfs
pero` io da xp avevo dato il commando a partition magic di rendere
visibile e nn piu` avviabile la partizione fat32 (di win98).
La procedura di p_magic si bloccava all'avvio della macchina cosi` che`
ne` potevo avviare 98 ne` xp poiche` nel boot il pc sapeva che doveva fare
qualcosa con le tartizioni ma nn ci riusciva.
INSEGNAMENTO ACQUISITO: pensaci almeno 10 volte prima di fare 1 cosa.
Da parte di Andrea Franceschini:
- Local fuck-up:
Installata nuova nuova $fichissima_distribuzione_Linux, configurato
ammodo $fichissimo_ambiente_grafico in modo decisamente $fichissimo,
deciso fare screenshot $fichissimo per dimostrare l'assoluto controllo
sulla macchina di tale distribuzione. Aperte un po' di
$applicazioni_pesantissime piu'
$emulatore_terminale_che_inizia_con_la_K. Passato in super utente,
digitato al prompt (anch'esso $fichissimo) la riga "rm -rf /" e fatto
screenshot. Salvato e chiuso con l'apposita iconcina in alto a destra
ogni finestra residua sullo schermo compresa quella del terminale
senza cancellare la riga digitata. Lezione: leggere *sempre* i bug report
dei programmi.
Da parte di Pierfrancesco Caci:
- Remote router fuckup
Router in colocation a Londra, porta del router (di nota marca $C) che
decide di "sbarellare", pertanto decido di fare la solita sequenza
shut/no-shut per vedere se si resetta. Peccato che invece che sulla
porta verso lo switch l'ho fatto su quella dell'uplink verso il core
della mia rete, ovvero quella da cui stavo entrando io. Dopo un attimo
di smarrimento telefono al supporto di $colocation e li prego di
correre a resettare il router prima che il mio capo se ne accorga (in
realta' era dietro di me che si stava sbellicando dal ridere). Lezione
imparata? Sempre controllare di quale interfaccia si sta parlando
prima di fare qualcosa.
Da parte di "visitors":
- Local+Remote FuckUp
3 macchine: Windows con vari sharing (rw), linux con altri vari sharing (rw)
e una macchina di test. "Mmm installiamo sta nuova distribuzione
$basata_su_ottima_distro_sperando_che_risolva_i_problemi_di_ottima_distro...
(avvio macchina di test)... oh mi serve il file XYZ su sharing 1 di Windows
(mount -t smbfs...) ok installato... Mmm mi serve anche il prog pinco su
sharing linux..." dopo 10 minuti tutti gli sharing erano montati su
$macchina_test.
30 minuti dopo "Basta sta distro e' na merda rm -rf /"...
Il resto lo devo raccontare?
Lezione: smontare gli sharing rw e ringraziare i backup
Da parte di "CDF":
- Local-fuckup:
Server casalingo con due dischi, hda con la root eccetera e hdc con le
home. L'hard-disk delle home inizia a dare problemi, raccatto un altro
disco un po' vecchiotto e lo attacco come hdd. Sto per formattare hdd
per poi passare i dati da hdc quando penso: "facciamo un badblock su
hdd...". Clickete clickete badblock -wvs /dev/hdc. Non mi accorgo di
niente premo invio e dopo 1 minuto il sistema si pianta (per mia
fortuna!), leggo quello che ho digitato e inizio a bestemmiare in tutte
le lingue conosciute e sconosciute. Prima lezione imparata: l'alfabeto
non e` un'opinione. Seconda lezione imparata: anche se e` un'operazione
che hai fatti miliardi di volte fai sempre un backup!
Da parte di Luca Bertoncello:
- db-fuckup:
ClusterDB con dentro tutti i dati dei clienti dell'ISP dove lavoro (per
fortuna non ancora in produzione!). Modificato script che viene lanciato ogni
volta che si crea un nuovo dominio. La modifica contiene errori, me ne
accorgo dopo un'oretta. Correggo il tutto e non mi accorgo di dover modificare
l'hostname. Lancio e massacro gli altri nodi del ClusterDB. Vabbe', nessun
problema, non e' ancora in produzione! Si importa dal primo che e' a posto.
for i in domain account aliases sqlservers storages domainstore catchall; do echo $i; pg_dump -a -d -t $i imsmail >> ./tmp.sql ; done
e importo dagli altri nodi. Ricevo una caterna di errori (chiavi duplicate)
e ovviamente il totale dei dati e' a fanciulle di facili costumi. Mi accorgo
che sul primo nodo esisteva GIA' tmp.sql, da una precedente copia del DB...
Cancellato il file, rilanciato il dump e reimportato.
Lezione imparata: quando fai un append di un file, controlla che prima non
ci siano ca$$ate dentro...
Da qualcuno che vuole restare completamente anonimo:
- GLOBAL TERMONUCLEAR FUCK-UP
Sono connesso come utente normale sull'ambiente NetView IBM di produzione.
Display dello stato di un terminale remoto, vedo che ha due sessioni appese,
decido di fare un Vary Inactive/Vary Active della logical unit del terminale.
Ero su un emulatore 3270 sotto winzozz, Faccio copia/incolla del nome
terminale, lo appendo dopo il comando di disattivazione, batto enter ...
guardo lo schermo ... avevo copiato il nome del CICS di produzione invece del
nome del terminale!!!!. E chi aveva assegnato i diritti dell'utente che
stavo usando non aveva previsto limitazioni!!! In 35 secondi netti e`
caduto il CICS in questione, che era il principale, sono caduti tutti gli
altri che ci si appoggiavano, e via cosi` a catena. Risultato: CINQUEMILA
(hemmmmmmm... se vuoi fare disastri falli bene) terminali sparsi per
l'italia isolati per mezza mattina, perche` poi ovviamente mica riparte
tutto al volo ... Prima lezione imparata: il copincolla e` MALE!!
Seconda lezione imparata (non da me ma dall'amministratore dell'host): i
livelli di accesso servono anche per evitare che gli utenti normali possano
far danni se digitano comandi sbagliati. Terza lezione imparata (non da me
ma da un collega che mi stava antipatico): mai mettersi contro qualcuno che
ha l'accesso in scrittura ai log di netview! (Hemmm ... anche quando
sbaglio ho una reputazione di BOFH da difendere, io!)
Da parte di Paolo Asioli:
- Router-fuckup
Stavo configurando un router ADSL Telindus 1124 con configurazione
strana. Tutto a posto, mettiamo su un po' di sicurezza filtrando i
pacchetti da fuori... Metto su un paio di regole, oibo', devo testarlo
prima di mettere le altre 15 (!!!) regole, metto una catch all che droppi
tutto quanto resta del traffico (su rete esterna, penso io) e applico (su
interfaccia web).
Morale1: attenzione alle regole catch-all, e mai presumere che lo
scatolotto conosca la differenza tra due interfacce.
Giro lo scatolo per resettare o entrare in console: niente reset e niente
seriale. Neanche la casa produttrice sa che fare....
Morale2: mai comprare appliance senza reset o porta console
Risultato, un router "autistico".
Da parte di "CyberDeaf":
- e-mail fuckup:
Ecco cosa succede a non voler lasciar morire i vecchi account di email
lavorativa, a non usare un filtro antispam decente e a insistere di
volerle cancellare a manina:
> Date: Wed, NN Nov 2004 NN:08:41 +0100
> From: Bxxxxxx Pxxxxxxxx
> To: Xxxxxx Xxxxxxx
> Subject: MI SA KE HO FATTO UNA KAZZATA!
>
> Mi scuso moltissimo, ma mi sa tantissimo che ho cancellato per
> errore la vostra email coi testi x il sito web, in preda al sacro
> furore anti-spam!
>
> :(((((
>
> Intanto che prendo appuntamento con l'ottico, per cortesia me la
> rimandereste, se potete? :-)
>
> ciao, una barbara rincoglionita...
...Non guardatemi cosi', mi e' venuta del tutto spontanea (si' l'ho
scritta proprio io, hemmmm hemm hem
Da parte di Daniele Levi:
- Cics-fuckup:
Volevo verificare che files risultavano chiusi al CICS e anziche` digitare
CEMT I FILE(*) CLO DIS (tradotto: cerca tutti i files che sono nello
stato chiuso e disabilitato) ho digitato
CEMT S FILE(*) CLO DIS (tradotto: chiudi e disabilita tutti i files!)
Piccolo particolare: la chiusura avviene in circa 10 secondi (abbiamo piu`
di 500 files), la riapertura in circa 15 minuti perche` il nostro simpatico
CICS ha "qualche" controllo aggiuntivo di sicurezza. Inutile dire che il
telefono e` diventato incandescente in pochi istanti. Diciamo che quando mi
sono reso conto della xxxxxx ho avuto un irrefrenabile desiderio di correre
via a welocita` warp. Lezione imparata: anche quando fai le cose piu'
banali, pensa a cio' che fai e non alle "rotondita'" delle colleghe.
- Rexx Fuck-Up:
$ATTREZZO e' un fantastico programmino rexx (sotto TSO) che ci permette
di leggere ed editare dei file sequenziali bypassando certi controlli
ed ha una particolarita': per poter entrare in lettura nel dataset devi
digitare accanto al file "D" (che nella mente malata di chi ha fatto 'sto
coso sta per "display") anziche' "B" (il classico "browse").
Dunque, dovendo verificare una riga faccio partire $ATTREZZO scelgo il
file e leggo il dato; poi, dovendo controaggiornare una cosa, apro una
schermata qui, un'altra li', salvo, chiudo, brigo e forco e poi torno
nella schermata originale per ricontrollare la modifica.
Peccato che distrattamente avevo chiuso $ATTREZZO, pertanto digitando "D"
(in TSO vuol dire ovviamente "delete") accanto ad un file e dando il doppio
invio senza leggere le schermate di conferma mi sono brasato il dataset...
Grazie al cielo avevo i backup!
Lezione 1: guardare attentamente la schermata in cui si è prima di digitare
i comandi
Lezione 2: mai dare il doppio invio senza leggere le schermate di conferma
Lezione 3: afferrare saldamente il collo di chi ha scritto $ATTREZZO e
stringere con forza......
Da parte di Nicola Deboni:
- Remote Fackup
Portatile con 8 shell aperte, ed una, povera, piccola ( e nera ) in SSH
sul server remoto. 2 AM. "Ok, si va a nanna!" # halt invio e non succede
niente. Beh, che gli prende a sto portatile? chiudo tutte le shell,
ne apro una nuova, halt, e finalmente si spegne.
il giorno dopo guardo i log, e vedo "system halted" ARGH!!!! che e`
successo? un acher??!?!? un loacher????
dopo mezz'ora e tre telefonate ai sistemisti della sala macchine ( che
per fortuna l'hanno riavviato subito ) ho capito che non devo lavorare
fino a tardi.
Da parte di Stefano Sassu:
- Local-fuckup:
Loggato come utente normale alla mia macchina desktop. Notato directory
inutilizzate e file .tgz di vecchie installazioni e deciso di fare pulizia.
Digito (nella mia mente) 'rm -rf php-4.3.7*'
Digitato (nella cruda e dura realta') 'rm -rf php-4.3.7 *' (prego notare lo
spazio IN PIU')
Smadonnamenti vari ed eventuali con consulenza on-line con colleghi toscani
Lezione imparata: MAI fare un rm -rf con le star MAI!
Da parte di Massimo:
- Product Activation Fuckup:
Aggiornamento di un server da Windows 2000 a Windows 2003, metto il mio
CD con licenza di un certo tipo, digito il numero di serie, vado avanti,
a un certo punto "impossibile leggere dal CD-ROM". Vabbe', lo tolgo e ne
metto un altro... con licenza di un altro tipo e numero di serie differente.
Windows si installa beato, si riavvia, e al login se ne esce con
"Impossibile convalidare la licenza, col ca**o che ti faccio entrare".
Bestemmie e ripristino installazione... usando *un solo* CD.
- Remote Desktop Fuckup:
Lascio il PC di casa con Windows XP Professional acceso e connesso ad
Internet cosi` mi ci posso collegare da remoto se serve... un giorno mi
connetto, faccio quello che devo fare, e poi esco con un bel
Start->Disconetti. Imprecazioni, nel momento in cui mi ricordo che in XP
la connessione ADSL resta attiva solo finche' c'e` un utente connesso...
- Disk Array Fuckup:
Un server e un disk array esterno. Penso "pigio il pulsante, il server e`
ATX e fara` uno shutdown regolare". Pigio il pulsante sbagliato.
Serve dire altro?
Da parte di Flavio Visentin:
- Copy fuckup
Al mio amico si rompe il disco da 10GB del portatile, quindi decido di
acquistarne uno nuovo da 40 e dare alui il mio vecchio da 20GB;
attacco i due portatili (IDENTICI) con cavo cross, parto con knoppix
sul suo, salvo il salvabile del suo vechio disco con ddrescue via rete
sul mio disco da 20, spengo il suo PC, sostituisco il disco da 10 con
il mio da 20, inserisco il nuovo da 40 nel mio PC, parto con due
Knoppix e dal mio PC lancio un bel dd if=/dev/hda bs=1024k | ssh
root@xyz "dd of=/dev/hda bs=1024k".
Lezione: controlla sempre su quale computer stai lavorando.
- tar fuckup:
Devo modificare a mano un initrd di Debian fatto com cramfs.
# mkdir /tmp/initrd.new
# mount -o loop boot/initrd.img /initrd
# (cd /initrd; tar cf - *) | tar xvf -
Opps!!! Ma dove sono io???
# pwd
/
Lezione: controlla sempre in che directory sei PRIMA di eseguire i
comanndi. (e ricordati di settare PS1 :-/)
Da parte di Mauro Antonetti:
- Database-fuckup:
UPDATE miatabella SET campo=valore; 10 secondi dopo...
...azzzzzzz! la WHERE!
...ma fatto su una tabella di 700.000 righe non e` male, vero? Fortuna che
esistono i backup... (e che dire di 'rollback'?)
Lezione: quando esegui una UPDATE, rileggi quello che hai scritto dieci
volte, prima di premere il tasto RETURN!
- Database-fuckup (2):
Due finestre con due client MySQL aperte contemporaneamente, una verso il DB
di produzione, l'altra verso quello di test. Eseguo comandi nell'ambiente
di test, verifico che sia tutto ok, poi eseguo lo stesso comando
nella finestra aperta sull'ambiente di produzione.
Lanciate tutte le procedure, decido di fare un'ultima prova dall'inizio,
percio' devo rimuovere il DB di test, ricrearlo subito dopo vuoto e poi
ripopolare le tabelle. Penso: e' piu` veloce fare un DROP DATABASE
piuttosto che tanti DROP TABLE, DROP TABLE, DROP TABLE...
Gia`! Peccato che la finestra nella quale eseguo il comando e` quella di
produzione...
Vedo che non hai imparato dall'altra volta...
Da parte di Marco Valcauda:
- Login-fuckup:
Aggiornamento di un server NT 4 a Window$2000 Advanced. Siccome tutto e`
da fare di sabato mattina(!) il cliente vuole tentare l'aggiornamento invece
che la reinstallazione della macchina. Rimozione del server dal dominio
(anche il DC e` cambiato e con esso il nome del dominio), 493859304 riavvi,
aggiornamento, riavvio finale. NB: Il server parte con l'autologon di
default, questo insignificante particolare mi salvera` la vita.
A questo punto e` fondamentale pero` reinstallare alcune cosucce (Tipo M$
SMS...), e rimettere il server nel dominio, tolgo l'autologon, riavvio,
schermata di login... nessuno sa la password di Amministratore Locale...
Preso da una incredibile illuminazione mistica, spengo il server di botto.
Al riavvio successivo riparte con l'autologon!
Da parte di "Luigi":
- Remove-fuckup:
Nel fare pulizia mi ritrovo a dover rimuovere una directory ./bin,
digitato rm -rf /bin. Ed ovviamente ero root.
Da parte di Edoardo Mantovani:
- NT Screen-fuckup:
Durante l'installazione di un sistema Nt4.0 arrivato alla installazione dei
driver delal scheda video, notando che lo schermo era di buona qualita' provo
subito le impostazioni del monitor a 1280*1024 a 85Hz... convinto della
capacita' del monitor mi ritrovo uno schermo nero; mi dico tutto tranquillo
tanto dopo 15 secondi torna tutto come prima... dopo che sono passati
i 15 secondi mi rendo conto che ho cliccato sul pulstante "applica" e non
"prova". Risultato format e reinstall, lezione imparata prima di cambiare
risoluzione cliccare sempre su prova.
Da parte di Stefano "Steve" Ferrari:
- Remove-fuckup:
In una directory su unix hanno trovato un file * (sisi, come nome aveva
proprio un asterisco), e per eliminarlo che comando hanno usato?
Ovviamente, rm *. Recuperato il backup di tutta la directory, il mio
collega e' intervenuto con il comando rm "*". Io avrei quasi fatto via
ftp grafico...
Da parte di Diego Petteno:
- Cross-distribution fuckup:
Dopo averne sentito parlare bene da diverse persone, decido che e` ora di
provare Gentoo e lasciare le sponde della Debian.. ovviamente sono masochista
e decido di partire dallo stage1 (ovvero con poco piu` della glibc e gcc nel
sistema), tanto e` estate e quella settimana avrei dovuto dare ripetizioni,
potevo lasciarlo andare in chroot mentre usavo Debian.
Formatto la / di Gentoo in xfs come il resto del sistema, ed estraggo lo
stage1:
root@laurelin /# tar jxf /dlz/gentoo-stage1.tar.bz2
...ops!
Lezione 1: verificare in quale / si e` quando si estrae un tarball che
sovrascrive meta` /lib con versioni incompatibili con quelle installate.
Decido quindi di riavviare per partire con un rescue disk debian e
reinstallare i pacchetti mancanti, ma quando faccio lo shutdown e tenta di
syncare i dischi si intromettono i binari di gentoo, e il rescue disk di
debian si rifiuta volentieri di montare una qualsiasi partizione:
"Partition /dev/hdaX is not a valid XFS filesystem".
Lezione 2: quando si usa XFS, un reset brutale e` meglio di uno shutdown in
caso di fuckup.
Lezione 3: prima di installare una distribuzione, un backup del sistema
andrebbe fatto, anche se si prevede di mantenere in opera la distribuzione
attuale.
- Database fuckup
Avevo scritto un paio di script in php per indicizzare gli oltre 1000 libri di
casa su un database postgres, solo che per finire di indicizzare il piano di
sotto decido di spostare tutto quanto sull'ibook (appena comprato) in modo da
non dover spostare tutta la libreria per segnarli.
Dopo una settimana, decido che e` arrivato il momento di provare Linux su ppc,
e mi preparo ad installare, ma il macos preinstallato viene installato
sull'intero disco (senza partizionare, su mac a quanto pare si puo`), copio
tutti i documenti della home sull'altra macchina, formatto, installo. Dopo
due giorni compro un libro, faccio per inserirlo nell'indice.... ma postgres
non salva nella home... ahi!
Da parte di "Randall Flagg":
- BIOS-fuckup:
Bello il nuovo bios, perche' non aggiornarlo?
"sei sicuro di...bla bla bla"..."Potrebbe causare..bla bla bla"..
"Controllare l'esatta versione di...blablabla". Che me ne frega, le solite
cazzate. Click sul tasto 'A'. Ok,vediamo com'e` questo nuovo bios.
Errore 27. Morale: controlla sempre di usare la versione di BIOS
giusta.
Da parte di Giovanni Carbone:
- Language-fackup:
Installato Windows in inglese su macchina con tastiera e impostazioni
regionali in italiano, poi connesso a Windows Update. Il quale legge le
impostazioni nazionali del sistema ed installa tutte le patch in Italiano.
Morale: ricordati di controllare la lingua che usi prima di installare le
patch.
Da parte di Michele Borioli:
- Remove-fuckup:
Devo controllare molto rapidamente su una macchina Linux di produzione di
un cliente il contenuto di un log zippato dell'application server.
Lo estraggo in /tmp: giustamente viene riprodotta l'alberatura delle directory
in cui il file era originariamente contenuto (/opt/AppServer/ecc..).
Controllo cio' che devo e poi faccio per cancellare il tutto: digito (da
root) 'rm -r /opt/' ...Per fortuna realizzo che ci sta mettendo troppo tempo
e lo blocco.
Lezione imparata: non fare mai nulla come root se non ci sei davvero costretto!
Da parte di Tobia Tesan:
- Gentoo-fuckup:
Finita la compilazione di $_major_release_vecchissima (che al momento in cui
ho iniziato era $_nuova_fiammante_release, ma dati i tempi di
compilazione...), edito i file di configurazione di $_noto_bootloader e
rebooto la macchina col nuovo kernel.. Ops! I moduli non funzionano.
Perche`? Beh, perche` devo installare le modutils per
$_nuova_fiammante_release! Ok, allora... clikkete clakkete... emerge
module-init-tools... Dice che prima devo disinstallare i modutils
vecchi... emerge -C modutils... Bon, package removed.... emerge
module-init-tools... ma... AAAAAAAAAAAAAAAARGH!!!!! C4$$0!!!!!! Vero!
Non ha il supporto per la rete caricato, non puo` andarsi a pigliare
la roba! Non mi resta che rebootare e scaricare l'ebuild col kernel
vecchio che li` i moduli per la rete vanno.... ok.. login: clikkete
clakkiti.. password: clikkiti clakkete... Perche` la rete non va piu`
neanche qui? Vediamo.. clikkete clakkete... modprobe
$_chipset_di_rete_famosissimo... modprobe: command not found..
AAAAAAAAARGHHHHH!
Cosa ho imparato: (1) Mai cambiare la distro vecchia per la nuova (2) Pensare come un giocatore di scacchi alle 12 mosse successive prima di digitare qualsiasi cosa sulla tastiera. (3) Se non e` installpkg non va bene.
Da parte di "Billy":
- Ghost-fuckup:
Quando devo mettere le mani sui pc dei clienti che hanno fatto i loro
soliti casini (virus, tour porno su internet e software di dubbia
provenienza) ho l'abitudine di farmi un Ghost del disco per poter tornare
sempre alla situazione iniziale in caso di problemi. Cosi` sul pc di
laboratorio ho il flat ide giallo su cui collego disco_originale_cliente e
sul flat nero collego disco_ghost. Se non fosse che qualche giorno prima
avevo smontato i flat dalla controller e non so per quale motivo poi li ho
rimontati invertiti. Qualche giorno dopo vado tranquillo collego i 2 dischi,
avvio ghost, do sempre INVIO senza neanche pensarci poi in un momento di
lucidita` vedo dalle dimensioni delle partizioni che disco_ghost sta
sovrascrivendo disco_originale_cliente. Una gran sudata fredda...poi per
fortuna il cliente era un ragazzino che aveva installato sul pc solo dei
giochi, quindi un danno da poco. LEZIONE 1: Leggere cio` che c'e` scritto
sul monitor senza dare INVIO a casaccio LEZIONE 2: Togli sempre le partizioni
da disco_ghost che cosi` non hai la possibilita` di sbagliarti
Da parte del solito Codardo Anonimo:
- Backup-fuckup:
Portatile del capo di $ditta_molto_ben_pagante, winnoz
sbarrellato, reinstallazione necessaria. Salvataggio dati sul nostro server
backup, seleziono tutto il contenuto di C: e poi tolgo qualche cartella inutile
("programmi","WINDOWS"...) lascio fare e me ne vado a casa (e` molto tardi
tipo le due e il cliente in mattinata rivuole il Pc).
Suona il cellulare azz... sono le 10:00 il mio socio che bestemmia in
afrocubano antico.
Soc: "il ?*[]# di Pc di $ditta_molto_ben_pagante lo hai finito?"
Io: "uh? ha? No!"
Soc: "Bravo al #][]one"
Io: "Pialla tu che poi gli ributto dentro i dati"
Soc: "Vabbo`"
A sto punto altri 5 min di sonno me li sono meritati.
Ore 12:35 : DRIIIIIIIIN DRIIIIIIIIN
Soc:"Sono dal cliente col Pc che TU dovevi fare,gli mancano un bel po`
di dati....."
Io:"Gli hai ributtato su tutta la cartella che stava sul server di backup?"
Soc: "TU CHE DICI!!!?"
Io: "E allora ca ..azz vuole stava tutto la!"
Soc: "Lui dice che aveva quasi tutto sul desktop...."
OOPPS.........Ve l'avevo gia` detto che su quel Pc c'era winnoz 98!!?
Morale : quando e` tardi vai a dormire ma soprattutto quando devi salvare
qualcosa, salva TUTTO ma proprio TUTTO, che fai sempre in tempo a
cancellare DOPO.
(PS: $ditta_una_volta_molto_ben_pagante e` un annetto che non ci chiama
piu`, almeno non ci ha denunciato)
Da parte di Franchini Roberto:
- db-and-web-site-fuck-up:
Lavoravo per una .com che distribuiva musica via internet. Usavamo MySql e
stavo preparando delle query che mettevao in join le tabelle dei log degli
accessi e dei download. 4 milioni di righe una e 5/6 l'altra. Copia e
incolla la query sulla shell aperta sul db di test. Azz ho dimenticato una
condizione di join e la fermo con ctrl-c. Continuo con il mio lavoro e dopo
un po' il sistemista seduto alla scrivania a fianco comincia a bestemmiare.
Il sito aveva 6 macchine di front-end con apache, ed una sola macchina con db.
Ogni macchina di front-end aveva 100 processi apache che aspettavano che il
db DI PRODUZIONE finisse di processare la mia query SENZA condizione di join,
ovviamente il sito era completamente bloccato.
Morali:
- il copia incolla sulla shell di produzione e' male
- il ctrl-c di una query non e' detto che la fermi, meglio usare i tool di
amministrazione
- MySql con le MyISAM effettua il locking a livello di tabella.
Da parte di "Pacy":
- Remove-fuckup:
Il portage di Gentoo mi segnala linux-2.6.10.tar.bz2 e
patch-2.6.10-nitro4.tar.bz2 come danneggiati.
#rm -f /usr/portage/distfiles/patch-2.6.10-nitro4.tar.bz2 linux-2.6.10 *
(notare lo spazio prima dell\'asterisco)
"Ma come cazzo e' che ci mette cosi' tanto...". Poi mi sveglio e lo fermo.
Faccio un ls e ho cancellato tutti i file nella mia home che cominciano per
a,b,c e per numero. 1Gb circa di roba fottuto.
Morale: Prima di mettere gli asterischi, CONTROLLARE se ci sono spazi
prima.
Morale 2: CONTROLLA DOVE SEI PRIMA DI DARE CERTI COMANDI!
Morale 3: Fai sti cazzo di backup ogni tanto.
Da parte di Luigi Genoni:
- Oracle-fuckup:
Forse detto cosi' e' un po' difficile, ma e' un fuckup di quelli che non
si dimenticano: un dominio Solaris 9 (PP2500) attestata con 4 hba su un
box EMC a sua volta connesso ad un altro box via srdf. Stacco il secondo
BOX ormai inutile, ma mi dimentico di rifare il symrdf discovery cosi' che
la macchina non pensi piu' di avere un box visibile via srdf. Dopo un po'
di tempo devo fare un emcgrab della macchina. Appena arriva il momento del
symcfg discovery tutte le code l'I/O su tutti i dischi della SAN (circa
2000 lun da 33 GB l'una) sono rimasto congelate sino al reset del dominio.
Oracle ha deciso di far festa. Lezione imparata: quando fai un lavoro,
non lasciare mai nulla in sospeso.
Da parte di "Neoviruz":
- Remote-fuckup:
6 shell aperte in contemporanea di cui 5 locali e una sul firewall/proxy
di un cliente. Devo spegnere il mio pc per attaccare un disco e quindi:
# halt e vado a prendere il disco. Fast forward di alcuni minuti.
"Pronto sono $cliente non ci funziona piu' internet". OPS.
Da parte di Davide Savaris:
- Hardware-fuckup:
Anni fa entravo in possesso di un fantastico processore 486/DX4 100Mhz con
tanto di mainboard. L'amico che mi diede il tutto aveva lasciato il
processore montato sulla mainboard. Assemblai il mio nuovo PC, lo accesi e
tutto girava che era una meraviglia. Non riuscendo a frenare l'entusiasmo
di tenere sittanta potenza in mano lo spensi ed estrassi il processore dalla
sua socket per "vederlo da vicino". Dopo aver osservato estasiato tutti
i pin sulla faccia inferiore lo reintrodussi nella socket... girato di 90
gradi. Non si riaccese mai piu'.
- Hardware-fuckup 2:
Stavo giocando entusiata al nuovo giocone che mi ero procurato quando il mio
superbo monitor VGA B/N decide di abbandonarmi con un rumorino tipo
*acc-il-fusibile*. Aprii il monitor è constatai che effettivamente un
fusibile era saltato. Io pero' non avevo tempo di andare a comprarne un
altro e
decisi che era temporaneamente sufficiente fare contatto con della stagnola:
dovevo giocare ancora un po'. Giocai si, ma giorni dopo con un monitor
nuovo (a colori!).
- Hardware-fuckup 3:
L'idea era quella (anche se ne eravamo consci del tutto) di creare una sorta
di impianto domotico. Un mio amico costrui' il circuito elettrico,
connesso inizialmente a dei led da sostituirsi in futuro con degli
attuatori, ed io sviluppai il software (in GW-Basic!) che ne controllava il
funzionamento. La scheda si interfacciava con la porta parallela ed era
alimentata da un trasformatore integrato. Giunto il giorno del fatidico
test,
allacciammo la scheda al mio XT 8088 ed accendemmo il tutto. Non mi
preoccupai della presenza di 2 cm di cavo scoperto a monte del
trasformatore dove la corrente passava a 220. Stavamo quasi per esultare di
gioia nel vedere i led che si illuminavano in stile
supercar quando un arco voltaico, con tanto di spettacolo pirotecnico,
mando' in fumo i nostri piani, la scheda e il mio povero XT.
Da parte di 'anonimo':
- Remote Fuck-up:
Sfondo: amministrazione remote di circa 300 server, tutti con
configurazione *quasi* identica ma indipendenti l' uno dall' altro.
Abitualmente tanti terminali aperti, tutti uguali, uno di fianco all'
altro sul mio desktop centrale dai 16 desktop virtuali, su macchine
diverse, ore piccole che stanno gia tornando grosse, sono l' unico
sysadmin e dovrei anche fare sviluppo. Risultati simpatici...
1) Aggiornamento maggiore di versione del database su server di
produzione, senza preventivo shutdown del server e backup totale.
2) Aggiornamento maggiore di versione dell' intero S.O. su server
centrale presso server-farm remota (sia resa grazie a linux, che e'
sopravvissuto all' esperienza con solo un po di downtime del db...)
3) Circa 4-5 diversi shutdown in lontane citta.
4) Altrettanti cambiamenti incompatibili della configurazione di rete/firewall
5) Cancellazione della directory dati principale non da una macchina
di test, ma da un server di produzione, quasi a fine giornata, per cui
massimamente lontano dall' ultimo backup.
6) Mix&match: collegamento di un terminale remoto al db server
centrale di un cliente differente: dati abbastanza simili da lasciarli
andare avanti per quasi un giorno prima che qualcuno si accorgesse che
stava succedendo qualcosa di strano. In un giorno si inseriscono tanti
dati.
7) Aggiornamenti delle configurazioni dei 300 server remoti eseguite
tramite script di aggiornamento auto-scaricati periodicamente.
Rilascio di un nuovo script, ovviamente pesantemente testato ed ormai
ripulito da ogni bug possibile. All' ultimo momento prima del
rilascio, noto che in molte macchine esiste ancora un' utente di un
vecchio sviluppatore il cui codice e' stato ormai da tempo eliminato
dall' applicazione. Aggiungo quindi un semplice deluser --remove-home
--remove-all-files allo script, e lo rilascio di getto senza
ri-testare, causa desiderio prepotente di letto. Peccato che un' altro
sviluppatore si fosse copiato nella sua sezione una decina di file
funzioni da quello sviluppatore, lasciandone come proprietario l'
utente originale. 300 applicazioni che al sorgere del sole non
funzionano piu'.
- SMS fuck-up galore (1)
Predisposizione del nuovo servizio che segnala via sms ai clienti dei
nostri clienti che lo abbiano sottoscritto una vasta gamma di eventi.
In fase di test, genera i file di messaggi ma NON li invia al server
che si occupa della effettiva spedizione. Test ovviamente su tutti i
clienti possibili, con tutti i tipi di messaggi possibili, a partire
da quando gli eventi vengono raccolti. L' applicazione passa in
produzione, ma "qualcuno" si e' dimenticato di rimuovere l' ultimo
file di messaggi di test generato dall' area spedizione. Grazie al
fatto che spedire n-mila sms richiede un po di tempo, e che ho
realizzato cosa avevo fatto circa 2 secondi dopo aver premuto invio,
riesco a fermare il sistema a soli ~10.000 sms spediti invece di
~300.000 come sarebbero stati....
- SMS fuck-up galore (2):
Aggiunta di alcune funzioni al servizio di SMS, altra sessione di
debug. Testo con le repliche dei database di 10 distinti clienti per
una settimana, due settimane, tutto funziona. Passiamo in produzione.
Problema: un errore nel calcolo delle date da considerare sottrae 10
all'anno di partenza per il calcolo degli sms ancora da spedire. I
clienti testati avevano tutti db in cui i dati piu vecchi erano stati
correttamente passati nello storico. Sui 300 clienti, 1 cliente aveva
ancora tutti i dati dei 2 anni precedenti, prima dell' attivazione del
servizio SMS, e che per il sistema quindi risultavano non essere mai
stati comunicati... Grazie alla mia paranoia, per la quale sono
rimasto incollato ai log per tutto il giorno dopo l'andata in
produzione, anche stavolta sono riuscito ad interrompere dopo solo
qualche migliaio extra di messaggi spediti.
- SMS fuck-up galore (3):
Aggiorno a mano sul db il contatore degli sms ancora disponibili per
un cliente. Dimentico il "where" nell' update E non me ne accorgo. Per
i clienti rimasti anticipatamente senza sms ci scusiamo e
ripristiniamo... per quelli che si sono ritrovati un pacco di sms
senza averli mai chiesti, beh, abbiamo dovuto farla passare per una
iniziativa promozionale...
- Restore Fuckup:
Back-up del giorno prima dei file di lavoro di un gruppo di
sviluppatori: sono root, e voglio vedere se in mezzo c'e' un file che
mi interessa... invece di fare un tar tzpvf, faccio un tar xzpvf, e
sono nella directory giusta per cui questo conduca al massimo danno.
Faccio lo gnorri, e nessuno degli sviluppatori si lamenta di aver
perso alcun che... mmmmmmmh...
- Firewall-fuckup:
Stufo degli sviluppatori che si approfittano della mega-linea per
scaricare di tutto, intasandole, senza dir niente a nessuno metto un
blocco sul firewall anche sulle connessioni in uscita in tutte le
porte non usate da un servizio standard fondamentale. Sfortunatamente,
dimentico uno dei nostri servizi di sincronizzazione fatto in casa.
Quando sono venuti a chiedermi perche non andava piu un tappo, ho dato
la colpa alla telecom.
- Root-fuckup:
$SVILUPPATORE: "Non e' che mi installeresti l' ultima versione di
queste librerie di sviluppo su quel server? Una nuova feature ne ha
AS-SO-LU-TA-MEN-TE bisogno..."
$IO: "guarda, devo fare altre 500 cose andare al fine settimana, non
ho tempo di installarle E testare tutto anche perche li ci gira anche
quell' altra applicazione di $VECCHIO_FEDELE_CLIENTE, che ormai sta
insieme da secoli senza che nessuno sappia come, ed anche lui usa
quelle librerie."
$SV: "Non c'e' problema. Ho provato tutto io sul mio server di test
personale. Ho replicato tutto, mi sono scaricato i db, ho
sincronizzato i file sorgente. Funziona senza problema, so come si fa,
se mi dai la password di root ci penso io."
$IO: "Mah, preferirei darci un' occhiata io con piu calma...."
$SV: "Dai, su, non ti fidi? Io ne ho bisogno urgente, so fare tutto,
ho gia provato anche a casa, etc. etc. etc."(A casa il detto
sviluppatore si e' fatto da solo una belle rete all-linux. La cosa mi
dava speranza.)
$IO: "Vabbe....stai attento, prova tutto su un server-clone, poi
quando sei sicuro che tutto funzioni sincronizza i dati e fai lo
scambio..."
$SV: "sisisisisi non preoccuparti piu di niente!"
$IO: "... e controlla bene l' applicazione di $V_F_C!!!!"
$SV: "siiiiiiiiii" (svanisce in lontananza)
[...]
$V_F_C(tel): "Mi scusi, ma come mai oggi il mio gestionale non
funziona? Sa, qui siamo tutti fermi..."
[...]
$SV: "Ophs, e' vero che c'era anche la sua applicazione... me ne ero
dimenticato..."
Da parte di Massimo Camillo:
- Hardware-fuckup:
Il server dell' ufficio va lento, detto: "cavolo ho una asus perche' non
provo a overcloccare???".Overclock fatto, da 2000 mhz a 2400 mhz, due
settimane di vita, misurati 120-130 gradi su cpu e poi fumetto grigio.
Morale: prima di overcloccare provare velocita' moderate e areare il
cabinet prima di soggiornarvi (quasi come il flit !!)
- Hardware-fuckup (2): Comprato alimentatore nuovo, 500 w (evviva!!),
collegato su pc e fatto fumetto di 1 disco (in raid 0!!) e 1 masterizzatore.
Morale: prima di attaccare controllare le tensioni di uscita con tester o
con periferiche scarte e mai fidarsi dei prodotti "made in china"
- Hardware-fuckup (3):
Comprato super harddisk con lato controller non protetto, appoggiato sul
cabinet per fare travaso dati con drive image prima di rimuovere il vecchio
e montare il nuovo, non controllato dove erano finite le vitine... (sotto
il disco!!) Risultato: il disco e' durato meno di un millesimo di secondo
Lezione: prima di provare le periferiche montarle!!
Da parte di Catani Antonio:
- Hardware-fuckup:
Fico! 4 dischi da 9 giga ultra-wide + ctrl scsi adaptec
Ma porc non ho le alimentazioni, ok, mano al saldatore, salda qui salda la
il cavo con 4 attacchi e' pronto, monto i dischi, monto il cavo, attacco il
controller, attacco il cavo all'alimentatore, accendo, KA-WAMP! I dischi si
sono illuminati tipo capodanno a piedigrotta
Risultato? 4 dischi da buttare, controller da buttare, cosa ho imparato? Il
tester questo sconosciuto!
Da parte di Gianluca Mascolo:
- Remote-fuckup:
Server remoto, policy di default DROP, prima regola "accetta tutto sulla
porta 22" (ssh). SL o UL del momento: Pronto, non riesco a fare quello e
quell'altro con interdet IO: 'spetta che ti modifico le regole del
firewall ... indirizzo IP sorgente, destinazione etc etc ti richiamo quando
ho finito. Ok ora provo a ricaricare tutte le regole per vedere se ho fatto
bene iptables -F...
Morale: porre in policy ACCEPT prima di fare FLUSH o gestire il reload con
script appositi.
Da parte di Francesco Zamboni:
- Script-fuckup:
Approfittando delle vacanze pasquali, devo migrare tutta l'infrastruttura
da un vecchio server che non ce la fa piu ad un server nuovo di zecca,
cogliendo anche l' occasione per dare una ripulita a configurazioni ed
applicazioni varie. Le solite complicazioni varie, ma dopo una piena
giornata di lavoro ormai ci siamo... funziona ormai tutto. Unica cosa,
trasferendo sul server nuovo i dati ho trasferito anche un centinaio di
directories temporanee usate dalle varie applicazioni per scriverci un po di
pattume vario. Devo ripulirle, ma.... si accende la lampadina! Ogni
tanto le applicazioni si impallano e scrivono un sacco di roba in
queste directory temporanee, inchiodando se stesse. E gli sviluppatori sono
abbastanza imbranati con unix da dover chiamare me per ripulire (anche
perche' quando ci hanno provato un paio di volte hanno fatto dei macelli).
Quindi, perche non cogliere la palla al balzo e fare uno scriptino che
provveda automaticamente al repulisti, cosi sistemiamo la questione una volta
per tutte? Morale della favola, non so cosa sia andato storto perche l'avevo
scritto direttamente sul server al volo, ma lanciarlo e' stato
l'equivalente di un bel rm -fr sulla root. Sigh. Non ho perso neanche un
dato fortunatamente, visto che il vecchio server e' ancora li sano, ma
una giornata di lavoro e 10.000 punti autostima si.
Da parte di Machia:
- Remote-fsckup:
Server con gestione di 2300 (+o-) utenti a 600Km da casa mia, mhh va un po
lento, ssh root@blablabla perche` non provare a renderlo piu` performante?
Aggiungi qui svuota li... riscrivi il firewall appendi due regolette qui...
Ops ho scritto quel file in /etc invece che in /etc/rc.d, poco male rm -R
etc /rc.d..... OH C4$%O!! ls -al /etc... STRAC4$%O!! Vabbeh calmo... ho il
backup nella home dell'altro hd, vabbeh riavvio cosi faccio tutto da li
reboot... DRIN! Qui e` caduto tutto, si e` riavviato ma non riparte nulla...
MORALE1: controllare SEMPRE gli spazi MORALE2: nominare le consolle.
MORALE3:non riavviare se i dati comunque sono disponibili MORALE4: ricordarsi
le pastiglie per il mal d'aereo per il prossimo viaggio...
Da parte di Daniele Minciaroni:
- Backup-fuckup:
Venerdì sera ore 19.30 la situazione è questa:
barney:/var/log# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/rd/c0d0p2 10G 7.8G 1.8G 82% /
/dev/rd/c0d0p1 30M 3.9M 24M 14% /boot
/dev/rd/c0d0p4 50G 9.8G 37G 21% /var/lib/mysql
lancio un dump di un db da 3 Gb non accorgendomi di essere in /root e non
in /var/lib/mysql e vado a casa. Dopo la situazione dopo un po' è stata
questa:
barney:/var/log# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/rd/c0d0p2 10G 10G 0 100% /
/dev/rd/c0d0p1 30M 3.9M 24M 14% /boot
/dev/rd/c0d0p4 50G 9.8G 37G 21% /var/lib/mysql
Risultato: sito irragiungibile per oltre 1 ora.
Da parte di Fulvio:
- Fattiica$$ituoi-fuckup:
un venerdì alle 17.30 mi dicono che il serverino (Win2k) che gestisce
tutte le bilance di $IpermercatoFrancese non funziona come dovrebbe,
in remoto guardo,controllo,ricerco,visualizzo, e mi accorgo che HD è
quasi al tracollo...allora per liberare spazio cancello un po di
profili inutili e le rispettive Tmp. Nella C:\winnt\temp c'è quasi 1Gb
di files con estensione .tmp generati dal SW che aggiorna i prezzi dei
prodotti sparati dalla sede in real time...sego tutti i *.tmp e chiamo
soddisfato l'interessato dicendogli che ora aveva parecchio spazio
disponibile.
Avete idea di quante persone comprano cose a peso in un
$IpermercatoFrancese il venerdi alle 18? Io si perchè l'EDP di
filiale mi ha chiamato in lacrime dicendo che gli operatori di
Gastronomia,Pesch.etc... dovevano impostare i prezzi unitari a mano
visto che le bilance non restituivano nessun prezzo a seguito di una
ricerca. QUESTO PER MIGLIAIA DI PRODOTTI creando un rallentamento nel
servizio al pubblico e anche qualche protesta formale al servizio
clienti. Morale?: non mettere le mani negli ambienti che non sono
gestiti da te o dal tuo team.
Da parte di "Godzilla" (ci sara' un perche' al nick?):
- Cisco-fuckup:
Al ritorno in ufficio dopo essere stato da un cliente per sistemare il
voice gateway di un callmanager Cisco scarico la posta e apro l'e-mail che
mi ero automandato con allegata la configurazione degli apparati.
Ottimo: apro l'allegato, copio il testo e me lo incollo sul mio editor
preferito per alcune correzioni. Sono tutto intento a giocare con la
configurazione quando arriva la pausa pranzo.
Fast-forward di un'ora e mezza: torno in ufficio e apro il mio fido
terminale perche' mentre mangiavo mi era venuta in mente una modifica da
fare sul nostro router principale (da cui escono server di posta,
application server, varie ed eventuali). Il programmino ha una simpatica
funzione che non uso MAI: cliccando col tasto centrale incolla tutto il
contenuto degli appunti.
Risultato? Prima che me ne accorgessi avevo incollato meta' configurazione
del voice gateway sul router, ed essendo entrambi Cisco molti dei comandi
hanno funzionato perfettamente!
Morale 1: finche' e' possibile lasciar perdere il copia e incolla
Morale 2: ricordarsi di svuotare gli appunti prima della pausa pranzo
Morale 3: durante la pausa pranzo si mangia, non si pensa!
Da parte di "Cobra78":
- Windows Update Fuck Up:
9 Agosto, Mio padre arriva a casa col suo bel portatile Penium 4 e si
lamenta perche' non e' sta gran velocita'. Io: "non ti preoccupare, e'
Winsozz Icspi che e' pesante, sego qualche servizio inutile e va come
una scheggia". Sego qualche servizio e il 12 Agosto parto per farmi 20
giorni in Sicilia con la mia ragazza.
Fast Forward (Davide Bianchi docet) di qualche giorno: Squilla il cellulare
Padre: Marce, qua mi appare un avviso di un errore all'Rpc e mi si riavvia
il computer. Io: e' un virus, aggiorna e lancia la scansione dell'antivirus,
poi dai windows up date e aggiorna l'aggiornabile. Dopo qualche minuto
Padre: Marce, windows up date non funziona, che (serie nutrita di improperi)
hai combinato? Io: Ma porca...(altra serie nutrita di improperi), usa il mio
computer cercando di non fare casini.
Fast Forward al ritorno dalle vacanze: Mi metto a controllare i vari servizi
nel dettaglio per capire dov'e' il problema e leggo :"Il servizio di
trasferimento intelligente in background e' ANCHE necessario per Windows
Update."
Morale: quando fai cose che credi solo di saper fare, almeno leggiti bene le
descrizioni.
Da parte di Leonardo:
- Bios Fuckup:
Un vecchio PentiumII 333 con winhose 98 installato, che oramai mi serviva
come generatore di scosse elettriche (Non so perchè, ma in confronto la
sedia elettrica è una bazzecola) volevo installarci un hd da 40 Gb, ma non
me lo riconosceva, vabbè ricerca su internet, trovo il bios della vecchia
buona chaintec, e vai con l'upgrade... "Attenzione, sei sicuro di
procedere?" Ovvio! "Ok, pagliaccio, upgrade in corso... 2%.. Bwzzzz
Cellofono! Pronto? ... Agh, si è spento!!!...45%... Ok, no problema, attacco
il carica batterie mastodontico alla ciabatta del pc...72%... Clack!
Il pc e tutti gli accessori si spengono. Huuuu... Collegando il
caricabatterie ho innavertitamente premuto, col B.M.F. stesso lo switch
I/O della ciabatta... Sic. Ridò corrente. Bios? Quale Bios?
Se non altro come aspetto positivo, L'altoparlante del pc ha iniziato a
suonare di continuo, e per un attimo mi pareva di sentire pure la
toccata di Bach... :)
Da parte di "Skyglobe":
- NAT Fuck-up:
Scenario: Gateway OpenBSD e web server interno da NATtare in esterno.
Accedo in SSH al Gateway. Scrivo in pf.conf:
binat on $gw_ext_if from $webserv_int to any -> $gw_ext_ip
Do' il commit ma poi mi ricordo che il web server e' spento.
Bestemmie e login in tty1 per ripristinare la configurazione.
Da parte di Alessandro Porcu:
- Windows FuckUp: evidentemente al mio vecchio celeron 1000,
win2k va sempre indigesto, ergo decido di passare a Linux Gentoo 1.4,
soprattutto dopo la quarta formattazione in 8 mesi. Creo le tre partizioni
dopo avere ristretto quella di win (che volevo temporaneamente tenere in
piedi) e mi accingo a formattarle dopo avere avviato il pc da una live,
leggendo le istruzioni via web col portatile: io leggo alla lettera le
istruzioni e cosi' le applico, senza considerare che su /dev/hda1 avevo i
20 giga di windows pieni di dati che dovevo spostare su linux, mentre sulle
istruzioni dal sito /dev/hda1 corrispondeva alla partizione di boot.
Risultato : 10 giga di dati polverizzati in 15 secondi netti, e bestemmie
assortite che sono arrivate fino al quinto piano. Morale : i backup sono
una cosa bella, soprattutto quando uno li fa.
- Hardware Fuckup: alimentatore del centralino in riparazione
che funziona male, ok, lo si prova con la macchina test, che rivela che
sotto carico si siede paurosamente: trasformatore quasi in corto, quindi
glielo sostituisco. Effettuata la sostituzione lo rimetto sotto test, do
corrente. Risultato : fiammata alta 30 centimetri dalla piastra, con denso
fumo nero stile fungo atomico di hiroshima e puzza di brucio per tutto il
laboratorio : ho montato il trasformatore al contrario, perche' il
progettista ha fatto costruire il trasformatore perfettamente simmetrico,
e con un alimentatore campione sotto gli occhi che non ho manco pensato a
guardare prima di dare tensione. Morale : quando si fa qualcosa prima di
tutto accendere il cervello e collegarlo a mani e occhi
Attenzione: questa pagina e' "chiusa" nel senso che ulteriori
contributi saranno da me apprezzati, ma non piu' pubblicati. Siete liberi
di mandarmi la 'storia' come contributo alle storie se la ritenete
decente ma non come 'fsckup'.