Bash tips: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
m (→‎Manipolazione delle stringhe: piccole correzioni)
Riga 1: Riga 1:
{{stub}}
Questo Wiki vuole essere prima di tutto un punto di raccolta ideale per le conoscenze acquisite dai singoli durante l' uso di Debian GNU/Linux in ambito casalingo e/o lavorativo, in modo che il sapere di uno diventi quello di tutti.
==Introduzione==


Questa guida � dedicata all'uso di Aptitude come frontend per la gestione avanzata dei pacchetti di una distribuzione Debian, ma risulta valida per tutte le distribuzioni che supportano APT (http://www.debian.org/doc/manuals/apt-howto/ch-distros.it.html).
Le guide ritenute meglio scritte e pi� approfondite, dopo un processo di controllo e revisione a cui tutti siete liberi di partecipare, vengono classificate [[:Categoria:Debianized|Debianized]] e contrassegnate dalla [[Debian Swirl]] http://guide.debianizzati.org/images/swirl.png.
L'intento dichiarato dell'autore � quello di indirizzare gli utenti ad imparare l'utilizzo di Aptitude, per usarlo come strumento preferenziale per l'amministrazione dei pacchetti, in quanto permette una pi� facile analisi delle varie situazioni in cui il sistema viene di volta in volta a trovarsi.


