installare RMySQL su CentOS

… una veloce nota per chi, come me, si ritrova a dover installare il modulo RMySQL su un server CentOS (o RHEL).

Chi mi segue da tempo potrà ricordare che sui miei server R viene installato attraverso l’utilizzo del repository EPEL repository (come ho descritto in questo post del blog).

Premesso ciò passiamo all’installazione vera e propria. Bisogna puntare il browser sul sito di RMySQL e scaricare entrambi i pacchetti RMySQL_0.7-5.tar.gz e DBI_0.2-5.tar.gz. Ho dovuto proseguire in questo modo Perché il pacchetto R-DBI presente nei repository attivati nel mio server generava dei problemi di dipendenze/versioni non previsti.

Quindi – dovendo installare il modulo in modo che fosse disponibile a tutti gli utenti del sistema – come utente root ho impartito i seguenti comandi:

[root@testing ~]# R CMD INSTALL DBI_0.2-5.tar.gz
[root@testing ~]# R CMD INSTALL RMySQL_0.7-5.tar.gz

A questo punto all’utente non è rimasto che avviare il suo ‘ambiente‘ di sviluppo in R e controllare che il nuovo modulo fosse effettivamente attivo e disponibile. Happy coding!

migrazione RedHat Enterprise Linux a CentOS eseguita!

Lo scorso anno acquistammo un serverino – dischi in fiber channel, 4 cpu quadcore, 32GB di RAM … la solita roba, insomma – con su Red Hat Enterprise Linux. Ovviamente quest’anno allo scadere della licenza non ci sono i fondi per proseguire con gli abbonamenti annuali.

features rhel

Che si fa? Si migra a CentOS, ovviamente!
Per fortuna la procedura di migrazione è stata semplice, immediata e rispettosa del tutorial proposto nell’apposita pagina del wiki ufficiale.

In breve ho aggiornato la RHEL alla release 5.5. Questo ha fatto anche si che i repository ufficiali venissero cancellati dalla directory /etc/yum.repos.d (quindi fattene un backup, per riferimento futuro).

Ho disattivato tutti i repository aggiuntivi alla distribuzione (adobe, epel e remi).

Ho disattivato, prima, e rimosso, dopo, il plugin rhnplugin di yum, quindi imparito i comandi:

cp /etc/redhat-release /etc/redhat-release-saved
rpm -e --nodeps redhat-release-notes redhat-release yum-rhn-plugin redhat-logos

… e poi scaricato manualmente i pacchetti centos-release, centos-release-notes e redhat-logos-X.X.XX-XX.el5.centos.noarch.rpm dal mirror Italiano di CentOS (li trovi nel percorso ../5/os/$ARCHITETTURA/CentOS/).

Fatto ciò li ho installati manualmente e poi ho dato il più classico dei:

yum update

per completare la migrazione, ed eccoci qua:

CentOS-5-3-Is-Here-Based-on-RHEL-5-3-3

[root@localhost ~]# cat /etc/issue
CentOS release 5.5 (Final)

[root@localhost ~]# uname -a
Linux localhost 2.6.18-194.3.1.el5 #1 SMP Sun May 2 04:17:42 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

come aggiornare PHP e MySQL su CentOS usando il repository di Remi

Ci siam trovati in ufficio a dover aggiornare l’accoppiata PHP/MySQL per il deployment di un paio di applicazioni bio-informatiche in corso di sviluppo.

I nostri sistemi, per N ragioni, sono ancorate al mondo rpm; quindi Red Hat Enterprise Linux ed il suo clone “free (as in beer)CentOS e il loro lento ciclo di update hanno prodotto la situazione per cui o affrontavamo l’aggiornamento “a mano” di 10 nodi con ricompilazione dei sorgenti, oppure adottavamo la strategia dell’adozione di un repository esterno alla distribuzione.

