PDA

View Full Version : Dipendenze, girogirotondo...


Ja]{|e
16-12-2006, 21:07
Sarà perché sono niubba e ancora non ho sviluppato quella pazienza che caratterizza tutti voi linuxiani, ma io, abituata a cliccare due volte su un eseguibile per installare un programma del menga, mi domando come fate voi a non distruggere tutto ciò che vi circonda quando tentate di installare un software minchione, tipo, chessò, un lettore multimediale perché quello in dotazione standard con la vostra distro non vi soddisfa, e vi chiede un compilatore gcc e c e c++, e vi domandate "ma come? non c'è già? e come caspita ho fatto ad installare tutte le altre robe?", vabbè allora scarichiamo sto gcc, e gcc chiede automake, e automake richiete autoconf, e autoconf richiede m4, e m4 richiede gcc.... :muro: Vi prego ditemi che è solo l'inizio che è così :cry:

Devil!
16-12-2006, 21:25
per utilizzare programmi non installati di default non è necessario compilare quelli che si trovano online

le varie distro sono ricche di repository con migliaia di pacchetti precompilati e spesso sono sufficienti pochi comandi o gli appositi packet manager per avere a disposizione tutto l'occorrente e oltre.

spesso anche i programmi non inseriti nei repository hanno anche le versioni precompilate per le distro più famose

un esempio? debian fornisce oltre 15mila pacchetti reperibili usando un packet manager come synaptic o da riga di comando facendo un search con il comando "apt-cache search"

maurinO_o
16-12-2006, 21:31
{|e'] Vi prego ditemi che è solo l'inizio che è così :cry:

:friend:

è solo l'inizio, qualche mese e con una distro ci fai quello che vuoi.

iocci
16-12-2006, 22:16
Prova a usare Ubuntu, è una distro 'per chi inizia', nel senso che ha degli strumenti che le permettono di gestire da sola tutte le cose che potrebbero mettere in crisi un principiante. Inoltre è facile da configurare grazie ai tool grafici.
In piu deriva da debian, ha un repository con piu di 15000 programma gia pronti per essere installati, basta un
apt-get install nomeprogramma

fuocofatuo
16-12-2006, 23:57
Se sei su linux da poco, ti consiglio di iniziare da una distribuzione semplice, diffusa e conosciuta. Ubuntu o kubuntu, ad esempio.
Vedo che hai installato Foresight Linux... sinceramente è la prima volta che la sento! Non ho niente contro le distro poco diffuse (tant'è che uso frugalware, che non è molto più in alto nella classifica dei click di distrowatch), ma iniziare è molto più semplice avendo una community molto vasta.
A buon rendere.

sanford
17-12-2006, 00:41
Jakie, come ti hanno già detto è meglio che inizi con delle distro quasi "chiavi in mano" come Ubuntu/Kubuntu, Mandriva, Suse, poi se in futuro vorrai capirne di più potrai sempre passare a quelle per smanettoni...un passo alla volta e non arrenderti alle prime difficoltà. :)

mykol
17-12-2006, 09:19
installa una bella Mandriva 2007, poi sul sito easyurpmi.zarb.org trovi tutti i soft che vuoi e col comando urpmi nomesoftware li installi comprese tutte le dipendenze. Più facile di così (molto più facile che in win ...) Prima devi solo configurare opportunamente le repository (siti sui quali sono presenti i soft). Fai una ricerca con "urpmi" ed "easyurpmi" come oggetto, se ne è parlato tante volte sul forum (anch'io) ed anche su google.it/linux.

zephyr83
17-12-2006, 13:37
{|e']Sarà perché sono niubba e ancora non ho sviluppato quella pazienza che caratterizza tutti voi linuxiani, ma io, abituata a cliccare due volte su un eseguibile per installare un programma del menga, mi domando come fate voi a non distruggere tutto ciò che vi circonda quando tentate di installare un software minchione, tipo, chessò, un lettore multimediale perché quello in dotazione standard con la vostra distro non vi soddisfa, e vi chiede un compilatore gcc e c e c++, e vi domandate "ma come? non c'è già? e come caspita ho fatto ad installare tutte le altre robe?", vabbè allora scarichiamo sto gcc, e gcc chiede automake, e automake richiete autoconf, e autoconf richiede m4, e m4 richiede gcc.... :muro: Vi prego ditemi che è solo l'inizio che è così :cry:
si hai ragione è una grna "palla" ed è peggio ancora se vuoi disinstallare qualcosa cn delle dipendenze :D a ste cose dovrebbe pensarci il package manager della tua distro, ad esempio apt-get per debian/ubuntu, emerge per gentoo, pacman per arch/frugalware e via dicendo! Ad esemprio cercando di scaricare un paggetto cn apt-get questo farà il controllo delle dipendenze e di elencarà anche gli altri pacchetti di cui hai bisogno. Una volta dato l'ok ti installa da solo tutto quello di cui hai bisogno senza dover ricompilare nulla. Gentoo fa la stessa cosa (e per me anche meglio) però compila ogni singolo pacchetto (mettendoci molto più tempo, ma questa è la peculiarità di gentoo)

Scoperchiatore
17-12-2006, 14:15
Regggina, leggi la guida dei niubbi che ho fatto, che ti chiarisce un po' di cose su come si installa software in Linux.

Configurato il tuo packet manager, ti abitui a installare con un click senza cercare su internet, e a quel punto il modo di installare in Windows sembra scomodo al confronto.

Tieni presente che per usare Linux tocca leggere un po' di cosette, quindi prima entri in quest'ottica di idee meglio è :D

Artemisyu
17-12-2006, 14:33
Più che con la distribuzione secondo me dovrebbe prendersela con il fatto che non ha fatto nulla per documentarsi un minimo.
Installare software su Linux è più semplice che su Windows, e le dipendenze non sono un problema che riguarda l'utente, nella maggiorparte dei casi.

Foresight usa un packet manager, come tutte le maggiori distro, ed è Conary, che è un progetto molto interessante.

PGI-Bis
17-12-2006, 14:46
Installare software su Linux è più semplice che su Windows

Confermo in pieno. :D Una cosa sola: anche tu ti allacci le scarpe con le orecchie, vero? :D

Artemisyu
17-12-2006, 14:48
Confermo in pieno. :D Una cosa sola: anche tu ti allacci le scarpe con le orecchie, vero? :D

Eh?

Dcromato
17-12-2006, 15:03
Più che con la distribuzione secondo me dovrebbe prendersela con il fatto che non ha fatto nulla per documentarsi un minimo.
Installare software su Linux è più semplice che su Windows, e le dipendenze non sono un problema che riguarda l'utente, nella maggiorparte dei casi.

Foresight usa un packet manager, come tutte le maggiori distro, ed è Conary, che è un progetto molto interessante.
Artemisyu hai qualche info su funzionamento e aggiunta repository di conary, perchè non ci capisco mai nulla....

Artemisyu
17-12-2006, 15:06
Artemisyu hai qualche info su funzionamento e aggiunta repository di conary, perchè non ci capisco mai nulla....

Qualche tempo fa avevo provato foresight ed avevo trovato conary molto buono, anche se un po' grezzo.
Ora non ricordo più come funziona... qui c'è una quick reference molto completa e abbastanza chiara: http://wiki.rpath.com/wiki/Conary:QuickReference

E' lunga è c'è da leggere parecchio, ma del resto conary fa un bel po' di cose :)

Interessante la possibilità che ha di segnare la versione con il package da riga di comando, in modo da forzare il downgrade o l'installazione di una particolare versione.
Inoltre sono davvero potenti i sistemi di query :)

Tadde
17-12-2006, 15:41
Confermo in pieno. :D Una cosa sola: anche tu ti allacci le scarpe con le orecchie, vero? :D

Hai mai sentito parlare di Apt-get e di uno dei suoi front-end grafici chiamato "Synaptic"?

PGI-Bis
17-12-2006, 16:00
Hai mai sentito parlare di Apt-get e di uno dei suoi front-end grafici chiamato "Synaptic"?

Tieniti forte: pc che non ha accesso alla rete! Uhhhh...

Artemisyu
17-12-2006, 16:01
Tieniti forte: pc che non ha accesso alla rete! Uhhhh...

Un dvd di installazione no eh?

Perchè con un pc windows che non ha accesso alla rete cosa fai? i programmi si creano come per magia sul disco?

PS: ed inoltre il sarcasmo, proveniente da chi non ha capito una sega di linux, è decisamente male accettato

PPS: e se ancora non ti basta, puoi sempre usare autopackage per tutto quello che ti serve: http://autopackage.org/

sanford
17-12-2006, 16:20
...puoi sempre usare autopackage per tutto quello che ti serve: http://autopackage.org/

puoi spiegare meglio cosa permette di fare autopackage? in particolare, mi permetterebbe per esempio di aggiungere alla iso di una distro i pacchetti necessari al suo update senza dover ricorrere a internet?

Artemisyu
17-12-2006, 16:36
puoi spiegare meglio cosa permette di fare autopackage? in particolare, mi permetterebbe per esempio di aggiungere alla iso di una distro i pacchetti necessari al suo update senza dover ricorrere a internet?

No.
Semplicemente autopackage permette di installare pacchetti "standalone" e di integrarli con il sistema.
Come per windows scarichi il file .msi o .exe omnicomprensivo delle librerie e della procedura di installazione, lo stesso fa autopackage.

Scarichi il singolo package, lo porti sul pc senza accesso a internet, ci doppioclicchi sopra e lui installa una procedura tipo windows installer, ed usa questa procedura per installare tutti i file ed i collegamenti relativi.

Molti programmi per linux sono distribuiti come autopackage, ma se non c'è quello che ti serve c'è un pacchetto che installato ti installare i devtools, per creare facilmente altri autopackage partendo dai sorgenti del programma.

sanford
17-12-2006, 16:42
No.
Semplicemente autopackage permette di installare pacchetti "standalone" e di integrarli con il sistema.
Come per windows scarichi il file .msi o .exe omnicomprensivo delle librerie e della procedura di installazione, lo stesso fa autopackage.


stai dicendo che posso creare un autopackage comprensivo di tutte le dipendenze e che possa funzionare su ogni distro? se è così sarebbe utilissimo per far funzionare il mio D-Link DSL-200 su tutte le versioni di linux, il che non è poco...si può fare?

Artemisyu
17-12-2006, 16:45
stai dicendo che posso creare un autopackage comprensivo di tutte le dipendenze e che possa funzionare su ogni distro? se è così sarebbe utilissimo per far funzionare il mio D-Link DSL-200 su tutte le versioni di linux, il che non è poco...si può fare?

Certo... sopra ti ho scritto il sito... li ci sono tutte le istruzioni per creare i tuoi pacchetti autopackage personalizzati.
Non è molto complicato... o meglio, è meno complicato che fare un deb :)

sanford
17-12-2006, 16:48
Certo... sopra ti ho scritto il sito... li ci sono tutte le istruzioni per creare i tuoi pacchetti autopackage personalizzati.
Non è molto complicato... o meglio, è meno complicato che fare un deb :)

considera che sono un super niubbo, non per niente uso mandriva...come faccio a sapere quali librerie devo aggiungere ai drivers del modem? questa cosa mi interessa perché i modem usb supportati da eciadsl sono tanti, sarebbe ora che la gente potesse usarli in linux senza impazzire ogni volta, non credi?

PGI-Bis
17-12-2006, 16:55
PS: ed inoltre il sarcasmo, proveniente da chi non ha capito una sega di linux, è decisamente male accettato

Via via, non era sarcasmo, era scherzoso, c'ho messo la faccina :D apposta!

Parlo del passato (OpenSuse Slick) perchè ora sul portatile monto un Solaris 10 con cui ho ancora poca esperienza.

Scarico i programmi col PC che ha accesso alla rete e li travaso sull'altro con una chiavetta USB.

Dato il modem li prendo un po' per volta con un dowload manager. Per alcuni programmi non c'è problema (il bin di OpenOffice o dei JDK non mi hanno mai dato problemi) ma altri non c'è verso, per via dei problemi di dipendenze segnalati da Ja]{|e che diventano molesti data la macchinosità del trasferimento a cui sono costretto.

La cosa che trovo buffa è MPlayer. Riesco a installarlo su Windows (non c'è installazione, bella forza) ma non riuscivo a rifilarlo alla OpenSuse.

Tutti i programmi hanno delle dipendenze, tanto quelli di windows quanto quelli di Unix. Quello che mi chiedo è perchè non distribuiscano i pacchetti "tutto incluso: pigliati 'sti cento megabyte che c'è dentro il programma con tutto quello da cui dipende con una risoluzione di queste dipendenze relativa al solo programma scaricato. Tipo Inkscape su Windows.

I DVD sono comodi ma in applicazione delle leggi di Murphy sembra sempre che manchi quello che vorresti installare.

Quanto al fatto che io non abbia capito "una sega di Linux" è purtroppo certo e accetto serenamente che me lo si faccia notare con tanto garbo. Ma sono sempre disposto ad imparare e, anzi, permettimi di chiedere una mano ad un esperto. Ho iniziato a sviluppare il kernel di un sistema operativo per diletto (x86, PC IBM compatible) ma ho problemi nel comprendere il passaggio dell'input/output da real a protected nel momento in cui abbandono l'interfaccia del BIOS. Puoi gentilmente indicarmi il tuo ultimo lavoro sull'argomento, così che io possa risolvere la mia difficolta? Grazie in anticipo.

sanford
17-12-2006, 17:00
Quello che mi chiedo è perchè non distribuiscano i pacchetti "tutto incluso: pigliati 'sti cento megabyte che c'è dentro il programma con tutto quello da cui dipende con una risoluzione di queste dipendenze relativa al solo programma scaricato. Tipo Inkscape su Windows.


questa cosa esiste già (e secondo me ne farà la fortuna) su PC-BSD con i pacchetti .PBI, sarebbe ora che anche su linux si cominciasse a prenderla in seria considerazione. :rolleyes:

Artemisyu
17-12-2006, 17:06
considera che sono un super niubbo, non per niente uso mandriva...come faccio a sapere quali librerie devo aggiungere ai drivers del modem? questa cosa mi interessa perché i modem usb supportati da eciadsl sono tanti, sarebbe ora che la gente potesse usarli in linux senza impazzire ogni volta, non credi?

Sarebe piuttosto ora che la smettessero di vendere modem adsl usb :)

Specialmente per gli utenti windows, sono la prima causa di insicurezza di un pc in rete.

sanford
17-12-2006, 17:09
Sarebe piuttosto ora che la smettessero di vendere modem adsl usb :)

