Newsgroup: it.comp.os.linux.iniziare
Titolo: [forse OT] installazione programmi

Ciao a tutti,
non sono proprio nuovo e spero di non andare OT, ma credo che comunque
una domanda  sull'installazione dei programmi in linux potrebbe essere
interessante.
In linux, in generale, o si installano i programmi compilandoli a mano e
pregando che le dipendenze siano soddisfatte, oppure si prendono gia
pacchettizzati e si installano con cose come yum, urpmi, apt-get
ecc...mi domandavo, avendo recentemente acquistato un ibook, perche non
sia possibile su linux avere un sistema di installazione tanto semplice
come su mac os x che poi è un BSD?
li  basta copiare l'applicativo (i binari ovviamente non i sorgenti) in
una cartella del sistema e il gioco è fatto!
per disinstallarlo la cancelli e tutto finisce li!
potreste spiegarmelo?
Grazie a tutti.
Roberto.
-- 
____________________________________________________________________________
...una lotta che finì sempre o con una trasformazione rivoluzionaria di
tutta la  società o con la rovina comune delle classi in lotta.

 come su mac os x che poi è un BSD?
Sarà che dipende dal programmma? Ci sono programmi che necessitano
solamente del binario con i suoi files di configurazione, come su MacOSX,
così su Linux (proprio in virtù del fatto che sono cugini).
Poi mi devi spiegare cosa trovi di tanto complicato in 'apt-get install
lynx' (ad esempio), o in 'emege lynx'...
-- 
Stéphane Bisinger
Webmas... well...

 una cartella del sistema e il gioco è fatto!
Così però non puoi compilare i sorgenti per adattarli meglio al tuo
sistema e alle tuo esigenze.
Inoltre dai binari non puoi sapere cosa sia effettivamente scritto nel tuo
programma, non sai esattamente quello che fa e come funziona, e non lo
puoi modificare, come nello spirito dell'Open Source (...) 
Cmq, guarda che se prendi un binario da Internet compilato per Linux e lo
metti sotto /usr/bin o sotto qualche directory in PATH (o semplicemente lo
rendi eseguibile) probabilmente funziona benissimo. 
E poi il sistema degli rpm e dei deb non è poi così diverso dai
setup.exe di Windows.. anzi con tools come apt-get e yum risulta molto
più facile installare librerie e programmi strani quando se ne ha
bisogno. 
IMHO!

 potreste spiegarmelo?
Forse puoi chiarire un po' di dubbi leggendo
http://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/
Ciao!
G

 potreste spiegarmelo?
Il primo motivo è che linux non è uno solo, ci sono molte distribuzioni e
non è detto che tutte abbiano le stesse versioni delle varie librerie,
quindi un binario potrebbe funzionare per alcune distribuzioni e per
altre no.
Il secondo motivo è che il sistema dei pacchetti è molto più comodo di un
binario da installare, tranne rari casi non c'è nessun motivo per voler
usare un binario precompilato.
Ciao
  Andrea

   Andrea
Per rispondere un po a tutti...e intanto ringrazio per le vostre 
risposte..faccio un esempio da utente mac  (non perche siano dei 
sottosviluppati ma solo perchè sono abituati bene.. :) )
se io devo installare un'applicazione di cui ho un rpm , ma non dispongo 
di connessione a internet e non ho tutte le necessarie librerie, non la 
riesco a installare con tanta semplicità...e non mi aiuto molto neanche 
l'uso di yum, urpmi o chesso io.
Se invece su un cd di un giornale per mac trovo un'applicazione 
qualsiasi che mi interessa la copio dove voglio e ho finito.
Il fatto che non tutte le distro abbiano la stessa "struttura" 
effettivamente era un motivo che immaginavo...per i sorgenti, nessuno 
vieta di distribuirli lo stesso e se qualcuno volesse compilarseli 
tantomeglio per lui (in fondo ci sono versioni per mac e anche windows 
di openoffice, firefox gimp..ecc..ecc...).
Ciao
Roberto


 
Mooolto OT
Complimenti per la citazione dai grandi " Karl e Friedrich "  :-))))

 qualsiasi che mi interessa la copio dove voglio e ho finito.