Dopo un’indagine abbastanza veloce abbiamo deciso di affidarci al lavoro, pluriannuale e ben noto, di Remi Collet. Una veloce ripassata a yum e ai suoi plugin ed i pacchetti erano installati, con la piccola rogna di un problema con le dipendenze di PHP-MySQL (probabilmente dovuta all’aggiornamento in fasi distinte di PHP prima e MySQL poi).

Risolto quello son passato ad esaminare MySQL e i database da esso gestiti, incontrando il simpatico errore qui sotto riportato:

ERROR 1146 (42S02): Table ‘MySQL.servers' doesn't exist

when you do a simple FLUSH PRIVILEGES;

Son quindi corso ai ripari con una veloce ricerca su Google che mi ha convinto della necessità di applicare SEMPRE, indipendentemente dal metodo di aggiornamento utilizzato (tar.gz, deb o rpm), il comando MySQL_fix_previleges_tables assieme alle altre indicazioni che si trovano nella documentazione ufficiale PRIMA di fare altre operazioni sui database..

Nella fattispecie impartendo il comando:

/usr/bin/MySQL_fix_privilege_tables --password=$your-MySQL-root-password

ha risolto il mio problema.

Alternativamente una soluzione avrebbe potuto essere quella proposta in questo post, ma come ho detto non c’è stato bisogno di fare altre operazioni.

come abilitare il plugin Java su Firefox e CentOS a 64bit

Nelle scorse settimane avevo instalalto e configurato un server CentOS 5.3 a 64bit, installato sia la Java-openJDK che la JRE ufficiale SUN a 64bit e bona.

Stamattina mi chiama un collega e dice che il plugin su Firefox non gli va. Vedo e rivedo non capisco quale sia il problema, perso – tra l’altro – tra centinaia di post che fanno riferimento a vecchie versioni della JRE, di Firefox e vecchie incompatibilità tra il plugin ed il browser tra 32 e 64bit.

Alla fine, fortunatamente, trovo questo post, con l’indicazione del file libnpjp2.so che, nel mio caso, si trova in /usr/Java/jre1.6.0_16/lib/amd64/libnpjp2.so.

Vado nella cartella /usr/lib64/Firefox-3.0.14/, creo una directory plugins ed impartisco il comando:

ln -s /usr/Java/jre1.6.0_16/lib/amd64/libnpjp2.so libnpjp2.so

Avvio quindi Firefox, mi reco alla pagina di test per la virtual machine ed ecco il risultato atteso:

Your Java configuration is as follows:

Vendor: Sun Microsystems Inc.

Version: Java 6 Update 16

Operating System: Linux 2.6.18-164.2.1.el5

Architecture: amd64

Enjoy!

come ripristinare GRUB su CentOS, Fedora, RHEL

(… e derivate)

CentOS, the logo Per la serie annotarsi riporto qui sul blog la procedura seguita per il ripristino dell’installazione di grub andata a signorine per cause poco chiare su una macchina dual boot …

I passi da seguire sono:

  • impostare sul proprio hardware il lettore CD/DVD-rom come primo dispositivo di boot,
  • inserirvi un media ottico di installazione di Fedora/CentOS/RHEL (non importa se il cd1 o il dvd),
  • (ri)avviare la macchina,
  • selezionare {o inserire manualmente}: linux rescue e dare invio,
  • ora a monitor appariranno una serie di messaggi e la scelta della lingua e tastiera da utilizzare, sino ad arrivare ad una shell funzionante e ad un messaggio di avviso che ci dice che il nostro vecchio sistema GNU/Linux è montato sul percorso /mnt/sysimage path,
  • impartiamo dunque il comando che ti permetterà di “traslare” la shell attiva nella directory “radice” del nostro vecchio sistema con chroot /mnt/sysimage,
  • cd /boot/grub ci fa spostare nella directory dove grup ripone i suoi files,
  • con il comando grep '#boot' grub.conf verifichiamo dove per la vecchia configurazione risultava installato grub, e con fdisk -l ne verifichiamo la correttezza,
  • decidiamo quindi su quale device (o partizione) reinstallare grub e, posto che tale destinazione sia /dev/sda, impartiamo il comando grub-install /dev/sda,
  • non ci resta, ora, che chiudere la shell e riavviare il sistema