Specialmente per gli utenti windows, sono la prima causa di insicurezza di un pc in rete.


ok, ma dato che ci sono cerchiamo di usarli no? tornando alle dipendenze, a me succede che in mandriva 2006 compilo i sorgenti e devo installare solo PPPoA, in mandriva 2007 comincia a chiedermi di installare varie librerie, lo faccio ma poi non riesco neanche a compilare i sorgenti...come faccio a sapere quali librerie mi servono?

Artemisyu
17-12-2006, 17:22
Via via, non era sarcasmo, era scherzoso, c'ho messo la faccina :D apposta!

ok :)

Tutti i programmi hanno delle dipendenze, tanto quelli di windows quanto quelli di Unix. Quello che mi chiedo è perchè non distribuiscano i pacchetti "tutto incluso: pigliati 'sti cento megabyte che c'è dentro il programma con tutto quello da cui dipende con una risoluzione di queste dipendenze relativa al solo programma scaricato. Tipo Inkscape su Windows.

Il principio è giusto. Non è accettabile che ogni programma contenga la stessa libreria più di una volta.
Il sistema di installazione dei programmi nei sistemi unix like è un sistema che tende a portare i software in un stato estremamente integrato con il sistema. gli eseguibili vanno in /usr/bin e le librerie specifiche in /usr/share.
Va da sè che non ha senso duplicare N volte la stessa libreria sul disco, in modo che ogni programma usi la sua, nè ha senso che X programmi sovrascrivano X volte la stessa libreria, creando problemi di compatibilità tra tutti i vari software.

