|
|
(20 versioni intermedie di 6 utenti non mostrate) |
Riga 1: |
Riga 1: |
| | {{Old}} |
| | |
| == Introduzione == | | == Introduzione == |
| Il [[repository]] � a tutti gli effetti un archivio ordinato dove sono raccolti i pacchetti Debian (siano essi pacchetti binari o sorgenti) in modo ben organizzato e costantemente aggiornato. In ogni sistema debian i repository utilizzati vengono indicati nel file <tt>/etc/apt/sources.list</tt>. Vedi anche [[Faq#Repository|FAQ: Cos'� un '''repository'''?]].
| | Questa guida vuole dare all'utente una visuale il più possibile completa dello stato di Java all'interno di Debian, mostrando le soluzioni possibili per la sua installazione e le alternative, passando per la policy relativa a Java ed alle applicazioni scritte con questo linguaggio. |
| | |
| == Lista repository ufficiali debian ==
| |
| Di seguito troverete l'elenco repository ufficiali da inserire nel <tt>sources.list</tt> per le varie [[La struttura della Distribuzione|versioni di debian]]. Il mirror � quello italiano. I repository dei pacchetti sorgente sono commentati. per ulteriori informazioni leggere la sezione: [[I repository ed il loro utilizzo#Sources.list|Sources.list]].
| |
| | |
| === Debian Sarge ===
| |
| | |
| ## Debian Stable (sarge)
| |
| deb http://ftp.it.debian.org/debian/ stable main contrib non-free
| |
| #deb-src http://ftp.it.debian.org/debian/ stable main contrib non-free
| |
|
| |
| ## Aggiornamenti della sicurezza
| |
| deb http://security.debian.org/ sarge/updates main contrib
| |
| #deb-src http://security.debian.org/ sarge/updates main contrib
| |
| | |
| Per l'uso di sarge in ambito desktop (ma non solo) sono molto utili i [[backports]]:
| |
| | |
| * [http://backports.org/ Debian Backports]
| |
| | |
| === Debian Etch ===
| |
| | |
| ## Debian Testing (etch)
| |
| deb http://ftp.it.debian.org/debian/ testing main contrib non-free
| |
| #deb-src http://ftp.it.debian.org/debian/ testing main contrib non-free
| |
|
| |
| ## Aggiornamenti della sicurezza
| |
| deb http://security.debian.org/ etch/updates main contrib
| |
| #deb-src http://security.debian.org/ etch/updates main contrib
| |
| | |
| === Debian Sid ===
| |
| | |
| ## Debian Unstable (sid)
| |
| deb http://ftp.it.debian.org/debian/ unstable main contrib non-free
| |
| #deb-src http://ftp.it.debian.org/debian/ unstable main contrib non-free
| |
| | |
| Per '''Sid''' non c'� il repository per la sicurezza dato che eventuali falle vengono corrette semplicemente con l'aggiornamento del pacchetto incriminato.
| |
| | |
| == Lista repository non ufficiali ==
| |
| Per una lista dei repository non ufficiali pi� diffusi vedere: [[Repository non ufficiali]].
| |
|
| |
|
| == La Struttura dei repository == | | == La Policy Java == |
| Un repository � suddivisibile, grossomodo, in due sezioni:
| | === Java in Debian === |
| * '''dists''' in questo ramo sono contenuti i file di controllo, che permettono il funzionamento del sistema di pacchettizzazione. Infatti sono presenti i file che descrivono i pacchetti presenti nell'archivio (divisi per la release di appartenenza);
| | Lo scopo di Debian è quello di fornire una piattaforma costituita al 100% da software libero. Per questa ragione, quindi, alcuni programmi Java non sono disponibili nella distribuzione standard di Debian: non già, certamente, per motivi tecnologici. Al contrario, sono nati diversi progetti collaterali - subito incorporati nel sistema Debian - allo scopo di fornire un'infrastruttura Java, con licenza "libera". |
| * '''doc''' raccoglie la documentazione di base per Debian (segnalazioni di Bug, Faq, il Contratto Sociale ed altro)
| |
| * '''indices''' contiene l'indice di tutti i file contenuti in tutti i pacchetti. Queste informazioni sono usate da [[Apt-file: ricerca all'interno dei pacchetti|<tt>apt-file</tt>]].
| |
| * '''non-US''' a causa di problemi legali dovuti al divieto di esportazione di matariale per la difesa (tra cui materiale crittografici, utilizzati anche in PGP e SSH). Per ovviare a questi problemi, i pacchetti sono stati posti in una sezione a parte, la cui distribuzione � legata a server non Statunitensi.
| |
| * '''pool''' questo � l'archivio vero e proprio, dove sono contenuti i pacchetti, raggruppati per lettera iniziale;
| |
| * '''project''' contiene materiale per sviluppatori. Degne di nota la direcotory experimetal, che contiene i pacchetti in fase di sviluppo e perfezionamento;<br/>
| |
| * '''tools''' contiene degli strumenti Dos per la creazione di dischetti di boot, partizionamento e lancio di Linux.
| |
|
| |
|
| == La Suddivisione del repository ==
| | Allo stato attuale Debian rende disponibili le seguenti implementazioni Java: |
| Navigando un po' tra gli archivi Debian, si nota subito una particolare suddivisione: i repository, infatti, sono divisi in '''main''', '''contrib''' e '''non-free''', nel modo seguente:
| | * OpenJDK |
| * '''main''' � la sezione principale, che contiene il 90% dei pacchetti presenti in Debian | | * Javacc |
| * '''contrib''' raccoglie i pacchetti coerenti con la DFSG5.6, ma che dipendono da pacchetti che non la rispettano | | * Gcj |
| * '''non-free''' contiene dei pacchetti che possiedono delle limitazioni nella distribuzione (ad esempio perch� non utilizzabili in ambito commerciale o perch� dipendenti da applicazioni o pacchetti che non rispettano la Debian Free Software Guideline) | |
|
| |
|
| == Sources.list == | | === Applicazioni scritte in Java === |
| === Il ruolo fondamentale ===
| | La policy Debian ammette l'inserimento, all'interno dei repository, di applicazioni scritte in Java. L'unica restrizione è legata all'ambiente in cui può essere compilata ed eseguita. Le applicazioni, infatti, devono ''girare'' su una o più JVM presenti in Debian (quindi, prima d'ora, non era possibile trovare nel repository applicazioni che non compilassero e funzionassero con kaffe e le librerie presenti in Debian). |
| Il file '''/etc/apt/sources.list''' � forse il pi� importante file di configurazione del sistema di gestione dei pacchetti Debian. Esso, infatti, contiene l'elenco e gli indirizzi dei repository a cui apt accede.
| |
|
| |
|
| === Ordine di Inserimento ===
| | La collocazione dei pacchetti all'interno del repository ([[main]], [[contrib]], [[non-free]]) è legata, inoltre, alla licenza del compilatore/JVM, oltre che a quelle delle librerie utilizzate. |
| � importante inserire i repository con un giusto ordine: i primi in elenco, infatti, sono i pi� importanti (o favoriti). Per migliorare le performance, � consigliabile ordinarli per velocit� (Es. prima il cdrom, poi la rete locale, poi internet, ...).
| |
|
| |
|
| === Sintassi === | | == Java in Debian == |
| Ogni riga che descrive un repository ha una ben determinata sintassi:
| | === OpenJDK === |
| <pre>
| | * Home page: http://openjdk.java.net/ |
| deb uri distribution [component..]
| | * Pacchetti Debian: [http://packages.debian.org/search?keywords=openjdk-6 openjdk-6], [http://packages.debian.org/search?keywords=openjdk-7 openjdk-7], [http://packages.debian.org/search?keywords=openjdk-8 openjdk-8], [http://packages.debian.org/search?keywords=openjdk-9 openjdk-9] |
| </pre>
| |
|
| |
|
| Analizziamo i singoli componenti:
| | === Javacc === |
| * '''deb o deb-src''' serve ad indicare se il repository indicato contiene pacchetti binari o pacchetti sorgenti (se li contiene entrambi, � necessario specificarlo usando due righe diverse).
| | * Home page: https://javacc.java.net/ |
| * '''uri''' indica l'indirizzo a cui � possibile trovare il repository; � possibile scegliere tra i seguenti metodi di accesso ai pacchetti: | | * Pacchetti: [http://packages.debian.org/search?keywords=javacc javacc, javacc-doc e libjavacc-maven-plugin-java] |
| ** '''file''' permette di inserire un repository presente sull'Hard Disk del computer;
| |
| ** '''cdrom''' permette di inserire un repository presente su un cd-rom;
| |
| ** '''http''' permette di accedere ad un repository tramite il protocollo http (se � impostata una variabile di ambiente '''http_proxy''' col formato '''http://server:port/''' verranno usate queste opzioni per accedere al repository; in caso di necessit� di autenticazione, � possibile specificare l'inidirizzo del proxy, nella variabile d'ambiente '''http_proxy''', nel seguente modo: '''http://user:pass@server:port/''', anche se risulta non essere un modo sicuro di autenticazione);
| |
| ** '''ftp''' permette di accedere ad un repository tramite il protocollo ftp; � possibile specificare un proxy nell stesso modo indicato per http al punto precedente, sostituendo alla variabile '''http_proxy''' '''ftp_proxy''';
| |
| ** '''copy''' � idendico a file, ma i file utilizzati vengono salvati nella cache di apt; utile nel caso di supporti removibili quali Usb-drive, Floppy, Zip, ...;
| |
| ** '''rsh, ssh''' permette di accedere ad un repository tramite il protocollo ssh. Non � possibile, per�, effettuare alcuna autenticazione interativa, ma solo tramite lo scambio di chiavi RSA.
| |
| * '''distribution''' indica la [[La struttura della Distribuzione|distribuzione (o release)]] utilizzata... � possibile usare il nome in codice (sarge, etch, sid) o il nome generico (stable, testing, unstable);
| |
| *'''component''' indica la sezione (non-free, main, contrib...) del repository da inserire; sono possibili scelte multiple.
| |
|
| |
|
| === Alcuni esempi === | | === Gcj === |
| Non c'� niente di meglio, per capire la sintassi del file sources.list, si un po' di esempi.
| | * Home page: https://gcc.gnu.org/java/ |
| | * Pacchetti: [http://packages.debian.org/search?keywords=gcj elenco pacchetti Gcj disponibili nei repository Debian] |
|
| |
|
| I repository ufficiali (binari e sorgenti) presi da un mirror italiano:
| | === Oracle Java === |
| <pre>
| | Il Java ufficiale. Non è nè FreeSoftware, nè OpenSource. |
| deb http://ftp.it.debian.org/debian/ stable main non-free contrib
| | * Home Page: http://www.java.com |
| deb-src http://ftp.it.debian.org/debian/ stable main non-free contrib
| |
| </pre>
| |
|
| |
|
| Il repository di apt-build (Rif. 7.1 Pag. [*]):
| |
| <pre>
| |
| deb file:/var/cache/apt-build/repository apt-build main
| |
| </pre>
| |
|
| |
|
| Un repository 'artigianale' accessibile tramite un webserver:
| | === Pacchetti homemade === |
| <pre>
| | In Debian è presente una comoda utility per permettere agli utenti di crearsi i propri pacchetti personalizzati e installarli correttamente all'interno della propria distribuzione, senza sporcare e, soprattutto, potendo gestire il tutto tramite le [[alternatives]] (e quindi avere più JVM installate). |
| deb http://repos.debianizzati.org ./
| |
| </pre>
| |
|
| |
|
| Un repository situato nella home dell'utente maxer, creato con <code>dpkg-scanpackages</code>:
| | Il pacchetto in questione è java-package. Sul wiki è presente una guida: [[Make-jpkg: Pacchettizziamo Java]] |
| <pre>
| |
| deb file:/home/maxer/repos ./
| |
| </pre>
| |
|
| |
|
| Per altri repository vedere: [[#Lista repository ufficiali debian|Lista repository ufficiali debian]] e [[Repository non ufficiali]].
| | == Alternatives == |
|
| |
|
| ----
| | == Bookmark == |
| [[User:MaXeR|MaXeR]] | | * [http://www.debian.org/doc/packaging-manuals/java-policy Debian Java Policy] |
| [[Categoria:Apt]]
| | * [http://www.debian.org/doc/manuals/debian-java-faq/ Debian Java Faq] |
| [[Categoria:Repository]] | |
|
Attenzione. Questa guida è obsoleta. Viene mantenuta sul Wiki solo per motivi di natura storica e didattica.
|
Introduzione
Questa guida vuole dare all'utente una visuale il più possibile completa dello stato di Java all'interno di Debian, mostrando le soluzioni possibili per la sua installazione e le alternative, passando per la policy relativa a Java ed alle applicazioni scritte con questo linguaggio.
La Policy Java
Java in Debian
Lo scopo di Debian è quello di fornire una piattaforma costituita al 100% da software libero. Per questa ragione, quindi, alcuni programmi Java non sono disponibili nella distribuzione standard di Debian: non già, certamente, per motivi tecnologici. Al contrario, sono nati diversi progetti collaterali - subito incorporati nel sistema Debian - allo scopo di fornire un'infrastruttura Java, con licenza "libera".
Allo stato attuale Debian rende disponibili le seguenti implementazioni Java:
Applicazioni scritte in Java
La policy Debian ammette l'inserimento, all'interno dei repository, di applicazioni scritte in Java. L'unica restrizione è legata all'ambiente in cui può essere compilata ed eseguita. Le applicazioni, infatti, devono girare su una o più JVM presenti in Debian (quindi, prima d'ora, non era possibile trovare nel repository applicazioni che non compilassero e funzionassero con kaffe e le librerie presenti in Debian).
La collocazione dei pacchetti all'interno del repository (main, contrib, non-free) è legata, inoltre, alla licenza del compilatore/JVM, oltre che a quelle delle librerie utilizzate.
Java in Debian
OpenJDK
Javacc
Gcj
Oracle Java
Il Java ufficiale. Non è nè FreeSoftware, nè OpenSource.
Pacchetti homemade
In Debian è presente una comoda utility per permettere agli utenti di crearsi i propri pacchetti personalizzati e installarli correttamente all'interno della propria distribuzione, senza sporcare e, soprattutto, potendo gestire il tutto tramite le alternatives (e quindi avere più JVM installate).
Il pacchetto in questione è java-package. Sul wiki è presente una guida: Make-jpkg: Pacchettizziamo Java
Alternatives
Bookmark