Ed ecco a noi il sistema correttamente funzionante!

:-)

server FTP con utenti virtuali, gestione quota e banda utilizzata

Al lavoro mi son ritrovato a dover risolvere lo scenario del dare accesso ad un certo numero di dati (di dimensione di qualche GB per file) e documenti ad un paio pool di utenti, per la maggior parte esterni alla nostra struttura.

Questo mi ha portato allo scarto di soluzioni che prevedevano l’accesso fisico alla macchina (no ssh quindi). Ho purtroppo dovuto scartare anche soluzioni basate sul “paradigma” LAMP, per le intrinseche limitaziondi di Apache come gestore di trasferimento file … ad esempio DocMgr che pure avevamo implementato ma che ha retto sino a quando ci si è trovati a dover caricare/scaricare file >1GB … e tenendo conto che ne ho diversi altri tra i 5/8GB capirai Perché ho ritenuto poco proficuo tenerlo in funzione.

Ancora, nel tempo è sorta anche la necessità di imporre ragionevoli limiti alla banda di rete utilizzabile da questo singolo servizio, specie in occasioni di limitazioni di utilizzo della banda “Internet” disponibile.
pureFTFd logo
Mi sono quindi messo alla ricerca di una soluzione collaudata, di semplice implementazione e ragionevolmente sicura, trovando alcuni tutorial su come implementare un servizio di FTP che mi permettesse di avere un pool di “Utenti Virtuali“.

Continua a leggere

come installare Java SDK su CentOS

Ultimamente sto preparando un server CentOS (release 5.2) per la sua clonazione su altri 13 nodi del nostro cluster di calcolo e mi sono trovato alle prese con l’ installazione di Java su questa distribuzione derivata da Red Hat.

Purtroppo, anche se di recente la Sun ha rilasciato tutto il suo ambaradan Java con licenza libera, questo è avvenuto troppo tardi Perché il progetto CentOS (ma anche altre distribuzioni) potesse includerne i pacchetti in fase di rilascio delle release della famiglia 5. La cosa, invece, dovrebbe essere risolta quando la CentOS 6 verrà rilasciata.

Per eseguire una corretta installazione di Java (Runtime Environment o Software Development Kit) è quindi necessario, e sufficente, rifarsi al puntuale How To Install Java on CentOS 4 and CentOS 5 pubblicato nelle pagine del wiki della distribuzione.

Bisogna solo avere qualche accortezza nell’approcciarsi alle procedure descritte nell’how to, ossia:

  • rimuovere la versione già pacchettizzata da CentOS di Java (nella sua implementazione libera) eventualmente installata prima dell’how-to;
  • rimuovere tomcat5 e tutti i pacchetti ad esso connessi;
  • attenersi alle procedure dell’ How to Set Up an RPM Build Environment under CentOS
  • il pacchetto Java-1.6.0-sun-1.6.0.10-1jpp.nosrc.rpm citato nell’how to richiede ancora la versione 10 del JDK, mentre al momento sul sito della Sun è disponibile l’update11 … dovrete fare una ricerca nella sezione dei download per il l’installer in formato *.bin esatto.

Alla fine della procedura ti basterà installare gli rpm appena costruiti per avere un Java funzionante nel sistema.

Un semplice yum install tomcat5 ha installato in un soffio Tomcat (ed altre 37 pacchetti ad esso connessi) senza nessun problema di dipendenze.

Spero che queste poche righe ti siano utili 😀

come installare R su CentOS

CentOS, logo Argomento poco natalizio quest’oggi dove vado a postare un piccolo “how-to” per installare la suite di calcolo statistico (open source) e i suoi strumenti di sviluppo R.

La distribuzione CentOS non prevede nei suoi repository ufficiali alcuna build di questo progetto che, fortunatamente, fornisce invece i pacchetti per le più diffuse piattaforme GNU/Linux (e Windows e Mac OS X) all’interno dei suoi mirror.