Il Microsoft Installer è, infatti, un sistema parecchio limitato, in quanto non si preoccupa di risolvere le dipedenze. Semplicemente il pacchetto .msi distribuito è privo delle librerie che sono competenza di Windows, e questo grazie al fatto che Windows è un sistema chiuso, e la microsoft decide cosa mettere a disposizione di chi ed in che versione.
In linux questo non è assolutamente possibile. Un po' perchè è una piattaforma aperta, un po' perchè esistono diversi tool di sviluppo in diversi linguaggi, un po' perchè l'evoluzione del software è molto rapida, generando spesso diverse versioni dello stesso file, che generano incoerenze in software creati in tempi diversi che usano la stessa libreria.

Un sistema di pacchettizzazione serve proprio a questo: ad eliminare la duplicazione delle librerie e a garantire una coerenza del software installabile.
Certo, questo la maggiorparte delle volte richiede o l'accesso alla rete o l'uso di grandi supporti di installazione "all-in-one" tipo dvd.
Ma dati gli immensi vantaggi della soluzione, direi che è uno scotto pagabile.

Autopackage e i pacchetti PBI tentano di fare quello che fanno i packet manager facendolo sembrare simile all'MSI.
Ogni pacchetto contiene tutto, il sistema di installazione crea il suo albero delle librerie, e poi sta ai manutentori dei pacchetti decidere che tutti i pacchetti debbano dipendere da una stessa libreria, e che i pacchetti che vengono installati dopo, e che trovano già quella libreria, non debbano nè sovrascriverla nè duplicarla.
Alla fine si creano dei pacchetti di difficile aggiornabilità e di complessa manutenzione. Perchè il sistema di risoluzione delle dipendenze c'è, solo che è "conservativo", e gestire la coerenza di tutti i pacchetti disponibili è sempre compito del mantainer del pacchetto.

