Old:Java in Debian: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
m (rimosso riferimenti obsoleti; aggiunto alcune informazioni;)
(18 versioni intermedie di 5 utenti non mostrate)
Riga 1: Riga 1:
{{Guida da adottare|[[Utente:Ferdybassi|Ferdybassi]]}}
== 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.
== 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".


== Lista repository non ufficiali ==
Allo stato attuale Debian rende disponibili le seguenti implementazioni Java:
Per una lista dei repository non ufficiali pi� diffusi vedere: [[Repository non ufficiali]].
* OpenJDK
* Javacc
* Gcj


== La Struttura dei repository ==
=== Applicazioni scritte in Java ===
Un repository � suddivisibile, grossomodo, in due sezioni:
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).
* '''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);
* '''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 ==
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.
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:
* '''main''' � la sezione principale, che contiene il 90% dei pacchetti presenti in Debian
* '''contrib''' raccoglie i pacchetti coerenti con la DFSG5.6, ma che dipendono da pacchetti che non la rispettano
* '''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 ==
== Java in Debian ==
=== Il ruolo fondamentale ===
=== OpenJDK ===
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.
* Home page: http://openjdk.java.net/
* 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]


=== Ordine di Inserimento ===
=== Javacc ===
� 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, ...).
* Home page: https://javacc.java.net/
* Pacchetti: [http://packages.debian.org/search?keywords=javacc javacc, javacc-doc e libjavacc-maven-plugin-java]


=== Sintassi ===
=== Gcj ===
Ogni riga che descrive un repository ha una ben determinata sintassi:
* Home page: https://gcc.gnu.org/java/
<pre>
* Pacchetti: [http://packages.debian.org/search?keywords=gcj elenco pacchetti Gcj disponibili nei repository Debian]
deb uri distribution [component..]
</pre>


Analizziamo i singoli componenti:
=== Oracle Java ===
* '''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).
Il Java ufficiale. Non è nè FreeSoftware, nè OpenSource.
* '''uri''' indica l'indirizzo a cui � possibile trovare il repository; � possibile scegliere tra i seguenti metodi di accesso ai pacchetti:
* Home Page: http://www.java.com
** '''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 ===
Non c' niente di meglio, per capire la sintassi del file sources.list, si un po' di esempi.


I repository ufficiali (binari e sorgenti) presi da un mirror italiano:
=== 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://ftp.it.debian.org/debian/ stable main non-free contrib
deb-src http://ftp.it.debian.org/debian/ stable main non-free contrib
</pre>


Il repository di apt-build (Rif. 7.1 Pag. [*]):
Il pacchetto in questione è java-package. Sul wiki è presente una guida: [[Make-jpkg: Pacchettizziamo Java]]
<pre>
deb file:/var/cache/apt-build/repository apt-build main
</pre>


Un repository 'artigianale' accessibile tramite un webserver:
== Alternatives ==
<pre>
deb http://repos.debianizzati.org ./
</pre>


Un repository situato nella home dell'utente maxer, creato con <code>dpkg-scanpackages</code>:
== Bookmark ==
<pre>
* [http://www.debian.org/doc/packaging-manuals/java-policy Debian Java Policy]
deb file:/home/maxer/repos ./
* [http://www.debian.org/doc/manuals/debian-java-faq/ Debian Java Faq]
</pre>


Per altri repository vedere: [[#Lista repository ufficiali debian|Lista repository ufficiali debian]] e [[Repository non ufficiali]].
{{Autori
|Autore=[[User:MaXeR|MaXeR]]
}}


----
[[Categoria:Java]]
[[User:MaXeR|MaXeR]]
[[Categoria:Apt]]
[[Categoria:Repository]]

Versione delle 02:31, 12 nov 2016

Guida adottata da Ferdybassi Bannermv.png


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:

  • OpenJDK
  • Javacc
  • Gcj

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




Guida scritta da: MaXeR Swirl-auth20.png Debianized 20%
Estesa da:
Verificata da:

Verificare ed estendere la guida | Cos'è una guida Debianized