Questa guida vuole essere un introduzione per i nuovi utenti Linux che incontrano un problema, in genere con qualche periferica, e non sanno dove andare a cercare informazioni che possano aiutare a capire dov’è il problema..
Ancor prima di effettuare una ricerca su internet il problema può essere quello di capire cosa cercare.
Questa guida non ha la pretesa di essere completa, il sottoscritto non ha la presunzione di conoscere qualsiasi metodologia per scovare un problema su Linux 🙂 nonostante questo se scoprirò qualcosa di nuovo, o perché mi verrà segnalato, o perché mi ci imbatterò più o meno per caso la aggiungerò alla lista.
Talvolta la risoluzione di un problema dipende semplicemente dal saper dove cercare nel proprio sistema.
Inoltre si possono imparare moltissime cose imparando a leggere i log e cercando informazioni sui significati di quel che si legge.. (sempre se si ha la voglia di farlo…)
Versione 1.2 (06 Gennaio 2009) – comando lsof (cosa occupa la risorsa X?)
Versione 1.1 (23 Settembre 2008) – lista di parole chiave utili ai neofiti
Versione 1.0 – prima versione
I Log
in qualsiasi installazione Linux viene installato un “logger” del sistema: un log è un file sul disco dove vengono riposti messaggi che indicano cosa ha fatto il sistema, in genere sono informazioni, se c’è qualche problema però è molto probabile nel log ci siano informazioni utili per la risoluzione del sistema.
Comprendere un log non è cosa facile per i nuovi utenti, ma sapere quali possono essere utile ad un utente esperto può essere una buona base di partenza! Senza capire il contenuto possiamo copiare quel file e inviarlo via e-mail a chi è disposto ad aiutarci così da fornirgli informazioni utili!
Il consiglio è comunque quello di provare a leggerlo da soli.. è anche possibile che l’errore salti all’occhio e in genere si finisce con l’imparare qualcosa di utile sul sistema, facendo un piccolo passo per diventare un utente “pro”.
Quasi tutti i servizi mantengono un log che è possibile consultare, cercherò qui di stilare una lista dei più importanti.
molti log li trovate nella cartella /var/log/ alcuni possono essere letti solo da utente root, altri potete leggerli anche da utenti “normali”
Comandi utili
quasi tutto si può fare da modalità grafica.. quasi.. alcune cose vengono meglio fatte da un terminale..
ecco qualche comando utile ( per gli utenti che si vogliono cimentare ):
- tasto TAB: completamento automatico di comandi, nomi di file e quant’altro, quando siete nel terminale provate a iniziare a scrivere un comando e premere TAB una o 2 volte, vi uscirà una lista dei comandi che cominciano con quelle lettere 🙂 lo stesso vale mentre scrivete nomi di file
- combinazione tasti CTRL+C: per interrompere qualunque comando dalla console e riottenere il “prompt”
- man <nome-comando> # apre il manuale del comando spiegandone il funzionamento, per i comandi più comuni il manuale è in italiano, per altri potrebbe essere disponibile solo in inglese, i comandi per muoversi all’interno sono come quelli del comando “less” spiegato qui sotto (es. man tail vi apre il manuale del comando “tail”)
- less <nomefile> # permette leggere un file, per navigare il file si possono usare le frecce su / giù o pag-su / pag-giù per scorrere più rapidamente, premendo “/” e scrivendo si può cercare un termine, con il tasto “q” si esce.. ( es. less /var/log/syslog ) per ulteriori informazioni usare “man”
- zless <nomefile> # stessa cosa del comando less, ma permette di leggere file compressi con gzip (estensione .gz)
- dmesg # lo vedremo dopo
- tail <nomefile> # questo comando mostra la “coda” del file, ovvero le ultime righe.. in realtà questo comando è molto utile se si lancia così: tail -f <nomefile> che vuol dire apri la coda del file e non lo chiudere, scrivimi tutto ciò che viene inserito nel file man mano che viene inserito.. è più facile provarlo che spiegarlo.. farò un esempio dopo ( per uscire premere CTRL+C)
- cp <nomefileorigine> <nomefilecopiato> # questo serve a copiare un file, nel caso non riusciste a farlo per via grafica, per qualunque motivo, se non vi dice nulla è andato tutto bene
- chown nomeutente:nomeutente <nomefile> # questo serve a cambiare il proprietario del file, sostituire “nomeutente” con il nome del vostro utente.. (es. chown daniele:daniele /home/daniele/copia-del-file-di-sistema ), anche questo vi serve se per caso non avete la possibilità di farlo in modalità grafica
- grep <stringa-di-ricerca> <nomefile> # questo comando serve per “filtrare” un file mostrando solo alcune righe, ad esempio: grep error /var/log/syslog vi restituisce solo le righe di /var/log/syslog che contengono la parola “error”, consiglio però questa variante: grep -i error /var/log/syslog il comando questa volta dice di non considerare minuscole e maiuscole, così troverete anche le righe che contengono “Error” e “ERROR”.
- comando-qualunque > nomefile 2>&1 # crea un file che si chiama “nomefile” e mette all’interno tutto quello che avrebbe scritto in console 🙂 ad esempio se avete un errore lanciando un programma potete utilizzare questo metodo per copiare tutti gli errori su un file da consultare con calma in un secondo momento
Ulteriore utilità: per scrivere da console nomi di file con caratteri strani o “spazi” usare la barra “\”
esempio:
questo file ha degli spazi
diventa
questo\ file\ ha\ degli\ spazi
il tasto TAB farà da solo questo lavoro 🙂 ma se avete due file che iniziano con “questo<spazio>” potrebbe esservi utile
Log di sistema
È ovviamente il primo posto in cui guardare quando si hanno problemi con qualche periferica ( anche se in genere io preferisco usare prima dmesg, trattato al prossimo punto, perché meno incasinato e più immediato ) 🙂 o quando il sistema si comporta in modo “strano”. Nei rari casi poi in cui potreste sperimentare un crash del sistema è probabile che troverete qui qualche informazione in merito.. in genere sono dovuti a qualche hardware che si è rotto.. il log può aiutarvi a capire quale sia quest’hardware (talvolta)
il posto dove trovare questi log varia in base al programma installato sul vostro sistema, in genere però troverete il log del sistema in questa posizione:
/var/log/syslog
per ragioni di sicurezza tale file è leggibile solo con i privilegi di root, apritelo come più vi aggrada quindi, con l’accortezza di farlo da root (ad esempio con sudo gedit /var/log/syslog o per via grafica cliccando con il destro sulla cartella /var e scegliendo “apri come amministratore”)
il sistema mantiene anche i log passati.. di molto tempo fa
/var/log/syslog <– qui troveremo il log della sessione corrente (cioè quella che stiamo usando in questo momento) e alcune di quelle precedenti
/var/log/syslog.0 <– qui troveremo quelle un po’ più datate
/var/log/syslog.1.gz <– qui troveremo quelle ancora più vecchie, compresse con gzip, sono quindi archivi.. per leggerle è necessario scompattarle
/var/log/syslog.2.gz <– ancora più vecchi..
… e così via …
Se la grafica non dovesse funzionarvi, per qualunque ragione è possibile consultare questi log con il comando less /var/log/syslog ( o zless /var/log/syslog.1.gz per quelli compressi) da root e da terminale/console, oppure potete usare “nano” o “vim“, due editor da console 🙂 che consiglio di imparare (almeno uno dei 2), può sempre servire (io adoro “vim” per esempio, e lo uso spesso al posto di gedit)…
May 11 13:46:17 localhost kernel: klogd 1.4.1#20, log source = /proc/kmsg started.
May 11 13:46:17 localhost kernel: Linux version 2.6.18-k8-crypt (2.6.18-k8-crypt-10.00.Custom) (root@mastro) (gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)) #1 SMP Sat Jan 13 12:11:04 CET 2007
all’interno del log troveremo qualcosa di simile, come vedete ogni riga ha una data ed un orario, il che può aiutarvi in diverse occasioni.. queste sono le prime righe che troverete dopo un avvio del vostro sistema (o qualcosa di simile)
se proprio non ci capite nulla.. semplicemente copiate il file (da root copiatelo da qualche parte e cambiate il proprietario in modo da poterlo usare liberamente, NON cambiate il proprietario direttamente sul file originale!) e mandatelo a qualcuno che sappia cavarne fuori qualcosa spiegandogli con vostre parole il problema 😀
dmesg
altro log di sistema, qui dentro trovate spesso informazioni più utili che in /var/log/syslog (secondo me)
potete consultare i file
/var/log/dmesg
/var/log/dmesg.0
/var/log/dmesg.1.gz
…
oppure potete usare il comando “dmesg” per avere lo stesso risultato (usando il comando non è necessario essere root) (CONSIGLIATO)
qui dentro ad esempio ci sono informazioni “in tempo reale” su cosa collegate al vostro computer..
ad esempio.. avete collegato una chiavetta usb o uno scanner, o un altra periferica e non sapete se è stata rilevata o se ha avuto qualche problema?
lanciate dmesg e guardate le ultime righe..
può essere utile il comando:
dmesg | tail
che dice: tutto ciò che “esce” da dmesg dallo al comando “tail”, in poche parole vi fa vedere l’ultima parte di dmesg (quel simbolo “|” si chiama “pipe” per chi volesse cercare qualche info in proposito)
a questo punto inserite la periferica e rilanciate dmesg.. vedrete comparire diverse scritte, se qualcosa è andato storto in quelle poche righe ci sarà sicuramente qualcosa di utile per capire cos’è andato storto.. può essere utile passarle ad un amico esperto (come al solito) o inserirle in un motore di ricerca e vedere cosa salta fuori 🙂
NOTA: questo è vero solo per periferiche come l’USB, periferiche che usano la porta parallela (es. vecchi scanner e stampanti) non vengono rilevate in automatico ma solo quando “cercati”
prendo la mia chiavetta usb e la attacco..
qui qualcosa è andato storto
usb 2-2: new full speed USB device using ohci_hcd and address 4
usb 2-2: device descriptor read/64, error -110
usb 2-2: device descriptor read/64, error -110
usb 2-2: new full speed USB device using ohci_hcd and address 5
usb 2-2: device descriptor read/64, error -110
usb 2-2: device descriptor read/64, error -110
usb 2-2: new full speed USB device using ohci_hcd and address 6
usb 2-2: device not accepting address 6, error -110
usb 2-2: new full speed USB device using ohci_hcd and address 7
usb 2-2: device not accepting address 7, error -110
e infatti il mio sistema non fa nulla… in questo caso mi è bastato staccarla e riattaccarla, a volte capita (anche in windows)
rilancio dmesg, ecco cosa è accaduto (in questo caso tutto ha esito positivo), tanto per darvi un idea
usb 3-4: new high speed USB device using ehci_hcd and address 5
usb 3-4: configuration #1 chosen from 1 choice
Initializing USB Mass Storage driver…
scsi0 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 5
usb-storage: waiting for device to settle before scanning
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
Vendor: USB 2.0 Model: Flash Disk Rev: 0.00
Type: Direct-Access ANSI SCSI revision: 02
usb-storage: device scan complete
SCSI device sda: 512000 512-byte hdwr sectors (262 MB)
sda: Write Protect is off
sda: Mode Sense: 00 00 00 00
sda: assuming drive cache: write through
SCSI device sda: 512000 512-byte hdwr sectors (262 MB)
sda: Write Protect is off
sda: Mode Sense: 00 00 00 00
sda: assuming drive cache: write through
sda: sda1
sd 0:0:0:0: Attached scsi removable disk sda
in questo caso mi si è aperta la cartella con i dati della mia chiavetta
come vedete posso vedere che il mio sistema è riuscito a rilevare la chiavetta, la dimensione e varie altre caratteristiche, se siete curiosi potete cercare cosa sono su un motore di sicurezza.. imparerete così un sacco di cose 😀 altrimenti potete vivere comunque abbastanza bene senza saperlo..
IMPORTANTE: dmesg può essere impostato su diversi livelli di dettaglio ognuno con il suo significato
il comando per modificare il livello di dettaglio è: “dmesg -n7” che va dato da utente root! Il numero 7 è il livello di dettaglio che vogliamo… Ogni livello definisce la “criticità” minima che vogliamo conoscere, il livello 1 è quello minimo, il livello 8 quello con più dettagli! Ma eccovi i significati di ogni livello
- 1: KERN_EMERG, errori che rendono il sistema inutilizzabile
- 2: KERN_ALERT, errori per cui va fatto qualcosa immediatamente
- 3: KERN_CRIT, errori critici
- 4: KERN_ERR, condizioni di errore
- 5: KERN_WARNING, avvertimenti
- 6: KERN_NOTICE, notifiche di qualcosa di significativo ma normale
- 7: KERN_INFO, informazioni
- 8: KERN_DEBUG, informazioni di debug del kernel
Io consiglio di impostare un livello 6 o 7!
Se poi voleste avventurarvi in quel che succede nei minimi dettagli potete provare un level 8!
Una volta cambiato il livello il sistema dovrebbe iniziare a registrare le condizioni successive che lo caratterizzano (in altre parole se lanciate dmesg quindi cambiate livello e lo rilanciate non vedrete cambiamenti immediati)
Log delle installazioni (sistemi Debian, come Ubuntu)
le altre distro avranno sicuramente i propri log.. 🙂 basta sapere che esistono e come si chiama il sistema per pacchettizzare (Debian = apt, Gentoo = emerge, RedHat = yum ecc..)
in /var/log/dpkg.log potete trovare tutto il log di dpkg (programma usato da apt per installare e disinstallare software), qui potete vedere tutti i programmi che avete installato, quando (data e ora), quelli rimossi ecc…
se dopo un aggiornamento è spuntato qualche problema qui potete vedere quali pacchetti sono stati aggiornati/installati, il che può aiutare voi ( o qualcuno per voi ) a trovare il colpevole e quindi a risolvere temporaneamente il problema ( ad esempio reinstallando la versione precedente che non aveva i problemi )
Log del server grafico X
pensavate che X non lasciasse un log? 😀
X è quello che viene chiamato “server grafico”, ovvero quel programma (servizio) che crea l’ambiente grafico, gestisce la scheda video, le periferiche di interfaccia uomo-macchina (tastiera, mouse, tavoletta grafica ecc…), i font (caratteri) ecc.. ecc..
se l’interfaccia grafica non vi parte o avete problemi con il driver i vostri amici più grandi sono “dmesg” e il log di X
ecco dove si trova:
/var/log/Xorg.0.log
qui trovate l’ultimo log
nelle prime righe troviamo una legenda
Markers: (–) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
come da qui si evince.. cercando “(EE)” troveremo gli errori, cercando “(WW)” gli avvertimenti..
una lettura completa comunque se il problema non è immediatamente identificato non farà male 🙂
qui potremmo in genere trovare informazioni utili per capire perché non abbiamo accellerazione 3D, o perché il mouse non funziona, o perché il server grafico non è riuscito a partire in generale
file utili:
/etc/X11/xorg.conf
file da cui il server X (Xorg) prende tutte le configurazioni per partire, prima di fare modifiche è sempre consigliato farsi una copia di backup
comandi utili:
riavviare il server grafico.. ( serve essere root)
per chi ha gnome ( es. ubuntu ) e quindi, in genere, usa gdm per gestire i login
/etc/init.d/gdm restart
per chi ha KDE ( es. kubuntu) e quindi, in genere, usa kdm per gestire i login
/etc/init.d/kdm restart
oppure da utente normale il comando: startx
inoltre se X parte ma non riuscite ad accedere a Gnome o KDE ( o altro desktop manager ) nella cartella dell’utente il file .xsession-errors (nascosto) può dare qualche informazione utile ulteriore..
Informazioni sul sistema
Questo comando
uname -a
che nel mio sistema dà questo risultato:
Linux mastro 2.6.18-k8-crypt #1 SMP Sat Jan 13 12:11:04 CET 2007 i686 GNU/Linux
indica il nome del sistema, la versione del kernel ( e qualche info su come è compilato) nonché la data a cui è stato compilato, fornitelo sempre e comunque quando chiedete
altro comando utile:
lspci
fornisce la lista delle periferiche connesse al bus PCI (quasi tutte) con il loro nome rilevato..
quando fornite i nomi di una periferica che da problemi è utile usare questo comando per fornirne il nome dato da Linux, o comunque usare tale nome per cercare informazioni su internet
per avere più informazioni su una periferica potete prendere il primo numero
00:06.1 Modem: nVidia Corporation nForce3 Audio (rev a2)
questo è il mio winmodem
quindi dare il comando lspci -v e cercare la parte con quel numero (questo comando dato da root da più informazioni, quindi datelo da root)
00:06.1 Modem: nVidia Corporation nForce3 Audio (rev a2) (prog-if 00 [Generic])
Subsystem: ASUSTeK Computer Inc. Unknown device 1856
Flags: 66MHz, fast devsel, IRQ 185
I/O ports at e800 [disabled] [size=256]
I/O ports at ec00 [disabled] [size=128]
Memory at febff000 (32-bit, non-prefetchable) [disabled] [size=4K]
Capabilities: [44] Power Management version 2
ancora più utile il comando lspci -nv che sostituisce il nome ( Modem: nVidia Corporation nForce3 Audio ) con il codice marca/modello come vedete lo possiamo identificare tramite il codice 00:06.1, il codice in grassetto ci dice il “vendor” (produttore) e il codice del modello, questo codice è quasi univoco e mi ha permesso ad esempio di trovare quale fosse il driver giusto per il mio winmodem
00:06.1 0703: 10de:00d9 (rev a2) (prog-if 00 [Generic])
Subsystem: 1043:1856
Flags: 66MHz, fast devsel, IRQ 185
I/O ports at e800 [disabled] [size=256]
I/O ports at ec00 [disabled] [size=128]
Memory at febff000 (32-bit, non-prefetchable) [disabled] [size=4K]
Capabilities: [44] Power Management version 2
un comando simile a lspci ma per l’usb è il seguente:
lsusb
anche questo disponibile nella versione lsusb -v
talvolta i nomi “commerciali” (che trovate sulla scatola) delle periferiche non aiutano a capire di cosa si tratti, questi comandi possono aiutare di più chi sta cercando di aiutarvi
e ancora…
lsmod
fornisce la lista dei moduli ( o driver ) caricati in memoria
con modprobe <nomemodulo> (da root) possiamo caricare un modulo in memoria
con modprobe -r <nomemodulo> (da root) possiamo rimuoverlo (se questo non è utilizzato da qualcosa)
con modinfo <nomemodulo> abbiamo informazioni sul modulo 🙂
i moduli si trovano tutti in /lib/modules/2.<versione-del-kernel>/
Se non vi lascia smontare la chiavetta o estrarre un CD/DVD
In genere questo accade perché c’è qualche programma che sta utilizzando la risorsa. (device is busy)
ecco i comandi utili per capire che cosa blocca la nostra risorsa!
fuser -mav /dev/cdrom
che darà come risultato qualcosa tipo:
USER PID ACCESS COMMAND /dev/cdrom: daniele 4938 f.... cat daniele 5376 ..c.. bash
in pratica otterrete una lista di cosa sta occupato la risorsa che vi interessa
in questo caso ho riprodotto manualmente una situazione poco probabile solo a scopo di esempio.. il programma che blocca la risorsa /dev/cdrom (cioè il cdrom) è “cat”, il PID (Process ID: ogni processo che gira sul vostro sistema ha un PID che lo identifica e che potete usare per diverse cose se sapete come). Vi viene in oltre segnalato qual’è l’utente che ha lanciato quel comando (daniele) e il tipo di accesso alla risorsa
- f = file aperto
- c = directory corrente (un terminale si trova in quella directory)
- e = eseguibile in esecuzione (c’è un programma dentro a quella risorsa che sta “girando”)
- r = root directory (la risorsa contiene la directory di root.. non vi capiterà praticamente mai)
- m = un file è mappato in memoria o c’è una libreria condivisa
NOTA: il comando fuser -mav /media/cdrom non avrebbe dato lo stesso effetto.
/media/cdrom è la posizione dove il cdrom viene “montato”. La risorsa è /dev/cdrom. In questo esempio il comando “cat” non sarebbe stato rilevato con il secondo comando!
quindi che fare?
se avete capito dal comando qual’è il programma aperto e sapete come chiuderlo, magari salvando il lavoro, potete procedere e quindi smontare/ejectare il dispositivo come al solito.altrimenti potete “uccidere” i processi che bloccano la risorsa.
Nel caso di CD/DVD talvolta è sufficiente dare il comando
eject /dev/cdrom
o eject /dev/dvd
ma non sempre funziona… Proseguite la lettura
una versione leggermente modificata del comando precedente dovrebbe fare al caso vostro:
fuser -mavk /dev/cdrom
che richiede la lista di processi che occupano la risorsa e richiede di “ucciderli” (Killarli) tutti.
Questo comando può però uccidere solo i processi generati dal vostro utente (nel mio caso “daniele”). Se il processo appartiene a “root” (amministratore di sistema) o ad un altro utente dovete dare questo comando dagli altri utenti.. o più semplicemente darlo da root 🙂
in questo caso quindi
sudo fuser -mavk /dev/cdrom
o se sudo non è impostato nel vostro sistema date il comando “su“, quindi inserite la password di root e date il comando fuser -mavk /dev/cdrom
Se anche questo non dovesse funzionare o volete “uccidere” solo alcuni processi piuttosto che chiedere loro di terminare normalmente anziché ucciderli potete seguire un altra strada:
il comando kill fa al caso nostro:
kill -15 5376
riprendendo l’esempio sopra questo comando chiede di terminare normalmente (-15) il processo con il PID 5376. Nell’esempio sopra si trattava del terminale (bash).
Se non ne vuol sapere di chiudersi potete ucciderlo con quest’altro comando:
kill -9 5376
Unica differenza il parametro -9 che significa: uccidi il processo.
Come prima questi comandi devono essere dati dall’utente proprietario del processo oppure da root (che può uccidere o terminare qualunque processo di qualunque utente)
Esempi di risorse
/dev/cdrom è la risorsa “cdrom”, ma le chiavette e i DVD?
- /dev/cdrom
- /dev/dvd
- /dev/sda
- /dev/sdb
- /dev/sdc
- ecc..
sono alcuni esempi: le chiavette sono in genere /dev/sda. Se /dev/sda è già un disco o un altra chiavetta sarà /dev/sdb quindi /dev/sdc e così via
come lo scoprite?
dal comando dmesg che ho spiegato prima per esempio
scsi1 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 7
usb-storage: waiting for device to settle before scanning
Vendor: USB 2.0 Model: Flash Disk Rev: 0.00
Type: Direct-Access ANSI SCSI revision: 02
SCSI device sdb: 512000 512-byte hdwr sectors (262 MB)
sdb: Write Protect is off
sdb: Mode Sense: 00 00 00 00
sdb: assuming drive cache: write through
SCSI device sdb: 512000 512-byte hdwr sectors (262 MB)
sdb: Write Protect is off
sdb: Mode Sense: 00 00 00 00
sdb: assuming drive cache: write through
sdb: sdb1
sd 1:0:0:0: Attached scsi removable disk sdb
usb-storage: device scan complete
In questo esempio vi mostro che è successo collegando la mia chiavetta… le aree in grassetto mostrano dove viene assegnato un “device” (dispositivo). Cioè /dev/sdb è un file che rappresenta la mia chiavetta! Si potrebbe dire che per Linux /dev/sdb È la mia chiavetta!
Poco più sotto viene rilevata una partizione nel mio device e viene numerata /dev/sdb1
Nel mio caso la chiavetta ha una sola partizione, se la vostra (o il vostro disco esterno) ne ha più di una verranno numerate in ordine crescente sda1, sda2, ecc…
un altro modo per scoprirlo?
Se la vostra chiavetta è stata montata (potete accedere ai file e scriverci sopra) scrivete nel terminale
mount
semplicemente
/dev/sdb1 on /media/NOMECHIAVETTA type vfat (rw,nosuid,nodev,shortname=lower,uid=1000)
nella lista avrò anche questo…
vedete il nome della risorsa e dov’è stata montata, quindi il tipo di filesystem (vfat) e le opzioni di montaggio… Se siete curiosi man mount risponderà alle vostre domande.
Sicuramente ci sono altri modo per scoprire quali sono i nomi dei device assegnati da Linux, io ve ne ho dati 2 🙂
Cosa occupa la risorsa X?
Il comando “fuser -mav” va bene per qualunque risorsa di sistema ma talvolta non è di alcun aiuto: quando ad esempio la risorsa è occupata da qualche servizio e risulta aperta da moltissimi programmi, anche di sistema! In questi caso se agiamo come per il lettore CD dovremmo praticamente spegnere il computer per liberare la risorsa, il che ha ovviamente poco senso.
Un comando più preciso di “fuser” è “lsof” che elenca tutti i file aperti (in Linux ogni risorsa è un file) ed il programma che lo ha aperto. In genere la lista prodotta è piuttosto lunga ma conoscendo il nome della risorsa è facile scovare quel che ci serve.
Supponiamo ad esempio che la nostra webcam sia utilizzata da qualche programma. Il “device” associato alla webcam è in genere /dev/video0 quindi con il comando:
lsof | grep video0
sapremo qual’è il software che sta bloccando quella risorsa.
In generale
lsof | grep nome_risorsa
Una volta scoperto cosa blocca la risorsa possiamo fare ricerche sul web per capire di che si tratta e se ci serve o meno. In ogni caso sapremo dove orientarci a cercare una soluzione.
Processore al 100% e non sapete che cosa lo provoca?
Ci sono programmi appositi su ogni Desktop Manager per gestire questa cosa (corrispondenti al programma che su Windows si ottiene premendo la combinazione di tasti CTRL+ALT+CANC). Su Linux non c’è una combinazione del genere: esistono diversi programmi, grafici e non, per fare la stessa cosa :). Su gnome c’è gnome-system-monitor per esempio.
Io però qui vi mostro come fare da terminale per 2 motivi:
- Il terminale è sempre comunque disponibile, anche se l’ambiente X non dovesse funzionare
- Questi comandi sono presenti in TUTTE le distribuzioni Linux perché parte di GNU (ricordate? È GNU/Linux non “solo” Linux)
allora
comando ps
o meglio
ps ax
ci da una lista dei processi in esecuzione sul nostro pc.. lista piuttosto lunga in genere 😀 (se volete vedere anche le dipendenze tra processi… cioè se il processo X ha lanciato il processo Y aggiungete “l”, di Livorno, ai parametri)
L’ordine in cui la lista dovrebbe essere presentata è quello di esecuzione, alla fine troverete gli ultimi comandi eseguiti 🙂
Questo comando (aprite un terminale ed eseguitelo) ci presenta diverse informazioni
PID TTY STAT TIME COMMAND 5010 ? SNs 1:45 /usr/sbin/cupsd 8242 ? S 0:00 /bin/sh /usr/bin/icedove 8246 ? S 0:00 /bin/sh /usr/lib/icedove/run-mozilla.sh /usr/lib/iced 8251 ? Sl 0:53 /usr/lib/icedove/icedove-bin 4470 pts/1 Ss+ 0:00 bash 5376 pts/2 Ss 0:00 bash 6699 pts/2 R+ 0:00 ps ax
L’esempio sopra mostra la “coda” del comando, cioè le ultime righe sul mio sistema in questo momento
Le informazioni che ci interessano sono il PID (che identifica ogni processo), il comando e volendo lo “stato”. Time se non sbaglio è il tempo effettivo di occupazione del processore dall’accensione del PC.
Gli stati di un processo sono
- R = Runnable (il processo può essere messo in esecuzione/è in esecuzione)
- S = Sleeping (dormiente)
- D = sta “dormendo” ma non può essere interrotto
- T = sTopped ( è stato fermato ma esiste ancora)
- Z = Zombie (Lo stato Zombie avviene quando un processo termina, “muore”, ma resta nella lista processi perché chi lo ha lanciato possa vedere che ha terminato. Se il chiamante non verifica e fa sparire tale processo questo rimane nello stato di zombie finché non viene terminato il processo che lo aveva lanciato)
- W = se non sta occupando in alcun modo la memoria di sistema
- N = processo ad alta priorità (Nice è il programma per gestire le priorità dei processi)
un altro comando è “top”
top
provate a lanciarlo.. questo programma resta aperto e vi mostra i processi attivi in continuo aggiornamento: in alto ci saranno quelli che occupano più processore a scendere verso chi ne occupa meno. Con il tasto “M” possiamo far comparire/scomparire le informazioni sull’utilizzo della memoria del sistema. Tasto Q per uscire.
Per ulteriori informazioni su questi due comandi rimando come al solito ai loro manuali (man ps e man top). Questo vale in realtà per qualunque comando 🙂 anche man man volendo (il manuale del manuale)
ora che ce ne facciamo di queste informazioni?
come spiegato nella sezione precedente possiamo ad esempio terminare i programmi o ucciderli dal loro PID con i comandi kill -15 PID e kill -9 PID (rimando alla sezione precedente per i dettagli, oppure un bel man kill anche qui)
NOTA: non potete uccidere (kill) i processi zombie perché sono già “morti” 😀 macabro? naaa.. son solo processi non sentitevi in colpa! 😛
Identificato il processo che ci sta consumando il processore o la ram possiamo ucciderlo in questo modo!
Problemi di rete?
Ci sono diverse cose da sapere:
il comando ping può essere usato per verificare se un computer della rete “risponde” o meno:
ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=255 time=1.58 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=255 time=1.20 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=255 time=1.20 ms
prova a mandare un messaggio al computer con l’indirizzo 192.168.1.1 per vedere se risponde, nell’esempio qui sopra il computer ha ovviamente risposto (tempo di risposta 1.58 millisecondi al primo messaggio). Per interrompere il ping potete premere la combinazione di tasti Control+C.
oppure potete provare a “pingare” un server su internet (ping http://www.google.com)
il comando, dato da root, ifconfig può darvi le informazioni su tutte le interfacce di rete nel vostro sistema (eventualmente ifconfig -a per vedere anche quelle spente)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:353 errors:0 dropped:0 overruns:0 frame:0
TX packets:353 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:91475 (89.3 KiB) TX bytes:91475 (89.3 KiB)
è l’interfaccia di rete chiamata “loopback” esiste su tutti i computer, è un interfaccia virtuale (fittizzia).. il vostro indirizzo di rete fittizzio è 127.0.0.1
eth1 Link encap:Ethernet HWaddr 00:12:34:ab:cd:xz
inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::1234:abcd:feac:39cb/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:190496 errors:0 dropped:0 overruns:0 frame:0
TX packets:189107 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:139792725 (133.3 MiB) TX bytes:82725746 (78.8 MiB)
Interrupt:17 Base address:0x6000
ci sono parecchie informazioni qui sulla vostra scheda di rete.. intanto Linux la chiama “eth1”, ha il mac address “00:12:34:ab:cd:xz” e l’indirizzo ip è “192.168.1.2” il resto per ora potete ignorarlo..
wlan0 Link encap:Ethernet HWaddr 00:ab:cd:12:34:xz
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
questa invece è la scheda wireless, anche qui potete leggere il mac address… ma non c’è altro di interessante sulla scheda wireless
con il comando ifconfig potete provare a forzare l’accensione della scheda (ifconfig eth1 up, per accendere la scheda che si chiama eth1) o spegnerla (ifconfig eth1 down), potete impostare manualmente un indirizzo ip associato alla scheda (ifconfig eth1 192.168.1.10)
Per le schede wireless ci sono altri 2 comandi utili: iwconfig e iwlist. Il primo è una sorta di “ifconfig” specializzato per schede wireless:
iwconfig
wlan0 IEEE 802.11g ESSID:”nome_della_rete_a_cui_siete_collegati”
Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated
Retry min limit:7 RTS thr:off Fragment thr=2346 B
Encryption key:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
potete leggere il nome della rete a cui siete collegati, se siete associati a qualche access point o meno, se è attiva la criptografia per la connessione in atto, la qualità del collegamento, livello del segnale ecc…
potete usare lo stesso comando per associare la scheda wireless ad un particolare essid (iwconfig wlan0 essid NOME_DELLA_RETE) e anche se non è forse il metodo più semplice potete impostare usando iwconfig molti altri parametri della scheda.. vi rimando al manuale (man iwconfig)
iwlist invece serve per mettere la vostra scheda in ricerca di reti wireless nella zona (iwlist wlan0 scan),vi darà informazioni quali nomi (essid) delle reti trovate, potenza del segnale ecc…
le impostazioni delle interfacce di rete sono mantenute in un file /etc/network/interfaces
auto lo
iface lo inet loopback
imposta l’interfaccia virtuale di loopback, non preoccupatevene
allow-hotplug eth1
iface eth1 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1
questa è una tipica impostazione statica per la scheda di rete… la prima istruzione dice di permettere di “staccare/riattaccare il cavo di rete”. Come vedete tra le impostazioni c’è anche l’indirizzo ip del gateway
auto eth1
questo invece direbbe di rilevare automaticamente le impostazioni di rete, quindi può andare bene per sfruttare il dhcp del vostro router di casa per esempio. Attenzione perché quest’impostazione talvolta resetta le impostazioni manuali decise da voi.. quindi sembra funzionare tutto e invece dopo un po’ smette di funzionare.. quella simpatica opzione è entrata in azione reimpostandovi l’ip e i DNS (vedi sotto per info su questi ultimi)
Queste istruzioni vengono utilizzate all’avvio del computer ma potete richiamarle manualmente se occorre con i comandi ifdown e ifup.
ifdown eth1 spegne la scheda di rete “eth1” mentre ifup eth1 la riaccende impostandola com’è indicato nel file appena visto.
ci sono un altro po’ di cose da conoscere sulle reti.. ma è necessario avere qualche conoscenza di reti per comprenderle a fondo! Comunque le vediamo perché sono essenziali per una connessione di rete completa…
la prima è la tabella di routing: definisce in sostanza le regole per smistare i pacchetti di rete
il comando route -n vi stampa la routing table
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth1
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth1
a parte l’impaginazione approssimativa… vediamo di capire questa routing table:
gli indirizzi del tipo 192.168.1.x vengono mandati attraverso l’interfaccia eth1 (la scheda di rete), il “gateway” è “0.0.0.0” in sostanza non è definito alcun gateway..
gli indirizzi del tipo 169.254.x.x vengono anch’essi mandati alla scheda di rete e non è definito alcun gateway..
infine tutti gli altri indirizzi (0.0.0.0) vengono mandati alla scheda di rete e in particolare all’indirizzo 192.168.1.1 che è il nostro gateway, di solito questo è l’indirizzo del router!
NOTA BENE: se esistono 2 gateway solo il primo verrà considerato perché la tabella è consultata dal kernel partendo dall’alto e fermandosi appena trova una regola che soddisfa il pacchetto.
si può modificare e manipolare questa tabella con il comando route, leggetevi il manuale (man route) o cercate informazioni su internet se vi serve cambiarla manualmente
infine i DNS: molti non sanno neppure cosa sono eppure senza questo servizio (Domain Name Server) mettendo “www.google.com” o qualunque altro indirizzo nella barra di navigazione non capiterebbe proprio nulla! Il compito dei DNS è proprio quello di tradurre il “nome” di un dominio (es. http://www.google.com) con un indirizzo ip (es. 64.233.183.104) che viene utilizzato per collegarsi effettivamente con “www.google.com”.
Se i DNS non sono impostati correttamente sarete connessi alla rete ma non potrete navigarla usando i nomi. In questo caso alcuni programmi potrebbero funzionare (es. skype perché non usa i nomi ma direttamente gli indirizzi ip) mentre altri no…
ad esempio:
ping: unknown host http://www.google.com
significa che non è stato possibile “risolvere” il nome “www.google.com” con un indirizzo ip: il che può essere perché non siete connessi a internet oppure perché, anche se siete connessi a internet, i DNS non sono impostati correttamente.
il file con le impostazioni sui DNS è /etc/resolv.conf
nameserver 192.168.1.1
nameserver 208.67.222.222
nameserver 208.67.220.220
in questo caso sono impostati 3 indirizzi DNS, il primo è l’indirizzo che io (penso) essere il mio router, gli altri 2 sono quelli del servizio di DNS gratuito di opendns ma in genere i DNS vengono forniti dal vostro provider in modo automatico, e se il vostro non è un router farlocco dovrebbe “passarveli” se utilizzate il DHCP, se invece usate un impostazione ad IP statico dovete impostarli voi… I server dns in questo file vengono interrogati uno dopo l’altro finché non se ne trova uno che risponde…
appena salvate le modifiche a questo file saranno immediatamente attive e quindi potete riprovare il ping:
ping http://www.google.com
PING http://www.l.google.com (66.249.91.147) 56(84) bytes of data.
64 bytes from ik-in-f147.google.com (66.249.91.147): icmp_seq=1 ttl=241 time=64.7 ms
64 bytes from ik-in-f147.google.com (66.249.91.147): icmp_seq=2 ttl=241 time=103 ms
64 bytes from ik-in-f147.google.com (66.249.91.147): icmp_seq=3 ttl=241 time=66.7 ms
come vedete stavolta l’indirizzo è stato risolto: “PING http://www.l.google.com (66.249.91.147) 56(84) bytes of data.” E se voi mettete quell’indirizzo nella barra del browser al posto di “www.google.com” vi ritroverete sul sito di google 🙂
Ecco la “base” dei comandi per debuggare la vostra configurazione di rete…
in genere si procede facendo un ping a un qualche server web che si sa rispondere ai ping (come google) o all’indirizzo della macchina che si vuole raggiungere, poi se non funziona si prova a pingare il router (se ce n’è uno) o un altra macchina che si sà essere in rete.. quindi si comincia a guardare le varie impostazioni e chiedersi se sono corrette…
Quasi tutto questo si può fare con tool grafici ma è utile sapere cosa accade sotto, specialmente quando i tool grafici non ci permettono di capire cosa non va…
Parole chiave utili ai neofiti
Sei nuovo di GNU/Linux e non sai dove girarti? Leggi qui…
Hai un problema con l’audio? (microfono compreso)? la parola chiave è alsa: il componente del kernel linux che si occupa di gestire il driver. Se il tuo è un problema di codec prova a cercare gstreamer.
Problema video? cerca il nome del tuo driver (a seconda della scheda grafica) e xorg o xorg.conf seguito da una breve descrizione del problema (possibilmente in inglese) (es. black screen, no 3d ecc…) o meglio ancora andate a vedere il log di xorg (come spiegato nella sezione precedente) e copiate l’errore:
- scheda Intel: intel
- scheda ATI: (driver Open) ati , radeon; (driver chiusi) fglrx [che trovi su http://www.ati.com]
- scheda nVidia: (driver Open) nv [niente 3D], nouveau [sperimentali con supporto 3D, molto instabili/poco supportati]; (driver chiusi) nvidia [che trovi su http://www.nvidia.com, vanno bene per tutti i tipi di nvidia, anche le quadro]
[work in progress]
Altre cose utili
potete trovare la configurazione del kernel che state usando in /proc/config.gz (non sempre)
oppure nel file /boot/config-<versione-del-kernel>
se lanciate un programma ma non parte
talvolta capita che lanciando un programma non capiti nulla..
apriamo un terminale e lanciamolo da lì.. ( in genere basta scrivere il nome del programma, aiutatevi con il tasto TAB )
con buona probabilità tra i messaggi che vedremo ci sono anche gli errori che gli hanno impedito di partire
—
come già detto se mi dovesse venire in mente altro, o avete suggerimenti sarà lieto di rendere più completa la lista ( segnalatemi anche eventuali errori ortografici, sono solito modificare le frasi diverse volte nel tentativo di renderle più leggibili, così talvolta ci restano in mezzo dei pezzi)
8 dicembre, 2009 at 23:35
Si beh scusa il post poteva sembrare un po strano, già sto monitorizzando tutti i log e il fatto strano è proprio che dopo problema non vedo l’ombra di un cambiamento, comunque proverò a chiedere in qualche forum specializzato, grazie per il consiglio.
8 dicembre, 2009 at 23:14
Salve, io avrei un problema parecchio strano e sto cercando in ogni modo di eliminarlo perchè vorrei usare finalmente in modo esclusivo linux.
Possiedo una tastiera-mouse wireless microsoft 2000, viene riconosciuta e la uso senza problemi, ma ad intervalli casuali si blocca il mouse e l’unica possibilità che mi resta è il riavvio del sistema, la cosa strana è che la tastiera continua a funzionare e visto che tastiera e mouse utilizzano lo stesso ricevitore usb è strano.
Qualche idea sulla possibile causa?
E’ possibile resettare il mouse per evitare di riavviare ogni volta tutto il sistema?
Ciao e grazie, Giuseppe.
8 dicembre, 2009 at 23:25
Ciao Giuseppe,
questo non è un forum, è un blog 🙂
il che significa che non è il posto più indicato per chiedere aiuto per un problema.
In questo articolo do delle dritte su come scovare un problema.
io non ho la palla di cristallo e con le informazioni da te fornitemi non ho modo di aiutarti.
ti posso consigliare di applicare le informazioni del mio articolo per ottenere qualche dato e poi rivolgiti al forum di ubuntu se utilizzi ubuntu o quello della tua distribuzione altrimenti.
Se hai problemi ad applicare ciò che ho spiegato in questo articolo chiedi.
direi comunque che su un eventuale forum potrebbe servire la configurazione di Xorg.conf e l’output di dmesg “normale” (dopo un avvio) e dopo che si è bloccato il mouse
per aprire una finestra di terminale quando non hai più il mouse puoi premere ALT+F2 e scrivere gnome-terminal (se stai usando gnome)
dopodiché puoi dare il comando
dmesg > dmesg-dopo-problema-mouse.log
dopo il riavvio troverai il file dmesg-dopo-problema-mouse.log e potrai studiarlo / allegarlo ad un eventuale post su forum.
ciao e in bocca al lupo
6 gennaio, 2009 at 12:42
@totonno
posso chiederti da quanto tempo non riavviavi?
dubito che lo sleep abbia causato questi problemi
o per lo meno può averteli causati al riavvio successivo ma riavviando un’altra volta “in modo pulito” dovrebbe averteli sistemati se li aveva causati quello.
a supporto di questa mia tesi: la scheda video non è usb.
riguardo all’error 62: dove ne parlo? ho riletto il mio articolo velocemente ma non l’ho trovato (conta che l’ho scritto mesi fa)
parlando dell’USB.
la specifica usb non è proprietaria. È l’hardware che gestisce l’usb che talvolta non è standard.. e cmq l’usb, in se, non è gran che come specifica.
6 gennaio, 2009 at 11:30
tanto per la cronaca, o ubuntu hardy aggiornata, funzionava tutto benissimo, webcam, stampante multifunzione, mouse, tutti usb. per sbaglo ho toccato il tasto sleep, il computer si è ibernato. al riavvio niente nvidia e niente usb, per nvidia l’ho ripristinata, ma il resto rimane morto, anche staccando-riattaccando. l’errore è error 62 che si è visto sopra.
comunque è scocciante, a distanza di anni si ripresentano gli stessi errori.
una cosa che non capisco è la chiavetta usb che viene vista normalmente mentre il resto usb no. altra cosa, se metto un mouse non usb non funziona lo stesso. usare il mouse da tastierino numerico non consola.
il problema vero è che usb è un protocollo proprietario? su winz l’usb non da mai problemi, su linux è andato bene solo “recentemente”.
13 settembre, 2008 at 18:35
che lavoraccio, complimenti per la stesura di questa guida!
28 Maggio, 2008 at 15:40
il mio parere nn camba,ma inceramente nn credo di poterti gliutare piu di tanto,fammi sapere cm va a finire,ciao
27 Maggio, 2008 at 15:59
l’alimentatore è un colorsit da 450w, Ho 4 porte usb dietro e due davanti. La stampante e la pennetta wifi le attcco dietro, le memorie di massa davanti…
25 Maggio, 2008 at 17:33
cmq tu prima dove la collocavi la pen? vicino le usb davanti o avevi un adattatore o una multipresa usb? cmq avvolte in entrambe i casi o un problema di alimentazione,certe volte sn 1.0 e nn 2.0 a me capito la stessa cosa,addirittura mi stavo cambiando la web cam,poi lo messa dietro ed e tutto ok.
25 Maggio, 2008 at 17:28
alimentatote e quante porte usb emette dietro avanti e all’interno!?
24 Maggio, 2008 at 14:53
scheda madre:ASROCK 4COREDUAL-SATA2, processore Intel core 2 duo da 2.20 ghz, Scheda video :NVIDIA GE FORCE MX4000(un po’ vecchiotta…). se ti serve qualcos’altro dimmelo (Hard disk maxtor da 114 gb)
23 Maggio, 2008 at 19:53
tutte le caratteristiche
23 Maggio, 2008 at 18:01
In che senso che pc tieni? Vuoi sapere la scheda madre?
23 Maggio, 2008 at 13:52
x fede. potrebbe essere un problema di alimentazione,ke pc tieni??
22 Maggio, 2008 at 20:08
Si. scusa ma mi ero disconnesso. Ho provato e funziona, ma solo uno alla volta, se attacco 2 periferiche non me le legge più…
21 Maggio, 2008 at 20:23
fede ci sei?
tanto provare nn costa nulla
21 Maggio, 2008 at 20:21
ciao,lai provata ad attaccare direttamente dietro al pc,alle porte usb dietro??!!
21 Maggio, 2008 at 20:15
@Federico
ti confermo: hardware scadente
in questo caso si tratta dell’host usb
su windows funziona perché hanno modificato il driver per aspettare più a lungo, probabilmente… uscendo dalle specifiche dell’USB 2.0
21 Maggio, 2008 at 19:53
Allora, ho fatto un po’ di prove ed ho scoperto che se inserisco solamente una pennetta alla volta, questa viene letta. Ora sto provando ad installare i driver della pennetta wifi con ndiswrapper per vedere se funziona.
21 Maggio, 2008 at 18:56
@Federico
in mancanza di altre informazioni posso solo concludere che hai un hardware molto sfigato
e farti qualche domanda:
altre chiavette/periferiche USB funzionano?
la stessa chiavetta ti ha mai dato problemi su altri sistemi?
la stessa chiavetta funziona sul pc di qualche amico con Linux?
usando una distribuzione Live (da live CD) la chiavetta viene montata?
hai provato solo su ubuntu?
🙂
21 Maggio, 2008 at 18:34
Ho provato il comando sudo modprobe -r ehci-hcd ma non è cambiato niente…
Non so più che fare…
21 Maggio, 2008 at 16:21
Allora… Io mi connetto con la pennetta usb, quindi non posso scaricare pacchetti.
Ho collegato anche la stampante e questa me la riconosce e sono riuscito a stampare. il problema è che fino ad un certo punto funzionava, poi ha deciso che non deve più funzionare (nn so in base a quale principio…) Comunque grazie per l’aiuto!!
17 Maggio, 2008 at 2:38
@Federico
ti posso dir questo (ho cercato) l’errore 110 significa: timeout
ovvero è passato troppo tempo (secondo le specifiche usb 2.0) e la periferica non ha risposto
questo può essere dovuto a:
*) hardware fallato (chiavetta/controller usb/cavo)
*) controller usb delle balle / di scarsa qualità: ad esempio può essere che se gli attacchi troppe cose non regga il carico e vada in timeout, oppure altri motivi
*) chiavetta idiota/fatta male che non risponde nei tempi richiesti e a cui hanno fatto un qualche work around per windows
*) cavo ad minchiam
per esempio la mia chiavetta è farlocca e proprio per questa ragione a volte va in timeout.. però io staccando e riattancando risolvo
talvolta in questi casi utilizzando usb 1 (molto + lento) funziona.. ma non è una vera soluzione
per far ciò si può disabilitare l’usb2 scaricando il modulo che si occupa di gestirlo dal kernel:
sudo modprobe -r ehci-hcd # nota questo disabilita l’usb2 fino al prossimo riavvio
hai altre periferiche usb collegate? 🙂
in bocca al lupo spero di averti dato materiale per indagare
16 Maggio, 2008 at 16:09
Ho cercato l’errore, ma oltre a questo (con il quale non ho trovato niente di utile) non saprei che cercare… Grazie ancora!!
16 Maggio, 2008 at 15:42
@Federico
non molto: cambiare host usb/cavi usb interni (se ci sono)
se sullo stesso sistema la stessa chiavetta funziona in altri sistemi operativi il tutto è da imputarsi al driver..
o per meglio dire: al tuo hardware non standard…
hai cercato su google?
16 Maggio, 2008 at 15:10
Ciao!
Inanzitutto grazie per la risposta…
La prima non è possibile perchè ho provato con varie pennette che funzionano su altri pc, il secondo e il terzo potrebbero essere e del qarto ne duito. Cosa potrei fare per risolvere nel 2° e 3°caso?
Grazie!!
16 Maggio, 2008 at 1:32
@Federico
quell’errore, secondo la mia esperienza, può voler dire diverse cose:
-) chiavetta rotta
-) host usb non funzionante (per qualunque ragione: hardware non standard, stupido, di scarsa qualità ecc…)
-) cavo interno (usb) farlocco
-) sfiga (in genere in questo caso attaccare e staccare la chiavetta risolve il problema)
15 Maggio, 2008 at 19:01
Scusa se nn l’ho scrito prima, l’errore che mi da è USB 5-1 DEVICE DESCRIPTOR READ/64, ERROR -110
15 Maggio, 2008 at 18:37
Io ho un problema con le porte usb… Ho dato il comando dmesg e l’output è lo stesso tuo, solo che staccando e riattaccando la pennetta non cambia niente. Che devo fare?
28 novembre, 2007 at 14:03
@Dago
non ho mai sentito quella distribuzione, ma se è una distribuzione Linux DEVI avere accesso al kernel per poterlo modificare a tuo piacimento
questo è sancito dalla GPL. il kernel è per forza GPL
riguardo la chiave usb, prova i comandi
dmesg
prima e dopo aver inserito la chiavetta
prova a montarla a mano con il comando
mkdir /tmp/prova
mount /dev/sda1 /tmp/prova
quest’ultimo comando da root
ciao
28 novembre, 2007 at 10:56
salve avrei un problema con la distribuzione linux UseiT della prologue purtroppo ci devo lavorare per forza con sta distribuzione solo che a quanto pare nn ho ancora trovato nessuno che mi sappia aiutare praticamente il sistema nn vede assolutamente la chiavetta usb, premetto che 1 i sorgenti sono bloccati nel senso che nn essendo UseiT una versione open source nn posso entrare a modificare il kernel e 2 devo ancora provare alcuni degli utilissimi consigli di questa guida per verificare se effettivamente il sistema nn rileva nemmeno la presenza del collegamento con una periferica oppure la rileva ma ha altri tipi di problemi grazie in anticipo!
25 ottobre, 2007 at 13:02
@Carcass
beh grazie 🙂
alla prossima
25 ottobre, 2007 at 10:19
http://www.debianclan.org/index.php?option=com_wrapper&Itemid=64
puoi vedere il risultato qui 😉
i kernel con problemi erano tutti da apt……….. adesso va molto meglio il pc dato che di default ad esempio il kernel supporta fino a 1gb di ram, devi abilitare il supporto superiore………….insomma ogni tanto compilare fa bene 😀
ciao.
PS: sono sempre nei paraggi visto che il tuo è un bel blog davvero – NON banale 😉
24 ottobre, 2007 at 17:08
@Carcass
puoi usare: “L’importante è avere un titolo – natonebronx”
o se hai poco spazio solo “Natonebronx” 🙂 poi vedi tu.. non sono fiscale!
ah.. però avevo ragione a dire che era un problema di kernel 😀
solo che non era un bug.. ma la mancanza di un/più modulo/i 😛
felice di essere stato d’aiuto.. ma alla fine hai risolto da solo…
avevi compilato un kernel a mano o il problema era con quello incluso nella distribuzione?
24 ottobre, 2007 at 9:44
@Mastro
😀
ho compilato il kernel .23 con queste features
EHCI HCD (USB 2.0) support
[*] Full speed ISO transactions (EXPERIMENTAL)
[*] Root Hub Transaction Translators (EXPERIMENTAL)
[*] Improved Transaction Translator scheduling (EXPERIMENTAL)
ho abilitato la terza (ma non sono sicuro che sia per quello, ma di sicuro male non fa 🙂 ) e le USB sono tornate piu veloci di prima.
con una Verbatim sono arrivato a toccare sul transfer di un divx (prova) quasi 15MB.
Grazie ancora di tutto ho imparato molto dai tuoi consigli su come capire esattamente dove sta un problema, spero sia utile ad altri.
Peccato per un eventuale debugging del kernel ma quello è difficilotto da fare a quanto ho letto, meglio che siano tornate a fungere.
😉
PS: per aggiungerti al people del debianclan che nome devo mettere accanto al tuo feed ????
20 ottobre, 2007 at 13:52
😉
la prova del nove a confutazione delle nostre ipotesi (più tue che mie a dire invero 😀 ) sono il fatto che con una live di knoppix col 2.6.19 fungono alla grande come qualche post dietro specificato con un transfer rate da quasi 9mb al secondo..
ok ti faccio sapere 😉 stay tuned 🙂
20 ottobre, 2007 at 12:58
@carcass
si anche io ti avevo detto che difficilmente erano problemi di qualità dei cavi e simili…
se il problema si è fatto vedere dal kernel .18 allora è quasi sicuramente qualche modifica del kernel
dai un occhiata qui:
http://kernelnewbies.org/Linux26Changes
guarda i cambiamenti nel .17 e nel .18 se c’è qualcosa che possa averti interessato… e a questo punto se l’ultimo kernel non dovesse funzionare direi che un bug report ci sta tutto (specifica che funzionava dal .16 e non hai provato il .17 ma dal .18 non funzionava più
faciliterai il debugging per gli sviluppatori e capiranno più in fretta il problema
20 ottobre, 2007 at 12:09
non so perche quando ho il firewall attivato (arno-firewall – ootimo a dire la verità – o altro non mi fa il dmesg in maniera ottimale, ho dovuto momentaneamente disabilitarlo ma questo non è un problema anzi se srve a ricavare le info meglio 🙂 )
veniamo a noi: visto che il campo si è ristretto al punto 2 ti dico che questo problema fino al kernel .15 o .16 non lo avevo ma dal .18 in poi SI.
adesso su ho il .22 da sid e lo fa uguale, ma ho ricompilato il .23 abilitando tutte le feature sotto la voce ehci ma ancora non lo ho installato per mancanza di tempo.
Io credo che non cambi la situazione perche il .22 è cmunque molto aggiornato e la distro è tenuta (per quanto sia le mie conoscenze che non sono da guru ma neanche proprio da niubbio) molto decentemente.
adesso vediamo come si fa per questo debugging e tra qualche giorno ti faccio sapere senza problemi.
garzie di tutto sei stato preziosissimo 😉
PS: i cavi non credo perche 1 fungono su windows e 2 prima fungevano e siono della abit-nf7 duqnue non proprio un hardware di scarsa qualita 🙂
19 ottobre, 2007 at 14:08
@carcass
ok adesso si che ci siamo 🙂
nel senso che vedo tutte le informazioni che mi aspettavo di vedere
però non ho buone notizie
quell’errore
device descriptor read/64, error -71
accade perché c’è troppo rumore nel segnale
quindi i casi sono 2
1) cavi interni della porta usb di scarsissima qualità -> molto rumore
2) usb controller che funziona in modo non standard
visto che su windows ti funziona escluderei la prima
a 1.1 è più lento e il rumore disturba quindi meno il segnale
per prima cosa prova l’ultimo kernel uscito.. potrebbero aver già risolto il bug!
quindi se anche con l’ultimo kernel hai lo stesso problema fai un bug report
io non ho mai fatto nessun bug report del kernel e non so esattamente cosa ti richiederanno
se troverai un altra soluzione mi farà piacere conoscerla
ps: per chi legge i commenti: questo non è un forum o un supporto tecnico. Considero questo un “utile” esempio di come fare debugging di un problema…
19 ottobre, 2007 at 8:55
avvio sistema
http://rafb.net/p/FmXHIF62.html
inserimento penna normalmente
http://rafb.net/p/255U8E19.html
eliminazione modulo ehci 2.0
http://rafb.net/p/F8lMcG85.html
(appena il modulo viene eliminato la lucetta della penna si accende)
reload del modulo per USB 2.0
http://rafb.net/p/ZconY292.html
spero ti sia utile 😉
19 ottobre, 2007 at 0:16
grazie 🙂
domani ci smanetto un po che stasera ho un mal di testa allucinante e riporto 😉
18 ottobre, 2007 at 1:32
@carcass
perché se un commento ha troppi link viene messo tra lo spam
recuperato ora
come promesso… ho guardato
l’unico interessante è l’output di dmesg
dove vedo una serie di questi errori
scsi 4:0:0:0: rejecting I/O to dead device
FAT: Directory bread(block 512) failed
che suppongo corrispondano al primo tentativo di inserimento della chiavetta
quindi
ACPI: PCI Interrupt 0000:00:02.2[C] -> Link [APCL] -> GSI 20 (level, high) -> IRQ 18
non so decifrare bene che tipo di significato abbia questo.. ma so che è un segnale inviato all’IRQ 18, che corrisponde all’IRQ di gestione del tuo controller USB EHCI
immagino che quando scarichi il modulo venga in qualche modo “spento” lasciando solo i controller OHCI (per periferiche a bassa velocità)
subito dopo
PCI: Setting latency timer of device 0000:00:02.2 to 64
cambia un altro settaggio sempre sul controller USB EHCI (00.02.2)
che il controller EHCI ha quell’indirizzo ed è associato all’IRQ 18 lo vedi da lspci -vvv
ora…
segue un po’ di altra roba
quindi vedo di nuovo qualcosa di “interessante”
usb 3-4: reset high speed USB device using ehci_hcd and address 4
usb 3-4: device descriptor read/64, error -71
usb 3-4: device descriptor read/64, error -71
questo è un errore abbastanza tipico
che nella mia esperienza rispecchia un errore “hardware” o della chiavetta o del controller
nel mio pc capita occasionalmente perché ho un bug nel bios che talvolta non inizializza correttamente il controller usb
ad ogni modo manca qualche messaggio in dmesg che mi sarei aspettato… e questo mi ha fatto venire in mente una cosa importante (sto per modificare la guida)
da root dai questo comando: dmesg -n7 (guarda la guida per capire che significa)
quindi ripeti la mia procedura
mi servirebbe che tu indicassi in mezzo al testo di dmesg le tue varie operazioni
queste son quelle che mi servono:
*finito avvio*
*inserisco la chiavetta* (e subito dopo la inserisci)
*scarico il modulo* (e subito dopo lo scarichi)
*tolgo la chiavetta*
*rimetto la chiavetta*
ecc…
insomma in modo da far capire cosa avviene quando effettui le varie operazioni
per farlo basta che lanci dmesg prima di ogni operazione e guardi dov’è arrivato
poi dovrai aggiungere nel file di testo
😀 hehehe ti sto facendo faticare?
cmq son sempre più convinto si tratti di un problema hardware o di qualche “stranezza” del tuo controller usb ancora sconosciuta agli sviluppatori
18 ottobre, 2007 at 1:03
non mi fa postare con i link inseriti di nopaste perche???
comunque tutto quello che mi hai chiesto (con link relativi) lo ho salvato sul un .txt dammi una mail che te lo mando li.
grazie 😉
18 ottobre, 2007 at 0:57
lspci -vvv > lspci.log
http://rafb.net/p/srImKS15.html
cat /var/log/messages > messages.log
http://rafb.net/p/xFqzp962.html
lsmod > lsmod.log
http://rafb.net/p/g2S5c615.html
dmesg > dmesg.log
http://rafb.net/p/23VFqb56.html
Inoltre ti posso postare che credo sia utile lsmod con la penna montata regolarmente e funzionante a 2.0 con knoppix per le differenze nella parte che credo sia piu importante
http://rafb.net/p/ZMjqm712.html
e quello lsmod su debian con la chiavetta a 1.1 (e dunque la vede)
http://rafb.net/p/rePIPP90.html
e quando è a 2.0 e dunque NON la vede
http://rafb.net/p/HncwBL91.html
spero tu ne possa ricavare qualcosa di utile ma gia ad occhi confrontando lsmod su knoppix e su debian molti moduli differiscono, quelli su knoppix sono molto piu completi riferiti all’ehci etc……
Per adesso buona notte 😉
17 ottobre, 2007 at 23:47
🙂 grazie
1) ho postato sul canale di debian ma non c’era nessun “guru” che mi potesse aiutare in quel momento (e anche dopo visto che tutt’ora sono sul canale irc)
2) su windows sembra andare tutto ok a palla
3) non te l’ho detto perche dimenticato, ma ho usato l’ultima knoppix 5.1.1 (2.6.19) e la penna non solo viene montata normalmente su TUTTE le 4 porte frontali del mio stacker ma ho passato dei file creando una cartella di circa 500mb e non solo la penna veniva montata ma il transfer rate era di 8.2mb al sec (ovvero 2.0) con ben due penne provate…………
a sto punto faro quello che mi hai detto ma il punto 3 mi fa non sperare tantissimo……
comunque, grazie 😉
17 ottobre, 2007 at 19:43
@carcass
ah ho adesso ho capito cosa intendevi
dmesg non è cambiato.. quindi non è successo nulla 🙂
e come dimostra il comando ls non viene neppure creato il dispositivo
è una brutta gatta da pelare…
per capirci qualcosa mi servirebbe che tu postassi su diversi pastebin un po’ di roba
1) avvia il computer
2) inserisci la chiavetta incriminata (aspetta un attimo e constata che non capita nulla come sempre)
3) rimuovi la chiavetta
4) modprobe -r ehci…
5) metti la chiavetta
6) (senza toglierla/smontarla) ricarica il modulo modprobe ehci
7) smonta la chiavetta (se già non è successo qualcosa) toglila e rimettila
8) produci questi file e usa per ognuno pastebin
da root:
lspci -vvv > lspci.log
cat /var/log/messages > messages.log
da utente standard (o da root, come preferisci)
lsmod > lsmod.log
dmesg > dmesg.log
tutti questi file possono esserti utili se decidi di chiedere in #debian-it come ti ho consigliato prima
non escludo che si tratti di
1) hardware “strano”
2) hardware in via di rottura
sai se ti è sempre successo?
va con windows? (se è hardware in via di rottura anche windows monterà a 1.1)
ti capita con tutte le periferiche usb2 o solo con quella?
faccio del mio meglio per aiutarti ma mi sembra un problema tosto non so se risolveremo facilmente…
17 ottobre, 2007 at 18:31
l’output di dmesg lo ottengo SENZA modulo nel kernel, dunque le USB sono 1.1
ricaricando il modulo l’output da consol è il secondo che vedi
Il sistema non le vede proprio non posso essere montate.
debian:/home/carcass# ls -l /dev/sda
ls: /dev/sda: No such file or directory
debian:/home/carcass# ls -l /dev/sda1
ls: /dev/sda1: No such file or directory
debian:/home/carcass#
Grazie di Tutto 😉
17 ottobre, 2007 at 16:43
@carcass
non mi è molto chiara la prima parte:
quel messaggio di dmesg lo ottieni sia con che senza modulo?
se è così viene rilevata correttamente sia in un caso che nell’altro (sicuro che non fosse già lì dal montaggio riuscito??)
hai provato a montarla manualmente?
mount /dev/sda1 /media/prova
(ovvio che la cartella prova dev’essere già stata creata)
se dai ls -l /dev/sda
con chiavetta inserita ? (ovviamente con modulo presente)
17 ottobre, 2007 at 16:23
ho fatto come dici: quando il modulo non è caricato dmesg da questo output
usb-storage: device scan complete
scsi 5:0:0:0: Direct-Access USB 2.0 Flash Disk 0.00 PQ: 0 ANSI: 2
sd 5:0:0:0: [sda] 1024000 512-byte hardware sectors (524 MB)
sd 5:0:0:0: [sda] Write Protect is off
sd 5:0:0:0: [sda] Mode Sense: 00 00 00 00
sd 5:0:0:0: [sda] Assuming drive cache: write through
sd 5:0:0:0: [sda] 1024000 512-byte hardware sectors (524 MB)
sd 5:0:0:0: [sda] Write Protect is off
sd 5:0:0:0: [sda] Mode Sense: 00 00 00 00
sd 5:0:0:0: [sda] Assuming drive cache: write through
sda: sda1
sd 5:0:0:0: [sda] Attached SCSI removable disk
sd 5:0:0:0: Attached scsi generic sg2 type 0
quando il modulo NON è caricato nel kernel (ovvero la pendrive è 1.1) il risultato è sempre lo stesso 😦
debian:/home/carcass# modprobe usbserial vendor=0x0457 product=0x0150
debian:/home/carcass# lsusb
Bus 003 Device 002: ID 03f0:8904 Hewlett-Packard
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 009: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 001 Device 001: ID 0000:0000
debian:/home/carcass#
ovviamente vendor e product li ho presi quando è 1.1, e poi ricaricandolo nel kernel ho dato i comandi sopra postati :muro:
17 ottobre, 2007 at 13:53
@carcass
grazie! 🙂 certo, puoi aggiungere il mio feed dove vuoi 🙂
ma veniamo al tuo problema:
non ho mai sentito di una cosa del genere…
io farei così:
rimuovi il modulo (come hai già fatto) e ricaricalo con modprobe ehci
quindi guarda che cosa dice dmesg (magari dà già qualche errore al caricamento del modulo stesso)
quando inserisci la chiavetta dmesg resta muto? (con ehci inserito)
penso che per il tuo problema comunque la cosa più indicata sia andare su un canale IRC come #debian-it su irc.freenode.org (se hai debian) e chiedere aiuto lì.. (con il botta risposta si fa prima)
io vedrò di aiutarti per quanto posso 🙂
ps:
prendendo spunto da un problema precedente
senza il modulo ehci hai detto che ti rileva la chiavetta (anche se va lenta) con lsusb dovresti riuscire a scoprire il codice del vendor e del modello del prodotto
quindi puoi usare il comando proposto nel commento precedente al tuo (modprobe usbserial vendor=bla bla bla) con il modulo ehci presente e vedere se così funziona
17 ottobre, 2007 at 13:30
Ciao 🙂
il tuo blog è veramente bello vorrei sapere 2 cose: col mio kernel .22 mi da il problema da te descritto quando inserisco la pendrive, ma non è un problema di outomount o mount manuale ma proprio non le vede neanche col comando lsusb.
solo te tolgo i moduli ehci con modprobe -r ehci me la monta in automatico ma non come USB 2.0 ma 1.1.
come risolvo?? puoi darmi una mano??
Grazie.
PS: posso aggiungere il tuo feed al people.debianclan ????
5 settembre, 2007 at 16:14
@ockap
sono felice che hai trovato una soluzione
con la tua spiegazione ho capito meglio come funziona la gestione dell’usb su Linux 🙂
e suppongo lo abbia capito anche tu 😀
felice per te! 😀
5 settembre, 2007 at 15:54
in una domenica di ordinaria follia ho trovato la soluzione! Good
Tutte le varie guide consultate dicono la stessa cosa:
forzare il sistema affinché carichi il modulo usbserial per il cellulare con il comando:
sudo modprobe usbserial vendor=0x1004 product=0x6000
ma come fai a forzare il caricamento di un modulo per una periferica che non viene riconosciuta?
se digiti lsusb l’output, sarà:
Bus 001 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
adesso che ci ripenso però è semplice… ci provi lo stesso! Shocked
Unico problema, il recupero dei dati del cellulare, che io ho fatto in due modi:
1. con una vecchia distro di UBUNTU, ho provato la 5.10…
il cellulare viene riconosciuto e digitando lsusb compare:
Bus 001 Device 001: ID 1614:0404 #Ecco il mio cellulare
Bus 002 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
2. sotto windows, basta guardare le proprietà del telefono dalla gestione periferiche!
estrapolati i dati, appare semplice “ADESSO” seguire le varie guide… Smiley
un ultimo suggerimento, è meglio digitare il comando
sudo modprobe usbserial vendor=0x1614 product=0x404
Prima di collegare il cellulare! Questo per avvertire UBUNTU che a breve riceverà la visita di una “nuova periferica”
14 luglio, 2007 at 21:23
Si le chiavette usb le vede, e le monta tranquillamente.
Credo che alla fine sia un problema del cellulare… o del kernel di Ubuntu!
Grazie dei suggerimenti 🙂
14 luglio, 2007 at 19:55
@ockap
questo errore mi capita a volte per un bug del mio controller USB… in genere spegnendo, staccando corrente a tutto per 20 secondi e riaccendendo si sistema.. (si lo so è strano)
dubito sia questo il caso…
però se non lo hai fatto tentar non nuoce..
altrimenti non so aiutarti molto… ti posso solo dire che (ma lo avevi già capito) sembra che la tua periferica non gradisca il modo in cui Linux tenta di “montarla”
facendo una rapida ricerca con google direi che quel device con la parola “linux” non salta fuori da nessuna parte…
dubito quindi funzionerà con esso…
le chiavette usb ti funzionano?
14 luglio, 2007 at 18:38
ecco cosa dice dmesg:
usb 6-2: new full speed USB device using ohci_hcd and address 2
usb 6-2: configuration #1 chosen from 1 choice
usb 6-2: USB disconnect, address 2
usb 6-2: new full speed USB device using ohci_hcd and address 3
usb 6-2: device descriptor read/64, error -62
usb 6-2: device descriptor read/64, error -62
usb 6-2: new full speed USB device using ohci_hcd and address 4
usb 6-2: device descriptor read/64, error -62
usb 6-2: device descriptor read/64, error -62
usb 6-2: new full speed USB device using ohci_hcd and address 5
usb 6-2: device not accepting address 5, error -62
usb 6-2: new full speed USB device using ohci_hcd and address 6
usb 6-2: device not accepting address 6, error -62
14 luglio, 2007 at 18:22
uno sbaglio… sono solo un essere umano!
14 luglio, 2007 at 15:49
perché hai scritto 2 volte?
questo non è un forum ockap
e comunque se vuoi che qualcuno ti aiuti dovresti per lo meno copiare per intero la parte interessata di dmesg
14 luglio, 2007 at 14:04
Ciao, vorrei usare il mio cellulare UMTS AMOI MD-1 9109 della “TRE”, per connettermi alla rete… unico problema: Nonostante sia collegato alla porta USB, non risulta nelle periferiche quando digito lsusb da terminale!! e al comando dmesg, appare che la periferica non riesce a registrarsi…
Qualcuno ha un’idea per risolvere il problema?
14 luglio, 2007 at 13:55
Ciao, vorrei accedere alla rete con il mio cellulare AMOI MD-1 9109 della “TRE”… unico problema: Nonostante sia collegato alla porta USB, non risulta nelle periferiche quando digito lsusb da terminale!! e al comando dmesg, appare che la periferica non riesce a registrarsi… come risolvo?
28 giugno, 2007 at 12:17
[…] Giovedì, Giugno 28th, 2007 in Look & Feel, Feisty Fawn, BeeSeek, HowTo, GNU/Linux, Ubuntu, Blog, Dell 1) Una utile guida con spunti per risolvere autonomamente i propri problemi con Linux: https://natonelbronx.wordpress.com/2007/05/12/introduzione-a-come-scoprire-dove-stanno-i-problemi-con… […]
18 Maggio, 2007 at 20:32
xfetto, bona!!!
18 Maggio, 2007 at 19:17
@squid
tu commenti ad un articolo che parla di log su Linux, e scrivi di guardare sul tuo blog perché hai messo un nuovo easter egg di google
come dovrei chiamarlo questo se non spam?
sono forse obbligato a effettuare uno “scambio” di blog roll?
non mi sono offeso.. mi fa ridere il tuo atteggiamento.. e ti ho informato che non mi piacciono i commenti pubblicitari se non sono pertinenti con l’articolo
se tu avessi scritto un articolo che aggiunge qualcosa a questo argomento sarebbe cosa diversa, ti pare?
chiuso l’argomento
18 Maggio, 2007 at 18:56
vabbe era cosi per dire. non volevo spammare cmq fai quello che vuoi. In ogni caso non mi sembra di aver fatto niente di male. Ma stiamo scherzano? non ti ho mica offeso la mamma! Daro’ un occhiata al tuo blog?! chi sei un editore della repubblica? Lasciamo fare va.
17 Maggio, 2007 at 23:21
@squid
che fai spammi? ti fai pubblicità? 😀
darò un occhiata al tuo blog.. e deciderò se inserirti o meno nel blog roll 🙂 tu puoi decidere di tua iniziativa
sono contrario agli “scambi di blogroll”, se vuoi puoi inserirmi, lo stesso vale per me. Comunque per stavolta passi ma i commenti pubblicitari come il tuo non mi vanno a genio
17 Maggio, 2007 at 15:54
[spam warning] Ciao mastro sono che non centra niente con l’articolo che hai scritto 🙂 ti vorrei avviasare che su xsquid.wordpress.com c’e’ un altro easter egg di google :D! PS: Ci aggiungiamo a vicenda nel blogroll? ciao squid [/spam warning]
14 Maggio, 2007 at 13:52
@phoenix
dopo un po’ viene automatico 🙂
hai un problema con qualche servizio? cerca il log in /var/log/
hai collegato una periferica e non funziona? dmesg 🙂
si dice sempre che Linux è difficile, la realtà è che quando qualcosa non va ci sono messaggi molto più comprensibili e che ti indirizzano al problema, su windows in genere ti becchi un codice esadecimale criptico con il consiglio di contattare l’amministratore di sistema (che in genere sei tu stesso)
14 Maggio, 2007 at 13:33
utilissima!!!
da tenere sempre sotto mano 😉
14 Maggio, 2007 at 12:12
ottima guida
13 Maggio, 2007 at 13:34
Ciao,
con “chi non è alle prime armi” intendo quegli utenti che usano produttivamente l’ambiente GNU/Linux in un contesto desktop, ma che magari si trovano “spaesati” con qualche errore del quale non riescono o non sanno trovarne la causa.
Un po’ (se mi posso permettere il paragone) come un buon utente Windows che non ha mai messo mano al registro…
Un saluto a tutti e buona domenica…
masand
13 Maggio, 2007 at 2:47
Direi che dipende da cosa intendi per “chi non è alle prime armi” 😀
forse io con il mio portatile mi sono scontrato con queste cose praticamente subito 🙂 in effetti fosse filato tutto liscio non avrei imparato un bel niente 😛
13 Maggio, 2007 at 2:42
Gran bel lavoro… Lo trovo utile anche per chi non è alle prime armi…
Un saluto a tutti…
masand