In questo breve how-to illustrerò un semplice trucchetto per permette a yaourt di lavorare correttamente con PKGBUILD che richiedono l'acquisizione dei sorgenti da server remoti git, non raggiungibili nel caso il nostro accesso a internet sia vincolato ad un server proxy.
Arrivando subito al dunque il "trucco" sta nel sostituire all'interno del nostro PKGBUILD ogni riferimento a git:// dopo il comando git clone in http:// dal momento che tale comando in pratica non fa altro che inviare al server git remoto una serie di GET tramite il protocollo http.
Facciamo un esempio:
innanzitutto istruiamo yaourt relativamente al proxy da utilizzare impostando la variabile d'ambiente http_proxy, in questo modo:
$ export http_proxy=http://192.168.1.100:8080/
Sostituite indirizzo ip e porta con quelle del vostro proxy.
( Potete inserire tale comando nel vostro .bashrc oppure in uno script nella directory /etc/profile.d/ in modo che venga eseguito per tutti gli utenti di sistema. )
Proseguendo nel nostro esempio procediamo con l'installazione di un pacchetto che richiede git, xfce-theme-bluebird:
$ yaourt -S xfce-theme-bluebird
quando yaourt vi chiede se volete modificare il file rispondete di sì, quindi cercate la stringa
git clone "git://github.com/shimmerproject/Bluebird.git
e sostituitela in
git clone "http://github.com/shimmerproject/Bluebird.git
avviate la compilazione, yaourt sarà in grado di prelevare i sorgenti e di compilare il pacchetto senza errori e senza mal di testa :-)
É anche possibile impostare yaourt in modo che applichi tali sostituzioni automaticamente al posto nostro ogni qualvolta sia necessario:
installiamo da AUR il pacchetto aggiuntivo customizepkg:
$ yaourt -S customizepkg
spostiamoci ora in /etc/customizepkg.d e, da root, diamo:
# echo "replace#global#git:#http:" > git.example
questo sarà il nostro file di "base", ogni volta che installeremo un pacchetto da git creeremo preventivamente un link a tale file con il nome del pacchetto stesso ( cioè il pkgname );nel nostro esempio daremo:
# ln -s git.example xfce-theme-bluebird
Se a questo punto provate a reinstallare il pacchetto xfce-theme-bluebird, yaourt vi notificherà riguardo le modifiche applicate; l'output sarà simile a questo:
=> removes/replaces 'git:' by 'http:' in global
--- ./PKGBUILD 2012-04-22 02:27:22.000000000 +0200
+++ ./PKGBUILD.custom 2012-04-22 23:59:46.503834220 +0200
@@ -24,7 +24,7 @@
package() {
# Clone git repository
- git clone "git://github.com/shimmerproject/Bluebird.git"
+ git clone "http://github.com/shimmerproject/Bluebird.git"
# Change into source directory
cd "$_pkgname"
Ripetete la creazione del symlink a git.example per ogni pacchetto che volete scaricare da un server git.
lunedì 23 aprile 2012
giovedì 12 aprile 2012
Aggiornare Arch Linux con kalu
Kalu è un interessante "upgrade notifier", ovvero un' utility che verifica la disponibilità di aggiornamenti per la nostra Arch (sia dai repo ufficiali che da AUR) e ce ne consente la relativa installazione tramite una semplice e funzionale interfaccia GTK. Punti di forza di Kalu, che la differenziano da altri simili tool, sono, tra le altre cose,:
- la possibilità di eseguire comandi personalizzati dopo ogni aggiornamento di sistema
- notifiche e visualizzazione delle "latest news" di archlinux.org
- controllo della disponibilità di aggiornamenti anche per pacchetti non installati
In questo breve tutorial vediamo come installare e configurare kalu in particolare per l'ambiente desktop Xfce, quello che personalmente preferisco.
Iniziamo con l'installare kalu da AUR:
$ yaourt -S kalu
Oltre alle dipendenze indicate nel PKGBUILD, nel mio caso mi è servito installare anche il pacchetto 'polkit-gnome'' :
# pacman -S polkit-gnome
Nel caso utilizzate slim come display manager potreste inoltre aver bisogno di aggiungere la seguente riga a /etc/pam.d/slim:
session optional pam_ck_connector.so
(non l'ho verificato personalmente, mi limito in questo caso a riportare quanto scritto da un arciere nel forum bbs.archlinux.org)
Questi 'fix' sono necessari qualora avviando il "System upgrade" da kalu viene restituito l'errore "Error: Failed to initialize: Authorization from PolicyKit failed".
Impostiamo kalu per l'avvio automatico al boot (verrà visualizzata un icona nel systray raffigurante il logo di Arch):
$ cp /usr/share/applications/kalu.desktop ~/.config/autostart/
Dopo aver avviato il programma, spulciando tra le preferenze noterete che di default non è prevista nessuna istruzione per l'aggiornamento dei pacchetti da AUR; per avere questa funzionalità ho creato un semplicissimo script dal nome aur_updater.sh che contiene sostanzialmente la seguente riga di codice:
terminal -H -e "yaourt -S $(cower -uq)"
(se non avete cower installato sulla vostra macchina date un "yaourt -S cower")
Ora non resta che aprire le preferenze di kalu, selezionare la scheda "AUR", abilitare "Show a button 'Update AUR packages' on notifications" e nella casella "When clicking the button, run the following" indicare il percorso del nostro script aur_updater.sh (ricordatevi di renderlo eseguibile, ad esempio con 'chmod 755 aur_updater.sh')
Lo script non fa altro che avviare l'installazione dei nuovi pacchetti tramite yaourt all'interno del terminale di xfce. L'opzione "-H" fa in modo che il terminale non si chiuda automaticamente al termine delle operazioni di aggiornamento ( utile per esaminare comodamente l'output di yaourt )
Non occorre fare altro: ogni 60 minuti (tempo di default aggiustabile) kalu verificherà la presenza di aggiornamenti per la vostra Arch consentendovene l'installazione, quando disponibili, con pochi click :-)
aggiornamento del 26/07/12
Per rendere ancora più rapido il processo di aggiornamento dei pacchetti AUR, possiamo invocare yaourt con l'opzione --noconfirm, modificando il nostro script in questo modo:
terminal -H -e "yaourt -S --noconfirm $(cower -uq)"
Se preferite utilizzare konsole (o siete utenti KDE) sostituite la precedente istruzione con la seguente:
konsole --hold -e yaourt -S --noconfirm $(cower -uq)
Dopo aver avviato il programma, spulciando tra le preferenze noterete che di default non è prevista nessuna istruzione per l'aggiornamento dei pacchetti da AUR; per avere questa funzionalità ho creato un semplicissimo script dal nome aur_updater.sh che contiene sostanzialmente la seguente riga di codice:
terminal -H -e "yaourt -S $(cower -uq)"
(se non avete cower installato sulla vostra macchina date un "yaourt -S cower")
Ora non resta che aprire le preferenze di kalu, selezionare la scheda "AUR", abilitare "Show a button 'Update AUR packages' on notifications" e nella casella "When clicking the button, run the following" indicare il percorso del nostro script aur_updater.sh (ricordatevi di renderlo eseguibile, ad esempio con 'chmod 755 aur_updater.sh')
Lo script non fa altro che avviare l'installazione dei nuovi pacchetti tramite yaourt all'interno del terminale di xfce. L'opzione "-H" fa in modo che il terminale non si chiuda automaticamente al termine delle operazioni di aggiornamento ( utile per esaminare comodamente l'output di yaourt )
Non occorre fare altro: ogni 60 minuti (tempo di default aggiustabile) kalu verificherà la presenza di aggiornamenti per la vostra Arch consentendovene l'installazione, quando disponibili, con pochi click :-)
aggiornamento del 26/07/12
Per rendere ancora più rapido il processo di aggiornamento dei pacchetti AUR, possiamo invocare yaourt con l'opzione --noconfirm, modificando il nostro script in questo modo:
terminal -H -e "yaourt -S --noconfirm $(cower -uq)"
Se preferite utilizzare konsole (o siete utenti KDE) sostituite la precedente istruzione con la seguente:
konsole --hold -e yaourt -S --noconfirm $(cower -uq)
Iscriviti a:
Post (Atom)