Sono presenti gli rpm binari dei pacchetti, ma vista la disponibilità di medatati yum (la directory repodata) è possibile creare un file .repo per un uso più snello e integrato con il package manager di sistema YUM.

Questo che segue è il file che mi sono creato:

[R - Project for Statistical Computing]
name=R repository
baseurl=http://rm.mirror.garr.it/mirrors/CRAN/bin/linux/redhat/el5/i386
failovermethod=priority
enabled=1
gpgcheck=0
priority=15

Una nota sul gpgcheck=0 che ho messo in quanto i pacchetti non sono firmati (o almeno io non sono riuscito a trovarla) e sul priority=15 dovuti all’uso del tool yum-priorities.

Se avete suggerimenti o migliorie da apportare i commenti al post son qui per questo !

introduzione a CentOS, la presentazione

Finalmente ho preso coraggio a quattro mani e mi sono lanciato in una piccola opera di traduzione a favore della distribuzione GNU/Linux che uso (e userò sempre più) al lavoro: CentOS.

Presa dal wiki ufficiale della distrubuzione quella in lingua inglese creata e revisionata dal mitico (per me e per il lavoro che porta avanti Dag Wieers in formato ODP l’ho convertia in ppt e poi importata per essere “lavorata” su Keynote.app (a mio avviso IL programma definitivo per fare slides). A fine processo ho invertito la conversione dei formati.

Ora il passo successivo è quella di proporla alla lista CentOS-docs per l’approvazione e la successiva pubblicazione nelle pagine del wiki, solo che la pubblico qui per renderla disponibile ad una revisione comune prima di inviarla.

Mi date una mano ?

Introduzione a CentOS
View SlideShare presentation or Upload your own. (tags: centos linux)

p.s. = Pare che nell’aria ci sia l’idea di creare vari siti locali dedicati alla distribuzione, sulla falsariga di quanto accade per il sito/wiki di openSUSE …

Ci sono persone interessate alla cosa ?

Che mi sapete dire del gruppo di mille iscritti al sito Centos-Italia di cui non è dato sapere nulla (chi siamo, scopi, etc etc) ???

CentOS, netinstall

CentOS logo Benedetta CentOS e benedetti sistemi con a bordo solo un lettore di cd-rom !!!

Visto che fare il disk jockey con i 5 (o 6) cd di installazione della distribuzione “enterprise” libera per antonomasia non mi va giù da un po’ di tempo ho preso l’abitudine di scaricare e usare per l’installazione la piccola ISO (7 MB o giù di li) della versione netinstall che fa partire il sistema e poco più.

E ogni volta incontro un piccolo problema, o un altro, che mi tengono al freddo (e alla polvere) della sala CED più a lungo di quanto vorrei.

Questa volta, il problema si è verificato con la scelta del mirror di riferimento da utilizzare come fonte di installazione. In questo caso la procedura guidata NON ci aiuta visto che ci dice che c’è un problema nel download del file stage2.img col path (corretto !!!!!) che viene visualizzato a schermo.

Preso dallo sconforto faccio una ricerca su Google (ormai automatica per qualunque cosa) e ritrovo una mia vecchia richiesta di aiuto alla mailing list ufficiale della comunità  CentOS che avverte di NON usare i percorsi “intelligenti” quali .../centos/$releasever/os/$basearch che pur normalmente appaiono in un qualunque yum.conf.

E come secondo consiglio (che probabilmente avevo dimenticato) in un post viene ricordato di usare una sintassi specifica quando andiamo ad indicare la sorgente di installazione all’installer che possiamo così illustrare:

# Server: mi.mirror.garr.it
# Path (se si possiede l’architettura i386): mirrors/CentOS/5.2/os/i386/

o, se si possiede un’architettura a 64bit:

# Path: mirrors/CentOS/5.2/os/x86_64

Insomma, tanto semplice e banale da venir facilmente dimenticato :-(

Sapevatelo! Su rieducascional ciannell !!!!