Linux in Tasca: Slax – Creare un modulo


Utilizzando Slax può capitare di aver bisogno di programmi che non sono preinstallati nel sistema.

In questo caso possiamo abbastanza semplicemente creare un modulo aggiuntivo che può poi essere utilizzato come se fosse nativo in Slax.

Il caso più semplice è quello in cui il programma che ci serve sia già presente nel repository di Slackware.

Facciamo il caso di voler installare nel nostro sistema Slax il programma di manipolazione immagini Gimp, possiamo verificare la sua presenza in Slackware utilizzando il mirror italiano: packages.slackware.it

slax1.png

In questo caso siamo fortunati, il programma è presente nella libreria e possiamo procedere a scaricarlo sul nostro computer, ovviamente lo faremo utilizzando Slax stesso.

slax2.png

Il file .tgz così scaricato (gimp-2.4.1-i486-1.tgz) è un package di installazione Slackware. Se stessimo utilizzando un sistema Slackware “normale” potremmo installarlo così com’è, ma noi siamo invece interessati a creare un modulo per Slax, dovremo quindi procedere in modo leggermente diverso.

Per prima cosa creiamo una directory, una cartella, dove effettuare una installazione “virtuale” del pacchetto, quindi procediamo con il comando che simula l’installazione creando i file nella cartella da noi assegnata. Ci sarà utile procedere in questo modo nel caso volessimo personalizzare il nostro modulo, ripulirlo o modificarlo.

mkdir mygimp
ROOT=mygimp installpkg gimp-2.4.1-u486-1.tgz

A questo punto avremo tutti i file di Gimp installati nella cartella mygimp con una struttura di cartelle identica a quella che sarebbe stata utilizzata in un’installazione regolare.

Se siete esperti utilizzatori linux a questo punto potreste cercare di seguire le istruzioni del buon Tomas per la creazione di un buon package: impostare i permessi in maniera opportuna, minimizzare lo spazio occupato etc etc.

In questo caso ci accontentiamo di verificare che il package non contenga file di sistema che sovrascriverebbero quelli standard di Slax. In pratica prestate attenzione ai file eventualmente inclusi nella directory mygimp/etc controllando che non siano già presenti nella /etc del sistema Slax che state utilizzando.

La creazione del modulo è affidata ad un semplice comando:

dir2lzm mygimp gimp-2.4.1-u486-1.lzm

Il modulo è pronto, per utilizzarlo dobbiamo copiarlo nella directory standard dei moduli slax, nel caso in cui la nostra chiave USB Slax sia identificata con /mnt/sda1 il comando da dare sarà:

cp gimp-2.4.1-u486-1.lzm /mnt/sda1/slax/modules

Volendo possiamo provare da subito il modulo utilizzando il comando uselivemod che “installa” e rende immediatamente utilizzabile il modulo, altrimenti questo sarebbe attivo a partire dal prossimo boot.

uselivemod /mnt/sda1/slax/modules/gimp-2.4.1-u486-1.lzm

In molti casi moduli così creati funzionano perfettamente. Altre volte sarà necessario probabilmente installare altri moduli necessari al funzionamento del programma che desideriamo utilizzare. Il procedimento è lo stesso.

In altri casi ancora potrebbe essere necessario fare modifiche ai file del modulo per evitare conflitti con i file di sistema.

Può accadere che il programma che ci interessa non sia presente nel repository Slackware. In questo caso possiamo cercare in altre librerie, come ad esempio la Slacky.

A volte potrebbe essere necessario costruire il nostro modulo a partire dai sorgenti, compilando il programma e creandoci in proprio il modulo. Quando questo accade le modalità di compilazione e di creazione del package per il modulo che vogliamo creare potrebbero essere diverse di volta in volta.

In generale però la creazione di un modulo a partire dal codice sorgente di un programma si svolge seguendo i seguenti passi:

  1. Ricerca e download del codice sorgente
  2. Decompressione del codice in una cartella dedicata
  3. Esecuzione del comando “./configure”  eventualmente seguito dal parametro “–prefix=/usr”
  4. Esecuzione del comando “make”
  5. Esecuzione del comando “checkinstall” per la creazione del package .tgz

Una volta creato il package si procede come descritto precedentemente per la preparazione del modulo .lzm

Mi rendo conto che ci sono tutta una serie di possibili varianti e problemi, ma il meccanismo generale di creazione di moduli sotto Slax è quello qui descritto, per altre informazioni e domande utilizzate pure i commenti all’articolo.

Annunci

1 Commento (+aggiungi il tuo?)

  1. daniele
    Feb 18, 2008 @ 22:11:46

    ciao!
    non avendo seguito prima quello che riporti sui moduli si slax, ho adesso un problemino! 😉
    ho installato i moduli tramite SLAX Module manager e ovviamente al riavvio non ho ritrovato nulla! il problema sta nel fatto che se provo ad aggiungere nuovamente lo stesso modulo, ho l’errore che il modulo già esiste e di eliminarlo prima, ma ovviamente nell’elenco dei moduli attivi ci sono solo quelli di default! come posso eliminare a “manina” questi moduli che non vedo per ripetere l’installazione con la tua procedura?

    grazie 1000 e complimenti!

    daniele

    —slodo—
    Mi mancano molte informazioni per darti una mano. Che versione di slax stai usando? In che modalità stavi lavorando quando hai aggiunto i moduli (persistente o live)? Che modulo era? Stai usando una pendrive per slax?

    Rispondi

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: