Debian e iPod: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
Riga 1: Riga 1:
==Introduzione==
==Debian==


Qualche volta ci troviamo nella situazione di dover aggiornare una macchina con una connessione internet lenta o inesistente...
===Installazione===
Alcune volte viene suggerito [[Debmirror: creiamo un mirror Debian | Debmirror]] (soluzione che reputo sovradimensionata e dispendiosa), altre viene suggerito il download del primo DVD o dei primi 2-3 CD di Sarge (ma per quanto riguarda sid, non esiste niente del genere)...
==== Dove � possibile scaricare Debian? ====
Cos� ho pensato di organizzare qualche appunto che avevo su apt-zip, un comodo tool che ci viene in aiuto proprio in questi casi!
Debian � liberamente scaricabile.
Vedremo come utilizzarlo su computer connessi ad internet con una connessione lenta...


==Installazione==
Ecco come poterle ottenere:


L'installazione � semplicissima:
* [http://www.debian.org/distrib/cd Scaricando le ISO dei CD]
<pre>
 
# apt-get install apt-zip
* [http://www.nl.debian.org/devel/debian-installer/ Scaricando il Debian-installer]
</pre>


* [http://www.debian.org/CD/vendors/index.it.html Acquistandole via internet]


==Configurazione==
''Per una panoramica sui vari metodi di installazione vedere: [[Note sull'installazione di Debian]].''


Il file di configurazione � '''/etc/apt/apt-zip.conf''' e contiene alcuni valori di defalut utilizzati dai due comandi di apt-zip.
==== � possibile installare, con apt-get, anche i pacchetti indicati come 'suggeriti' e/o 'raccomandati'?====
Ecco quello di default:
Apt-get non offre ancora questa opzione, ma sono presenti due soluzioni:
<pre>
* installare aptitude ed utilizzarlo al posto di apt:<pre># aptitude install nomepacchetti</pre>
# Configuration file for apt-zip.
* uno script che fa quanto richiesto appoggiandosi ad apt-get: <br/>'''aag''' - advanced-apt-get apt-get install with support for recommends and suggested - http://www.formorer.de/code/aag/
# This is a /bin/sh code snippet.


# METHOD is taken from /usr/share/apt-zip/.
===Release===
METHOD=wget
==== A cosa servono le release successive di una versione Stable di Debian (ad esempio Woody 3.0r4 o r6...)?====
Le varie release successive di una Debian Stable sono dovute a degli aggiornamenti di sicurezza, bugfix, rimozione di pacchetti non pi� usabili, ...


# MEDIUM should be defined in /etc/fstab with option `noauto'.
Ecco alcuni esempi:
MEDIUM=/ZIP
Woody 3.0R3
Woody 3.0r4
Woody 3.0r5
Woody 3.0r6


# OPTIONS is a comma-separated list of options.
===Repository===
# Possible options include: tar[=posixtarprogram], gnutar[=gnutarprogram],
==== Cos'� un repository?====
# solaristar[=solaristarprogram], restart
Un [[repository]] � un archivio di pacchetti .deb (quelli tipici Debian), che presenta una struttura ben definita, molto simile a quella che si trova all'interno di uno dei CD di installazione.
# Examples:
# OPTIONS=tar=gtar
# OPTIONS=solaristar,restart
# OPTIONS="gnutar, restart=1"
# Recommended for a Solaris download host when possible:
# OPTIONS=solaristar,gnutar=gtar,restart
OPTIONS=


# DEFAULT_APTGETACTION is the action taken by apt-get when neither
I pacchetti contenuti in un repository sono indicizzati in questi file:
# the --aptgetaction nor the --packages options are given.
* '''Packages.gz''' (se sono pacchetti contenenti binari)
# Possible actions include: dselect-upgrade(default), upgrade and dist-upgrade
* '''Sources.gz''' (se sono pacchetti contenenti codice sorgente)
DEFAULT_APTGETACTION=dselect-upgrade


# The regexp applied to filter (with grep) the files to download.
Il comando
# Examples:
<pre>
# GREP=^http\|^ftp
# apt-get update
# GREP="-v ^cdrom\|^file"
GREP="^http\|^ftp"
</pre>
</pre>
non fa altro che scaricare uno di questi file (a seconda che si sia scelto di avere la lista dei pacchetti binari o quella dei pacchetti sorgente) per ogni riga non commentata presente nel file <tt>/etc/apt/sources.list</tt>, cos da avere disponibile sul proprio computer un elenco dei pacchetti contenuti nel repository indicato in quella riga.


Per approfondimenti vedere la sezione del wiki: [[Indice_Guide#Gestione_dei_Pacchetti | Gestione dei Pacchetti]], ed in particolare la guida [[I repository ed il loro utilizzo]].


Le direttive che ci interessano sono due:
&Egrave; dunque consigliabile avere nel proprio <tt>/etc/apt/sources.list</tt> diversi repository, in quanto potrebbero contenere pacchetti diversi.
'''MEDIUM''' e '''DEFAULT_APTGETACTION'''


'''MEDIUM''' indica il path della periferica removibile che verr� utilizzata (io l'ho modificata in /mnt/pen, il mountpoint della mia pennina usb);<br/>
Trovate i repository italiani ufficiali per le varie release di Debian [[I repository ed il loro utilizzo#Lista repository ufficiali debian|qui]]. Invece il [[Repository non ufficiali|questa pagina]] trovate i repository non ufficiali di uso pi� comune.
'''DEFAULT_APTGETACTION''' l'azione di default da apt-get (a meno che non sia indicata una lista di pacchetti od un'altra azione), quella di default esegue un aggiornamento tramite dselect.


Normalmente solo '''MEDIUM''' viene modificato, in quanto le opzioni di default sono pi� che corrette per qualsiasi utilizzo.
Una lista completa dei repository ufficiali (a livello mondiale) pu� essere trovata sul sito ufficiale Debian: http://www.debian.org/mirror/mirrors_full.


==Preparazione del Sistema==
Diversamente, per orientarsi tra gli svariati repository non ufficiali per le pi� disparate esigenze, si pu� partire da http://www.apt-get.org.


Ora, prima di passare all'analisi del programma ed al suo utilizzo, prepariamo il sistema per usare apt-zip.
====Come mai per Testing e Unstable non ci sono pi� i repository non-US?====
Normalmente � necessario un disco removibile (penna usb, disco usb, uno ZIP o altro) ma � possibile, con alcuni accorgimenti, esportare i due file creati da apt-zip tramite un floppy od una mail, e poi creare in un'altra sede un cd od un dvd con i pacchetti scaricati.
Come si pu� leggere in [http://lists.debian.org/debian-release/2005/05/msg01163.html questa email] apparsa il 18 maggio 2005 su debian-release, il ramo non-US � stato assimilato a quello principale, non essendoci pi� le motivazioni necessarie per l'esistenza di questa sezione.
 
===Supporto Removibile===
Nel caso si disponga di un supporto removibile � consigliato modificare il file /etc/fstab aggiungendo la seguente riga (riferita al dispositivo):
<pre>
mountpoint device filesystem options 0 0
</pre>


per esempio (nel caso di una penna usb)
===Security===
<pre>
==== Come arrivano in testing gli aggiornamenti di sicurezza?====
/dev/sda1 /mnt/pen vfat rw,users,umask=000,quiet 0 0
Gli aggiornamenti di sicurezza giungono nella distribuzione testing tramite unstable. Essi sono solitamente inviati con una priorit� impostata ad high, il che ridurr� il loro tempo di quarantena a due giorni. Dopo questo periodo, i pacchetti migreranno in testing automaticamente, se compilati per tutte le architetture e con tutte le dipendendenze soddisfatte in testing.
</pre>


==== Come gestita la sicurezza per contrib e non-free?====
La risposta breve : non lo . Contrib e non-free non sono parti ufficiali della distribuzione Debian e per questo non sono supportate dal team sicurezza. Alcuni pacchetti non-free sono distribuiti senza sorgenti o senza una licenza che permetta la distribuzione di versioni modificate. E in quei casi sono completamente impossibili i fix di sicurezza. Se c' la possibilit di risolvere il problema e il manutentore del pacchetto o qualcun altro fornisce un pacchetto correttamente aggiornato, allora di solito il team sicurezza lo processa e rilascia un advisory.


per le opzioni ed i filesystem disponibili, invito a leggere la documentazione visualizzata dal comando
====Per quanto tempo sono assicurati gli aggiornamenti di sicurezza?====
<pre>
Il team sicurezza cerca di supportare una distribuzione stable per circa un anno dal rilascio della successiva distribuzione stable, a meno che un'ulteriore distribuzione stable sia rilasciata nell'anno stesso. Non � possibile supportare tre distribuzioni; supportarne due contemporaneamente � gi� abbastanza difficile.
$ man mount
</pre>


Inoltre, se non presente nel sistema, necessario creare la directory indicata nel mountpoint (nell'esempio precedente /mnt/pen ).


===In una directory locale===
==Java==
Nessuna preparazione richiesta.
=== Come posso installare Java su Debian, senza 'sporcare' il sistema? ===
Le soluzioni sono due:
* scaricarlo da un repository non ufficiale
* Crearsi da soli il pacchetto seguendo [[Make-jpkg:_Pacchettiziamo_Java_Sun | Questa Guida]]


=== Come mai non presente, in Debian, il Java di Sun? ===
Debian, come spesso ricordato, fornisce una Distribuzione Linux 100% FreeSoftware. Quindi Java (quello di Sun) non pu venir incluso, visto che non assolutamente considerabile FreeSoftware.


==Sintassi ed Opzioni==
Vengono, quindi, inclusi dei 'cloni' o, meglio, delle nuove implementazioni del linguaggio (kaffe, ad esempio).


Apt-zip composto da due eseguibili:
=== Come posso risolvere i problemi di dipendenze legati ai pacchetti dei programmi scritti in Java? ===
'''apt-zip-list''' e '''apt-zip-inst'''
L'unico modo per risolvere questi 'fastidiosi' problemi installare Java in formato .deb. Per fare questo ci sono due strade:
* pacchettizzarlo da soli (tramite il comodo tool java-package, una guida � reperibile [[Make-jpkg:_Pacchettiziamo_Java_Sun | Qui]])
* scaricandolo direttamente da un repository contenente Java.


; apt-zip-list : ha il compito di generare uno script (ed un file contenente le opzioni per l'installazione dei pacchetti che verranno scaricati) per il download dei pacchetti da una qualsiasi macchina Linux (con un trucchetto � possibile eseguire il download anche da macchine con un sistema operativo diverso, purch� con wget installato).<br/>
=== Come posso abilitare il supporto a Java in Firefox? ===
; apt-zip-inst : ha il compito di installare i file scaricati (vedremo in seguito come).
Partiamo dal presupporto che java sia stato installato [[Make-jpkg:_Pacchettiziamo_Java_Sun | seguendo questo metodo]].


La sintassi � la seguente:
Localizziamo il file ''libjavaplugin_oji.so'' tramite il comando
<pre>
<pre>
apt-zip-list [--help] [--version] [--medium=mountpoint]
# dpkg -L sun-j2re1.5 | grep libjavaplugin_oji.so
            [--aptgetaction=action] [--packages=package[,package...]]
</pre>
            [--fix-broken] [--skip-mount] [--method=method] [--options=opt[,opt...]]
(ovviamente sun-j2re2.5 rappresenta il pacchetto che � stato creato tramite il processo descritto nella guida alla pacchettizzazione di Java)
            [ --accept=accept[,accept...]] [ --reject=reject[,reject...]]


apt-zip-inst [--help] [--version] [--medium=mountpoint] [--aptgetaction=action]
Una volta individuato, � sufficiente creare un link simbolico:
            [--packages=package[,package...]] [--fix-broken] [--skip-mount]
<pre>
# ln -s /usr/lib/j2re1.5-sun/plugin/i386/ns7/libjavaplugin_oji.so /usr/lib/mozilla-firefox/plugins/
</pre>
</pre>


Dove le opzioni hanno il seguente significato:


'''In comune'''<br/>
; --help, -h : Mostra un piccolo help<br/>
; --medium, -m : Indica un mountpoint differente da quello indicato nel file di configurazione<br/>
; --aptgetaction, -a : Indica una azione da far compiere ad apt-get, le scelte possibili sono: dselect-upgrade, upgrade e dist-upgrade;
Se non viene passata l'opzione --packages, viene eseguita l'azione di default (se non modificata con questa opzione)<br/>
; --packages, -p : Indica una lista (separata da virgola) dei pacchetti da installare<br/>
; --fix-broken, -f : Esegue apt-get con l'opzione --fix-broken (man apt-get)<br/>
; --skip-mount : Non esegue il mount e l'umount della periferica (utile se non si vuole utilizzare una periferica removibile)<br/>


'''Solo per apt-get-list'''<br/>
; --accept , -A / --reject , -R : Lista separata da virgola dei protocolli utilizzari per il download (default http e ftp)<br/>


==Utilizzo==


Tratteremo allo stesso modo sia il caso in cui venga utilizzato un supporto removibile, sia quello in cui venga usata una directory del filesystem...
==Kernel==
 
==== Si pu� aggiornare il kernel a una versione successiva senza doverlo ricompilare? ====
Prima di lanciare apt-zip dobbiamo decidere cosa fare:
Certamente!
# aggiornare il sistema
con il comando
## usare dselect
## fare un upgrade
## fare un dist-upgrade
# installare dei pacchetti mancanti
 
 
===Aggiornare il sistema===
forse � la pratica pi� diffusa...abbiamo a disposizione tre opzioni:
 
====dselect-upgrade====
eseguendo
<pre>
<pre>
# dselect
# apt-cache search kernel-image
</pre>
</pre>
 
si ottiene una lista dei kernel precompilati disponibili per il download.
e lanciando l'aggiornamento, verranno scaricati gli archivi con le liste dei pacchetti aggiornati, che verranno processati da dselect... inoltre si potranno anche selezionare i pacchetti che si vorrebbero installare (in pratica si usa normalmente il tool dselect, avendo cura di non selezionare l'opzione di installare i pacchetti, ma uscendo dal programma)...
Una volta individuata la versione voluta, � necessario scegliere quello adatto per il proprio processore (in caso di incertezze, scegliere quello generico i386) ed installarlo come se si trattasse di un normale pacchetto:
Una volta fatto, � sufficiente lanciare il seguente comando per creare i due script necessari per scaricare, da un altro computer, i pacchetti:
<pre>
<pre>
# apt-zip-list --aptgetaction=dselect-upgrade --medium=/mnt/point
# apt-get install kernel-image.....
</pre>
</pre>
Per installare il kernel dalla versione 2.6.12 in poi, bisogna cercare i pacchetti che iniziano con linux-image anzich kernel-image.


dove '''/mnt/point''' rappresenta il punto di mount del dispositivo; se si tratta di una directory normale, invece, il comando sar
<pre>
# apt-zip-list --aptgetaction=dselect-upgrade --skip-mount --medium=/mnt/point
</pre>




====upgrade====
==Linux==
verr� generata la lista dei pacchetti da scaricare per eseguire un
=== Audio ===
==== Il volume � al minimo a ogni riavvio. Come salvo le impostazioni? ====
Per configurare la scheda audio si usa il comando alsaconf:
<pre>
<pre>
# apt-get upgrade
# alsaconf
</pre>
</pre>
 
Se il comando non viene trovato, significa che dobbiamo installare le alsa-utils:
il comando per fare questo �
<pre>
<pre>
# apt-zip-list --aptgetaction=upgrade --medium=/mnt/point
# aptitude install alsa-utils
</pre>
</pre>
nel caso di un supporto removibile, o
Il tool alsaconf rileva automaticamente la scheda audio e imposta il sistema per il suo utilizzo. Se al riavvio le impostazioni del volume vengono sempre riportate al minimo, dobbiamo forzare il salvataggio delle impostazioni:
<pre>
<pre>
# apt-zip-list --aptgetaction=upgrade --skip-mount --medium=/mnt/point
# alsaconf
# alsamixer
# alsactl store
</pre>
</pre>
con alsamixer impostiamo i livelli del volume, con 'alsactl store' salviamo le impostazioni.


nel caso di una directory del filesystem...
=== Mount/Filesystem ===
 
==== Come posso fare in modo che, indicando 'auto' come filesystem al comando 'mount' venga provato prima 'vfat' che 'msdos'? ====
====dist-upgrade====
in questo caso, verr� generata la lista dei pacchetti da scaricare per completare il comando
<pre>
# apt-get dist-upgrade
</pre>


il comando per fare questo �
� sufficiente creare un file '''/etc/filesystems''' dal quale, il comando mount, legger� i filesystem da provare e l'ordine con cui farlo...
<pre>
In /proc, inoltre, � gi� presente quel file (che viene usato in mancanza di /etc/filesystems).
# apt-zip-list --aptgetaction=dist-upgrade --medium/mnt/point
</pre>
nel caso di un supporto removibile, o
<pre>
# apt-zip-list --aptgetaction=dist-upgrade --skip-mount --medium=/mnt/point
</pre>
nel caso di una directory del filesystem...


Per fare tutto questo:


===Installare i pacchetti mancanti===
in questo caso, possibile creare la lista di pacchetti necessari per l'installazione di un programma/pacchetto e per soddisfare le sue dipendenze...
il comando
<pre>
<pre>
# apt-zip-list --packages=pacchetto,pacchetto1,pacchetto2 --medium=/mnt/point
# cp /proc/filesystems /etc
# vi /etc/filesystems
</pre>
</pre>
nel caso di un supporto removibile, o
<pre>
# apt-zip-list --packages=pacchetto,pacchetto1,pacchetto2 --skip-mount --medium=/mnt/point
</pre>
nel caso di una directory del filesystem...
dove pacchetto,pacchetto1,pacchetto2 la lista dei pacchetti da installare, separati da una virgola...
Come potete vedere, l'utilizzo veramente semplice ed intuitivo...


==Gli Script==
ed invertire le righe contenenti 'msdos' e 'vfat'.
Se si vuole togliere un determinato filesystem dalla prova, � sufficiente apporre la parola 'nodev'.


Dopo l'esecuzione dei comandi illustrati precedentemente, verranno generati due script:
====  Come posso gestire automaticamente il mount di periferiche di mass storage USB? ====
Si pu� utilizzare UsbMount (http://usbmount.alioth.debian.org/) che gestisce in modo trasparente e userfriendly il mount di periferiche di storage USB.


'''apt-zip.options''' contenente le opzioni passate ad apt-zip-list, che verranno utilizzate da apt-zip-inst per installare correttamente i pacchetti scaricati
(una guida � disponibile [http://guide.debianizzati.org/index.php/UsbMount:_Gestione_automatizzata_delle_periferiche_usb_di_memorizzazione  Qui] )


'''fetch-script-wget-nomemacchina'''
=== Shell ===
che si occuper� di scaricare i pacchetti, di controllarne l'md5 (cos� da evitare i problemi derivanti da una possibile (remotamente) corruzione dei file)
==== Perch�, se aggiungo il mio utente ad un gruppo, le applicazioni non sembrano risentire della modifica? ====
Per 'applicare' il cambiamento effettuato alla lista dei gruppi in cui un utente e' inserito e' necessario effettuare una operazione di '''logout - login''', per consentire il ricaricamento della lista.


In parole povere, sar� semplice, sulla macchina da cui si possono scaricare i pacchetti, lanciare il secondo script:
==== Come posso modificare i 'locales'? ====
La localizzazione � modificabile col comando
<pre>
<pre>
$ ./fetch-script-wget-nomemacchina
# dpkg-reconfigure locales
</pre>
</pre>
 
Se si vogliono maggiori opzioni (ed una configurazione un po' pi� dettagliata) � possibile utilizzare localeconf
cos� verranno scaricati i pacchetti contenuti nella lista...
 
Se non si dispone di una shell dove eseguire lo script (se la macchina � windows, per esempio, anche se una visitina a [1] sarebbe indicata), � possibile scaricare ugualmente i pacchetti...
� sufficiente, infatti, lanciare questo comando:
<pre>
<pre>
$ cat fetch-script-wget-maxer | egrep "://" | cut -d " " -f 1 > lista.txt
# apt-get install localeconf
</pre>
</pre>


per ottenere una lista 'normale' di file, utilizzabile da wget o da un normale programma per il download di file dalla rete...
=== Varie ===
Se si usa wget (Disponibile anche per windows [2]) � sufficiente un
==== Che cosa esprime il comando uptime? ====
Il comando Uptime, di cui viene riportato un classico output
<pre>
<pre>
$ wget -i lista.txt
$ uptime
23:02:23 up 23 days, 23:25,  1 user,  load average: 0.57, 0.57, 0.83
</pre>
</pre>
rappresenta (nell'ordine):
* Ora attuale (23:02:23)
* Per quanto la macchina stata accesa (up 23 days, 23:25); cio il tempo passato dall'avvio o dall'ultimo reboot della macchina espresso in giorni, ore, minuti.
* Il numero di utenti connessi (1 user)
* Il carico della Macchina (load average: 0.57, 0.57, 0.83)


Il carico della macchina rappresenta i punti di carico degli ultimi 1, 5, 15 minuti
Riporto una breve descrizione, tratta dal [http://autistici.org/loa/web/main.html Corso di Linux di LOA Hacklab MI ](reperibile nella sezione Docs del loro sito).


{{Box|Nota Bene:|i file scaricati, per procedere con l'installazione, devono essere nella stessa directory che contiene il file apt-zip.options}}
<blockquote>Un punto di carico equivale a dire che la CPU ha lavoro a su?cienza per riempire il suo naturale ciclo di calcolo della durata di un secondo. Per dirla in altro modo, nell�arco di un secondo la CPU non ha tempo di eseguire un NOP, ossia un�istruzione vuota, che non fa nulla, che viene abitualmente "eseguita� nelle pause di elaborazione.</blockquote>


==Installazione dei pacchetti==
==== Come posso cambiare l'editor testuale di default utilizzato in shell? ====
Il comando
<pre>update-alternatives --config editor</pre>
consente di scegliere, da una lista di editor installati, quello che si vuole usare come default.


Una volta terminato, possibile installare i pacchetti con il comando
==== Come posso inserire caratteri con accenti particolari umlaut, angolare o tilde? ====
<pre>
possibile sfruttare alcune combinazioni di tasti nel seguente modo:
# apt-zip-int --medium=/mnt/point
digitare la seguenza illustrata, poi rilasciare i tasti (a video non apparir� niente) e poi digitare la lettere:
</pre>


(ricordo che la direttiva '''--medium''' pu� essere omessa se presente nel file di configurazione di apt-zip)
[AltGr + Shift + . ] + [aeiou] = ���
aggiungendo, eventualmente, '''--skip-mount''' se si tratta di una directory locale...


==Nessuna Connessione ad Internet==
[AltGr + Shift + � ] + [aeiou] = ����
In questa sezione vedremo come poter usare apt-zip in casi di totale assenza di connessione ad Internet. Premetto che la cosa � abbastanza macchinosa, e richiede due accessi al computer provvisto di connessione.


===L'idea===
[AltGr + Shift + 3 ] + [aioun] = �?�?�
L'idea �, fondamentalmente, semplice: ''inganneremo'' apt creando sulla nostra macchina un mirror dei repository da cui vorremmo attingere i pacchetti. Il mirror, per�, sar� parziale/fasullo, in quanto conterr� solo i file relativi ai pacchetti contenuti nel repository. Sar� necessario utilizzare Apache, in quanto apt-zip non inserisce nella lista i pacchetti non raggiungibili tramite una connessione (ad esempio quelli su disco..).


===Configurazione di Apache===
[AltGr + Shift + �] + [a] = �
� sufficiente installare apache:
<pre>
# apt-get install apache
</pre>
Per una guida pi� approfondita a riguardo, consiglio la lettura di: [[LAMP: Linux, Apache, MySQL e PHP]].


La configurazione di default di Apache utilizza come directory principale di lavoro '''/var/www/''', che verr� usata anche da noi per creare i nostri repository ''fittizi''!
Vale anche per le lettere maiuscole


Apache si ''muove'' come l'utente '''www-data''', quindi dovremo sempre preoccuparci di rendere i dati accessibili a questo utente, in modo da non ricevere errori di tipo ''403'', indicanti una mancanza di permessi.
== X ==
=== Generale ===
==== Come posso modificare il login manager di default? ====
Per cambiare il proprio login manager di default, � necessario prima installare quello sostituivo.


===La struttura delle Directory===
Facciamo un esempio con '''kdm''' (installato) e '''gdm''' (da installare).
Prendiamo come esempio il [[Repository_non_ufficiali#Marillat_Repository|repository '''Marillat''']], contenente software come mplayer, w32codecs, ... molto utili per la visualizzazione di filmati.


Prima di tutto, rechiamoci sul sito ufficiale del repository (http://www.debian-multimedia.org/), cos� da vedere come � strutturato.
1) Installiamo il nuovo Login Manager
 
Prendiamo in analisi i repository per Sarge:
<pre>
<pre>
deb http://ftp.nerim.net/debian-marillat/ sarge main
# apt-get install gdm
</pre>
</pre>
come descritto nella guida [[I repository ed il loro utilizzo]], in questo caso i file che descrivono il contenuto del repository si trovano in '''http://www.debian-multimedia.org/dists/sarge/main/''', in particolare nella sottodirectory '''binary-i386'''.


Procediamo, quindi, a ricreare una struttura simile in '''/var/www/''':
2) Durante l'installazione verr� chiesto quale Login Manager settare come default. Scegliamo quello nuovo.
 
Nel caso si fosse gi� scaricato il login manager, � necessario eseguire:
<pre>
<pre>
# mkdir /var/www/marillat
# dpkg-reconfigure gdm
# chown user:www-data $_
# chmod g+s $_
$ cd /var/www/marillat
$ mkdir -p dists/sarge/main/binary-i386/
$ cd $_
</pre>
</pre>
(ovviamente sostituendo a gdm il nome del pacchetto del login manager)


in questo caso, '''user''' rappresenta l'utente che normalmente utilizziamo, mentre '''$_''' ci permette di riutilizzare il parametro utilizzato nel comando precedente, facendoci risparmiare qualche carattere ([[Bash  tips]] per maggiori informazioni).
Questo comando far� apparire la stessa finestra apparsa durante l'installazione con apt-get. Da qui possibile scegliere il login manager di default.
 
La struttura stata creata, non ci resta che recuperare i file contenuti in quella directory: ''Packages.gz'' e ''Release''.


Una volta scaricati, copiamoli nella directory creata:
==== Come posso riconfigurare il server X? ====
Debian offre un comodo comando per fare questo:
<pre>
<pre>
$ cp Packages.gz Releasee /var/www/marillat/dists/sarge/main/binary-i386/
# dpkg-reconfigure xserver-xfree86
</pre>
</pre>
Cos facendo, si acceder alla stessa procedura guidata che viene mostrata durante l'installazione del pacchetto.


===Modifica di sources.list===
Altrimenti sono sempre disponibili i comandi standard:
Siamo pronti a modificare il file '''/etc/apt/sources.list''' in modo da utilizzare il repository appena creato.
Nel nostro caso di esempio, quindi, la riga da aggiungere sar� la seguente:
<pre>
<pre>
deb http://localhost/marillat/ sarge main
# xf86config
</pre>
</pre>
per una configurazione testuale


Una volta terminata la modifica, aggiorniamo il database dei pacchetti disponibili con un
<pre>
<pre>
# apt-get update
# xf86cfg
</pre>
</pre>
per una configurazione grafica con l'autorilevamento dell'hardware
''Vedere anche: [[Configurare il server X in Debian GNU/Linux]]''


===Creazione della lista di pacchetti===
====Aggiungere il supporto per la rotella del mouse====
Ritornando al nostro ragionamento, se tutto funziona come previsto, la richiesta di installazione di un pacchetto dovrebbe ovviamente fallire (perch� non presente realmente nel repository), per� dovrebbe avere una corrispondenza con l'url reale del pacchetto...
Modificare il file /etc/X11/XF86Config (o /etc/X11/XF86Config-4 o /etc/X11/xorg.conf), nella sezione riguardante il mouse...


Un esempio vale pi� di mille parole: proviamo ad installare il pacchetto '''w32codecs''':
Pre prima cosa bisogna modificare il driver del mouse, che deve diventare:<pre>
Option "Driver" "imPS/2"</pre>
questo permette di avere un driver supportante la rotella ;-)
 
Per attivarla, si aggiunga nella sezione del mouse la seguente riga:
<pre>
<pre>
# apt-get install w32codecs
Option "ZAxisMapping" "4 5"</pre>
Reading Package Lists... Done
 
Building Dependency Tree... Done
=== kde ===
The following NEW packages will be installed:
==== Come mai non riesco ad avviare kppp anche se � installato? ====
  w32codecs
Kppp, accedendo ad una componente 'critica' come una porta seriale, per poter essere eseguito da un utente normale, richiede che questo utente appartenga a due gruppi: '''dialout''' e '''dip'''.
0 upgraded, 1 newly installed, 0 to remove and 313 not upgraded.
Per fare cio' e' sufficiente usare i seguenti comandi:
Need to get 13.2MB of archives.
<pre>
After unpacking 31.9MB of additional disk space will be used.
# adduser nomeutente dip
Err http://localhost sarge/main w32codecs 1:20050412-0.0
# adduser nomeutente dialout
  404 Not Found
Failed to fetch http://localhost/marillat/pool/main/w/w32codecs/w32codecs_20050412-0.0_i386.deb  404 Not Found
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
</pre>
</pre>
come si pu� vedere, il pacchetto non viene trovato... se sostituiamo a '''localhost/marillat''' '''ftp.nerim.net/debian-marillat''' e proviamo a scaricare il pacchetto da una macchina connessa alla rete, vedremo che effettivamente l'url � corretto.
ed effettuare un ''logout - login'' per l'aggiornamento dei permessi.


A questo punto � banare l'utilizzo di ''apt-zip-list'' per la generazione della lista di pacchetti da installare. Procediamo con il nostro esempio, e chiediamo ad apt-zip di creare lo script per scaricare il pacchetto '''w32codecs''':
==== Come posso abilitare in Kmail il supporto per le firme S/MIME? ====
dal 17 Marzo � sufficiente un normale:
<pre>
<pre>
$ apt-zip-list --packages=w32codecs --skip-mount --medium=/path/della/directory/
# apt-get install gpgsm gnupg-agent
</pre>
</pre>
(presenti anche in sarge)
cos, inoltre, funzioner anche il programma kleopatra
([http://lists.debian.org/debian-kde/2005/03/msg00134.html Link alla News])


 
==== L'avvio di kdm risulta essere lento, come fare per sistemarlo? ====
===Conversione dello script===
Normalmente sembra essere un fatto legato alla cache dei fonts...
Lo script che abbiamo ottenuto, per�, contiene dei riferimenti al mirror ''fittizzio'', che devono essere convertiti in url corrette, riferite alla posizione reale del repository.
con un
 
Per velocizzare questa conversione, ci faremo aiutare da '''sed''':
<pre>
<pre>
$ sed  -e 's/localhost\/marillat/ftp.nerim.net\/debian-marillat/' \
# fc-cache
    fetch-script-wget-knio > fetch-script-wget-knio-url
</pre>
</pre>
dovrebbe tornare tutto a posto


il file '''fetch-script-wget-knio-url''' permetter� di scaricare correttamente i pacchetti.
==== Come posso avere pi� display utilizzabili contemporaneamente? ====
Per display si intendono le 'sessioni di X eseguite in contemporanea'!
In pratica, si pu� configurare kdm in modo da rendere possibile l'avvio di pi� sessioni grafiche (utili nel caso in cui pi� utenti lavorino sulla stessa macchina, ed uno di questi non possa chiudere la propria sessione).


==Conclusione==
� sufficiente modificare il file
'''/etc/kde3/kdm/Xservers'''
Decommentando una (o pi�) delle righe:


L'utilizzo di questa utility � veramente semplice, soprattutto rispetto alle innumerevoli comodit� che offre...
<pre>
Personalmente uso apt-zip con un Hard Disk da 10Gb come supporto removibile, dove sono presenti delle directory per ogni computer che necessita di aggiornamenti/installazioni, cos� da avere tutto abbastanza separato ed ordinato...
:1 local@tty2 reserve /usr/X11R6/bin/X -nolisten tcp :1
 
:2 local@tty3 reserve /usr/X11R6/bin/X -nolisten tcp :2
 
:3 local@tty4 reserve /usr/X11R6/bin/X -nolisten tcp :3
==Bookmarks==
:4 local@tty5 reserve /usr/X11R6/bin/X -nolisten tcp :4
 
</pre>
[1] Bash & Windows - http://home.wanadoo.nl/fvu/Projects/Bash/Web/bash.htm<br/>
[2] WGET for Windows - http://www.interlog.com/~tcharron/wgetwin.html




---- [[User:MaXeR|MaXeR]]
Apparir�, dopo il riavvio di X, un pulsante che permette l'avvio di una nuova sessione grafica!
[[Categoria:Apt]]
[[Categoria:Repository]]