tag:blogger.com,1999:blog-76699872610893369302024-02-21T00:23:56.738+01:00L'angolo del SysAdminChiarahttp://www.blogger.com/profile/13564464274571822921noreply@blogger.comBlogger15125tag:blogger.com,1999:blog-7669987261089336930.post-68215219598889675312012-02-20T17:03:00.001+01:002012-02-20T17:08:35.956+01:00Il motivo per cui preferisco altro - seconda puntataEccoci qui, uno degli altri motivi per cui, sul piano strettamente tecnico, preferisco the Debian way.<br />
<br />
Si sa che uno dei talloni d'Achille di Debian è la vetustà dei pacchetti (<a href="http://unix.gianoziaorientale.org/2012/01/grub-e-troooppi-dischi.html">qui per un esempio</a>). <br />
<br />
Ebbene, qual è la soluzione? Una risposta standard sarebbe te li tieni alla versione che te li diamo, oppure compili, oppure passi alla distribuzione in test. Ma nessuna delle tre è una risposta orientata all'utente, dato che tutte e tre hanno i loro problemi. E questo soprattutto in ambiente enterprise:<br />
<ul><li>la versione di un prodotto, driver o altro spesso è legata a precise scelte architetturali o di progetto; ma anche fosse solo gusto personale, è il cliente quello che ha ragione;</li>
<li>compilare, anche quando non si trasforma in un incubo di compilazione di dipendenze in cascata, crea problemi di gestione: un conto è farlo sul proprio PC, un conto è farlo per decine di server, o peggio quando l'installazione dev'essere inserita in una procedura di deploy; certo si può ottimizzare, ma è comunque un passaggio in più, e un passaggio non standard, che può arrivare a decuplicare i tempi di deploy di un server (e questo vale anche di più per chi fa soprattutto sviluppo);</li>
<li>la distribuzione di test è appunto di test, anche fosse abbastanza stabile richiederebbe comunque continui aggiornamenti. </li>
</ul><br />
Che si sono inventati quelli di Debian? <a href="http://backports-master.debian.org/Instructions/">Backport</a>. Ossia, ricompilano loro alcuni pacchetti dalla distribuzione di test e li mettono a disposizione della distribuzione stabile. Il che, indipendentemente dal fatto che sia una buona soluzione o no, è un atteggiamento orientato al cliente molto più di quello di tante blasonate distribuzioni commerciali. Tra parentesi, anche IBM con Aix affronta (e risolve) lo stesso problema, anche se in un modo diverso (ossia rilasciando fix facoltative intermedie tra un aggiornamento e l'altro).<br />
<br />
Questo per dire che non c'è un solo modo di risolvere il problema: il punto è essere disposti a farlo e ritenere che le esigenze dell'utente non siano solo capricci. E per quanto riguarda l'utente, è capire che certe cose non sono impossibili a livello tecnico, ma tutto sommato (IBM docet) non lo sono neanche a livello commerciale.Chiarahttp://www.blogger.com/profile/13564464274571822921noreply@blogger.com0tag:blogger.com,1999:blog-7669987261089336930.post-57003197528274973812012-02-09T12:42:00.001+01:002012-02-09T12:44:06.667+01:00Non sono solaEcco, questa è una bella consolazione, però non è che sia poi molto consolatoria.<br />
<br />
<a href="http://lxnay.wordpress.com/2011/07/08/open-source-projects-are-gone-crazy-period/">Open Source projects are gone crazy, period</a><br />
<br />
Ragazzi, qui c'è gente che lavora, che vogliamo fa'?Chiarahttp://www.blogger.com/profile/13564464274571822921noreply@blogger.com0tag:blogger.com,1999:blog-7669987261089336930.post-12226002174119609082012-02-07T12:17:00.000+01:002012-02-07T12:17:51.754+01:00Il motivo per cui preferisco altroQuando Linux non è solo un bel giocattolo, ma uno strumento di lavoro, ci si scontra sempre con le preferenze altrui. E di solito, quando si è in un'azienda e il proprio potere decisionale rasenta lo zero da sotto, Linux è quasi automaticamente Red Hat. O la sua sottomarca, CentOS.<br />
<br />
Ci sono casi in cui scegliere Red Hat è quasi obbligatorio, per carità: servizio di assistenza, percorso di training, ecc. la rendono una soluzione appetibile da vendere. Ha i suoi vantaggi, anche se li si paga fior di soldini, ma è una questione di rapporto prezzo/prestazioni: si paga un servizio e quel servizio tra l'altro pure funziona e non ha nemmeno una politica di licensing scomoda.<br />
<br />
Quello che veramente non capisco è perché scegliere una piattaforma così quando questi servizi non servono. Cioè, in realtà, quello che veramente non capisco è perché scegliere CentOS per i server interni. Ossia, non in caso di sviluppo o di education (dove potrebbe avere anche il suo senso perché "più compatibile" con Red Hat), ma quando è usato per ospitare applicazioni interne e non servono tutti i servizi accessori.<br />
<br />
Ora, uno dice, una distribuzione varrà l'altra, no? Sarà questione di gusti? Be', non proprio. Le due cose che mi servono ora e che CentOS non fa sono:<br />
<ul><li>aggiornamento tra una major release e l'altra (ossia un passaggio da 5.7 a 6.0): bisogna reinstallare;</li>
<li>installazione via netinstall attraverso un proxy (ma come gli è venuto in mente di <i>non</i> supportare i proxy?).</li>
</ul>La cosa bella sono certi commenti che ho trovato in giro, del tipo: «Eh, ma neanche Windows lo fa.» Già, peccato che Debian faccia entrambe le cose dalle origini. Ma persino il commercialissimo, supportatissimo, malvagissimo Aix le fa. E scommetterei che i flavour di Unix e Linux là fuori in maggioranza fanno entrambe le cose.<br />
<br />
La cosa divertente è che poi sono io l'integralista senza una visione aziendale quando propongo Debian.Chiarahttp://www.blogger.com/profile/13564464274571822921noreply@blogger.com0tag:blogger.com,1999:blog-7669987261089336930.post-44048965759027099722012-01-23T12:16:00.000+01:002012-01-23T12:16:18.976+01:00Firefox e javaContinua la battaglia per un Firefox a 64bit.<br />
<br />
Per avere il plugin di java è banale. Posto che uno si sia scaricato una JDK (ma anche solo una JRE), il plugin è:<br />
<br />
JAVA_HOME/jre/lib/amd64/libnpjp2.so<br />
<br />
Per esempio, su una Debian il path con la jvm di Sun installata da pacchetto è:<br />
<br />
/usr/lib/jvm/java-6-sun/jre/lib/amd64/libnpjp2.so<br />
<br />
Basta creare un link simbolico in FIREFOX_HOME/plugins, ossia per esempio:<br />
<br />
<pre># cd /usr/local/firefox-7.0.1/plugins
# ln -s /usr/lib/jvm/java-6-sun/jre/lib/amd64/libnpjp2.so .
</pre>Chiarahttp://www.blogger.com/profile/13564464274571822921noreply@blogger.com0tag:blogger.com,1999:blog-7669987261089336930.post-61368820308107653902012-01-09T16:27:00.000+01:002012-01-09T16:27:35.774+01:00Grub e troooppi dischiSe per caso a qualcuno capitasse di avere un server con più di 26 dischi e grub, fino alla versione 1.99 incappa in <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=514976">un curioso bug</a>. In pratica, grub-probe non identifica i dischi con label del tipo sdaa, sdab, cioè come da sempre vengono etichettati i dischi oltre il ventiseiesimo. <br />
<br />
L'unica è aggiornare o patchare grub-probe (che è quasi la stessa cosa). Questo significa, per una Debian Squeeze, fare il backport da Wheezy del package grub-pc, che vince la palma come il primo necessario in Squeeze.<br />
<br />
<br />
<br />
<br />
<span id="goog_660934063"></span><span id="goog_660934064"></span><a href="http://www.blogger.com/"></a>Chiarahttp://www.blogger.com/profile/13564464274571822921noreply@blogger.com0tag:blogger.com,1999:blog-7669987261089336930.post-87994944161057851622011-11-08T12:56:00.000+01:002011-11-08T12:56:56.403+01:00Tu quoque CupsIo amo cups. Adoro cups. Cups mi ha quasi salvato la vita in almeno un'occasione. <br />
<br />
Per chiunque abbia conosciuto la stampa da unix prima di Cups, Cups è stata la benedizione. Ma non dev'essere il mese giusto per pretendere qualcosa anche dal più consolidato dei software.<br />
<br />
Ho configurato una stampante. Non venticinque come mio solito, <i>una</i>. Ma, che ci crediate o no, non è la stampante di default se uno non glielo dice. E quindi, con una stampante definita (non zero, o duemila), lpr non sa dove stampare.<br />
<br />
Avrei un messaggio da lanciare: <i>la linea di comando esiste e c'è pure chi la usa</i>. Vi prego, sacri signori sviluppatori di software, ricordatevene ogni tanto.Chiarahttp://www.blogger.com/profile/13564464274571822921noreply@blogger.com0tag:blogger.com,1999:blog-7669987261089336930.post-49367934161899831332011-11-08T12:18:00.001+01:002011-11-08T12:20:23.089+01:00L'esasperazioneLa mia relazione con Unix compie diciott'anni giusto in questi giorni, per cui non sono neanche proprio una novellina.<br />
<br />
Si può dire che Linux l'ho visto nascere, mettere i primi passi, sbrodolare il tappeto e anche diventare abbastanza grande. Abbastanza, però, che poteva andare bene qualche anno fa, ma certo non più adesso.<br />
<br />
Ho un portatile nuovo fiammante, e ancora (siamo nel 2011) devo impazzire per farlo funzionare come vorrei. L'audio è un mistero: le cuffie funzionano, il microfono no. Perché? Boh. Qualcosa che segnali un errore, un modulo che manchi? Ma figuriamoci: nell'era della userfriendliness presentare un log a un utente sembra diventato un insulto. Meglio ignorare il problema: qualsiasi mixer dice che va tutto, ma poi non va un accidente. <br />
<br />
Fino a un paio di versioni di X fa, uno doveva farsi tutto a mano: morale, si impazziva un paio di giorni (la documentazione di X è... no, non arriva nemmeno a essere), poi la cosa funzionava per l'eternità. Finché appunto editare file (ma non era Unix-like?) è diventato un impiccio e le cose han cominciato a fare quello che volevano loro. Per una come me, che aveva una configurazione di X che faceva il caffè, è un incubo: se prima potevo avere ogni cosa che desideravo (che so, una tastiera custom o una risoluzione non ortodossa o -eresia- non avere un desktop) adesso è già tanto che parta. <br />
<br />
E perché sto trascurando shell che spariscono, device che diventano un'altra roba tra un apt-get e l'altro, renumbering degli inode di lvm, robe cioè che l'utente normale non dovrebbe neanche sapere che esistono.<br />
<br />
E vogliamo parlare di <a href="http://unix.gianoziaorientale.org/2011/11/firefox-64bit-per-linux.html">Firefox su x86_64 o su PowerPC</a>? <br />
<br />
L'ultima di oggi è inkscape: si rifiuta di salvare i file. Li crea, ma vuoti e poi protesta pure.<br />
<br />
Insomma, comincio a essere veramente esasperata. Anche perché non ci sono poi molte alternative, MacOS è troppo rigido per le mie esigenze (ma funziona) e Windows, be', è già tanto che lo si possa classificare tra i sistemi operativi.Chiarahttp://www.blogger.com/profile/13564464274571822921noreply@blogger.com2tag:blogger.com,1999:blog-7669987261089336930.post-71396787003541712812011-11-08T12:17:00.000+01:002011-11-08T12:18:34.203+01:00Firefox a 64bit per linuxNell'ambito delle giornate passate a sbattere la testa sul muro, quella della ricerca di software è una delle più frustranti.<br />
<br />
Soprattutto quando una pagina su due del sito di suddetto software non fa altro che dirti che devi aggiornare, che non hai l'ultima versione e devi assolutamente passare alle nuove feature. Cosa di cui, se sei lì e premi ogni tasto download che vedi, può anche essere che tu sia già convinto.<br />
<br />
Comunque, per quanto uno provi a girare e girare, sembra che nel sito di Firefox non ci sia traccia di Firefox a 64bit. E no, malelingue, non lo sto cercando per Windows: lo cerco per Linux. Linux x86_64, mica PowerPC. Cioè lo cerco anche per Linux PowerPC, ma su quello proprio non ci spero molto. Toccherà compilarlo, adesso che so dove sono i sorgenti.<br />
<br />
No, perché neanche ai sorgenti c'è un collegamento. Ma non si chiamava Open Source proprio perché... doveva essere in un'altra faglia spazio-dimensionale.<br />
<br />
Comunque, alla fine mi sono risolta a chiedere:<br />
<br />
<a href="https://support.mozilla.com/en-US/questions/890129">https://support.mozilla.com/en-US/questions/890129</a><br />
<br />
e un'anima pia si è mossa a compassione. Firefox a 64bit e (miracolo) i sorgenti si trovano qui:<br />
<br />
<a href="http://releases.mozilla.org/pub/mozilla.org/firefox/releases/latest/">http://releases.mozilla.org/pub/mozilla.org/firefox/releases/latest/</a>Chiarahttp://www.blogger.com/profile/13564464274571822921noreply@blogger.com0tag:blogger.com,1999:blog-7669987261089336930.post-3452967906913864812011-11-07T15:25:00.000+01:002011-11-07T15:25:13.666+01:00Le cose belle di questo lavoroImpazzire mezza giornata perché un client OpenVPN non parte e viene resettato nonostante tutto vada a buon fine.<br />
<br />
Il problema? Il server era un'ora indietro, quindi i certificati non erano ancora validi.<br />
<br />
La cosa bella è il messaggio identificativo dell'errore:<br />
<br />
ACK output sequence broken<br />
<br />
Ma io dico, scrivere un messaggio d'errore umano?Chiarahttp://www.blogger.com/profile/13564464274571822921noreply@blogger.com0tag:blogger.com,1999:blog-7669987261089336930.post-70180255204080247322011-07-19T17:51:00.001+02:002011-11-08T12:19:39.358+01:00Continue riallocazioni delle VMRisolti i problemi di cui al post precedente, adesso il cluster con RedHat Cluster Suite e libvirt funziona alla grande.<br />
Così alla grande che ogni due minuti le VM vengono riallocate, quelle che erano sull'host1 finiscono nell'host2 e viceversa. E mi raccomando, non migrate, <i>riallocate</i>. <br />
<br />
Nei log questo simpatico errorino:<br />
<br />
<pre><span style="font-size: xx-small;">Jul 19 17:25:21 rgmanager status on vm "prometeo" returned 127 (unspecified)
Jul 19 17:25:21 rgmanager No other nodes have seen vm:prometeo</span></pre><br />
Criptico come poche volte, no? Come si risolve un problema del genere?<br />
<br />
Provo a testare con rg_test:<br />
<br />
<pre><span style="font-size: xx-small;"># rg_test test /etc/cluster/cluster.conf status vm prometeo
...
Hypervisor URI: qemu:///system
Migration URI format: qemu+ssh://target_host/system
Virtual machine <b>prometeo is running</b>
Status check of prometeo <b>failed</b></span>
</pre><br />
Coerente, direi. Quindi c'è un errore nel check dello status. Lo script inciminato è <tt>/usr/share/cluster/vm.sh</tt>, che usa due funzioni per verificare lo status, <tt>virsh_status</tt> e <tt>do_status</tt> (ci sarebbe anche <tt>xm_status</tt>, ma in questo momento non ci interessa):<br />
<br />
<pre><span style="font-size: x-small;">virsh_status()
{
declare state pid
if [ "$OCF_RESKEY_hypervisor" = "xen" ]; then
service xend status &> /dev/null
if [ $? -ne 0 ]; then
echo indeterminate
return $OCF_APP_ERR_INDETERMINATE
fi
fi
#
# libvirtd is required when using virsh even though
# not specifically when also using Xen. This is because
# libvirtd is required for migration.
#
pid=$(pidof libvirtd)
if [ -z "$pid" ]; then
echo indeterminate
return $OCF_APP_ERR_INDETERMINATE
fi
state=$(virsh domstate $OCF_RESKEY_name)
echo $state
if [ "$state" = "running" ] || [ "$state" = "paused" ] ||
[ "$state" = "no state" ] ||
[ "$state" = "idle" ]; then
return 0
fi
if [ "$state" = "shut off" ]; then
return $OCF_NOT_RUNNING
fi
return $OCF_ERR_GENERIC
}
#
# Simple status check: Find the VM in the list of running
# VMs
#
do_status()
{
if [ "$OCF_RESKEY_use_virsh" = "1" ]; then
virsh_status
return $?
fi
xm_status
return $?
}</span></pre><br />
Guardatele quanto volete, l'errore non è in nessuna delle due funzioni: se la VM è viva, <tt>virsh_status</tt> ritorna 0 e <tt>do_status</tt> pure (era dura visto che non fa altro che richiamare <tt>virsh_status</tt>).<br />
<br />
Dov'è il problema? Si verifica più avanti, per la precisione nel <tt>case</tt> che decide quale azione è stata richiamata:<br />
<br />
<pre><span style="font-size: x-small;">status|monitor)
validate_all || exit $OCF_ERR_ARGS
echo -n "Virtual machine $OCF_RESKEY_name is "
do_status
rv=$?
if [ $rv -ne 0 ]; then
exit $rv
fi
<b style="color: #cc0000;">[ -z "$OCF_RESKEY_status_program" ] && exit 0</b>
[ -z "$OCF_CHECK_LEVEL" ] && exit 0
[ $OCF_CHECK_LEVEL -lt 10 ] && exit 0
bash -c "$OCF_RESKEY_status_program" &> /dev/null
exit $?
;;
</span>
</pre><br />
Qual è il problema? Il valore di <tt>status_program</tt> (uno dei parametri di configurazione della risorsa vm) di default è 0. Non vuoto (cosa che gli farebbe passare indenne il test in rosso e quindi farebbe uscire <tt>vm.sh</tt>), ma <b style="color: #cc0000;">0</b>.<br />
<br />
<pre><span style="font-size: x-small;"><parameter name="status_program" reconfig="1">
<longdesc lang="en">
Ordinarily, only the presence/health of a virtual machine
is checked. If specified, the status_program value is
executed during a depth 10 check. The intent of this
program is to ascertain the status of critical services
within a virtual machine.
</longdesc>
<shortdesc lang="en">
Additional status check program
</shortdesc>
<content type="string" default="0"/></span></pre><pre><span style="font-size: x-small;"></parameter> </span></pre><br />
A questo punto, salutati i santi che uno ha tirato giù dal Paradiso, la soluzione è aggiungere l'ennesimo parametro alla configurazione della VM in <tt>/etc/cluster/cluster.conf</tt>:<br />
<br />
<pre><span style="font-size: x-small;"><vm autostart="0" domain="domainseminole" exclusive="0" migrate="live"
status_program="" name="prometeo"
xmlfile="/etc/libvirt/qemu/prometeo.xml" recovery="relocate"/></span></pre>Chiarahttp://www.blogger.com/profile/13564464274571822921noreply@blogger.com1tag:blogger.com,1999:blog-7669987261089336930.post-48742537717593504832011-07-19T12:36:00.000+02:002011-07-19T12:36:28.187+02:00(libvirt) Timed out during operation: cannot acquire state change lockBell'errore di stamattina, durante un tentativo di migrazione di una VM da un host all'altro.<br />
Sembra che il problema sia un non meglio identificato bug di libvirt versione 0.8, e sembra che sparisca dalla 0.9:<br />
<br />
<a href="https://bugzilla.redhat.com/show_bug.cgi?id=676205">https://bugzilla.redhat.com/show_bug.cgi?id=676205</a><br />
<br />
Ma per chi come me è su una Debian Squeeze e non ha voglia di iniziare la trafila del backport dei pacchetti a neanche due mesi dall'aggiornamento, non è che sia di molta consolazione.<br />
Comunque a quello che ho visto è un qualcosa che manda a funghi libvirt. Il sintomo principale non è tanto il messaggio del titolo, quanto che libvirt non dà più la situazione corretta. Per verificarlo basta vedere la dissonanza tra:<br />
<br />
<pre># virsh --connect qemu:///system list --all
</pre><br />
e<br />
<br />
<pre># ps -elf | grep qemu
</pre><br />
Dei due, è il secondo che ha ragione.<br />
<br />
La soluzione è stata riavviare libvirt, ma se in uno dei due server la cosa è andata liscia con<br />
<pre># /etc/init.d/libvirt-bin restart</pre>l'altro non voleva saperne di morire. Quindi:<br />
<pre># kill -9 <piddilibvirt></pre>(sì, ok, andava bene anche <tt>pkill libvirt-bin</tt>).<br />
<br />
Restano un processo nc (netcat, che si individua con <tt>ps -elf | grep libvirt</tt>), anche quello da killare, e due socket: <tt>/var/run/libvirt-sock</tt> e <tt>/var/run/libvirt-sock-ro</tt>, entrambi da cancellare.<br />
<br />
A questo punto, riavviato libvirtd, la situazione è allineata e la migrazione funziona. Per la cronaca, via ssh con:<br />
<pre># virsh --connect qemu:///system migrate --live <vm> qemu+ssh://<altro>/system
</pre>Chiarahttp://www.blogger.com/profile/13564464274571822921noreply@blogger.com0tag:blogger.com,1999:blog-7669987261089336930.post-54835097451468756662011-06-20T13:26:00.000+02:002011-06-20T13:26:29.893+02:00Trasformare il proprio PC in access point wireless (router)Diciamo che ho un iPod Touch dotato di WiFi e vorrei usare il portatile come router per connetterlo in rete.<br />
La scheda WiFi è una Intel Corporation PRO/Wireless 2200BG. Sistema operativo Debian GNU/Linux Squeeze.<br />
<br />
Diciamo che ci sono diverse cose che possono andare storte e il fatto che siano parecchi mesi che non uso il WiFi su questo portatile aiuta a fare un ripasso.<br />
<br />
Il primo ostacolo è che questo è un portatile dotato di tasto per abilitare/disabilitare il WiFi (nel mio caso è Fn-F2, l'icona è un'antenna azzurrina). Quindi il primo check da fare se il WiFi non funziona è proprio questo tasto. Questo è quello che si vede quando il WiFi è disabilitato:<br />
<br />
<div style="font-family: "Courier New",Courier,monospace;"><span style="font-size: x-small;"># iwconfig</span></div><div style="font-family: "Courier New",Courier,monospace;"><span style="font-size: x-small;">...</span></div><div style="font-family: "Courier New",Courier,monospace;"><span style="font-size: x-small;"><br />
</span></div><div style="font-family: "Courier New",Courier,monospace;"><span style="font-size: x-small;">eth0 no wireless extensions.</span></div><div style="font-family: "Courier New",Courier,monospace;"><span style="font-size: x-small;"><br />
</span></div><div style="font-family: "Courier New",Courier,monospace;"><span style="font-size: x-small;">eth1 <b>radio off</b> ...</span></div><br />
Questo dopo aver premuto il tasto:<br />
<br />
<div style="font-family: "Courier New",Courier,monospace;"><span style="font-size: x-small;"># iwconfig</span></div><div style="font-family: "Courier New",Courier,monospace;"><span style="font-size: x-small;">...</span></div><div style="font-family: "Courier New",Courier,monospace;"><span style="font-size: x-small;">eth0 no wireless extensions.</span></div><div style="font-family: "Courier New",Courier,monospace;"><span style="font-size: x-small;"><br />
</span></div><div style="font-family: "Courier New",Courier,monospace;"><span style="font-size: x-small;">eth1 <b>unassociated</b> ...</span></div><br />
Se non cambia nulla, bisogna abilitare la scheda anche via i<b>f</b>config:<br />
<br />
<div style="font-family: "Courier New",Courier,monospace;"><span style="font-size: x-small;"># ifconfig eth1 up</span></div><br />
A questo punto bisogna configurare la eth1 in modalità ad-hoc, con tutti gli ammennicoli del caso. Attenzione al channel che finché è 0 la rete non va, e di default ovviamente è 0:<br />
<br />
<div style="font-family: "Courier New",Courier,monospace;"><span style="font-size: x-small;"># iwconfig eth1 essid MyEssid mode ad-hoc key s:mypwd channel 1</span></div><br />
Le cose da cambiare qui sono MyEssid, mypwd ed eventualmente 1 (con un altro numero a scelta).<br />
<br />
Poi bisogna dare un ip a eth1:<br />
<br />
<div style="font-family: "Courier New",Courier,monospace;"><span style="font-size: x-small;"># ifconfig eth1 up 10.0.0.1 netmask 255.255.255.0 broadcast 10.0.0.255</span></div><br />
o una qualche configurazione desiderata.<br />
<br />
Infine abilitare routing e nat:<br />
<br />
<div style="font-family: "Courier New",Courier,monospace;"><span style="font-size: x-small;"># modprobe iptable_nat</span></div><div style="font-family: "Courier New",Courier,monospace;"><span style="font-size: x-small;"># modprobe nf_conntrack_ipv4</span></div><div style="font-family: "Courier New",Courier,monospace;"><span style="font-size: x-small;"># echo 1 > /proc/sys/net/ipv4/ip_forward</span></div><div style="font-family: "Courier New",Courier,monospace;"><span style="font-size: x-small;"># iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 10.0.0.1</span></div><br />
Lato iPod in Impostazioni -> Wi-Fi compare la rete MyEssid, che richiede la password mypwd. Clickando sulla freccetta blu si cambiano le impostazioni della rete. Scegliere statico e impostare i parametri come fosse un normale PC:<br />
<br />
<table><tr><td>indirizzo IP</td><td>10.0.0.2</td></tr>
<tr><td>maschera sottorete</td><td>255.255.255.0</td></tr>
<tr><td>router</td><td>10.0.0.1</td></tr>
<tr><td>dns</td><td>a.b.c.d</td></tr>
<tr><td>domini di ricerca</td><td>dominio.it</td></tr></table><br />
ed eventuale proxy. I dati del dns si ricavano da /etc/resolv.conf del portatile linux.Chiarahttp://www.blogger.com/profile/13564464274571822921noreply@blogger.com0tag:blogger.com,1999:blog-7669987261089336930.post-42681791073457698532011-06-14T20:11:00.000+02:002011-06-14T20:31:57.407+02:00Debian Squeeze e cluster RedHatNon c'è più da compilare il modulo, basta installare il pacchetto redhat-cluster-suite:<br />
<br />
<span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;"># aptitude install redhat-cluster-suite</span></span><br />
<br />
Si prende senza problemi la configurazione di lenny.<br />
<br />
<hr/><br />
<h2>clvmd could not create local socket</h2>Bisogna creare la directory /var/run/lvm che lo script di installazione si dimentica.<br />
<br />
<h2>clvmd could not connect to cluster manager</h2>Bisogna installare dlm-pcmk e disinstallare libdlm2. Quindi riavviare cman e rgmanager.Chiarahttp://www.blogger.com/profile/13564464274571822921noreply@blogger.com0tag:blogger.com,1999:blog-7669987261089336930.post-33464682548491131002011-06-14T16:33:00.000+02:002011-06-14T19:34:24.601+02:00Upgrade di Lenny: /boot/grub/device.mapDevo dire che è una situazione complicata. Sto facendo l'aggiornamento di un server Debian da lenny a squeeze e mi dà il seguente errore:<br />
<br />
<span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;">Running postinst hook script update-grub.</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;">Searching for GRUB installation directory ... found: /boot/grub</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;">warning: grub-probe can't find drive for /dev/sdu2.</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;">grub-probe: error: Cannot find a GRUB drive for /dev/sdu2. Check your device.map.</span><br style="font-family: "Courier New",Courier,monospace;" /><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;">User postinst hook script [update-grub] exited with value 1</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;">dpkg: error processing linux-image-2.6.26-2-amd64 (--configure):</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;"> subprocess post-installation script returned error exit status 1</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;">Errors were encountered while processing:</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;"> linux-image-2.6.26-2-amd64</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;">E: Sub-process /usr/bin/dpkg returned an error code (1)</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;">A package failed to install. Trying to recover:</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;">Setting up linux-image-2.6.26-2-amd64 (2.6.26-26lenny2) ...</span></span><br />
<br />
La cosa divertente è che di questo kernel non me ne faccio nulla, visto che non è nemmeno quello in uso. Ma il problema non è questo kernel, quanto update-grub:<br />
<br />
<span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;">seminole:/# update-grub </span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;">Searching for GRUB installation directory ... found: /boot/grub</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;">warning: grub-probe can't find drive for /dev/sdu2.</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;">grub-probe: error: Cannot find a GRUB drive for /dev/sdu2. Check your device.map.</span></span><br />
<br />
La soluzione temporanea (viene sovrascritta ogni volta che si aggiorna grub) è aggiungere il device incriminato (nel mio caso sdu) in /boot/grub/device.map, ad esempio con la riga:<br />
<br />
<span style="font-family: "Courier New",Courier,monospace; font-size: x-small;">(hd9) /dev/sdu</span><br />
<br />
A questo punto update-grub non dà più errori:<br />
<br />
<span style="font-family: "Courier New",Courier,monospace; font-size: x-small;">seminole:/boot/grub# update-grub <br />
Searching for GRUB installation directory ... found: /boot/grub<br />
Searching for default file ... found: /boot/grub/default<br />
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst<br />
Searching for splash image ... none found, skipping ...<br />
Found Xen hypervisor 3.2-1-amd64, kernel: /vmlinuz-2.6.26-2-xen-amd64<br />
Found kernel: /vmlinuz-2.6.26-2-xen-amd64<br />
Found kernel: /vmlinuz-2.6.26-2-amd64<br />
Updating /boot/grub/menu.lst ... done</span><br />
<br />
Le cose si sistemano una volta completato l'upgrade.Chiarahttp://www.blogger.com/profile/13564464274571822921noreply@blogger.com0tag:blogger.com,1999:blog-7669987261089336930.post-36251836843197819422011-06-14T15:25:00.000+02:002011-06-14T15:25:03.598+02:00Adesso mi sono davvero decisaBasta. Credo che il sistema che sto mettendo in piedi abbia bisogno di un serio esorcismo.<br />
<br />
Aprire un blog sembra molto simile a un esorcismo. Almeno nella mia testa.Chiarahttp://www.blogger.com/profile/13564464274571822921noreply@blogger.com0