Allora il problema è che i CD sono fatti male e non includono le librerie
necessarie al funzionamento del programma, mica del sistema operativo...



grazie :)


 qualsiasi che mi interessa la copio dove voglio e ho finito.
E quindi?
Ciao
  Andrea


e quindi nulla.
  dal punto di vista di un utente finale con scarse conoscenze 
informatiche non si puo dire che non sia piu comodo questo sistema 
piuttosto che le repository e la pacchettizzazione stile linux.
Inoltre senza connessione a banda larga la cosa diventa piu complessa 
ancora.
che poi ci siano miriadi di motivi per preferirla oppure che poi non sia 
cosi difficile, posso anche essere d'accordo..ma la mia domanda era nata 
  per sapere come mai non fosse diffuso questo sistema banale, nel senso 
matematico del termine, di installare e distribuire applicazioni anche 
per linux.


 l'uso di yum, urpmi o chesso io.
Eh?
Prendiamo, ad esempio:
skype su debian
Giusto ieri mi sarebbe venuto comodo avere akype sulla mia debian.
non e' nei repository normali.
sul loro sito ne trovo una versione per debian.
lo scarico.
vado nella directory dove lo ho scaricato.
dpkg -i skype<tab>
fine.
E se e' per questo, esiste la possibilita' di compilare i programmi
con le librerie statiche, il che risolve il problema della varieta'
genetica di linux, che io continuo comunque a considerare un vantaggio.
-- 
           |Save our planet!
    Ciao   |Save wildlife!
   roberto |For your E-MAIL use ONLY recycled Bytes  !!
           |roberto poggi   
rpo...@softhome.net

 Grazie a tutti.
Provo a risponderti semplicemente, anche se premetto che non sono un
esperto.
Anche con Linux se scarichi da internet un programma già compilato, lo metti
da qualche parte, e gli dai i permessi di esecuzione, questo lo puoi
eseguire tranquillamente.
Se non sbaglio questo è quanto già avviene con Firefox e Thunderbord.
Le ragioni per cui non si fa sempre così sono varie.
Innanzitutto un pacchetto consente al gestore di fare varie cose in più. Ad
esempio è possibile settare delle variabili di sistema, aggiungere un link
all'applicazione nei menu d'avvio ecc.
Inoltre l'uso dei pacchetti rende più semplice la gestione di librerie
dinamiche.
Immagina un programma che usa una libreria (un insieme di funzioni
riutilizzabili in programmi diversi) standard che esegue dei compiti molto
comuni, ad esempio il rendering di un'immagine. Tali funzionalità possono
essere lincate staticamente dal programma, oppure dinamicamente. Nel primo
caso il codice che esegue il lavoro è incluso nel programma, che risulta
più grosso, ma ha già tutto quello che gli serve. Nel secondo invece il
programma è più leggero, ma per funzionare ha bisogno che nel sistema sia
installata la libreria, compilata, che va a richiamare. Si creano così i
problemi di dipendenze e conflitti tra versioni. Il vantaggio, però, oltre
al fatto che i programmi sono più leggeri è anche il fatto che basta
aggiornare tale libreria nel caso si sia trovato dei bug in essa, senza
toccare i programmi che la usano. Nell'altro caso, invece, sarebbe
necessario aggiornare tutti i programmi.
Inoltre se carichi dieci programmi che hanno tale libreria compilata
staticamente, in memoria tale codice viene caricato dieci volte, mentre nel
caso di librerie dinamiche viene caricata una volta sola, e poi condivisa.
Come proponi tu è forse più semplice installare un'applicativo, ma
probabilmente è l'unico vantaggio (anche se è discutibile).
Forse si potrebbe pensare ad un formato superiore al rpm o deb che contenga,
oltre all'rpm (o altro) che si vuole installare, anche le sue dipendenze,
per aiutare i niubbi o chi ha bisogno di scaricare un unico file da usare
disconnessi, semplificando le operazioni d'installazione e risoluzione
delle dipendenze.
Mattia Adami
------------------------------------------------------------------
per inviarmi email il dominio corretto è email punto it
www.jacopofo.it
www.sessosublime.it
 (non è un sito porno, ma d'informazione)
vedi cosa fanno in Cina agli animali (le immagini sono terribili):
nonlosapevo.com
firma una petizione per farli smettere:
http://www.infolav.org/lenostrecampagne/pellicce/petizioneallevamenticina/

 Mattia Adami
in pratica era una cosa del genere quella a cui pensavo...finalmente 
qualcuno mi ha capito :)
Ciao


 qualcuno mi ha capito :)
