PDA

View Full Version : linari, help me



Maxtir
25/07/2008, 14:14
avrei un piccolo problema sul mio ubuntu installato da qualche giorno, e spero che utenti + esperti di me mi possano dare una mano a sitemare le magagnette.
ho installato ubuntu 8.04 su un eeepc 900 che è equipaggiato da un disco a 4gigi e uno da 16gigi ho fatto una partizione fat32 sul disco da 16, e quando cerco di avviare una qualsiasi applicazione (firefox per esempio) da quel disco mi dice che si è creato un'errore e l'esecuzione del processo figlio è fallita.
per montare in automatico il disco ho aggiunto al file fstab

/dev/sdb1 /mnt/dati vfat users,unmask=000 0 0

il disco all'avvio viene montato in automatico e in maniera nascosta, ho anche i privilegi in lettura e scrittura, ma non mi fa avviare nessuna applicazione, come posso risolvere?

poi ho un piccolo dubbio riguardo al synaptic
facciamo l'ipotesi che installo l'applicazione che si chiama A e ha delle dipendenze che si chiamano 1 e 2
poi installo l'applicazione B che ha come dipendenze 2 e 3
a questo punto disinstallo A e le sue dipendenze
la dipendenza 2 (che è in comune) rimane sul sistema o viene rimossa nonostante sia "condivisa"?

Ego
25/07/2008, 19:12
Non mi è chiaro che applicazione stai lanciando dal disco... non è un disco dati ?
Non è che i binari che copi lì sopra partono se ce li hai copiati dentro brutalmente, il sistema cerca le librerie nei path specificati in LD_LIBRARY_PATH (variabile d'ambiente) e se trova quelle richieste dal programma le carica e ti avvia anche quello che stai cercando di eseguire.
Se invece le librerie necessarie al binario sono sullo stesso disco ma non nella variabile sopra specificata non ti partirà fino a che non istruisci la shell sul dove deve cercarle.
Per verificare che il sistema trovi tutto quello che gli serve per avviare un determinato eseguibile fai
ldd nomeeseguibileper esempio
ldd pktopbm
linux-gate.so.1 => (0xb7ef8000)
libm.so.6 => /lib/libm.so.6 (0xb7ebd000)
libnetpbm.so.10 => /usr/lib/libnetpbm.so.10 (0xb7e93000)
libc.so.6 => /lib/libc.so.6 (0xb7d63000)
/lib/ld-linux.so.2 (0xb7ef9000) mi indica che ha tutte le librerie che gli servono.
ldd cardtool
linux-gate.so.1 => (0xb7f8e000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb7f62000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb7e93000)
libcasmcard.so => not found
libm.so.6 => /lib/libm.so.6 (0xb7e6d000)
libc.so.6 => /lib/libc.so.6 (0xb7d3d000)
/lib/ld-linux.so.2 (0xb7f8f000)
mi dice che gli manca libcasmcard.so
Istruisco la shell dicendole dove trovare la libreria mancante
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/gab/libs ldd cardtool
linux-gate.so.1 => (0xb7f57000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb7f2b000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb7e5c000)
libcasmcard.so (0xb7e53000)
libm.so.6 => /lib/libm.so.6 (0xb7e2d000)
libc.so.6 => /lib/libc.so.6 (0xb7cfd000)
/lib/ld-linux.so.2 (0xb7f58000)
libpcsclite.so.0 (0xb7cec000)
libdl.so.2 (0xb7ce8000)Questa volta ha trovato la libreria che prima non aveva

Spero di non essere stato troppo complicato.

Synaptic non lo conosco e non conosco il sistema di dipendenze di ubuntu ma trovo assai difficile che ti vada a levare un pacchetto che serve ad un'applicazione installata.

Sickboy
28/07/2008, 17:38
ora è tutto + chiaro

Propheta
28/07/2008, 20:30
e la risposta se ce vita dopo la morte

Maxtir
29/07/2008, 00:33
+ o meno ho capito che intendi ego.
se hai un disco partizionato, prova a scaricare firefox dal sito di mozilla, vedrai che non c'è nulla da installare, copi la cartella dove ti pare e quello prende ad andare.
ti spiego meglio come andavano le cose
ho messo firefox (la cartella e tutti file) sul disco partizionato, ma senza il mount automatico.
lo montavo a mano dal nautilus e il lanciatore che ho fatto sul desktop funzionava.
in questo modo però avevo tutti i privilegi da user, e non da superuser.
con la procedura scritta sopra, messa nella file system tab invece il propietario e detentore dei diritti è il superuser.
da user ho solo diritti di lettura e scrittura.

infatti se faccio un ldd mi dice che non ho i permessi di esecuzione e che non è un eseguibile dinamico

Ego
29/07/2008, 20:46
Dalla man page di mount:


users Allow every user to mount and unmount the file system. This option
implies the options noexec, nosuid, and nodev (unless overridden by
subsequent options, as in the option line users,exec,dev,suid).
Quindi prova ad aggiungere il parametro exec dopo l'opzione users nella fstab

/dev/sdb1 /mnt/dati vfat users,exec,unmask=000 0 0