Sono sistemi simpatici da usare se non si ha accesso alla rete, ma non sono nè ottimizzati, nè hanno grandi margini di miglioramento, nè snelliscono l'installazione del software. Per intenderci, non sono il futuro.


Quanto al fatto che io non abbia capito "una sega di Linux" è purtroppo certo e accetto serenamente che me lo si faccia notare con tanto garbo. Ma sono sempre disposto ad imparare e, anzi, permettimi di chiedere una mano ad un esperto.

Se tu avessi capito tanto quanto lasci intendere non ti interrogheresti su cosa serva mantenere degli alberi delle dipendenze quando sembra tanto vantaggioso installare i programmi "alla windows".

Ho iniziato a sviluppare il kernel di un sistema operativo per diletto (x86, PC IBM compatible) ma ho problemi nel comprendere il passaggio dell'input/output da real a protected nel momento in cui abbandono l'interfaccia del BIOS. Puoi gentilmente indicarmi il tuo ultimo lavoro sull'argomento, così che io possa risolvere la mia difficolta? Grazie in anticipo.

Se non altro il sarcasmo non ti manca, questo è certo.
E' proprio un peccato che la tua battuta non sia coerente con l'argomento, perchè l'attacco era pregevole.

Artemisyu
17-12-2006, 17:25
ok, ma dato che ci sono cerchiamo di usarli no?