E cosi' io dovrei, per avere progr1, progr2 e progr3, scaricare
progr1 e trenta mega di libreriax, in progr1.deb^2,
progr2 e trenta mega di libreriax, in progr2.deb^2,
progr3 e trenta mega di libreriax, in progr3.deb^2,
invece di essere informato che progr1, progr2 e progr3 dipendono
da libreriax, di trenta mega, che scarico una volta sola, e che al 90%
ho gia' installata nel sistema.
No, non mi sembra una bella mossa.


 risoluzione delle dipendenze.
Questo già lo fanno le singole distribuzioni, se installi i programmi dai CD
della distro stessa. 
Quelo che suggerisci, applicato ai programmi scaricabili in giro dai siti
del singolo programma, creerebbe un macello al gestore dei pacchetti della
distro installata! Cioè, se hai installato tiziolinux con, diciamo, prog1.2
e lib2.2.1, e scarichi da 
www.prog.org
 il super-rpm con sia prog1.4 che
lib2.3, mandi in pappa il sistema della tua distro: gli altri programmi
presenti sono compilati per appoggiarsi a lib2.2.1, e potrebbero non essere
felici del cambiamento, poi lib2.2.1 su tiziolinux potrebbe chiamarsi
quellalib2.2.1 su caiolinux, e mandare a "fanciulle in carriera" tutto il
sistema delle dipendenze.
2ç

 No, non mi sembra una bella mossa.
non pensavo ad una cosa obbligatoria..non sarebbe certamente l'unico 
modo di installare


 piuttosto che le repository e la pacchettizzazione stile linux.
Sì, ma un'applicazione mac deve andare su un sistema preciso, di cui si sa a
priori che biblioteche e altro ha già instalalte e dove. Su linux, in
realtà ogni distro da questo punto di vista è come un sistema operativo
diverso, ognuna ha (o potrebbe avere) versioni diverse della stessa
biblioteca, o avere ciò che un'altra ha in un unico pacchetto in due
pacchetti.

 modo di installare
Allora stai inventando un sistema che presuppone che io sappia, se
voglio progr1 e progr2 e progr3, che serve libreriax, e se ce l'ho
gia', oppure, ancora meglio, che lo sappia il sistema.
Hai inventato un sistema di pacchettizzazione.
Colpito e affondato. ;-)


 tutto il sistema delle dipendenze.
Beh.. qui si sta andando decisamente ot. La mia era una risposta semplice ad
una domanda che molti, immagino, si fanno quando arrivano a Linux e non
hanno una sufficiente conoscenza del funzionamento dei sistemi operativi
(anche se il post lo ha iniziato una persona che parlava di osx e bsd,
quindi immagino non fosse esattamente il caso).
Immagina questo super pacchetto come un tar.
Ad esempio, potrebbe avere una gerarchia del tipo:
superpacchetto.tar:
        ./pacchetto_principale.rpm
        ./dipendenze/libreria1.rpm
        ./dipendenze/libreria2.rpm
