View Full Version : Mi date una spiegazione?
Roberto M.
29-10-2004, 09:23
Io ho sempre usato Windows, c'era il file .exe da installare, niente di più facile
Ma ora con linux?
Ho capito che ci sono dei pacchetti rpm che si installano con una certa faciità, ma poi ci sono anche dei programmi che si installano diversamente, che si devono "compilare"...
mi spiegate che significa in termini comprensibili da uno che non ha mai usato linux?
ilsensine
29-10-2004, 09:31
Originariamente inviato da Roberto M.
Io ho sempre usato Windows, c'era il file .exe da installare, niente di più facile
Ma ora con linux?
Ho capito che ci sono dei pacchetti rpm che si installano con una certa faciità, ma poi ci sono anche dei programmi che si installano diversamente, che si devono "compilare"...
mi spiegate che significa in termini comprensibili da uno che non ha mai usato linux?
Tutti i programmi sono scritti in "codice sorgente" in qualche linguaggio di programmazione. I pacchetti di installazione (setup.exe su windows, .rpm/.deb/.ecc su linux) non sono altro che i programmi compilati per la tua architettura/sistema, e pronti ad essere installati e usati.
In virtù della sua natura libera e aperta, per tutti o quasi i programmi per linux è disponibile anche il codice sorgente; non hai mai sentito parlare dell' "installazione da sorgente" in quanto sotto windows non si usa. Sotto linux invece è una cosa abbastanza comune, tanto che ormai esiste una procedura standard per compilare e installare i programmi da sorgente, senza che sia richiesta alcuna conoscenza di programmazione.
Ti consiglio di prendere pratica con l'installazione da sorgenti appena ha un pò di familiarità col sistema; per ora, se trovi pacchetti precompilati è meglio.
per quanto riguarda il termine "compilare" .... non è solamente legato a linux.. ma alla programmazione in generale..
con l'azione di compilare si rende comprensibile alla macchina una determinata sequenza di comandi scritta in maniera comprensibile ad una persona...
cioè da codice sorgente a binario...
gli exe di windows cosa fanno: copiano o estraggono da archivi compressi i files (già compilati) nelle cartelle indicate.
mettono il tuo bel programma su C:\programmi\ e le dll su c:\winnt\system32
cambiano le chiavi di registro e così via...
su linux i pacchetti già compilati (che possono cambiare da distro a distro) fanno + o - la stessa cosa... ovvio che ogni distro ha i suoi pacchetti poichè spesso è diversa la posizione delle cartelle di default...
se installi un rpm aggiungento il flag -v (correggetemi se sbaglio) dovresti visualizzare in modo verboso quello che sta a fare...
il fatto di compilare prima di installare i programmi è legato all'opensource poichè solo in tal caso io possiedo i sorgenti...
questo permette la definizione di molte + variabili che permette più affinata installazione.
Deduco che non sei un programmatore.....:)
La cosa è facilissima: per ottenere un eseguibile (.exe) un programma deve essere compilato. Il programmatore scrive del codice sorgente in un qualche linguaggio (ad esempio C++) producendo così una serie di file di testo. A questo punto per poter ottenere qualcosa di funzionante lo deve appunto compilare. Questo significa che il programmatore deve eseguire il compilatore sui file sorgenti.
In pratica si tratta di eseguire un comando (il compilatore) e dirgli quali sono i file sorgenti contenenti il programma e alcune opzioni.
Ora, detto ciò, quello che succede è che sotto windows questa operazione (quella di compilare) non si fa (quasi) mai. Da Internet viene sempre distribuito direttamente l'eseguibile.
Sotto Linux accade molto più spesso che un programma venga distribuito in versione sorgente. Quindi l'utente deve procedere con la compilazione. Visto cmq che spesso è più comodo (e più veloce) installare binari, allora a volte (ultimamente molto spesso) ache i programmi per Linux vengono distribuiti in versione binaria.
La differenza a questo punto è che mentre sotto Windows esiste un unico modo di gestione dei pacchetti binari (pensa all'installer), sotto Linux sono stati sviluppati più "gestori" di pacchetti binari. In base a quale distribuzione Linux scegli dovrai usarne uno o l'altro. Ad esempio Fedora/RedHat usa RPM (che appunto sta per RedHat Packages Manager). Altri usano altri metodi (Debina usa il .deb con apt).
Tutto qua.
Roberto M.
29-10-2004, 09:43
Grazie per le risposte veloci ed esaurienti, ora ho capito cos'è il codice sorgente e cosa vuol dire compilare, però mi chiedo: come può uno che non conosce i linguaggi di programmazione riuscire a complilare un programma? Come ad esempio lm_sensor che dovrei installare...
ilsensine
29-10-2004, 09:45
Hai una mdk 10.1 no? lm_sensor dovrebbe essere presente già pronto sui cd di installazione. Usa il gestore di software della Mandrake per installarlo.
Ok, era la domanda successiva più logica...
per compilare senza dover essere il programmatore che ha fatto il programma si usano degli strumenti specifici. Senza entrare nel dettaglio in genere si fa:
./configure (il "./" iniziale serve)
make
su (passwrod di root)
make install
E il programma si compilerà e si installera.
Nota: al termine del comando "make" avrai nella direcotry locale il famoso binario (anche se non avrà l'estensione ".exe").
Roberto M.
29-10-2004, 09:51
Originariamente inviato da ilsensine
Hai una mdk 10.1 no? lm_sensor dovrebbe essere presente già pronto sui cd di installazione. Usa il gestore di software della Mandrake per installarlo.
Hai ragione, è presente sui CD di installazione, cmq io volevo sapere qualcosa in più sul cosa significava compilare, ed ora credo di aver capito, anche se per farlo si dovrebbe conoscere almeno un linguaggio di programmazione...
ilsensine
29-10-2004, 10:14
Originariamente inviato da Roberto M.
Hai ragione, è presente sui CD di installazione, cmq io volevo sapere qualcosa in più sul cosa significava compilare, ed ora credo di aver capito, anche se per farlo si dovrebbe conoscere almeno un linguaggio di programmazione...
No, non devi conoscere nulla. E' questo il bello.
Devi solo fare un pò di pratica a risolvere i problemi comuni (generalmente presenza di librerie specifiche -- il più delle volte cosa ti serve ti viene segnalato dallo script di configurazione, e normalmente basta che installi quanto richiesto utilizzando i cd della distribuzione, che sono zeppi di librerie).
negative
Hai ragione, è presente sui CD di installazione, cmq io volevo sapere qualcosa in più sul cosa significava compilare, ed ora credo di aver capito, anche se per farlo si dovrebbe conoscere almeno un linguaggio di programmazione...
io nn conosco quasi nulla sulla programmazione... eppure.. quando scarichi i sorgenti.. di solito ti forniscono le ISTRUZIONI per compilarli...
sono abbastanza comprensibili.. bisogna avere solo un po di dimestichezza con il capire le dipendenze e le dir di destinazione..
cmq sia nel README o nell INSTALL c'è specificato tutto...
Roberto M.
29-10-2004, 10:26
In pratica i programmi del computer corrispondono a sequenze di numueri esadecimali
Il codice sorgente sarebbe il linguaggio umano composto di parole e numeri (istruzioni). È scritto dal programmatore e poi convertito (in codice binario) in modo automatico da un software compilatore che lo rende leggibile al computer
Fino quà credo di esserci...
Roberto M.
29-10-2004, 10:45
Ma su internet non c'è una guida che introduce alla programmazione fatta per chi non ne sà nulla? Per cominciare a capire cos'è e come funziona...
Una guida semplice tipo "LInux da zero", anche se mi rendo conto che la programmazione è una cosa ben più complicata da spiegare...
ilsensine
29-10-2004, 10:48
Comincia a dare una occhiata alla sottosezione nella sez. di programmazione ;)
Roberto M.
29-10-2004, 11:11
Nonostante quella pagina con le FAQ in "programmazione" può tornare utile non è quello che intendevo, una guida per imparare piano piano è una cosa diversa...
ilsensine
29-10-2004, 11:13
Originariamente inviato da Roberto M.
Nonostante quella pagina con le FAQ in "programmazione" può tornare utile non è quello che intendevo, una guida per imparare piano piano è una cosa diversa...
Eh, allora ti serve un buon libro...
Roberto M.
29-10-2004, 11:20
Originariamente inviato da ilsensine
Eh, allora ti serve un buon libro...
In effetti si...
Se avete dei consigli
cmq credo che la discussione quì ormai stia diventando OT...
ilsensine
29-10-2004, 11:23
Sì chiedi in programmazione. Lì sono stati segnalati diverse volte dei buoni libri.
Quello che ho usato io non lo ho sottomano ora, e non ricordo il titolo esatto...
Roberto M.
29-10-2004, 11:48
Originariamente inviato da ilsensine
Sì chiedi in programmazione. Lì sono stati segnalati diverse volte dei buoni libri.
Quello che ho usato io non lo ho sottomano ora, e non ricordo il titolo esatto...
Chiederò in programmazione allora, ti ringrazio per il tuo utilissimo aiuto, in questi giorni è l'ennesima volta che mi dai una mano;)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.