Dato che ci sono io cercherei di cestinarli per sostituirli con periferiche più degne, in modo che poi non ci siano più :)

tornando alle dipendenze, a me succede che in mandriva 2006 compilo i sorgenti e devo installare solo PPPoA, in mandriva 2007 comincia a chiedermi di installare varie librerie, lo faccio ma poi non riesco neanche a compilare i sorgenti...come faccio a sapere quali librerie mi servono?

Le richieste dipendono da cosa è installato nel sistema, tendenzialmente.
Per capire cosa devi mettere, solitamente il ./configure risponde un errore per ogni cosa che non trova e che è indispensabile.
C'è da installare quello :)

sanford
17-12-2006, 17:31
Le richieste dipendono da cosa è installato nel sistema, tendenzialmente.
Per capire cosa devi mettere, solitamente il ./configure risponde un errore per ogni cosa che non trova e che è indispensabile.
C'è da installare quello :)

beh, di sicuro servono le GCC per compilare i sorgenti e poi servono TCL/TK per avviare il frontend grafico in cui inserire il modello del modem, il provider, ecc...il fatto è che forse il problema sta nella versione di queste librerie altrimenti mandriva 2007 dovrebbe (a rigor di logica, essendo più nuova) installare tutto senza battere ciglio come fa la 2006 e invece non lo fa...che io sappia ./configure non cita la versione della libreria mancante e quindi in quale altro modo se ne viene a capo?