Il supergestore prende superpacchetto.tar, e cerca di installare
pacchetto_principale.rpm. Se non ci riesce per via di dipendenze installa
quanto serve dalla cartella /dipendenze.
I problemi di conflitti di versioni sarebbero gestiti come avviene
attualmetnte.
Per quanto riguarda i pacchetti di nomi diversi è un problema già esistente.
Per questo, per evitare incongruenze, di solito ci sono rpm per fedora, per
mandriva, suse ecc.


 qualcuno mi ha capito :)
]zac[
Tieni conto che le variazioni di librerie/programmi, versioni di
distribuzioni, ecc., sono troppo mutevoli, solo l'accesso on line ai
repository tiene botta.
Poi, non sarebbe molto utile, per ogni tipo di sistema di repository c'è la
possibilità di crearsene uno locale, normalmente basta installare la parte
server e lanciare un comando di creazione/aggiornamento del repository.
In fondo questa è anche linux, quasi tutto è client/server (non nel senso
stretto del termine), appunto perché ognuno abbia la massima flessibilità,
il che rende ''''inutili/doppioni'''' (o quasi) quegli automatismi/metodi
di operare tanto cari in altri sistemi.

 fedora, per mandriva, suse ecc.
Appunto. La situazione attuale è più lineare di quanto sembri al primo
approccio. Se trovi disponibile l'rpm o il deb per la tua versione di suse,
mandriva o ubuntu, scarichi quello, che si installerà senza problemi (o ci
penseranno apt o yast a dirti "infila il CD2").
Se non trovi un pacchetto precompilato, scarichi i sorgenti e compili, e le
dipendenze necessarie sono solitamente indicate nella documentazione del
programma.

 (o ci penseranno apt o yast a dirti "infila il CD2").
Questo presuppone che l'utente abbia a disposizione il cd2 o che sia
collegato ad internet. Spesso non è così.
Prima di avere l'adsl non potevo permettermi di usare repository per
installare programmi. Mi scaricavo tutto dalla facoltà, dove la connessione
viaggia a 100Mb, ed una volta a casa andavo di rpm -i. Solo che è parecchio
seccante dover gestire in questo modo le dipendenze, a volte di decine di
pacchetti.
In Linux, purtroppo, che una cosa abbia ragioni estremamente valide di
essere così non è facile da capire per un utente alle prime armi,
soprattutto per chi proviene da Windows o Mac. Anch'io all'inizio mi sono
perso per cose come mount etc, e le ritenevo stupide. Quando poi ho capito
bene cosa fossero e le loro implicazioni ho cambiato completamente idea. Ma
per questo ci vuole tempo. Purtroppo gran parte della gente non ha la ben
che minima pazienza nè voglia di imparare e capire. Vogliono le cose il più
semplici possibili. Se questo significa doversi scaricare un superpacchetto
da 100 mb anzichè uno da 20 mb non importa. La cosa importante è fare
quello che al momento è più semplice per loro.
Poi, forse, se vedono che adottare l'altro sistema è conveniente allora
cambiano.


 
pero' sicuramente sei molto chiaro! Direi che questa e' da FAQ!
Ciao!

 il più semplici possibili. 
Se gli utenti non hanno "voglia o pazienza", sorry, ma il problema è da
parte loro.
Sviluppare strumenti a prova di inesperto è possibilissimo (yast,
synaptic...), ma strumenti a prova di utonto che se non capisce lui è colpa
del sistema è impossibile: contro la "malafede" non esistono strumenti e
chi non vuole imparare non impara.
Senza parlare del dispendio di risorse e dello sconvolgimento della
struttura del sistema necessari per un'ipotetica realizzazione di tali
"miglioramenti"
Se manca la voglia, vale sempre il vecchio detto "if your VCR clock is still
blinking 00:00 you probably don't want linux". :o)

 "miglioramenti"
Ora siamo davvero ot rispetto al gruppo.
Se vuoi possiamo proseguire la discussione su it.comp.os.dibattiti, che mi
sembra un luogo più appropriato.
Cercherò di essere breve.
Il tuo discorso è valido, fino ad un certo punto. Con gli stessi presupposti
qualche anno fa nella comunità Linux c'era una certa diatriba tra chi
voleva rendere le cose più semplici, creando applicazioni grafiche che
consentissero anche ad utenti meno esperti di installare e configurare il
sistema, e chi pensava che fosse meglio non seguire la moda avviata da MS e
lasciare che chi non voleva capire, istruirsi, imparare ad usare i file di
configurazione continuasse ad usare Windows.
E' un pensiero legito, anche se non tiene conto del fatto che la diffusione
di Linux è uno dei principali ostacoli affinchè le aziende di software e
hardware forniscano un supporto decente, cosa che sfavorisce anche il
superesperto.
Che per i programmatori siano già indaffarati e sia difficile per loro
gestire un superpacchetto non c'è dubbio. Tuttavia, prendendo ispirazione
da un'intervista ad uno dei principali fautori di Firefox, non importa
quanto sia difficile o noioso, sono cose che vanno fatte.
Può essere benissimo argomentato che il superpacchetto non è la soluzione
ottimale. Tuttavia non si può nascondere il fatto che il problema ci sia.
Mi sono trovato più volte io stesso a dover risolvere da solo delle
dipendenze perché installavo dei programmi senza avere la connessione ad
internet, senza cd ecc.
Non ho la pretesa di dire quale sia la soluzione a questo problema. Tuttavia
non ci si può nascondere che esista, o scaricarlo sull'utente, ritenendo
che quest'ultimo si debba far carico dello sforzo che i programmatori non
vogliono sobbarcarsi per rendere le cose più semplici.
Secondo me, si dovrebbero definire delle api nello slb che consentano
all'utente, e possibilmente al programmatore, di eseguire determinate
operazioni in modo standard, senza preoccuparsi di quale sia la
distribuzione e quale sia il tipo di gestore di pacchetti utilizzato.



Non vedo perche', personalmente detesto questa politica di voler rubare
clienti altrui. Linux, a mio parere, ha il suo spazio, inevitabilmente
destinato a chi *vuole* capirci qualcosa. Chi non vuole, ha alternative
affascinanti (detto senza alcuna malizia). Credo che sia sbagliato
trasformare linux in un sistema "per chi e' costretto a usare il pc ma ne
farebbe volentieri a meno". Sistemi per questa utenza ce ne sono, e a
voler rincorrere sempre, si finisce per fare male tutto. Ormai "linux fa
figo", ma in fondo potrebbe essere solo una moda. Adesso sto scrivendo da
una workstation Alpha, perche' non voler rendere amichevole anche HP-UNIX?
Ogni sistema operativo nasce con una vocazione, che non si dovrebbe
snaturare per soli scopi pubblicitari.

 snaturare per soli scopi pubblicitari.
Tu non vuoi che Linux sia diffuso in ambito desktop anche al di fuori dei
soli appassionati. Io si perché ritengo che avremmo da guadagnarci. Ma sono
opinioni. Ogni distro ha il suo target di utenza. Le distro rivolte ai
server non si preoccupano più di tanto di questi aspetti. Quelle per
desktop si, e a mio parere dovranno farlo in maniera sempre più
impegnativa.
Apriamo un thread su icod se vuoi.


 come su mac os x che poi è un BSD?
http://klik.atekon.de/
http://autopackage.org/
-- 
Firma in costruzione


No, per carita' :-)

 programmatori non vogliono sobbarcarsi per rendere le cose più semplici.
Semplicemente non possono... mica tutti i programmatori hanno a disposizione
il bacino di collaboratori e tester di KDE o Gnome. E magari meglio che in
ogni caso si concentrino sullo sviluppo che non sulla semplificazione
dell'amministrazione dei singoli sistemi.
E anche qui siamo abbondantemente nel compo di .dibattiti, meglio daric un
taglio. 

 altrettanto semplice.
Un utente costretto a lavorare con il pc non dovrebbe essere autorizzato ad
installare alcunché. C'è una bella differenza tra utilizzatori e
amministratori di una macchina...
Proprio questa mancanza di distinzione ha portato Windows ad essere un
troiaio (assieme ad altri fattori, ovviamente) e un luogo fertile per
virus, dialer & C.
Un normale utente non dovrebbe poter installare nulla, ci deve pensare
l'amministratore a questo...
Per i PC casalinghi, se non si ha il tempo per starci dietro, o si prende
qualcosa di più semplice (Mac, altro), o si chiede ad un amico di impostare
la macchina senza poi farci tanti interventi su...
