Amarok
Istallare Amarok in Fedora Core
- installa il repositorio livna (rpm's):
rpm -ivh http://rpm.livna.org/fedora/5/i386/livna-release-5-6.noarch.rpm
- Installare gStreamer + plugins....
yum install gstreamer gstreamer-plugins gstreamer-plugins-mp3 xine-lib-extras-nonfree
- Installare amaroK
yum install amarok
Configurazione
amaroK con MySQL
- Manualmente:
$ ./configure --enable-mysql
- In gentoo:
nel file
/etc/portage/packages.use
aggiungere il flag mysql:
media-sound/amarok xine-lib gstreamer mysql alsa arts it visualization aac ifp ipod kde njb real xinerama xmms
Anzitutto bisogna creare una password per MySQL, se tu non ne hai già una.
$ mysql -u root set password for root@localhost = password('xxxxxxx'); flush privileges; quit;
Chiaramente cambia xxxxxx con la password che vuoi.
Dopo avere impostato la password, bisogna creare un database per amaroK attraverso il classico metodo. Basta semplicemente usare il comando "mysql": (questo ti chiederà la password per l'utente root di MySQL - impostata prima)
$ mysql -p -u root CREATE DATABASE amarokdb; USE mysql; GRANT select, insert, alter, update, delete, create, drop, create temporary tables, index ON amarokdb.* TO amarok@localhost IDENTIFIED BY 'PASSWORD_UTENTE'; FLUSH PRIVILEGES;
Nell'esempio sopra, è stato creato un database chiamato "amarokdb", e un utente chiamato "amarok" che può accedere il locale localhost" usando la password "PASSWORD_UTENTE". Se vuoi usare la funzione per il backup automatico con mysqldump, cambia la stringa GRANT con GRANT ALL
Nota: Di default amarok usa un database chiamato "amarok" e non "amarokdb".
Ora che il database esiste, è sufficiente aprire il pannello di configurazione di amaroK (si trova nel menu Impostazioni), e andare nella sezione Collezione. Qui bisogna cambiare nel menu a tendina SQLite e selezionare MySQL. Probabilmente bisognerà specificare un hostname (il nome del computer, o meglio localhost), la porta (di default la 3306), il nome del database che hai creato per amaroK (nell'esempio precedente "amarokdb") e il nome dell'utente che ha accesso (e che abbia anche i privilegi di scrittura) al database con relativa password (nell'esempio sopra l'utente è "amarok" e la password è "PASSWORD_UTENTE").
Usare il supporto di MySQL da remoto: La maggior parte delle installazioni, usano il demone MySQL configurato per le connessioni in locale (localhost) di default.
Perciò può capitare di avere un errore del tipo "Impossibile connettersi al server o al database" (errori che comunque non sono legati alla password sbagliata). Per risolvere tali problemi bisogna editare il file my.cnf sulla macchina col database (/etc/mysql/my.cnf) e decommentare la variabile "bind_address" e riavviare il mysql. Per quanto ne so, non c'è motivo di impostare anche l'interfaccia della scheda di rete e la porta in ascolto. Nel caso comunque andrebbe aggiornato il firewall con i dati di connessione.
Convertire i Database
Da SQLite -> MySQL
Uno (sconsigliato) metodo per trasferire il tuo database SQLite3 a MySQL è:
cd ~/.kde/share/apps/amarok && \ sqlite3 collection.db .dump | \ grep -v "BEGIN TRANSACTION;" | \ grep -v "COMMIT;" | \ perl -ne 's/INSERT INTO \"(.*)\" VALUES/INSERT INTO \1 VALUES/; print' | \ perl -ne 's/VARCHAR\(256\)/VARCHAR\(255\)/; print' | \ mysql -u root -p amarokdb
Io ho visto che questo metodo non funzionava, potevo importare i dati da SQLite
così:
* Lanciare amaroK, cambiare il database a mysql, e creare il database (senza far partire nessuna canzone) * Scaricare SQLite Database Browser * Esportare tutti i dati in un file temporaneo, per es. amarok_dump.sql * Rimuovere tutti i comandi sql, BEGIN TRANSACTION, COMMIT e CREATE * Importare il file usando MySQL:
cat amarok_dump.sql | mysql -u root -p amarokdb
Nel caso dia qualche errore, è possibile che tu abbia fatto partire qualche canzone e che il programma abbia scritto delle stringhe riguardo quel particolare file nel database. In questo caso, basta editare il file amarok_dump.sql, e cercare la linea con i dati della canzone; trovatala basta rimuovere TUTTO prima di questa(poichè quei comandi sono già stati eseguiti da MySQL -- si riceverà un errore) Se vuoi contiunuare a usare questa stringa, si può rimpiazzare INSERT INTO con REPLACE INTO. e rilanciare la stringa di comando sopra.