Artemisyu
17-12-2006, 17:38
beh, di sicuro servono le GCC per compilare i sorgenti e poi servono TCL/TK per avviare il frontend grafico in cui inserire il modello del modem, il provider, ecc...il fatto è che forse il problema sta nella versione di queste librerie altrimenti mandriva 2007 dovrebbe (a rigor di logica, essendo più nuova) installare tutto senza battere ciglio come fa la 2006 e invece non lo fa...che io sappia ./configure non cita la versione della libreria mancante e quindi in quale altro modo se ne viene a capo?

Se ./configure non comunica la versione del file solitamente significa che non esistono restrizioni sulla versione delle librerie richieste.
E' possibile invece che cerchi un file specifico, che nella versione successiva delle librerie si presenta con un nome diverso ma che ha la stessa funzione.
Solitamente in questi casi conviene modificare il makefile.

PS: non è "le" GCC, ma "il" GCC :) GCC significa "GNU C Compiler"... è un compilatore, non un set di librerie :)

sanford
17-12-2006, 17:47
PS: non è "le" GCC, ma "il" GCC :) GCC significa "GNU C Compiler"... è un compilatore, non un set di librerie :)

te l'ho detto che sono niubbo... :D

vabbè, proverò a leggermi qualcosa su autopackage anche se ho dei seri dubbi sulle mie capacità di "impacchettatore"... :mc:

Artemisyu
17-12-2006, 17:49
te l'ho detto che sono niubbo... :D

vabbè, proverò a leggermi qualcosa su autopackage anche se ho dei seri dubbi sulle mie capacità di "impacchettatore"... :mc:

Più che "impacchettare" puoi cominciare ad "usare" se non disponi di internet.
i software distribuiti in autopackage sono davvero molti. Molti sono sul sito ufficiale, e moltissimi si trovano con google :)

sanford
17-12-2006, 17:55
Più che "impacchettare" puoi cominciare ad "usare" se non disponi di internet.
i software distribuiti in autopackage sono davvero molti. Molti sono sul sito ufficiale, e moltissimi si trovano con google :)

Io pensavo invece di farmi un autopackage con i drivers eciadsl ma le mie conoscenze in materia sono ancora abbastanza scarse...magari con il tuo aiuto potrei riuscirci, anche se vedo che i modem usb non ti sono molto simpatici... :D

a spanne, nel pacchetto dovrei mettere i drivers e i .bin per allineare il modem, GCC e TCL/TK oltre a PPPoA...con tutto questo configurato a dovere dovrebbe funzionare il modem, già ma come si fa? :D

iocci
17-12-2006, 18:05
Dato che ci sono io cercherei di cestinarli per sostituirli con periferiche più degne, in modo che poi non ci siano piùMa nei negozi cosa si trova a parte i router ADSL? Modem ethernet non ne ho mai visto neanche uno in un negozio di informatica, per forza che si comprano tutti quello USB!

Artemisyu
17-12-2006, 18:15
Ma nei negozi cosa si trova a parte i router ADSL? Modem ethernet non ne ho mai visto neanche uno in un negozio di informatica, per forza che si comprano tutti quello USB!

Beh, router!
Si spende 20 euro in più e ci si ritrova con un dispositivo che monta come minimo un firewall integrato e che ti permette di sfruttare il nat.
Già il nat è "indirettamente" una bella sicurezza in più se il pc è affacciato su internet.

Ma davvero sfruttare internet in modo flessibile e sicuro è un vantaggio così poco sentito negli utenti normali?

sanford
17-12-2006, 18:23
Ma davvero sfruttare internet in modo flessibile e sicuro è un vantaggio così poco sentito negli utenti normali?

io cerco lo stesso di difendermi usando antivirus, antispyware e firewall e finora grossi problemi non ne ho avuti...se possibile uso linux così la sicurezza aumenta, certo che se ho un router sono ancora più protetto ma il punto è un altro, mi piace usare quello che ho a disposizione se ne ho la possibilità e non è una questione di soldi, il modem/router ethernet lo comprerò di sicuro perché funziona su ogni versione di linux e protegge meglio il mio pc ma il mio modem usb voglio continuare a usarlo (magari sul portatile o sul muletto) perché è supportato da linux e funziona bene, tutto qui.