Aptitude un frontend a dpkg esattamente come apt-get, che sembra essere destinato a sostituire integralmente lo stesso apt-get, tanto che nelle release notes di Sarge si legge:
Potete trovare un elenco completo delle guide Debianized [http://guide.debianizzati.org/index.php/Categoria:Debianized qui]
Questa la lista delle guide attualmente presenti:


{{Box|Citazione:|Il metodo di aggiornamento raccomandato fra le release Debian GNU/Linux prevede l'utilizzo dello strumento di gestione dei pacchetti aptitude. Tale strumento rende le decisioni riguardanti le installazioni dei pacchetti pi� sicure che l'esecuzione diretta di apt-get.}}
== Mondo Debian ==
=== Introduzione a Debian ===
* [[L' Universo Debian]]
* [[La struttura della Distribuzione]]


e anche:
=== Installazione ===
* http://guide.debianizzati.org/images/swirl.png [[Guida a Grub]]
* [[Jigdo | Jigdo: Scaricare e Aggiornare le iso di Debian]]
* [[Note sull'installazione di Debian]]


{{Box|Citazione:|Test di aggiornamento hanno mostrato che la versione di sarge di aptitude � migliore sia di apt-get sia della versione di woody di aptitude nella risoluzione di dipendenze complesse durante un aggiornamento.}}
=== Gestione dei Pacchetti ===
* [[Introduzione all' Apt System]]
* [[I repository ed il loro utilizzo]]
* http://guide.debianizzati.org/images/swirl.png [[Pulire Debian]]
* [[Apt-cdrom | '''Apt-cdrom''': aggiunta di cd/dvd nella lista dei repository]]
* [[Apt-file: ricerca all'interno dei pacchetti | '''Apt-file''': ricerca all'interno dei pacchetti]]
* [[Apt-listbugs: come monitorare i bug | '''Apt-listbugs''': come monitorare i bug]]
* [[Apt-zip: aggiornamenti senza una connessione veloce | '''Apt-zip''': aggiornamenti senza una connessione veloce]]
* [[Apt-spy: trovare i mirror pi� veloci | '''Apt-spy''': trovare i mirror pi� veloci]]
* [[APT uso avanzato: mixare releases diverse]]
* http://guide.debianizzati.org/images/swirl.png [[Impedire l' aggiornamento di un pacchetto]]
* [[Aptitude | '''Aptitude''': come amministrare i pacchetti]] ''(stub)''


Si pu� utilizzare Aptitude in due modi: da linea di comando, cio� come apt-get (la sintassi e le opzioni sono identiche, o quasi), oppure tramite l'interfaccia utente basata sulle librerie ncurses.
=== Creazione e modifica dei pacchetti ===
* http://guide.debianizzati.org/images/swirl.png [[Make-jpkg: Pacchettiziamo Java Sun| '''Make-jpkg''': Pacchettiziamo Java Sun]]
* [[Pacchetti binari e sorgenti]]
* [[Applicare una patch ad un pacchetto Debian]]
* [[Apt-build: ottimizzazione dei pacchetti | '''Apt-build''': ottimizzazione dei pacchetti]]
* [[Dpkg-sig: Firma dei packages .deb |  '''Dpkg-sig''': Firma dei packages .deb]]
* [[Pacchetizzare un tema per Bootsplash]]


Per l'uso da linea di comando si rimanda all'apt-howto (aptitude install apt-howto-it, oppure http://www.debian.org/doc/manuals/apt-howto/index.it.html ) e alla pagina di manuale (man aptitude), invece tratter� pi� diffusamente l'interfaccia utente, perch� ritengo sia uno strumento fondamentale per la gestione dei pacchetti e soprattutto per la diagnostica e la risoluzione degli eventuali problemi riscontrati.
=== Gestione dei pacchetti Lato Server ===
* [[Apt-Proxy: un proxy per i pacchetti Debian| '''Apt-Proxy''': un proxy per i pacchetti Debian]]
* [[Debmirror: creiamo un mirror Debian |'''Debmirror''': creiamo un mirror Debian]]
* [[Creare un Repository Debian]]
* [[Gestione di un repository con debarchiver]]
* [[Usare apt-cacher per creare una cache dei pacchetti usabile in una LAN]]
* [[Dupload per l'upload dei pacchetti Debian]]


{{Box|Prima di iniziare|Prima di iniziare a mettere le mani sulla tastiera, notiamo che aptitude, a differenza della maggior parte delle opzioni di apt-get, si pu� lanciare anche con i diritti di utente comune.  
==Configurazione Sistema==
===Kernel===
* http://guide.debianizzati.org/images/swirl.png [[Debian Kernel Howto]]
* [[Esempio configurazione kernel]]
* [[Kernel2.6.10 - Framebuffer - Gensplash Patch]]
* [[Kernel 2.6 su Debian Woody]]
* [[Compilazione Kernel 2.6.11 con Bootsplash]]
* [[Pagina di manuale di module-assistant|Pagina di manuale di '''<tt>module-assistant</tt>''']]
* [[Low-latency 2.6 kernel per applicazioni audio realtime]]
* [[Script: Confronto Configurazioni Kernel]]


Poich� per l'effettiva installazione o rimozione dei pacchetti � necessario possedere i diritti di root, � possibile e caldamente consigliato usare questa possibilit� per effettuare qualunque prova, visto che non si sar� in grado di modificare neanche una virgola del sistema prima di aver inserito la password di root.}}
===Sistema===
* [[SysV | Il sistema SysV per la gestione dei Runlevel]]
* [[Udev e Debian]]
* [[Configurare il server X in Debian GNU/Linux]]
* [[Linux Admin Quick Reference]]
* [[Debian: accelerare GTK con Cairo e Glitz]]


==Interfaccia utente==
===Applicazioni Esterne===
* [[Pacchettizzare ed installare Xorg su Debian Sid]]
* [[Installazione Qemu con supporto accelerazione Kqemu]]
* [[ePSXe Emulatore Playstation]]
* [[Installare OpenOffice2 su Debian Etch]]
* [[DVD Backup: xDVDShrink per Debian]]


La prima schermata che aptitude ci presenta, dopo che l'abbiamo lanciato da linea di comando, e dopo il caricamento delle informazioni attuali sui pacchetti ("caricamento della cache"), � divisa orizzontalmente in due parti.
===Altro===
* [[Dual Boot Debian-Altra distribuzione Linux]]
* [[Dual Boot Linux-Windows]]
* [[Logging su MySQL]]
* [[Password sicure: la base della sicurezza informatica]]
* [[Script Bash per Avvio e Visualizzazione dati Seti@home]]


Nella parte superiore troviamo una zona a sfondo blu con un men� che propone diverse opzioni, e una zona a sfondo nero in cui si vede l'albero dei pacchetti disponibili, classificati in base al loro stato (installati, non installati, ecc.).
===Tips and Tricks===
====Bash====
* [[Bash tips]]: un elenco di trucchetti sull'uso interattivo e sullo scripting Bash
* [[Colorare bash]]
* [[Come abilitare il completamento automatico 'avanzato']]
* [[Un logout con schermo pulito]]
* [[Bash Script: Cambiare i permessi ricorsivamente]]


Per vedere il contenuto di uno dei rami usiamo le frecce "su" e "giu" fino a selezionare la riga corrispondente e premiamo invio. Sotto al ramo in questione ora abbiamo dei sottorami, e premendo invio sui vari sottorami si accede allo stesso modo ai sotto-sottorami e cos� via, fino ad arrivare ai pacchetti.
====Firefox====
* [[Velocizzare Firefox per la banda larga]]
* [[Il vostro motore di ricerca da Firefox]]
* [[Aggiungere un motore di ricerca al quicksearch di Firefox]]


La parte inferiore � invece dedicata alla descrizione del pacchetto attualmente selezionato. Alcuni pacchetti, per esempio k3b, hanno una descrizione molto lunga: premendo TAB e usando le frecce � possibile leggerla tutta.
====Altro====
* [[Convertire immagini .nrg in immagini .iso]]
* [[Nautilus: navigare con una sola finestra]]
* [[Associare a thunderbird il browser preferito]]
* [[Antispam in Evolution con Bogofilter]]
* [[Impostare la lingua italiana per Gnome]]
* [[Impostare  e modificare data e ora]]
* [[Impostare e modificare il layout della tastiera]]
* [[Abilitare_Xinerama | Multi monitor con Xinerama]]
* [[Abilitare ESound con ALSA in Gnome]]
* [[Cambiare il Tema dei Cursori per il Mouse]]
* [[XFCE e shutdown da utente]]


Ogni riga che mostra il nome di una pacchetto riporta anche molte informazioni.
==Networking==
Per esempio, riporto lo stato di alcuni pacchetti nel mio sistema (nota: il mio sistema � una sarge, ma ho installato diversi pacchetti da testing e anche alcuni da unstable. Per informazioni sul pinning vedere [[APT_uso_avanzato:_mixare_releases_diverse | APT uso avanzato: mixare releases diverse ]]:
===Debian Server===
<pre>
====Condivisione risorse====
stato    nome                vers. attuale    vers. aggiornata
* [[Directory shared tra macchine linux (nfs)]]
* [[Condivisione risorse con Samba]]


i        aptitude            0.2.15.9-2      0.2.15.9-2
====Mailing====
i        amule                2.0.3-3          2.0.3-4
* [[Mail Server Sicuro con Postfix]]
i A      amule-common        2.0.3-3          2.0.3-4
c        hotplug              <nessuna>        0.0.200403
p        apmd                <nessuna>        3.2.2-3
</pre>


Possiamo vedere che:
====Http====
*aptitude � installato ed � alla versione pi� recente
* [[Server Web Casalingo]]
*amule � installato ma � aggiornabile alla versione 2.0.3-4
* [[LAMP: Linux, Apache, MySQL e PHP]]
*amule-common � installato per soddisfare una dipendenza (<tt>A</tt>), cio� solo a causa di un pacchetto che dipende da lui (amule). Anch'esso � aggiornabile
* [[XAMPP: Linux, Apache, MySQL e PHP facili]]
*hotplug non � installato, ma quando l'ho cancellato ho scelto di mantenere i file di configurazione (<tt>c</tt>)
* [[Debian MapServer/MapScript]]
*apmd non � installato (<tt>p</tt>)


Tramite semplici comandi si possono visualizzare molte altre informazioni. I comandi principali sono:
===Amministrazione===
; v: visualizza le versioni disponibili per il pacchetto
====Gestione Remota/Locale====
; d: visualizza le dipendenze del pacchetto
* [[Wake On Lan | '''Wake On Lan''' per accendere i propri PC a distanza tramite la LAN]]
; r: visualizza i pacchetti che dipendono dal pacchetto selezionato
* [[Debian e il controllo di servizi e demoni]]
; C: scarica da internet e visualizza il changelog del pacchetto
* [[Gestione della banda in Apache]]
; q: chiudi la schermata attuale e passa a quella precedente
* [[Ssh e autenticazione tramite chiavi]]


Per una lista completa vedere la guida online con "?".
====Connettivita'====
* [[Condividere la connessione a internet]]


Ora premiamo invio su di un pacchetto: ci appare la schermata relativa al pacchetto, con la descrizione completa e molte altre informazioni, organizzate ad albero come abbiamo gi� visto. Se ci interessa qualche informazione su uno dei pacchetti che troviamo in questa schermata, lo selezioniamo e premiamo invio: appaiono le versioni disponibili del pacchetto. Se selezioniamo una delle versioni e premiamo invio ci ritroviamo nella schermata informativa di quel pacchetto. Fate attenzione perch� in questo modo si pu� perdere facilmente l'orientamento.
===Sicurezza===
Torniamo alla vista dell'albero dei pacchetti premendo "q" tante volte quanto serve (se vi sbagliate e lo premete una volta in pi� vi chiede se volete uscire dal programma: per il momento dite di no ;-)).
====Firewalling====
* [[Debian e iptables]]
* [[Firewall Builder]]
* [[Parametri a run-time per Netfilter]]


==Aggiornare i pacchetti==
====Monitoraggio & Scanning====
Per la descrizione dell'utilizzo di Aptitude user� come esempio una sessione reale, in cui vengono svolte alcune normali operazioni di aggiornamento e amministrazione dei pacchetti.
* [[Monitoriamo il Sistema]]
Per prima cosa, nella nostra sessione di amministrazione, aggiorniamo le informazioni sui pacchetti disponibili. Con apt-get avremmo digitato apt-get update, mentre in aptitude � sufficiente premere "u".
* [[Mrtg: monitoriamo la banda]]
* [[Cacti | Cacti: monitor di rete, per pi� computer]]
* [[Munin]]


Fate attenzione perch� aptitude non chiede conferma dopo che avete impartito un comando, quindi non digitate nulla senza prima essere sicuri/e di cosa state per fare.
====Proxy====
* [[Privoxy: navigazione sicura a prova di spam]]


Dopo aver fatto l'update potremmo trovare una, due, o tre voci nuove nell'albero dei pacchetti: "Aggiornamenti di sicurezza", "Pacchetti aggiornabili", e "pacchetti nuovi". Per fare scomparire le prime due � necessario aggiornare tutti i pacchetti contenuti nei rispettivi rami, mentre per far sparire la terza � sufficiente premere "f" (forget).
====Tunneling====
* [[Openvpn]]


Ora torniamo ai pacchetti mostrati prima e supponiamo di voler aggiornare amule: lo seleziono e premo "+". Questo marcher� in verde, cio� per l'installazione, sia amule che amule-common. Poi per� mi viene un'idea migliore, e decido di aggiornare tutti i pacchetti aggiornabili, quindi digito "^" per risalire al ramo superiore della vista, finch� arrivo a <tt>Pacchetti installati</tt> poi uso la freccia in alto e se necessario risalgo ancora ai rami superiori finch� non arrivo a <tt>Pacchetti aggiornabili</tt> e qui premo "+". Questo marcher� per l'installazione tutti i pacchetti aggiornabili :-D
== Hardware ==
=== Fotocamere digitali e dispositivi di memorizzazione di massa removibili ===
* [[Usare Fotocamere Digitali|Usare Fotocamere Digitali (libgphoto2)]]
* [[Usare Fotocamere Digitali (usb-storage)]]
* [[UsbMount: Gestione automatizzata delle periferiche usb di memorizzazione]]
* [[Debian e iPod]]


==Risolvere eventuali problemi con delle dipendenze==
=== Modem e periferiche di rete ===


Dopo aver marcato per l'installazione tutti i pacchetti aggiornabili, aptitude mi segnala nella zona blu che c'� un pacchetto "errato" cio� con problemi di dipendenze. Senza battere ciglio premo "b" e vedo:
* [[Debian e i Modem ADSL]]
<pre>
iB      udev          0.070    0.074
</pre>
dove "B" significa "con errori", e sotto si legge:
<pre>
Alcune dipendenze di udev non sono soddisfatte:


  *udev � in conflitto con module-init-tools (< 3.2pre9-1)
==== Modem USB ADSL ====
</pre>
* [[Installare i driver conexant accessrunner]]
premo invio su udev, e mi appare la schermeta con tutte le informazioni su udev stesso, comprese le dipendenze: seleziono module-init-tools e premo invio. Ora mi appaiono tutte le versioni disponibili di module-init-tools, tra cui vedo che � presente la 3.2pre9-1: non mi resta che selezionarla e marcarla per l'installazione :-D.
* [[Installare i driver eagle-adsl]]
Quello che � successo � semplicemente che nel mio sistema udev � in testing, e fino alla versione 0.070 funzionava bene con module-init-tools-3.2pre1-2, che invece � in stable. Aggiornando tutto ho marcato per l'installazione il nuovo udev, versione 0.074, che per� dipende da module-init-tools >= 3.2pre9-1. Poich� questo pacchetto � in testing, APT non ha potuto risolvere la dipendenza automaticamente: se un pacchetto � in una distribuzione (e APT � configurato nel modo giusto) non verr� mai passato ad un'altra, a meno che non siate voi a farlo manualmente.
* [[Installare i driver eci-adsl]] ''(stub)''
* [[Installare i driver unicorn (BeWAN)]] ''(stub)''
* [[Modem adsl Telindus ND220]]
* [[Modem adsl Aethra Starmodem]]
* [[Modem adsl Fastrate 100 USB]]


Vorrei far notare che questo comportamento non � un bug, ma una cosa voluta: APT ha ricevuto un comando ambiguo e lo segnala generando un errore, proprio come noi ci aspettiamo da lui ;-).
==== Modem Ethernet ====
In effetti, i reali colpevoli della generazione dell'errore siamo noi. Infatti, per permettere ad APT di gestire correttamente delle dipendenze in testing, dobbiamo semplicemente usare "testing" come distribuzione predefinita. Ricordate che abbiamo lanciato aptitude semplicemente con il comando "aptitude"? e ricorderete anche che il mio sistema � una sarge (stable). Questo equivale a lanciare aptitude con il comando "aptitude -t stable", da cui il nostro problema. Se avessimo usato "aptitude -t testing" aptitude avrebbe risolto correttamente la dipendenza, ma attenzione: in questo modo aptitude pensa che testing sia la nostra release predefinita (che non � vero) e mostrer� come aggiornabili tutti i pacchetti che lo sono in testin, cio� anche tutti quelli in stable (come peraltro ci aspettiamo che faccia ;-)).
* ''Inserire qui eventuali guide su modem ethernet''


Il fatto � che aptitude, per quanto avanzato, ancora non legge il pensiero dell'amministratore, e fa solo il suo mestiere: prende tutte le decisioni ovvie autonomamente, e genera un errore quando non sa cosa decidere.
==== Modem dial-up 56K ====
* ''Inserire qui eventuali guide su modem a 56K''


==Cercare un pacchetto==
==== Schede di rete Wireless ====
* [[Wireless Support | Informazioni sul supporto alle periferiche Wireless]]
* [[Script Bash abilitazione scheda wireless]]
* [[Intel PRO/Wireless 2200BG]]
* [[NdisWrapper | NdisWrapper: Usiamo i driver di Windows per il WLan con GNU/Linux]]


Ora vorrei vedere se in debian c'� qualche programma per la gestione dei contenuti, e l'acronimo in inglese � "cms". Per fare questo posso usare le funzioni di ricerca di aptitude: per prima cosa digito "/" per la ricerca della stringa "cms" nei nomi dei pacchetti.
=== Schede Video ===
Ora per� mi viene in mente che un cms non contiene necessariamente la stringa "cms" nel nome, quindi faccio una ricerca delle descrizioni per la stessa stringa: digito ancora "/" e inserisco "~dcms". Aptitude mi mostra il primo risultato della ricerca: per vedere il successivo premo "n" oppure "\".
* [[Installazione Driver ATI per schede ATI RADEON MOBILITY 9700 SE]]
 
=== Stampanti ===
==== Stampanti USB ====
* ''Inserire eventuali guide su come far funzionare stampanti con porta USB''
 
==== Stampanti con porta parallela ====
* [[Introduzione all'installazione di stampanti con porta parallela]]
 
==== Stampanti bluetooth ====
* [[Introduzione all'installazione di stampanti bluetooth]]
 
=== Scanner ===
* [[Epson Perfection 2480 photo - usb scanner]]
* ''Inserire qui eventuali altre guide su come far funzionare scanner con Debian''
 
===Palmari e cellulari===
* [[Debian e Nokia 7210: uso di gnokii e gestione degli sms]]
 
==Portatili==
===Laptop Debianizzati===
Troverete di seguito i resoconti d'installazione di Debian su dei portatili:
 
* [[Debian on an HP nx8220 | Debian on an HP nx8220]]
* [[Debian on a presario 2141EU | Compaq Presario 2100 (2141EU)]]
* [[Debian on a compaq Presario 2154EA | Compaq Presario 2100 (2154EA)]]
* [[Debian on a Toshiba Satellite M30X-113| Toshiba M30x-113]] ''(stub)''
* [[Debian on a HP Compaq NX6110| HP Compaq NX6110]]
* [[Debian on an HP pavilion zv5422EA| HP pavilion zv5000 (zv5422EA)]]
 
===Altro===
* [[Powernowd: CpuScaling per AMD]]
* [[Cpufreqd: Cpuscaling per Intel Pentium M]]
* Inserire qui anche link a risorse in italiano sui portatili
 
==Knoppix==
* [[Rimasterizzare una knoppix]]
 
==Crittografia==
* [[Crittografia e Steganografia - L'Arte di nascondere le informazioni]]
* [[Chiavi simmetriche e chiavi pubbliche]]
 
==Varie==
* [[Debian Fun]]