The Linux Ftape-HOWTO <author>Claus-Justus Heine, <htmlurl url="mailto:heine@math1.rwth-aaachen.de" name="<heine@math1.rwth-aachen.de>"> <date>v3.0, agosto 1998 <abstract> Questo HOWTO tratta dell'essenziale che si può fare e che non si deve fare sotto Linux con il driver <tt/ftape/ per le unità a nastro per controller floppy. In particolare tratta della versione piú aggiornata, la <tt/ftape-4.02/, disponibile al momento della stesura di questo documento. Questo HOWTO va inteso come un primo passo di aiuto e fonte di informazione. Il driver <tt/ftape/ interfaccia le unità compatibili QIC-40, QIC-80, QIC-3010 e QIC-3020, e le unità Iomega Ditto 2GB e Ditto Max. Gli standard QIC-3010 e QIC-3020 sono anche conosciuti come ``Travan'' (TR-2 e TR-3). Queste unità si collegano al controller per disco floppy (<bf/FDC/) che possono essere o un FDC interno o parte di alcune unità a nastro per controller floppy su porta parallela. Riferirsi alla sezione <ref id="supp_drives" name="Unità supportate"> per ulteriori informazioni. <tt/ftape/ <bf/non/ ricopre argomenti riguardanti unità a nastro SCSI o QIC-02. Unità a nastro DAT sono tipicamente (sempre?) connesse ad un controller SCSI. Questo non è l'unico documento HOWTO per Linux. È possibile ottenere una lista degli HOWTO dal <htmlurl url="http://sunsite.unc.edu/LDP/HOWTO/HOWTO-INDEX.html" name="Linux HOWTO Index">, mentre i veri e propri HOWTO possono essere prelevati (via <tt/ftp/) da <tt>sunsite.unc.edu:pub/Linux/doc/HOWTO</tt> (questo è il sito ``ufficiale'') o via World Wide Web da <htmlurl url="http://sunsite.unc.edu/LDP" name="the Linux Documentation Project home page">. Traduzione di Lorenzo Cappelletti, <htmlurl url="mailto:L.Cappelletti@POBoxes.com" name="<L.Cappelletti@POBoxes.com>">. </abstract> <toc> <sect>Legalese<p> L'ftape-HOWTO per Linux può essere riprodotto e ditribuito, per intero o in parte, ferme restando le seguenti condizioni: <tscreen> <verb> Copyright (c) 1993-1996 by Kai Harrekilde-Petersen Email: khp@dolphinics.no Copyright (c) 1996-1997 by Kevin Johnson Email: kjj@pobox.com Copyright (c) 1998 by Claus-Justus Heine Email: heine@math1.rwth-aachen.de </verb> </tscreen> Il ``Linux ftape-HOWTO'' è un documento libero; è possibile riprodurlo e/o modificarlo sotto le condizioni della versione 2 (o, a seconda della propria opinione, di ogni altra versione successiva) della GNU General Public License come pubblicata dalla Free Software Foundation. Questo HOWTO è distribuito nella speranza che risulti utile, ma SENZA ALCUNA GARANZIA; neppure di COMMERCIABILITÀ o IDONEITÀ AD UN PARTICOLARE SCOPO. È possibile ridistribuire copie di GNU Ftape-HOWTO nei termini della GNU General Public License. L'autore incoraggia la distribuzione su larga scala di questo documento per usi personali o commerciali, fermo restando che il copyright di cui sopra rimanga intatto e che l'utilizzo sia conforme alla GNU General Public License. In sostanza è"possibile copiare e ridistribuire questo documento liberamente o mediante compenso. Nessun permesso esplicito è richiesto dall'autore per la riproduzione di questo documento con qualsiasi mezzo, fisico o elettronico. Da notarsi che lavori derivati e traduzioni di questo documento devono aderire alla GNU General Public License e il copyright originale deve rimanere intatto. Se si contribuisce con nuovo materiale a questo documento, si deve rendere il codice sorgente (cioè il sorgente SGML) disponibile per le proprie revisioni. Si prega di rendere disponibili revisioni e aggiornamenti direttamente all'autore: contattare <heine@math1.rwth-aachen.de> a mezzo posta elettronica. Questo permetterà all'autore di unire gli aggiornamenti e di rendere disponibili revisioni organiche alla comunità Linux. L'autore incoraggia i distributori di software per Linux con ogni mezzo di utilizzare questo HOWTO come installazione e guida per l'utente. Dato il copyright di cui sopra, è resa libera la stampa e la distribuzione di copie di questo documento con il proprio software. Cosí facendo si potrebbe includere un breve ``supplemento all'installazione'' per la propria release o modificare le sezioni rilevanti di questa opera per riflettere il proprio prodotto. All'autore (ed al traduttore) farebbe piacere venire a conoscenza di ogni progetto di pubblicazione e distribuzione commerciale di questo HOWTO. In questo modo possiamo assicurare un aggiornamento continuo con l'uscita delle nuove revisioni e, se una nuova versione fosse dietro l'angolo, ritardare la pubblicazione dell'HOWTO finché la nuova revisione non viene reasa disponibile. Se si sta distribuendo questo HOWTO commercialmente, donazioni, royalty e/o copie stampate sono particolarmente apprezzate dall'autore (e dal traduttore). Contribuendo in questo modo, si dimostra il supporto per il ``free software'' e l'(Italian) Linux Documentation Project. Per domande o commenti, si prega di contattare l'autore all'indirizzo: <tscreen><verb> heine@math1.rwth-aachen.de </verb></tscreen> oppure il traduttore all'indirizzo: <tscreen><verb> lency@dei.unipd.it </verb></tscreen> Ricordo che non ci e` consentito rimuovere il testo originale inglese della licenza e che questo non ha alcun valore legale ma puramente informativo. Ecco quindi la versione originale. The Linux ftape-HOWTO is a free document; you may reproduce and/or modify it under the terms of version 2 (or, at your option, any later version) of the GNU General Public License as published by the Free Software Foundation. This HOWTO is distributed in thg hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. The author encourages wide distribution of this document for personal or commercial use, provided that the above copyright notice remains intact and the provisions of the GNU General Public License are adhered to. The summary is that you may copy and distribute this document free of charge, or for a profit. No explicit permission is required from the author for reproduction of this document in any medium, physical or electronic. Note that derivative works and translations of this document must be placed under the GNU General Public License, and the original copyright notice must remain intact. If you have contributed new material to this document, you must make the source code (e.g., SGML source) available for your revisions. Please make revisions and updates available directly to the author: Contact heine@math1.rwth-aachen.de via Internet e-mail. This will allow the author to merge updates and provide consistent revisions to the Linux community. The author encourages distributors of Linux software in any medium to use the HOWTO as an installation and user guide. Given the copyright above, you are free to print and distribute copies of this document with your software. If doing so, you may wish to include a short ``installation supplement'' for your relecse, or modify the relevant sections of this book to reflect your product. The author would like to know of any plans to publish and distribute this HOWTO commercially. In this way, we can ensure that you are kept up-to-date with new revisions. And, should a new version be right around the corner, you might wish to delay your publication of the HOWTO until it is available. If you are distributing this HOWTO commercially, donations, royalties, and/or printed copies are greatly appreciated by the author. Contributing in this way shows your support for free software and the Linux Documentation Project. If you have questions or comments, please contact the author at heine@math1.rwth-aachen.de <sect>Storia delle revisioni<p> <descrip> <tag>versione 3.0 (agosto, 1998)</tag> <itemize> <item> aggiunte alla lista dell'hardware supportato; <item> nuova sezione sulle differenze fra le versioni di ftape; <item> puntatore all'<sl/Ftape-FAQ/ e all'<sl/Ftape manual/; <item> aggiornamento all'ftape-4.02; <item> aggiunte alle FAQ; <item> aggiornate tutte le URL. </itemize> <tag>versione 2.0 (marzo 15, 1997)</tag> <itemize> <item> aggiornamento all'ftape v2.11 e v3.<it/xx/; <item> molti aggiornamenti. </itemize> <tag>versione 1.9 (settembre 20, 1996)</tag> <itemize> <item> nuovi manutentori di ftape e dell'HOWTO; <item> alcune correzzioni minori di formattazione e grammatica; <item> aggiornamento per Linux v2.0; <item> inizio dell'integrazione di alcune informazioni su ftape di Andrew Martin. </itemize> <tag>versione 1.8 (maggio 22, 1996)</tag> <itemize> <item> modifica del copyright in GNU GPL v2; <item> l'indirizzo e-mail del manutentore è cambiato; <item> aggiornamento a ftape-2.08; <item> <tt/ftape/ è ora una parte della distribuzione del kernel. </itemize> <tag>versione 1.7.1 (febbraio 13, 1996)</tag> <itemize> <item> aggiornamento a ftape-2.06b. </itemize> <tag>versione 1.7 (gennaio 28, 1996)</tag> <itemize> <item> aggiornamento a ftape-2.06 e modules-1.3.57. </itemize> <tag>versione 1.6.2 (gennaio 23, 1996)</tag> <itemize> <item> aggiunta l'unità Connor TST3200R; <item> aggiornate informazioni su FDC a 2Mbps. </itemize> <tag>versione 1.6.1 (gennaio 16, 1996)</tag> <itemize> <item> Correzioni minori. </itemize> <tag>versione 1.6 (gennaio 10, 1996)</tag> <itemize> <item> nuovo manutentore di <tt/ftape/; <item> aggiornamento a v2.05; <item> aggiunte nuove unità. </itemize> </descrip> <sect>Preliminari<p> <sect1>Altre sorgenti di informazione<p> <descrip> <tag/ftape versione 3/ <tt/ftape-3.<it/x// viene fornito con un proprio manuale contenuto nel pacchetto <tt/ftape-3.04d/ e disponibile presso i siti abituali. Vedere <ref id="getting" name="Procurarsi Ftape">. <tag/ftape versione 4/ Anche <tt/ftape-4.<it/x// ha un pacchetto di documentazione chiamato <tt/ftape-doc/ disponibile presso gli stessi siti. Questo HOWTO, allora, focalizzerà la sua attenzione anche sull'<tt/ftape-4.<it/x// ed è inteso come un punto di partenza verso la documentazione disponibile. Vedere <ref id="getting" name="Procurarsi Ftape">. <tag/ftape-tools/Il pacchetto <tt/ftape-tools/ (che contiene preziose utility per <tt/ftape/) viene fornito con un proprio manuale. Vedere <ref id="getting" name="Procurarsi Ftape">. <tag/Ftape-FAQ/ Le <tt/Ftape-FAQ/ sono incluse testualmente in questo manuale, mentre versioni piú recenti posso essere visionate all'url <htmlurl url="http://www.correct.nl/~ftape" name="http://www.correct.nl/~ftape">. </descrip> <sect1>Contatti<p> Il manutentore del codice sorgente per l'<tt/ftape/ è Claus Heine <htmlurl url="mailto:heine@math1.rwth-aachen.de" name="<heine@math1.rwth-aachen.de>">. Possiede una pagina web all'indirizzo <htmlurl url="http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape/" name="http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape/">. Per problemi o domande su ftape è possibile mandare un messaggio alla mailing-list di <tt/Linux Tape/ utilizzando l'indirizzo <tt/linux-tape@vger.rutger.edu/ (vedere <ref id="tape-channel" name="Seguire lo sviluppo di ftape"> piú avanti). C'era anche un newsgroup che copiava i messaggi della mailing-list, ma è sparito un po' di tempo fa. Anch'io utilizzo un'unità a nastro (è il solo modo con cui eseguo dei backup con Linux :-). Esito, però, a dare raccomandazioni su quale hardware comprare. Riferirsi alla sezione <ref id="supp_drives" name="Unità supportate"> e <ref id="unsupp_drives" name="Unità non supportate"> per una lista di unità supportate e non supportate. È meglio provare ad inviare un riassunto dei problemi riscontrati corredati da qualche rimedio, anche se solo parziale. È gradito un messaggio contenente una copia di tali rimedi anche alla mailing-list di Linux Tape raggiungibile all'indirizzo <htmlurl url="mailto:linux-tape@vger.rutgers.edu" name="<linux-tape@vger.rutgers.edu>">, cosicché possano essere aggiunti all'HOWTO e/o alle FAQ. Nel caso questo manuale facesse parte di una distribuzione su carta o su CD-ROM, è conveniente dare un'occhiata alla <htmlurl url="http://sunsite.unc.edu/LDP/" name="pagina principale del Linux Documentation Project">, o via ftp all'indirizzo <htmlurl url="ftp://sunsite.unc.edu:/pub/Linux/doc/HOWTO" name="ftp://sunsite.unc.edu:/pub/Linux/doc/HOWTO">, per vedere se esiste una versione piú recente. Questo potrebbe potenzialmente far risparmiare un sacco di problemi. Nel caso mi si volesse spedire un messaggio, gradirei che venisse inserita la stringa <tt/ftape/ nella linea di ``Subject:''. Questo aiuterà ad assicurare che il messaggio non venga perso. Comunque è meglio scrivere alla mailing-list di Linux Tape <htmlurl url="mailto:linux-tape@vger.rutgers.edu" name="<linux-tape@vger.rutgers.edu>">, invece di contattare me direttamente. <sect1>Cos'è <tt/ftape/<p> <tt/ftape/ è un driver che controlla vari tipi di periferiche a nastro di basso costo da collegarsi al controller dell'unità floppy. <tt/ftape/ non è un programma di backup; è un driver di periferica che permette di utilizzare l'unità a nastro (cosí come il driver per la SoundBlaster 16 permette di utilizzare la scheda sonora) attraverso il file di periferica <tt>/dev/[n]qft[0-3]</tt>. <tt/ftape/ fu originariamente scritto da Bas Laarhoven <tt/<bas@vimec.nl>/, con un «piccolo aiuto da parte dei suoi amici» per organizzare l'ECC (Error Correcting Code [codice per la correzione d'errore]). <tt/ftape/ è protetto da copyright da parte di Bas sotto la GNU General Public License, che, in parole povere, dice: «vai avanti e condividi questo con il mondo, basta che non impedisci ad altre persone di copiarselo ulteriormente». <tt/ftape/ è stato sottoposto a diversi cambiamenti da allora. Mentre la serie Linux-2.0.<it/x/ del kernel contiene ancora l'<tt/ftape-2.08/, la serie v2.1.<it/x/ e presto la serie v2.2.* arriveranno con l'<tt/ftape-3.<it/x// (magari anche con la <tt/ftape-4.02/, ma ciò non è ancora chiaro nel momento in cui sto scrivendo), che differisce in alcuni punti dal driver <tt/ftape-2.<it/x//. A partire dalla versione <tt/3.00/ il driver <tt/ftape/ è stato mantenuto da me (Claus-Justus Heine); è stato cambiato e migliorato in diversi ambiti ed è stato aggiunto supporto per nuovo hardware. <tt/ftape/ è abbastanza stabile e lo è stato per diverso tempo fino ad ora. È sufficientemente sicuro per backup critici (ma è sempre una buona idea controllare i propri backup, cosí da evitare spiacevoli sorprese prima o poi). <tt/ftape/ supporta tanto le unità conformi allo standard QIC-117 e ad uno degli standard QIC-80, QIC-40, QIC-3010 e QIC-3020, quanto le unità Iomega Ditto 2GB e Ditto Max, che non sono piú strettamente conformi agli standard QIC. <tt/ftape/ può pilotare unità connesse all'FDC interno cosí come certe unità a nastro per porta parallela. <tt/ftape/ non supporta né le unità QIC-02, IDE (ATAPI), né le unità SCSI. Le unità SCSI sono accessibili come <tt>/dev/[n]st[0-7]</tt> e sono supportate dal kernel attraverso i driver SCSI. In caso di necessità, per le unità a nastro SCSI è possible leggere lo <tt/SCSI-HOWTO/. Le unità a nastro ATAPI sono supportate dal kernel a partire dalla versione 1.3.46. Vedere la sezione <ref id="supp_drives" name="Unità supportate"> e <ref id="unsupp_drives" name="Unità non supportate"> per una lista delle unità supportate e non supportate. <sect1>Note alla traduzione<p> Nel testo originale si fa pesantemente riferimento a termini quali ``floppy tape drive'', ``device driver'' ed ``<tt/ftape/ driver'' per riferirsi alle varie parti hardware e software che compongono un sistema di backup in ambiente Linux. Per non generare confusione, nella traduzione si è cercato di tenere ben distinte le varie componenti utilizzando i seguenti termini: <descrip> <tag/Unità a nastro per controller floppy/ Il termine <it/floppy tape driver/ sta ad indicare quelle unità a nastro da connettersi al controller per floppy. Nel testo si utilizzeranno sinonimi piú brevi quali <em/unità a nastro/ o <em/unità/. <tag/Driver <tt/ftape// Si tratta del software vero e proprio, quello in grado di tradurre le richieste da parte dei programmi di backup in sequenze di comandi interpretabili dall'unità a nastro. Sinonimi usati correntemente nel testo sono <em/driver/, <em/<tt/ftape//, <em/<tt/ftape-2.<it/x///, <em/<tt/ftape-3.<it/x/// ed <em/<tt/ftape-4.<it/x///. <tag/File di periferica/ Il termine <it/device driver/ indica i file speciali contenuti nella directory <tt>/dev</tt> attraverso i quali il driver <tt/ftape/ dialoga con l'unità. Sinonimi di questo termine sono <em/device/ e <em/periferica/. </descrip> Per aiutare chi si avvicina per la prima volta a questo tipo di periferiche e per non disorientare chi, invece, ha già familiarità con esse, si è deciso di tradurre tutti i termini tecnici relativi al mondo delle unità a nastro, ma di lasciare indicato fra parentesi quadre il relativo termine in lingua inglese. Commento a parte merita la sezione sulla compatibilità hardware. Dal testo originale si può comprendere come sia il risultato di un <it/collage/ di informazioni provenienti da diverse persone. Ho fatto del mio meglio per cercare di dare un significato alle frasi che compongono la sezione. <!-- ****** Getting and installing ftape ****** --> <sect>Come procurarsi e installare <tt/ftape/<p> <sect1>Come procurarsi <tt/ftape/<label id="getting"><p> Le versioni v.2.0.<it/x/ del kernel includono la versione 2.08 di <tt/ftape/. Consiglio, pertanto, di procurarsi l'ultima versione del pacchetto contenete il codice sorgente completo per <tt/ftape/. È una versione piú nuova, contiene file che non sono contenuti nella distribuzione del kernel v2.0.<it/x/ e include documentazione molto migliore su come installare <tt/ftape/. Le versioni di kernel v2.1.<it/x/ a sucessive contengono la versione 3.04 di <tt/ftape/. <!-- The v2.1.x and later versions of the kernel have the newer version --> <!-- 4.00 already. So in this case you don't need to download the kernel --> <!-- driver sources. --> È consigliabile scaricare l'ultima versione stabile di <tt/ftape/, cioè la 4.02 nel momento in cui sto scrivendo, disponible presso <htmlurl url="http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape/archives.html" name="http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape/archives.html"> cosí come presso <htmlurl url="ftp://sunsite.unc.edu/pub/Linux/kernel/tapes/" name="ftp://sunsite.unc.edu/pub/Linux/kernel/tapes/">. Probabilmente è opportuno procurarsi anche i pacchetti <tt/ftape-doc/ e <tt/ftape-tools/ disponibili dagli stessi siti. Se, tuttavia, si vuole fare uso dell'<tt/ftape-2.08/ che viene fornito con i kernel v2.0.<it/x/, si tenga presente che si è in possesso di una versione del driver veramente datata, che non supporta correttamente le unità QIC-3020 a 2Mbps, né le unità Ditto 2GB, né le unità Ditto Max o qualsiasi tipo di unità su porta parallela. La sezione <ref id="supp_drives" name="Unità supportate"> fornisce dettagliate informazioni a proposito di quali versioni di <tt/ftape/ supportano determinati hardware. <sect1>Differenze fra le versioni <tt/ftape-2.<it/x//, <tt/ftape-3.<it/x// e <tt/ftape-4.<it/x//<p> <tt/ftape-3.<it/x// e <tt/ftape-4.<it/x// fanno uso di un'interfaccia per file system che fu implementata per un gruppo di release chiamato <tt/zftape/. In effetti il modulo che implementa l'interfaccia <bf/VFS/ (<tt/Virtual File System/) di <tt/ftape-3.<it/x// e anche di <tt/ftape-4.<it/x// è chiamata <tt/zftape.o/ e il suo codice sorgente <tt/C/ all'interno dell'albero del kernel si trova in <tt>[/usr/src/linux/]drivers/char/ftape/zftape/</tt>. <tt/ftape-2.<it/x// (cioè la versione contenuta ancora nel kernel v2.0.<it/x/) usa un'altra interfaccia di file system che fu implementata dall'autore originale di <tt/ftape/ Bas Larhoven. <descrip> <tag/Marcatori di file/ La differenza concettuale fra l'<tt/ftape-2.<it/x// e le versioni successive di <tt/ftape/ sta nel modo in cui i <em/marcatori di file/ sono implementati. Le <em/unità a nastro per controller floppy/ non hanno dei veri marcatori di file.<footnote>I <bf/marcatori di file/ sono usati per distinguere fra differenti backup se sono stati scritti piú backup sul nastro. Le unità SCSI e QIC-150 hanno <em/veri/ marcatori di file, cioè fra due differenti backup ci sono delle regioni sul nastro nelle quali vengono scritti dati speciali in modo tale che la logica dell'unità possa rilevare tali marcatori quando il nastro viene avvolto a velocità (possibilmente+ elevata sopra tali marcatori.</footnote> Poiché l'obiettivo dell'interfaccia del file system di <tt/ftape/ fu fin dal principio quello di provvedere ad un'interfaccia che potesse essere usata con le usuali utility per nastri presenti su sistemi Unix e simili (per esempio <tt/mt/), gli sviluppatori di <tt/ftape/ cominciarono ad emulare i marcatori di file salvando le posizioni del nastro, che indicavano dove doveva trovarsi il marcatore del file, in determinati campi dei segmenti d'intestazione.<footnote><bf/segmento d'intestazione/ [header segment] si riferisce ad una regione all'inizio del nastro grande due volte 29kB, che contiene alcune informazioni importanti circa il formato e la dimensione del nastro, e alcune informazioni di stato.</footnote> Però gli standard <tt/QIC/ definivano già una regione speciale nella quale salvare tali informazioni, il cosiddetto <bf/segmento della tabella di volume/ [volume table segment]. A partire dall'<tt/ftape-3.<it/x// questo <em/segmento della tabella di volume/ viene sfruttato al posto dei campi di dati non utilizzati nel segmento d'intestazione. Come risultato è possibile usare la propria cartuccia con differenti sistemi operativi nel senso che il programma di backup per Win o DOS capiranno che certe regioni del nastro sono già occupate da dati, ed <tt/ftape-3.<it/x// e successivi rilevereranno le regioni utilizzate dai programmi per DOS e Win. Ciò nonostante non è possibile estrarre un backup DOS sotto Linux, né estrarre un volume scritto da <tt/ftape/ sotto DOS, fatto salvo il caso in cui ci si sia cimentati nella scrittura di un software apposito per conto proprio. <tag/Interfaccia IOCTL/ Ci sono alcune differenze nell'interfaccia <bf/IOCTL/<footnote>Questa interfaccia di <em>controllo I/O</em> è utilizzata, per esempio, da <tt/mt/ per riavvolgere il nastro, saltare al marcatore di file successivo o eseguire ogni altra operazione sul nastro.</footnote> fra <tt/ftape-2.<it/x// e <tt/ftape-3.<it/x// e successivi. Una dettagliata descrizione può essere trovata nell'<tt/ftape-manual/ contenuto nel pacchetto <tt/ftape-doc/. Vedere la sezione <ref id="getting" name="Come procurarsi Ftape">. <tag/Formattazione/ La formattazione delle cartucce è supportata <bf/solo/ con <tt/ftape-3.x/ e successivi. Conviene procurarsi il pacchetto <tt/ftape-tools/ che contiene il programma <tt/ftformat/ che si interfaccia con il driver per formattare le cartucce. Vedere la sezione <ref id="getting" name="Come procurarsi Ftape">. Il pacchetto <tt/ftape-tools/ viene distribuito con documentazione (piú o meno) dettagliata, cosí il caso della formattazione delle cartucce non viene trattato in questo documento. <tag/Compressione/ <tt/ftape-3.<it/x// supportava una compressione software ``al volo'', trasparente all'utente. Questa caratteristica (o <em/baco/) è sparita con <tt/ftape-4.<it/x// poiché rendeva veramente molto difficili ulteriori miglioramenti riguardo all'affidabilità dei backup. Questo significa che <tt/ftape-4.<it/x// viene distribuito senza supporto alla compressione. Nonostante questo una <bf/decompressione/ di archivi compressi prodotti con <tt/ftape-3.<it/x// <bf/è/ supportata per evitare che programmi di backup pre-esistenti falliscano là dove un filtro a livello utente non è sufficiente a preservare la compatibilità. Si pensi, per esempio, a <tt/taper/ che chiama autonomamente gli ioctl <tt/MTIOC/, invece di affidarsi al programma <tt/mt/ per eseguire le operazioni sul nastro. </descrip> L'<tt/ftape-manual/ presente nel pacchetto <tt/ftape-doc/ contiene informazioni molto piú dettagliate riguardanti l'interfaccia del file system di <tt/ftape/, cosí come contiene note implementative che esulano dallo scopo di questo HOWTO. Vedere <ref id="getting" name="Come procurarsi Ftape"> per informazioni su come ottenere il manuale. <sect1>Installare il driver con i kernel v2.0.<it/x/ e precedenti<label id="inst20"><p> La seguente sezione fornisce alcune utili informazioni sull'installazione della versione 4.<it/x/ <bf/non/ ancora distribuita con l'albero dei sorgenti del kernel, ma che deve essere scaricata separatamente. Vedere la sezione <ref id="getting" name="Procurarsi ftape"> sopra. Una volta scaricato il codice sorgente (probabilmente <tt/ftape-4.02-tar.gz/), dare il comando <tt/tar/ dopo aver scelto in quale directory riporre il codice sorgente. Io consiglio <tt>/usr/src/</tt> o <tt>~/src</tt>. Quando il file tar viene estratto, tutto il suo contenuto finirà in una subdirectory <tt/ftape-4.02/, cosicché alla fine si otterrà, proseguendo con l'esempio dato, qualcosa del tipo <tt>/usr/src/ftape-4.02</tt> o <tt>~/src/ftape-4.02</tt>. <bf/NOTA:/ non è possibile compilare <tt/ftape-4.02/ nel kernel v2.0.<it/x/. Invece bisogna configurare il kernel affinché <bf/non/ compili il driver <tt/ftape/ e seguire le istruzioni per l'installazione contenute nella distribuzione <tt/ftape-4.02/ e installare l'<tt/ftape-4.02/ come modulo. Leggere il file <tt/README/. La lettura di <tt/README/ è necessaria. Si trova in cima all'albero, tanto per dire. Se ci sono file specifici che <tt/README/ dice di leggere, conviene farlo. Renderà il procedimento molto meno complicato. <bf/Non/ procedere con la compilazione del pacchetto finché non sono stati letti i file <tt/README/ appropriati ed il file <tt/INSTALL/. Dopodiché è necessario editare il file <tt/MCONFIG/ e configurare il pacchetto secondo le proprie specifiche hardware. Il file <tt/MCONFIG/ contiene molte spiegazione, tanto che dovrebbe essere facile seguirlo. Ciò nonostante molte opzioni della configurazione hardware possono essere specificate attraverso l'impostazione dei parametri letti nella fase caricamento del modulo, cosí molti prametri specificati nel file <tt/MCONFIG/ possono mantenere le impostazioni di default senza che ci sia il bisogno di ricompilare il driver per cambiare l'indirizzo di I/O o il valore d'interrupt. Il file <tt/INSTALL/ ed il file <tt>modules/insert</> contengono esempi su come specificare i parametri appropriati del modulo durante il suo caricamento da parte del kernel, quindi non mi inoltrerò in maggiori dettagli. Se si sta usando un kernel linux-v1.3.<it/x/, sarebbe opportuno considerare un aggiornamento alla versione 2.0.<it/x/. La versione 1.3.<it/x/ era la release di sviluppo antecedente la release di produzione v2.0.<it/x/. <!-- More detailed information will be contained in the <tt/ftape-doc/ --> <!-- package which unluckily isn't ready at the time of this writing. --> <sect1>Installare il driver con kernel v2.1.x e successivi<p> <comment> Forse <tt/ftape-4.02/ verrà incluso nel kernel v2.2.<it/x/, ma questo non è chiaro durante la stesura di questo documento. Questo HOWTO verrà rivisto appropriatamente quando ciò sarà chiaro. Cosí, per ora, è necessario riferirsi alla sezione precedente <ref id="inst20" name="Installare il driver con i kernel v2.0.x e precedenti"> ed evitare il contenuto di questa sezione. </comment> Il kernel di Linux v2.1.<it/x/ e successivi contiene già <tt/ftape-4.<it/x// cosicché non è necessario scaricare il pacchetto per il driver del kernel <tt/ftape-4.<it/x//. <tt/ftape-4.<it/x//, in quanto incluso nelle versioni v2.1.<it/x/ del kernel, può essere completamente configurato utilizzando i menú di configurazione del kernel (o con <tt/make menuconfig/ o con <tt/make xconfig/). È anche disponibile un aiuto in linea che documenta l'impostazione di ogni parametro che starò a ripetere qui. Le impostazioni dei vari parametri disponibili al momento del boot o del caricamento del modulo sono spiegati nel file <tt>[/usr/src/linux/]Documentation/ftape.txt</> delle distribuzioni Linux-v2.1.<it/x/ e successive del kernel. <sect1>Seguire lo sviluppo del driver <tt/ftape/<label id="tape-channel"><p> Nel caso si voglia seguire lo sviluppo del driver <tt/ftape/, è possibile iscriversi alla mailing-list ``Linux Tape'' <tt/<linux-tape@vger.rutgers.edu>/. Per fare questo, spedire una e-mail che contenga ``<tt/subscribe linux-tape/'' <em>nel corpo</em> del messaggio a <tt/<majordomo@vger.rutgers.edu>/. Ad iscrizione avvenuta, verrà spedito un messaggio di benvenuto nel quale viene spiegato come postare effettivamente i messaggi e come uscire dalla lista. Si prega di <bf/salvare questo messaggio in un posto sicuro/. Vorrei far notare che io non ho, ripeto <bf/NON HO/, alcun potere speciale concernente questa mailing-list. Se ci si trova nei guai con la lista, non serve prendersi il disturbo per dirmelo. Posso solo stringermi nelle spalle e risponderti con un po' della mia simpatia (ma questo non ti permetterà di uscire dalla lista). <sect1>Utilizzare assieme <tt/ftape/ e floppy<p> Se si fa utilizzo dell'unità a nastro per controller floppy con un FDC standard, l'unità floppy e l'unità a nastro non possono essere utilizzate assieme, in quanto condividono lo stesso hardware, l'FDC, ed il <tt/floppy/ ed <tt/ftape/ non comunicano l'uno con l'altro. Cosí, se è montato un floppy e si prova ad accedere all'unità a nastro, <tt/ftape/ si lamenterà del fatto che non riesce ad impadronirsi dell'IRQ6 e terminerà. Questo diventa un problema vero e proprio quando si crea un disco d'emergenza da utilizzare con ftape. La soluzione consiste nel caricare il disco di boot/root in un ramdisk e poi smontare il floppy, oppure avere due controller floppy. <!-- ****** Care and Feeding of Tapes and Tape Drives ****** --> <sect>Cura e manutenzione del nastro e dell'unità a nastro<p> <sect1>Formattazione<p> Prima che un nastro possa essere utilizzato, deve essere formattato. Il processo di formattazione distribuisce l'informazione dei settori sul nastro. Altre interfaccie a nastro non richiedono tipicamente la formattazione. La ragione per la quale le unità a nastro per controller floppy la richiedono, risiede nel fatto che hanno bisongo di essere visti come dei floppy (piuttosto rozzo, ma che caspita... funziona :-)??? <sect2>È possibile formattare nastri sotto Linux?<p> Sí, è possibile, se si utilizza <tt/ftape-3.04d/ o superiori. Per formattare una cartuccia c'è bisogno di uno strumento a livello utente chiamato <tt/ftformat/ come quello contenuto nella distribuzione di <tt/ftape-tools/ (vedere la sezione <ref id="getting" name="Procurarsi ftape">). Il pacchetto <tt/ftape-tools/ viene distribuito con un proprio manuale, cosí non c'è bisogno che ripeta qui come utilizzare <tt/ftformat/. <sect2>Che programmi di formattazione è possibile utilizzare sotto DOS?<p> I seguenti si sa che funzionano: <itemize> <item> il software (<tt/tape.exe/) della Colorado Memory System <item> Conner Backup Basics v1.1 e tutte le versioni Windows <item> Norton Backup <item> QICstream versione 2 <item> Tallgrass FileSecure v1.52 <item> Escom Powerstream 3.0 (<tt/qs3.exe/ -- QICstream v3?) </itemize> Questi programmi è risaputo che contengono piú o meno errori: <itemize> <item> Conner Backup Basics 1.0 <item> il programma per nastri Colorado Windows <item> CP Backup (spreca spazio su nastro, ma, a parte questo, va bene) </itemize> Come regola generale, la maggior parte del software sotto DOS dovrebbe funzionare. Il Conner Backup Basics v1.0 ha un parametro errato (qualcuno non era riuscito a leggere correttamente le specifiche QIC-80!), che è stato corretto nella versione 1.1. Ciò nonostante <tt/ftape/ riesce a rilevare questo inconveniente e ad aggirarlo. Dennis T. Flaherty (<tt/<dennisf@denix.elk.miles.com>/) ha detto che i proprietari del Conner C250MQ possono ottenere la nuova v1.1 chiamando la Conner al numero 1-800-4Conner (negli Stati Uniti) e chiedere l'aggiornamento (per il prezzo nominale del floppy). La versione per Windows dovrebbe lavorare bene. Alcune versioni del programma per nastri della Colorado sotto Windows hanno un errore dovuto ad uno scarto unitario nel numero dei segmenti. <tt/ftape/ rileva ed aggira anche questo bug. Il Central Point Backup può essere utilizzato, ma spreca prezioso spazio su nastro quando incontra una porzione danneggiata. NOTA: se si sta utilizzando un programma per la formattazione sotto DOS che non è stato menzionato qui, pregherei di spedirmi le informazioni piú rilevanti all'indirizzo <htmlurl url="mailto:heine@math1.rwth-aachen.de" name="<heine@math1.rwth-aachen.de>">, affinché possa aggiornare la lista. <sect1>Ritensionamento<p> I nastri QIC sono particolarmente sensibili alla tensione del nastro. Il motivo sta nel fatto che i nastri per le unità da connettere al controller floppy sono pre-formattati con informazioni sui settori, mentre per altri tipi di nastro le informazioni di sincronismo vengono scritte sul nastro, cosí come avviene per i dati. Se il nastro si tende e i campi per il sincronismo vanno fuori sincronismo, si otterranno degli errori in lettura. Il problema è peggiore con i nastri piú lunghi. È una buona idea ritensionare i nastri nuovi un po' di volte prima di utilizzarli e formattarli. Si dovrebbe, inoltre, provare a ritensionare il nastro quando si cominciano ad avere degli errori di lettura. Sarebbe anche una buona idea ritensionare il nastro prima di un backup. <sect1>Pulizia dell'unità<p> Il rivestimento sul nastro è un composto di ossido. Quando il nastro viene trascinato sopra la testina di lettura, ha la tendenza a depositarvi sopra una sottile quantità di residuo. Si dovrebbe utilizzare periodicamente un pulisci-nastri seguendo le specifiche per l'unità in questione. Pulisci-nastri dovrebbero essere disponibili presso qualsiasi rivenditore di nastri. Un'ulteriore nota sulla pulizia del nastro. È opportuno pulire l'unità dopo il primo uso di un nastro nuovo di zecca. Un nastro nuovo di zecca lascerà tipicamente un quantità abbastanza considerevole di residui la prima volta che viene utilizzato. Grazie a <htmlurl url="mailto:nealf@rcs.ee.washington.edu" name="Neal Friedman"> per la spiegazione ed il suggerimento di inserire questa informazione nell'HOWTO. <sect1>Riparare le cartucce sbobinate [despooled]<p> In rare occasioni può accadere che l'unità a nastro non rilevi i marcatori di <bf/EOT/ (End Of Tape [fine del nastro]) correttamente. Questi marcatori sono semplicemente dei buchi nel nastro che vengono rilevati dall'unità con dei piccoli foto-transistor (o qualcosa di simile). Il manuale dell'unità a nastro in possesso fornirà probabilmente opportuni accenni su come pulire questi rilevatori di EOT. Ciò nonostante, se il rilevamento dell'EOT fallisce, l'unità a nastro ``sbobina'' la cartuccia in quanto il nastro non è incollato alle bobine, ma trattenuto solo per frizione. Ci sono dettagliate istruzioni su come aggiustare tali nastri sbobinati alla pagina Web di Iomega: <htmlurl url="http://www.iomega.com/support/techs/ditto/3006.html" name="http://www.iomega.com/support/techs/ditto/3006.html"> e alla pagina Web della Hewlett Packard: <htmlurl url="http://www.hp.com/isgsupport/cms/docs/lpg12020.html" name="http://www.hp.com/isgsupport/cms/docs/lpg12020.html"> Se le pagine non dovessero trovarsi nell'esatta locazione data sopra, provare a girovagare un po' fra le pagine di HP o Iomega finché non si riesce a trovare le informazioni di cui si ha bisgono. <!-- ****** Supported and unsupported hardware ****** --> <sect>Hardware supportato<p> <sect1>Unità a nastro supportate<label id="supp_drives"><p> Tutte le unità che sono compatibili con lo standard QIC-117 <em/e/ con uno tra gli standard QIC-30, 80, 3010 e 3020 dovrebbero funzionare correttamente. Anche le unità QIC-WIDE e Travan sono supportate (TR-1 è semplicemente un QIC-80 con nastri da 8mm, mentre TR-2 e TR-3 sono anche conosciute come QIC-3010 e 3020 rispettivamente). Le unità Iomega Ditto 2GB e Ditto Max sono ugualmente supportate nonostante non siano completamente conformi agli standard QIC. Sono supportati anche alcune unità da collegare alla porta parallela. Alcuni commenti riportati piú avanti a proposito di potenziali problemi con determinate unità sono molto datati, ma non ho accessibilità a tutti i tipi di hardware e quindi non posso provarli tutti. Taluni resoconti riportati di seguito sono stati commentati da me (<heine@math1.rwth-aachen.de>) in questo modo: <quote> Questo è un commento. </> Attualmente la lista delle unità funzionanati con <tt/ftape/ è: <descrip> <tag/Alloy Retriever 250/<p> <tag/Archive 5580i, XL9250i/<p> <tag/Colorado DJ-10, DJ-20 (conosciuti anche come: Jumbo 120, Jumbo 250)/<p> <tag/Colorado 1400/ <kosowsky@bellini.harvard.edu> ha riportato un problema durante un backup 1G utilizzando taper. <tag/unità a nastro per porta parallela Colorado Trakkere/<P> Supporto aggiunto da Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.DE>. <tag/HP Colorado T1000/ <quote> I problemi riferiti sono probabilmente ormai superati. In particolare lo <tt/zftape/ del quale si parla non esiste piú e il driver <tt/ftape/ è in realtà l'<tt/ftape-2.08/. </quote> Funziona con nastri 3M Travan 400M (TR-1) e nastri da 120M. È stato riscontrato che <tt/mt/ esce improvvisamente, mentre con backup che utilizzano <tt/tar/ funziona bene. Con <tt/cpio/ si consiglia l'uso di <tt/ftape/ al posto di <tt/zftape/. (<millner@millner.bevc.blacksburg.va.us>) Sono stati riscontrati problemi con <tt/zftape/ consistenti in un continuo arresto e partenza dell'unità (<75104.1756@compuserve.com>). Sembra sia un problema del nastro che gira troppo velocemente per il computer; il buffer DMA viene svuotato prima che sia riempito nuovamente. Le versioni piú recenti di <tt/zftape/ non eseguono questa operazione se si utilizza un programma di backup opportunamente veloce e un buffer DMA sufficientemente grande. (<millner@millner.bevc.blacksburg.va.us>). <tag/Conner C250MQ(T)/ Il 250Q sembra generi errori in scrittura e frequenti riposizionamenti. (Frank Stuess presso Nacamar Data Communications) <quote> Errori in scrittura non sono necessariamente causati dall'unità a nastro, ma anche da cartucce rovinate. Anche riposizionamenti frequenti possono essere causati da cartucce rovinate, ma possono essere causati anche da errori di <it/overrun/, indice di problemi di comunicazione fra il controller FDC e quello DMA. </> <tag/Conner TSM420R, TSM850R/ I modelli 400 e 800 funzionano solo con nastri TR-1. <quote> Non so se questo stava ad indicare che le unità citate non funzionano con le normali cartucce DC-2120 da 120MB o che i nastri TR-3 non possono essere letti. Queste unità non erano state progettate per quest'ultimo tipo di nastro. E allora? </> <tag/Conner TST3200R/ Funziona con nastri TR-3 ad 1Mbps (cioè solo con capacità da 1600M). Funziona con nastri QIC-WIDE 400M (il Sony 5122?) (<chris@cs.wmich.edu>). Funziona con nastri TR-3, QIC-3010 e QIC-3020. Viene distribuito con un FDC da 2MB che utilizza il controller Promise 2300+ da 1Mbps (<kjh@pollux.usc.edu>). Sembra che il diver floppy non riesca piú a leggere dischi a bassa densità. Bisogna perdere un po' di tempo con i canali IRQ, quelli degli indirizzi ed i canali DMA (<chris@yakkocs.wmich.edu>). <quote> Il TST3200R va bene con <tt/ftape/. </> <tag/Conner TST800R/ Il TST800R funziona con nastri TR-1, Sony QW5122F (210M) e DC2120. <quote> Funziona bene con <tt/ftape/, almeno fino all'<tt/ftape-2.07/. L'ho utilizzato personalmente finché non si è colato un transistor dell'unità, probabilmente a causa di un surriscaldamento precedente. </> <Tag/Conner CTT3200/<p> Il CTT3200 è probabilmente identico allo Iomega Ditto 3200. Funziona con il controller da 2Mbps fornito, ma sembra non funzionare sotto DOS su alcune macchine (<jmorris@dtx.net>). <tag/Conner 1.7G Tapestor (TSM1700R)/<p> Funziona con nastri di tipo QIC-WIDE (<pschmidt@slip.net>). Parzialmente lavora con QIS-3200. Se si utilizza il controller HSC-2, il canale DMA deve essere cambiato (incrementato di 1 -canale 2?- modificare il <tt/Makefile/). Successivamente è necessario modificare il <tt/Makefile/ di <tt/ftape/ per riflettere questo cambiamento. Nonostante ciò, <tt/ftape/ si comporta in maniera un po' bizzarra con questo (non viene fornito alcun numero di versione) (<ttait@tiac.net>). Potrebbe non funzionare a 2Mbps (QIC-3020) con il controller HSC. L'unità si ferma con un messaggio del tipo "dumb tape stop" che fino ad ora non è stato compreso. (<ttait@tiac.net>). <quote> Nessuna informazione recente disponibile. </> <tag/Escom o Archive (Hornet) 31250Q/<p> <tag/Exabyte EXB-1500/ Funziona con nastri QIC-3010. <tag/Exabyte TR-3/ <tag/Irwin 80SX, Insight 80Mb/<p> <tag/Iomega 250/<p> <tag/Iomega Ditto Tape Insider 420, 1700/<p> <tag/Iomega Ditto Tape Insider 3200/ Questa è l'unità che utilizzo io. Le impostazioni di default dei jumper non funzionano. Lasciare invariati l'IRQ e l'indirizzo della porta di I/O (6 e 0x370, rispettivamente), ma cambiare il DMA da 3 a 2. (Kevin Johnson <kjj@pobox.com>). <quote> Fare riferimento al file <tt/MCONFIG/ delle distribuzioni di <tt/ftape/ piú recenti per altri suggerimenti sulla porta di I/O, l'IRQ ed il canale DMA. </> Potrebbe essere necessario aggiungere <tt/{0x08882, 80, wake_up_colorado, "Iomega 3200"}/ al file <tt/vendors.h/ per le versioni di <tt/ftape/ piú vecchie. Sono stati riscontrati problemi con ftape 2.07 ed il kernel 1.12.13. Tra tutte le combinazioni possibili di acceleratori, etc., l'unità potrebbe essere accessibile (su alcuni sistemi) una volta sola (<erwin@box.nl>). Inoltre, dopo il primo accesso, l'uso successivo del nastro restituisce un messaggio di protezioni in scrittura (<erwin@box.nl>, <M.J.Ammerlaan@dutiwy.twi.tudelft.nl>). C'è stato anche un caso nel quale il nastro è stato sbobinato. <quote> Ciò potrebbe essere stato causato da un sensore di EOT sporco e non è necessariamente un effettivo malfunzionamento hardware (tranne quando è il malfunzionamento a sporcare il sensore di EOT...). </> Un altro problema è stato riscontrato durante la creazione di archivi (con <tt/dd/). Può partire bene, ma quando l'unità comincia ad utilizzare <tt/dd/, si ferma ed il nastro viene riavvolto fino al principio. Successivamente comincia a far girare il nastro in continuazione senza fermarsi. Sembra che tutto ciò accada quando il driver chiede al nastro di fermarsi. Ciò dovrebbe causare l'arretramento del nastro di 3 segmenti, ed invece viene riportato all'inizio. Una correzione dell'errore è stata postata, ma il problema non è stato risolto. <quote> Dovrebbe essere stato aggiustato in qualche versione fra l'<tt/ftape-3.00/ e l'<tt/ftape-4.00/. Sfortunatamente l'utile comando di fast-skipping (salto veloce) di tutte le unità a nastro per controller floppy è <bf/veramente/ scarno. Recenti versioni di <tt/ftape/ hanno aggirato il problema. Suggerisco di procurarsi l'ultima versione del driver <tt/ftape/ qualora si avesse esperienza di questo problema. </> <tag/Iomega Ditto 800 Insider/ Funziona con nastri TR1, TR2, o DC2120 (<klein@informatik.uni-rostock.de>). <tag/Iomega Ditto 2GB/ Supporto aggiunto da Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.DE> all'<tt/ftape-3.<it/xx// e successivi. Non è possibile formattare cartucce, la scrittura è possibile solo con speciali cartucce Ditto 2GB (limite hardware, non è una mancanza di <tt/ftape/). <tag/Iomega Ditto Max/<p> <tag/Iomega Ditto Max Pro/ Supportato a partire dall'<tt/ftape-4.00/. Grazie a Tim Jones <tjones@estinc.com>. Non è possibile formattare cartucce, la scrittura è possibile solo con speciali cartucce Ditto Max (limite hardware, non è una mancanza di <tt/ftape/). Non sono stato in grado di far funzionare il Ditto Max con altri file di periferica all'infuori di <tt>/dev/[n]qft0</tt>. Non so se questa è una caratteristica del Ditto Max o del controller Ditto EZ che ho collegato al Ditto Max. <comment> Non c'è bisogno di comprare un <tt/Fitto Max Pro/ per utilizzare le cartucce da 5/10GB. Con <tt/ftape/ non ci sono sostanziali differenze fra il <tt/Ditto Max/ e il <tt/Ditto Max Pro/. </> <tag>Iomega Ditto 800/3200/2GB/Max/Max Pro Easy (porta parallela)</tag> Supportato a partire dall'<tt/ftape-4.00/ con il driver per FDC <tt/bpck-fdc/. <tag/Mountain FS8000/<p> <tag/Reveal TB1400/<p> È stato riferito che non funziona con il kernel 1.3.79 ed <tt/ftape/ (nessuna versione fornita) o con il kernel 1.2.13 e <tt/zftape 1.04/ (<colin@colina.demon.co.uk>). <quote> La versione del driver <tt/ftape/ appena menzionata è ormai vecchia. Se tuttavia si possiede una tale ``bestia'', procurarsi una versione del driver <tt/ftape/ piú recente. </> <tag/Summit SE 150, SE 250/<p> <tag/Tallgrass FS300</tag> Con un Tallgrass FS300 e un AHA1542B è necessario aumentare il tempo di bus-on / bus-off del 1542B. Antti Virjo (<tt/<klanvi@uta.fi>/) dice che portare <tt/CMD_BUSON_TIME/ a 4 e <tt/CMD_BUSOFF_CMD/ a 12 in <tt>linux/drivers/scsi/aha1542.c</tt> permette di attuare il trucchetto. <tag/Teac 800/<p> <tag/Sistema di backup con unità a nastro Memorex/<p> <tag/Wangtek 3040F, 3080F/<p> </descrip> È sempre possibile controllare la lista piú recente delle unità riconosciute da <tt/ftape/, guardando nel file <tt/vendors.h/ della distribuzione di <tt/ftape/. Anche se non voglio garantire il buon funzionamento di un'unità piuttosto che un'altra, è stato detto che il Colorado DJ-20 è piuttosto rumoroso, quando paragonato ad un, diciamo, Conner C250MQ. Per inciso, è stato detto che il Colorado è 5-10 volte piú rumoroso del Conner. Ma, poiché non ho mai avuto né l'uno né l'altro, non posso dirlo con certezza. <quote> Se possiedi un'unità a nastro che funziona bene, ma non è listata qui, o se hai delle correzioni per le informazioni riportate sopra, ti pregherei di spedire una mail al manutentore dell'HOWTO (<tt/<heine@math1.rwth-aachen.de>/). </> <sect1>Controller speciali supportati<p> I controller ad alta velocità dedicati, supportati da <tt/ftape/, sono i seguenti: <itemize> <item> Colorado FC-10, FC-20 <item> Mountain MACH-2 <item> Iomega Tape Accelerator II <item> controller da 2Mbps (utilizzanti l'fdc i82078-1) <item> il controller Iomega Ditto EZ 4Mbps PnP </itemize> <sect2>Colorado FC-10, FC-20<p> Il supporto per il controller FC-10 è stato aggiunto alla versione 1.12 del driver di <tt/ftape/. Vedere i file <tt/RELEASE-NOTES/ e <tt/Makefile/ nella distribuzione di <tt/ftape/. Dalla versione 2.03 di <tt/ftape/, il controller FC-20 comincerà a funzionare, ma solo ad 1Mb/s (controllare le note di release!). <sect2>Mountain MACH-2<p> Il supporto per il controller MACH-2 è stato aggiunto all'<tt/ftape-1.14d/. <sect2>Iomega Tape Accelerator II<p> Per usare lo Iomega Tape Accelerator II (da <bf/non/ confondersi con lo Iomega Ditto Dash!), utilizzare <tt/-DMACH2/ e configurare correttamente i valori per l'indirizzo I/O di base, l'IRQ e il DMA. Funziona (secondo prove empiriche fatte da Scott Bailey <htmlurl url="mailto:sbailey@xcc.mc.xerox.com" name="<sbailey@xcc.mc.xerox.com>">) almeno con l'<tt/ftape-2.02/. <sect2>Iomega Ditto Dash e altri controller da 2Mbps<p> Lo Iomega Ditto Dash e tutti gli altri controller da 2Mbps usano il chip 82078-1 della Intel, che può lavorare a 2Mbps. Il chip è supportato pienamente a partire dall'<tt/ftape-3.00/. <sect2>Controller Iomega Ditto EZ PnP<p> Questo controller richiede l'utilizzo del cosiddetto pacchetto <tt/isapnptools/ per essere configurato. È disponibile presso <htmlurl url="http://www.roestock.demon.co.uk/isapnptools/" name="http://www.roestock.demon.co.uk/isapnptools/"> Il controller produce troppi errori di <it/overrun/ quando viene utilizzato alla massima velocità di 4Mbps. Né Tim Jones <tjones@estinc.com> né io <heine@math1.rwth-aachen.de> siamo stati in grado di trovare una macchina che potesse far lavorare il controller a 4Mbps. 3Mbps sembrano andare bene. Se il Ditto EZ viene configurato per utilizzare il DMA 2 (il canale DMA usato dal controller del floppy), il drive del floppy non funzionerà piú. Non è di alcuna utilità disabilitare il gate DMA dei controller (come nel caso di altri controller ad alta velocità), cosí non può esserci alcun aiuto nemmeno dalla modifica di <tt/ftape/. <sect1>Unità a nastro non supportate<label id="unsupp_drives"><p> <itemize> <item> Alcune unità per porta parallela non funzionano ancora. Altre vanno bene. <item> Irwin AX250L / Accutrak 250. (non è un'unità QIC-80) <item> IBM Internal Tape Backup Unit (identica all'unità Irwin AX250L) <item> COREtape light </itemize> L'Irwin AX250L (e l'IBM Internal Tape Backup Unit) non funziona con <tt/ftape/. Questo è dovuto al fatto che supporta solo il QIC-117, ma non lo standard QIC-80 (utilizza il formato proprietario della Irwin ``servoe (Rhomat)''). Non so nulla del formato Rhomat, né dove trovare qualche informazione. Mi dispiace. Il COREtape light non accetta i comandi di inizializzazione, ma ce ne stiamo occupando. Questo problemino lascia l'unità inutilizzabile. <sect1>Utilizzare un'unità a nastro esterna con <tt/ftape/<p> Se si possiede un controller floppy provvisto di un connettore femmina DB37 fissato alla staffa (alcuni piedini servono per alimentare l'unità) è possibile utilizzarlo con <tt/ftape/. Va bene, questa frase non era proprio ovvia. Proviamo in questo modo: alcuni FDC (quelli proprio vecchi) hanno un connettore DB37 sulla staffa per connettere unità floppy esterne. Se si costruisce un cavo adatto per collegare il connettore DB37 (del FDC) alla propria unità a nastro esterna, è possibile utilizzare <tt/ftape/ per controllare la propria unità. Ciò è dovuto al fatto che dal punto di vista di un programma non c'è differenza fra un connettore esterno ed uno interno. Cosí, dal punto di vista di <tt/ftape/, sono identici. <itemize> <item> Pin 20-37: MASSA <item> 1: +12 Volt (ALIMENTAZIONE) <item> 2: +12 Volt ritorno (MASSA) <item> 3: +5 Volt ritorno (MASSA) <item> 4: +5 Volt (ALIMENTAZIONE) <item> 5: 2 <item> 6: 8 <item> 7: 10 <item> 8: 12 <item> 9: 14 <item> 10: 16 <item> 11: 18 <item> 12: 20 <item> 13: 22 <item> 14: 24 <item> 15: 26 <item> 16: 28 <item> 17: 30 <item> 18: 32 <item> 19: 34 </itemize> Il connettore per l'alimentazione è del tipo ``mini'', come quello delle unità floppy da 3.5". L'idea è quella di collegare uno dei connettori per l'alimentazione della PSU<footnote>Si tratta dell'alimentatore interno al computer (N.d.T.)</footnote> al connettore presente sulla scheda. Se si intende utilizzare solo un cavo, ci si dovrà procurare un cavo da 50 fili e utilizzare piú fili per l'alimentazione (e la massa, per ciò che serve). Nessuno mi ha confermato che funzioni. Fatemi sapere i risultati se ci provate. <sect1>Schede madri PCI <tt/ftape/<label id="pci-boxes"><p> Sfortunatamente alcune schede madri PCI causano problemi quando si tenta di far girare <tt/ftape/. Alcune persone hanno avuto modo di provare che <tt/ftape/ non gira su computer con tecnologia PCI, mentre non fanno una grinza su di un normale 386DX con tecnologia ISA. Se si presenta un problema come questo, fare riferimento al file <tt/README.PCI/ nella distribuzione di <tt/ftape/. <quote> Un controller per floppy ha bisogno di un controller DMA su bus ISA per i suoi trasferimenti di memoria. Sembra che il controller DMA ISA non ottenga il controllo sulla memoria abbastanza frequentemente su alcuni sistemi basati sul PCI. </> <!-- ******* ****** Backing up and restoring data ****** ****** --> <sect>Archiviare e ripristinare i dati<p> Questa sezione descrive alcune semplici utilizzi di <tt/tar/ ed <tt/mt/. Altri esempi si possono trovare nell'<tt/ftape-manual/ del pacchetto <tt/ftape-doc/. L'<tt/ftape-tools/ contiene alcuni semplici ambienti di test automatizzati tipo <tt/DejaGnu/<footnote>Pacchetto per scrivere test automatizzati.</> Vedere la sezione <ref id="getting" name="Procurarsi Ftape"> per informazioni su dove scaricare questi pacchetti addizionali. <sect1>Scrivere un archivio su di un nastro<label id="write-backup"><p> È possibile utilizzare ``<tt/tar/'', ``<tt/ttdd/'', ``<tt/cpio/'' e ``<tt/afio/''. Ci sarà bisogno di utilizzare ``<tt/mt/'' per ottenere il massimo dalle potenzialità dai nastri e dal driver <tt/ftape/. Per cominciare consiglio <tt/tar/, in quanto permette di archiviare molte directory e di estrarre successivamente file separati dall'archivio. <tt/cpio/ crea archivi piú piccoli ed è generalmente piú flessibile di <tt/tar/, ma gli mancano alcuni caratteristiche come l'etichettamento dei volumi. <tt/afio/ crea backup nei quali ogni file è compresso individualmente e poi concatenato. Questo permette di accedere ai file ``dopo'' il punto di errore. Se si utilizzano file archiviati con <tt/tar/ e compressi con <tt/gzip/, tutti i dati dopo il punto di errore sono persi! (secondo me, questa è una buona ragione per <em/non/ utilizzare la compressione sui backup). Quale sia la scelta piú opportuna dipende dalla situazione e dalle caratteristiche diverse da programma a programma. Consiglio di dare un'occhiata ad ogni programma ed a rivedere le opzioni che ognuno di essi fornisce. È possibile che questo HOWTO possa fornire maggiori dettagli al riguardo in futuro. Ci sono ulteriori link che puntano a programmi di backup all'indirizzo <htmlurl url="http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape/" name="http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape/"> nella sezione <tt/software/ della pagina. Per eseguire il backup del proprio albero dei sorgenti del kernel utilizzando <tt/tar/, impartire i seguenti comandi (dove si assume che i sorgenti si trovino in <tt>/usr/src/linux</tt>): <tscreen><verb> # cd /usr/src # tar cf /dev/ftape linux </verb></tscreen> Questo non comprime i file, ma fa girare un po' il nastro. Se si vuole la compressione (e si possiede il <tt/tar/ 1.11.2), è sufficiente aggiungere il flag <tt/-z/<footnote><tt/tar/ assume che il primo argomento sia un'opzione, cosicché il ``<tt/-/'' non è necessario, cioè i seguenti due comandi eseguono la stessa operazione: ``<tt>tar xzf /dev/ftape</tt>'' e ``<tt>tar -xzf /dev/ftape</tt>''</> cioè: ``<tt>tar czf /dev/ftape linux </tt>''. Per maggiori istruzione su come utilizzare <tt/tar/, <tt/dd/ ed <tt/mt/ consultare le <it/man-page/ e i file <it/texinfo/ ottenuti con le rispettive distribuzioni. <sect1>Ripristinare un archivio<p> Va bene, ora ripristiniamo il backup dei sorgenti del kernel effettuato alla sezione precedente <ref id="write-backup" name="Scrivere un archivio su di un nastro">. Per fare questo digitare semplicemente: <tscreen><verb> tar xf /dev/ftape </verb></tscreen> Se si è utilizzata la compressione, si dovrà digitare: <tscreen><verb> tar xzf /dev/ftape </verb></tscreen> Quando si utilizza la compressione, <tt/gzip/ si lamenterà di dati ridondanti subito dopo la fine dell'archivio (e ciò condurrà ad un messaggio di ``broken pipe''). Tutto ciò può essere tranquillamente ignorato. Per altri programmi di utilità, consultare la pagina di manuale. <sect1>Provare un archivio<p> <tt/tar/ possiede un'opzione (<tt/-d/) per rilevare le differenze fra due archivi. Per testare il proprio backup dei sorgenti del kernel digitare: <tscreen><verb> tar df /dev/ftape </verb></tscreen> Se non si possiede la <it/man-page/ di <tt/tar/, non tutto è perduto (ancora); <tt/tar/ possiede un'opzione interna per listare i flag disponibili: provare con ``<tt/tar --help 2>&1 | less/''. <sect1>Mettere piú di un backup su di un nastro<p> Per mettere piú di un backup su di un nastro si deve possedere l'utility <tt/mt/. Probabilmente è già installata sul sistema se si possiede una delle distribuzioni principali (cioè Slackware o Debian). Programmi come <tt/tar/ e <tt/cpio/ generano un singolo archivio per il nastro (Tape ARchive) e non sanno nulla circa l'utilizzo di piú file o il posizionamento di un nastro. Non fanno altro che leggere o scrivere su di un file di periferica. <tt/mt/ sa perfettamente come muovere il nastro avanti ed indietro, ma non sa assolutamente come estrarre i dati dal nastro. Come probabilmente si avrà già intuito, la combinazione di <tt/tar/ o <tt/cpio/ con <tt/mt/ permette il trucco. Utilizzando il device <tt/nqft[0-3]/ (<tt/nftape/), è possibile posizionare il nastro con <tt/mt/ al posto giusto (``<tt>mt -f /dev/nqft0 fsf 2</tt>'' indica di andare avanti di due ``marcatori di file'', cioè di due file <tt/tar/) e poi utilizzare <tt/tar/ o <tt/cpio/ per leggere o scrivere i dati rilevanti. L'utilizzo piú comune delle periferiche non-riavvolgenti è quello di aggiungere un altro backup ad un nastro esistente. Qui di seguito ci sono i passi dettagliati con una breve spiegazione per una comprensione migliore. <itemize> <item>Inserire il nastro nell'unità. Su alcune unità questo potrebbe causare il riavvolgimento del nastro. <item>Impartire un comando di ``fine nastro'' (End-of-Tape) alle periferiche <em/non/-riavvolgenti. <tscreen><verb> mt -f /dev/n???? eof </verb></tscreen> Il nastro dovrebbe essere ora posizionato alla fine dei dati (End-of-Data o <bf/EOD/). Il nastro non si muoverà finché: <itemize> <item>un programma non aprirà la periferica; <item>la periferica riavvolgente verrà chiusa; <item>il modulo di ftape verrà rimosso dalla memoria kernel (rmmod); <item>il nastro verrà espulso. </itemize> L'utilizzo di ``<tt/mt eof/'' dovrebbe risultare piú veloce con i nastri QIC. <item>L'operazione successiva comincerà dal marcatore EOD. Se si vuole intraprendere un'operazione di scrittura, questa aggiungerà un nuovo ``file''. Se si intraprende un'operazione di lettura, questa fallirà con un EOF. Il marcatore di EOD per molti formati di nastro è, in effetti, due marcatori di EOF consecutivi, anche se, dalla versione 3.<it/xx/, <tt/ftape/ utilizza la tavola di volume, come specificato nello standard <tt/QIC-113/, per emulare i marcatori di file, cosicché non ci sono due marcatori di file consecutivi nel punto di EOD. La scrittura dei marcatori di EOF viene effettuata o dal driver o dall'hardware nel momento in cui riceve un close(). <item>Questo è il momento in cui vengono effettivamente scritti i dati sul nastro. <item>Questo punto è importante. <bf>Ora riavvolgere il nastro</bf>. <tt/ftape/ mantiene nella propria cache alcune informazioni inerenti i segmenti di intestazione del nastro che vengono aggiornati <bf>solo quando il nastro viene riavvolto</bf>. L'utilizzo della cache è necessario in quanto il riavvolgimento del nastro e l'aggiornamento dei segmenti di intestazione richiede una notevole quantità di tempo. L'altra faccia della medaglia è che si perderanno informazioni se si esegue un'operazione di scrittura e non si riavvolge il nastro. </itemize> <sect1>Aggiungere file ad un archivio<p> «C'è un modo per espandere un archivio mettendo un file sul nastro e, successivamente. aggiungerne altri?» No. La documentazine di <tt/tar/ dice di utilizzare ``<tt/tar -Ar/'', ma non funziona. Questa è una limitazione del driver <tt/ftape/ corrente. <sect1>Eseguire il mount o l'unmount dei nastri<p> Poiché un nastro non ha un ``filesystem'' su di esso, non si esegue il mount o l'unmount di un nastro. Per effettuare un backup, inserire semplicemente il nastro ed impartire i comandi di <tt/tar/ (o qualsiasi altro comando si utilizzi per accedere al nastro). <!-- ****** ****** Creating an emergency boot floppy ****** ****** --> <sect>Creare un floppy di partenza in caso di emergenze per <tt/ftape/<p> <comment> Nel momento in cui scrivo (agosto 1998), ricordo di aver letto di diversi set di dischi d'emergenza sul news-group <bf/c.o.l.a./ (<tt/comp.os.linux.announce/). Alcuni di quei pacchetti potrebbero effettivamente produrre un insieme di dischetti per le partenze d'emergenza piú sofisticato. È opportuno controllare di persona. Io non ho provato a creare un dischetto di emergenza con le recenti versioni di <tt/ftape/. </comment> Questa sezione è stata scritta da Claus Tøndering <tt/<ct@login.dknet.dk>/. Una volta diventati felici possessori di un'unità a nastro e di diversi nastri pieni zeppi di backup, probabilmente verrà spontaneo porsi questa domanda: «Se qualcosa va storto e perdo completamente il contenuto del mio hard-disk, come faccio a ripristinare i miei file dal nastro?» Ciò di cui si ha bisogno è un disco floppy d'emergenza, che contenga abbastanza file da permettere la partenza di Linux e di ripristinare l'hard-disk dal nastro. La prima cosa da fare è leggere il ``The Linux Bootdisk HOWTO'' scritto da Graham Chapman <htmlurl url="mailto:grahamc@zeta.org.au" name="<grahamc@zeta.org.au>">. Questo documento contiene praticamente tutto ciò che bisogna sapere per creare un kit di partenza con dischi floppy d'emergenza. I paragrafi seguenti contegono alcune altre informazioni che renderanno la vita un po' piú semplice quando si seguiranno le procedure di Graham Chapman. <itemize> <item>Non c'è effettivamente bisogno di <tt>/etc/init</tt>, <tt>/etc/inittab</tt>, <tt>/etc/getty</tt> e <tt>/etc/rc.d/*</tt> sul floppy. Se Linux non trova <tt>/etc/init</tt>, farà partire <tt>/bin/sh</tt> dalla console, cosa che va benissimo per ripristinare il sistema. Cancellando questi file si guadagna dello spazio sul floppy, cosa di cui, probabilmente, si ha bisogno. <item>È meglio cercare un versione ridotta di <tt>/bin/sh</tt>. Spesso è possibile trovarla sui floppy di boot che si ottengono con una distriuzione Linux. Questo, ancora, permette di guadagnare ulteriore spazio. Personalmente suggerisco <tt/ash/, estremamente ridotta (circa 62kB) e gran parte compatibile con <tt/bash/. <item>L'<tt>/etc/fstab</tt> che verrà incluso nel floppy dovrebbe assomigliare a qualcosa del genere: <tscreen><verb> /dev/fd0 / minix defaults none /proc proc defaults /dev/hda /mnt ext2 defaults </verb></tscreen> Una volta fatto partire il sistema dal floppy, impartire il comando seguente: <tscreen><verb>mount -av </verb></tscreen> <item>Assicurarsi che il driver per il floppy non sia montato quando si accede all'unità a nastro! In caso contrario è possibile ottenere in risposta il seguente messaggio di errore: <tscreen><verb> Unable to grab IRQ6 for ftape driver</verb></tscreen> Questo significa che <bf>è necessario</bf> caricare il floppy in un <it/ramdisk/. La sfortunata conseguenza di questo è che i programmi necessari a ripristinare i file dal nastro non possono risiedere su di un floppy separato. A questo punto si hanno due opzioni: <enum> <item>Salvare <tt/tar/ (<tt/cpio/, <tt/afio/ o qualsiasi altro programma di backup si utilizzi) sul floppy di root. Qui è dove si sfrutta tutto lo spazio addizionale creato nei passi precedenti. <item>Prima di cominciare a ripristinare il nastro, copiare <tt/tar/ (<tt/cpio/, <tt/afio/ o quant'altro) sul proprio hard-disk e caricarli da là. </enum> <item>Oltre ai programmi di backup, ci sarà probabilmente bisogno anche di <tt/mt/ sul floppy di root. <item>Assicurarsi che il device del nastro (tipicamente <tt>/dev/nqfto</tt>) sia presente sul floppy di root. <item>Infine, <bf>provare il tutto!</bf> Ovviamente non consiglio di distruggere il contenuto dell'hard-disk per vedere se si è in grado di ripristinare tutto. Consiglio, invece, di provare a far partire il sistema dai dischi di emergenza e di assicurasi di poter almeno listare il contenuto dei backup presenti sul nastro. </itemize> <!-- ****** Ftape-FAQ, wordly included. Keep in sync with the separate FAQ distribution ****** --> <sect>Domande poste frequentemente<p> <comment> Questa è l'inclusione testuale della raccolta delle domande poste piú frequentemenete sull'Ftape, che sono mantenute da <htmlurl url="mailto:jo@correct.nl" name="Johan De Wit"> e che possono essere visionate in rete all'indirizzo <htmlurl url="http://www.correct.nl/~ftape" name="http://www.correct.nl/~ftape">. Poiché l'SGML Linuxdoc non contiene le sotto-sotto-sezioni nell'indice, ho aggiunto la parola <tt/FAQ/ alle sezioni del documento FAQ originale. </comment> <bf>Questa raccolta di FAQ potrebbe essere leggermente datata in quanto è stata fatta mentre la versione 3.04d del driver <tt/ftape/ era la piú recente. Se qualche risposta data nelle FAQ contraddice ogni altra affermazione di questo HOWTO, si prega di non considerare la risposta della FAQ e di spedire a me (<heine@math1.rwth-aachen.de>), cosí come al manutentore dell'<tt/Ftape-FAQ/ (Johan De Wit <jo@correct.nl>), una nota al riguardo. </bf> <!-- ****** Include the FAQ here, strip the trailing and leading garbage and prepend the word "FAQ: " to each section ****** --> Nella lettura di questo documento è possibile incontrare riferimenti ai seguenti indirizzi: <itemize> <item>Il manutentore delle FAQ di Ftape: <p><htmlurl url="mailto:jo@correct.nl" name="Johan De Wit <jo@correct.nl>"> <item>Il manutentore di Ftape: <p><htmlurl url="mailto:heine@math1.rwth-aachen.de" name="Claus-Justus Heine <claus@momo.math.rwth-aachen.de>"> <item>L'home-page di Ftape: <p><htmlurl url="http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape/" name="<http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape/>"> <item>Mirror dell'home-page di Ftape: <p><htmlurl url="http://www.torque.net/ftape/" name="<http://www.torque.net/ftape/>"> Un ringraziamento va a: <p><htmlurl url="mailto:grant@torque.net" name="Grant R. Guenther <grant@torque.net>"> <p><htmlurl url="http://www.info-systems.com/ftape/" name="<http://www.info-systems.com/ftape/>"> Un ringraziamento va a: <p><htmlurl url="mailto:jc@info-systems.com" name="Jakob Curdes <jc@info-systems.com>"> <p><htmlurl url="http://www.newwwave.net/~joshg/ftape/" name="<http://www.newwave.net/~joshg/ftape/>"> Un ringraziamento va a: <p><htmlurl url="mailto:joshg@newwave.net" name="Josh Goins <joshg@newwave.net>"> <item>L'Ftape-HOWTO <p><htmlurl url="http://sunsite.unc.edu/LDP/HOWTO" name="<http://sunsite.unc.edu/LDP/HOWTO>"> <item>La mailing-list di Ftape: <p><htmlurl url="mailto:linux-tape@vger.rutgers.edu" name="<linux-tape@vger.rutgers.edu>"> </itemize> Ci sono sicuramente molte mancanze. Non ci si faccia problemi a voler migliorare queste FAQ. Il modo migliore per farlo è quello di mandare messaggi alla <htmlurl url="mailto:linux-tape@vger.rutgers.edu" name="mailing-list di Ftape"> nel caso ci siano domande che non trovano risposta qui. Inoltre, se si sta già leggendo regolarmente la mailing-list e si ha l'impressione che alcune domande vengano poste frequentemente, è possibile senza alcun problema spedire la domanda, con l'eventuale risposta, nel formato indicato qui sotto al <htmlurl url="mailto:jo@correct.nl" name="manutentore"> delle <em/FAQ di Ftape/ ed anche alla <htmlurl url="mailto:linux-tape@vger.rutgers.edu" name="mailing-list di Ftape">. Se si inviano messaggi relativi alle FAQ, si prega di non dimenticarsi di prependere la parola ``<bf/[FAQ]/'' all'oggetto del proprio messaggio. Si prega di non aggiungere la parola ``FAQ'' all'oggetto se il messaggio non è inerente alle FAQ. Questo per ora è tutto. <htmlurl url="mailto:heine@math1.rwth-aachen.de" name="Claus-Justus Heine">. <sect>FAQ: domande relative alla «Compilazione ed installazione di Ftape»<p> <sect1>Che versione di Ftape devo utilizzare?<p> Sempre l'ultima versione stabile che si <em/suppone/ sia disponibile agli indirizzi <htmlurl url="ftp://sunsite.unc.edu/pub/Linux/kernel/tapes" name="ftp://sunsite.unc.edu/pub/Linux/kernel/tapes"> e <htmlurl url ="http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape/" name="http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape/">. Nel momento in cui sto scrivendo, l'ultima versione stabile è la <tt/ftape-4.02/. <risposta di Claus Heine> <sect1>Sto riscontrando problemi nel cercare di far girare l'unità <it/XYZ/ con il kernel 2.0.<it/xx/ con il driver compilato staticamente. Come faccio a rimediare?<p> La versione predefinita di <em/Ftape/ inclusa con i sorgenti del kernel 2.0.<it/xx/ è la 2.08 o la 2.09 ed è alquanto datata. Si prega di aggiornare i <em/driver di Ftape/ all'ultima versione disponibile all'<htmlurl url="http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape/" name="home-page di Ftape">. <risposta di Tim Jones> <sect1>Sto lavorando con Linux/SMP e il sistema si congela quando tento di accedere ai device di Ftape!<p> È necessario aggiungere <tt/-D__SMP__/ alla variabile <tt/KERNEL_OPT/ nel file <tt/MCONFIG/. Nelle versioni di <tt/ftape/ piú aggiornate è sufficiente togliere il commento ad alcune linee presenti nel file <tt/MCONFIG/. <risposta di Claus Heine> <sect1>Perché <tt/depmod/ si lamenta di certi ``undefined symbols'' [simboli indefiniti]?<p> Si ignorino i messaggi d'errore di <tt/depmod/. Il problema è che i <em/moduli di Ftape/ devono essere compilati senza la caratteristica del <it/checksum/ di versione (cioè <tt/CONFIG_MODVERSIONS/) con i kernel 2.0.*;. Questo non comporta alcun problema, anche quando i moduli vengono utilizzati con un kernel che supporta questa caratteristica; solo che <tt/depmod/ erroneamente si lamenta di certi simboli indefiniti. Si ignorino le lamentele di <tt/depmod/ e si provi ad inserire i moduli nonostante queste lamentele: <tscreen><verb> modprobe zftape </verb></tscreen> Se non funziona, c'è qualcosa di sbagliato. <risposta di Claus Heine> <sect1><tt/insmod/ dice che la versione del kernel è sbagliata.<p> Il programma <tt/insmod/ può confrontare la versione del kernel con la versione per la quale <em/Ftape/ è stato compilato in due modi: può direttamente comparare il numero di versione del kernel registrato nel <em/modulo di Ftape/ con la versione del kernel che sta girando, oppure, se sia il kernel che <em/Ftape/ sono stati compilati con i simboli di versione, confrontare la versione dei simboli utilizzati dal kernel. Se la versione di GCC è stata aggiornata alla v2.7.0 o successive, è necessario ricompilare le utility dei moduli con <tt/gcc/ v2.7.<it/x/. Versioni di <tt/insmod/ piú recenti permettono di ``forzare'' l'inserimento di un modulo nel kernel, anche se la stringa di versione non è corretta. <dall'Ftape-HOWTO> <sect1><tt/insmod/ dice che kernel 1.2.0 e 1.2.0 differiscono.<p> Ci si è ricordati di applicare il patch <tt/ksyms.c/ al kernel? Se non lo si è fatto, leggere il file <tt/README.linux-1.2/ nella distribuzione dei sorgenti. <dall'Ftape-HOWTO> <sect1>Provando a compilare Ftape si ottiene l'errore: «<tt/modversions.h: no such file or directory/».<p> Il file <tt/modversions.h/ viene creato quando il kernel è compilato con il flag di configurazione <tt/CONFIG_MODVERSIONS/ attivato. Con questa opzione abilitata, il file verrà creato durante il passo <tt/make dep/. Un consiglio piú pratico: <tt/make mrproper/ rimuoverà <tt>/usr/include/linux/modversions.h</tt>. È necessario riconfigurare il kernel ed impartire un <tt/make dep/ per riottenere il file. <dall'Ftape-HOWTO> <sect1>In ogni caso, cosa sono questi ``versioned symbols'' [simboli di versione]?<p> Rispondendo affermativamente al <tt/CONFIG_MODVERSIONS/ durante il <tt/make config/, tutti i simboli esportati dal kernel, cioè i simboli che i moduli caricabili possono ``vedere'', vengono aumentati per comprendere una somma di controllo attraverso i tipi dei parametri di chiamata/ritorno. Ciò permette ad <tt/insmod/ di rilevare se la definizione di una variabile o funzione nel kernel è cambiata dal tempo in cui <em/Ftape/ è stato compilato. Questo assicura un alto grado di sicurezza, tale da evitare un tracollo del kernel nel caso si utilizzi un modulo vecchio con il proprio kernel. Se si abilita <tt/CONFIG_MODVERSIONS/ nel kernel, assicurarsi di aver tolto il commento da <verb> -DMODVERSIONS -include /usr/include/linux/modversions.h </verb> alla linea <tt/MODULE_OPT/ nel Makefile di <em/Ftape/. Viceversa, se non si ha <tt/CONFIG_MODVERSIONS/ abilitato, assicurarsi di avere la linea commentata. <dall'Ftape-HOWTO> <sect1>Mi sembra di avere sftape invece di zftape. Quando lancio il comando <tt/ftmt status/, ottengo una risposta che, nei documenti di Ftape, corrisponde a sftape (<tt>/dev/qft0: Invalid argument</tt>). Perché?<p> Ci sono (almeno) due possibili cause a questo problema: <itemize> <item>Tutte le versioni Ftape-3.*; precedenti alla 3.04 installano i moduli in <tt>/lib/modules/misc</tt> invece di <tt>/lib/modules/uname -r/misc</tt>. Poiché <tt/modprobe/ cerca in <tt>/lib/modules/misc/</tt> come ultima risorsa, ci potrebbe essere un vecchio modulo <tt/ftape.o/ disperso in <tt>/lib/modules/</tt><em>uname -r</em><tt>/misc</tt> che <tt/modprobe/ trova prima (``<tt/uname -r/'' sta per la versione del kernel). In questo caso rimuovere il vecchio modulo <tt/ftape.o/. <item>Il proprio kernel ha il supporto per <em/Ftape/ compilato. In questo caso riconfigurare il proprio kernel senza il supporto per <em/Ftape/ (<tt/CONFIG_FTAPE/), ricompilarlo ed installarlo. </itemize> <risposta Claus Heins> <sect1>La mia scheda DASH/FC-20/Exabyte Accelerator funziona sotto Microsoft Windows, ma ottengo un errore di tipo ``unità non trovata'' in <tt//var/log/messages/ quando provo ad utilizzarlo sotto Linux.<p> Probabilmente si sta provando ad utilizzare le stesse impostazioni di IRQ e DMA dell'FDC installato. Ciò non funziona per le versioni di <em/Ftape/ precedenti alla 3.03b. Si prega di aggiornare il <em/driver di Ftape/ all'ultima versione disponibile dall'<htmlurl url="http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape/" name="home-page di Ftape">. <risposta di Tim Jones> <sect1>I trasferimenti DMA di Ftape danno errori di ECC.<p> Sono spiacente di dover dire che ci sono alcune schede SVGA e schede Ethernet che non decodificano correttamente i propri indirizzi. Questo tipicamente accade quando i buffer di <em/Ftape/ si trovano nell'intervallo <tt/0x1a0000/-<tt/0x1c0000/. In qualche modo i cicli di scrittura DMA vengono rovinati ed ogni altro byte scritto ottiene un valore sbagliato (<tt/0xff/). Questi problemi si sono avuti sia con schede SVGA che schede Ethernet. Siamo a conoscenza di almeno una (cattiva?) scheda VGA ATI 16bit che provoca questo. La soluzione piú semplice consiste nel mettere la scheda in uno slot ad 8bit (spesso non è abbastanza riconfigurare la scheda per trasferimenti ad 8bit). Spostare il buffer di <em/Ftape/ lontano dall'intervallo della VGA è solo una soluzione parziale. Tutti i buffer DMA utilizzati in Linux possono avere questo problema! Vorrei che fosse chiaro questo concetto: questo non ha niente a che fare con il software di <em/Ftape/. <dall'Ftape-HOWTO> <sect1>Aiuto! Sto avendo dei ``<tt/dmaalloc() failed/'' nel mio file di syslog.<p> Si dovrebbe vedere questo solo se si sta tentando di eseguire un <tt/insmod/ con il modulo <tt/ftape.o/. Provare a lanciare prima <tt/swapout/. Viene fornito con i sorgenti di <em/Ftape/ distribuito singolarmente. Non compare nei sorgenti di <em/Ftape/ che vengono forniti con il kernel. Qui di seguito è riportato un esempio di come si possa impostare il file <tt/rc.local/ per un suo utilizzo. <tscreen><verb> # Install the Floppy Tape Driver if [ -f /boot/modules/`uname -r`/misc/ftape.o ]; then echo Installing ftape for Linux `uname -r` swapout insmod /boot/modules/`uname -r`/misc/ftape.o fi </verb></tscreen> Si noti che questo problema non compare se il <em/driver di Ftape/ viene compilato nel kernel. <dall'Ftape-HOWTO> <sect1>Syslogd lavora in continuazione quando gira Ftape.<p> Le opzioni in fase di compilazione <tt/NO_TRACE/ e <tt/NO_TRACE_AT_ALL/ in <em/Ftape/ controllano l'ammontare dei log di sistema. Aggiungere tutto quello che si ritiene opportuno alla linea <tt/FTAPE_OPT/ nel Makefile e ricompilare. <dall'Ftape-HOWTO> <sect1>Come posso cambiare il trace-level?<p> Ci sono tre modi per fare questo (in ordine di preferenza personale). Quando ci arriveremo, qui ci sono i significati dei vari trace-level. <itemize> <item>0 bugs [bachi] <item>1 + errors [errori] <item>2 + warnings [avvertimenti] <item>3 + information [informazioni] <item>4 + more information [informazini ulteriori] <item>5 + program flow [flusso del programma] <item>6 + FDC/DMA info [informazioni FDC/DMA] <item>7 + data flow [flusso dei dati] <item>8 + everything else [qualsiasi altra cosa] </itemize> <enum> <item><bf/Utilizzare <tt/insmod/ per cambiare trace-level:/ se si sta utilizzando il meccanismo dei moduli per caricare il driver di <em/Ftape/, è possibile specificare il trace-level come opzione del comando <tt/insmod/. <tscreen><verb> /sbin/insmod ftape.o tracing=<trace-level> </verb></tscreen> <item><bf/Utilizzare <tt/mt/ per cambiare trace-level:/ il driver di <em/Ftape/ ha un hack<footnote/taglio/ che permette all'opzione <tt/fsr/ di <tt/mt/ di venir utilizzata per impostare il trace-level. <tt/zftape/ non ha questo hack. <tscreen><verb> mt -f /dev/ftape fsr <trace-level> </verb></tscreen> L'utilizzo del comando <tt/fsr/ in <tt/mt/ è un <em/hack/ e probabilmente sparirà o cambierà col tempo. <item><bf/Ricompilare per cambiare trace-level:/ il file <tt/tracing.c/ contiene una linea <tt/int tracing = 3;/. Cambiare il 3 in ciò che si ritiene opportuno e ricompilare. </enum> <dall'Ftape-HOWTO> <sect1>Sto avendo problemi con Ftape. Sto utilizzando l'ultima versione di Ftape prelevata dall'home-page di Ftape e credo di aver individuato un bug vero. Cosa devo fare?<p> Controllare l'<htmlurl url="http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape/" name="home-page di Ftape"> per una versione ancora piú recente. Poi controllare che le FAQ contenute nel pacchetto non riportino il problema riscontrato. Successivamente provare a controllare che il manuale che arriva con la <em/distribuzione di Ftape/ non menzioni i problema. Non c'è bisogno di leggere l'intero manuale. Piú semplicemente si cerchi nell'indice analitico una parola che possa riferirsi al proprio problema e leggere il paragrafo relativo. Se ancora si è convinti di aver trovato un baco, allora postare una domanda di carattere generale che descriva il problema nella <htmlurl url="mailto:linux-tape@vger.rutgers.edu" name="mailing-list di Linux-Tape">, ma non allegare tutto il log dell'errore di <em/Ftape/. Se ci siamo già imbattuti nel problema in passato, faremo sapere dove si trova la soluzione. Se, invece, non lo abbiamo mai visto, il <htmlurl url="mailto:heine@math1.rwth-aachen.de" name="manutentore di Ftape"> probabilmente richiederà l'intero log d'errore (ottenuto dal proprio file dei messaggi di sistema). <risposta di Tim Jones> <sect>FAQ: domande relative all'«utilizzo di Ftape»!<p> <sect1>Quanto va veloce Ftape?<p> È possibile ottenere velocità di backup e ripristino abbastanza rispettabili con <em/Ftape/: con un Colorado DJ-20 ed un controller Adaptec 1542CF sono state misurate delle velocità di trasferimento continuative di 4.25MB/min (senza compressione) con un archivio tar da 70MB, mentre si stava confrontando l'archivio sul nastro con i dati su di un disco IDE. La velocità di <em/Ftape/ dipende fortemente dalla velocità di trasferimento del proprio FDC: l'AHA1542CF è un FDC di tipo "post-1991 82077" che permette di inviare 1Mb/s di dati all'unità. Se si possiede un FDC che permette di spedire 500kb/s di dati, si otterrà una velocità di trasferimento dimezzata (beh, ovvio). <sect1>Quando scrivo su alcuni dei miei nastri, sembra che perda un sacco di tempo a ``lustrarsi le scarpe'' o nel riposizionamento, invece di trasferire dati. C'è qualcosa che non va nel mio sistema?<p> Ci sono stati un paio di casi di ``lustramento di scarpe''. Questo accade quando il nastro sembra correre avanti ed indietro senza fine. Ciò è stato notato con un Jumbo 250 (<74407.3051@compuserve.com>) e con uno Iomega 250 Ditto Insider (<tom@opus.cais.com>). Nell'ultimo caso si stava utilizzando Linux ELF con hard-disk SCSI (connesso ad un Adaptec 1542cf). Pregerei di contattarmi nel caso si abbia un aggiornamento al riguardo. <dall'Ftape-HOWTO> Probabilmente no. Se si sta eseguendo il backup di un gran numero di file di dimensione inferiore ai 2kB, bisognerà abituarsi a conviverci. In questo caso il riposizionamento è causato da un accesso spropositato al file system. Se si sta eseguendo il backup di file di sistema normali, questo può essere dovuto a sporco o stiratura del nastro della cartuccia. Con una semplice ritensionatura del nastro tutto dovrebbe sparire. Provare con <tscreen><verb> ftmt -f /dev/zqft0 reten </verb></tscreen> per ritensionare il nastro. Se la ritensionatura non risolve il problema e accade solo con certi nastri, può essere opportuno sostituire il nastro in questione. <risposta di Tim Jones> Se si utilizza <tt/afio/ come strumento di backup, è possibile fargli scrivere un gran numero di buffer in un colpo solo utilizzando il flag <tt/-c/. Utilizzare un valore opportuno in modo da fornire dati sufficienti per molti dei singoli passaggi punto-a-punto sopra il nastro. Per il mio sistema, le seguanti impostazioni vanno abbastanza bene, in quanto fanno fermare il nastro, a sistema scarico, un numero di volte relativamente basso ad ogni passaggio: <tscreen><verb> find /usr/local -xdev -print | afio -o -v -f -b 10240 -c 800 /dev/qft0 </verb></tscreen> Nel mio caso sto scrivendo 800x1024 byte per ogni scrittura sul nastro, cioè cira 8MB. Non ho fatto molte esperienze con queste impostazioni, cosí qualcuno potrebbe volerne cercare di migliori. Probabilemente altre utility di backup possono essere modificate per utilizzare una tecnica simile. <risposta di Michael Hamilton> Il <tt/tar/ di GNU non utilizza i buffer in questo modo. Il programma di backup commerciale <tt/bru/ è in grado di trattare buffer multipli utilizzando memoria condivisa; questo funziona solo quando si sta scrivendo archivi compressi con <tt/bru/ (indipendentemente dal fatto che si stia utilizzando la compressione di <em/Ftape/). Un altro modo per sopperire al problema potrebbe essere quello di utilizzare piú buffer DMA nel <em/driver Ftape del kernel/: <tscreen><verb> mt -f /dev/qft0 setdrvbuffer $((6*32786)) </verb></tscreen> $((6*32786)) dovrebbe venir espansa dalla propria shell quando se ne utilizzi una Bourne-compatibile. Questo produce un impatto negativo sulla memoria di sistema: i buffer DMA di <em/Ftape/ non possono essere utilizzati da nessun'altra parte del kernel, né da nessun'altra applicazione. E la memoria contenente il kernel non può essere messa nella partizione di swap. Se si decidesse di utilizzare questo tipo di bufferizzazione multipla, è conveniente scaricare il driver non appena il suo utilizzo è terminato. <risposta di Claus Heine> <sect1>Devo far ripartire il mondo DOS per formattare i nastri?<p> No, se si sta usando l'ultima versione dei <em/driver di Ftape/ disponibile all'<htmlurl url="http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape/" name="home-page di Ftape">. Per formattare un nastro QIC-80, TR-1, TR-3, QICWide 3010 o 3020, procurarsi l'ultima versione di <tt/ftape/ e l'ultima versione del pacchetto <tt/ftape-tools/ (dallo stesso sito) e leggere la documentazione dell'utility <tt/ftformat/ inclusa nel pacchetto <tt/ftape-tools/. <comment>Non provare a formattare nastri Ditto 2GB.</> <comment>Non provare a formattare nastri Ditto Max o Max Pro.</> <risposta di Tim Jones e Claus Heine> <sect1>È possibile formattare nastri Ditto 2GB con ftape?<p> Non è possibile formattare nastri <tt/Ditto 2GB/ con unità a nastro <tt/Ditto 2GB/, cosí come non è assolutamente possibile riformattare nastri <tt/Ditto 2GB/ in modo tale da poter essere utilizzati ancora da unità a nastro <tt/Ditto 2GB/. Questa è una limitazione hardware dell'unità a nastro <tt/Ditto 2GB/. Non c'è possibilità di aiuto a livello software, cioè non è una mancanza di <tt/ftape/. <sect1>È possibile formattare nastri Ditto Max o Max Pro con ftape?<p> No, il <tt/Ditto Max/ non può formattare nastri. Questa è una limitazione hardware dell'unità a nastro <tt/Ditto 2GB/. Non c'è possibilità di aiuto a livello software, cioè non è una mancanza di <tt/ftape/. <sect1>Ftape rileva piú settori danneggiati con nastri QIC-3020 di quanto non faccia DOS.<p> Se si presta attenzione alla differenza, si noterà che <em/Ftape/ rileva sempre 2784 settori in piú di DOS. Il numero che <em/Ftape/ riporta è corretto (ovviamente <tt/:-)/. Tutti i nastri QIC-3020 correttamente formattati hanno 2784 settori in posizioni predefinite che sono marcati nella mappa dei settori danneggiati. Quotando dalle specifiche: <quote> Le tracce 5,7,9,11,13,15,17,19,21,23,25 e 27 comprese nei 4 segmenti o dell'EOT o del BOT sono disposte per aumentare i tassi d'errore per via delle hole imprints [impronte del buco?]. Per questo motivo queste regioni devono essere mappate come danneggiate nel momento della formattazione ed ascritte nella mappa dei settori danneggiati per indicare che tutti i settori all'interno dei segmenti identificati sono danneggiati.?? </quote> Questo fornisce 12 tracce * 2 * 4 segmenti * 29 settori = 2784 settori. Cosí <em/Ftape/ preferisce riportare il numero effettivo di settori che non possono essere utilizzati sul nastro, mentre DOS fornisce un numero piú ottimistico indicando una migliore qualità del nastro. Il comportamento di <em/Ftape/, comunque, potrebbe cambiare in futuro per rilevare una formattazione corretta e mostrare due numeri separati. In ogni caso a questo, per ora, non è riservata un'alta priorità. I nastri QIC-3010 sono simili ai QIC-3020 al riguardo. <dall'Ftape-HOWTO> <sect1>Non ci sono problemi se non sento il nastro muoversi quando impartisco un comando <tt/fsf/ o <tt/bsf/ con <tt/mt/?<p> No. L'unità semplicemente aggiorna un contatore interno quando riceve questi comandi. Il nastro dovrebbe muoversi alla posizione corretta con l'accesso in lettura o scrittura all'unità successivo. <dall'Ftape-HOWTO> <sect1>Perché il mio programma di backup <it/XYZ/ si lamenta di errori di tipo ``Invalid argument'' [argomento non valido]?<p> <tt/zftape/ richiede che i dati vengano scritti come multipli della dimensione dei blocchi minima fissata. Questo è un comportamento tipico per una periferica a nastro. Ci sono tre modi per eliminare questi errori: <itemize> <item>impostare la dimensione dei blocchi di <em/Ftape/ alla dimensione dei blocchi utilizzati dal programma di backup. L'esempio sottostante è applicabile ad <tt/afio/: <tscreen><verb> mt -f /dev/qft0 setblk 5120 </verb></tscreen> <item>se non si vuole utilizzare la compressione di <em/Ftape/, è anche possibili usare: <tscreen><verb> mt -f /dev/qft0 setblk 0 </verb></tscreen> per attivare la modalità di dimensione variabile dei blocchi di <em/Ftape/ ed essere in grado di scrivere i dati sul nastro in porzioni arbitrarie (<bf/ma/ la compressione interna non funziona con questa impostazione). Quando si avesse l'intenzione di utilizzare <tt/KBackup/, questo è il solo modo per farlo lavorare assieme ad <em/Ftape/ (perlomeno dovrebbe funzionare, ma non so con esattezza se lo fa). <item>informare il proprio programma di backup circa la dimensione di default di 10kB dei blocchi di <em/Ftape/ (che è anche il valore tipico per GNU <tt/tar/). Per <tt/afio/ è possibile utilizzare il seguente comando: <tscreen><verb> afio -b 10k ... </verb></tscreen> </itemize> È opportuno leggersi la sezione ``Tape blocks'' del manuale (utilizzare l'indice analitico per andare direttamente alla sezione relativa). Quando si utilizza la compressione interna di GNU <tt/tar/ con versione di GNU <tt/tar/ antecedente la tar-1.12, è necessario lanciare <tt/tar/ con l'opzione <tt>--block-compress</tt> impostata su <tt>re-block</tt>. In caso contrario <tt/tar/ comprimerà i dati che legge e li scriverà in porzioni arbitrarie sul nastro. Eesempio: <tscreen><verb> tar -czvf /dev/qft0 --block-compress /etc </verb> </tscreen> <bf/Attenzione:/ non si dovrebbe utilizzare la compressione interna di <tt/tar/ con grandi backup, in quanto ciò produce un enorme blocco compresso del flusso di dati. Se un tale archivio viene rovinato proprio all'inizio, è veramente difficile ripristinarlo. <risposta di Claus Heine> <sect1>Errori I/O e FDC: alcune spiegazioni.<p> Se si ottengono i seguenti messaggi, questo è ciò che fa per te! <itemize> <item>fdc-io.c (ft_handle_perpend) - Your FDC does not support QIC-3020 [l'FDC non supporta il QIC-3020]. <item>Cannot write to /dev/qft0: I/O error [non posso scrivere su /dev/qft0: errore di I/O]. </itemize> La spiegazione: ``FDC'' significa ``Floppy Disk Controller'' [controllore per dischi floppy]. Il problema è che il proprio controller floppy deve essere in grado di supportare qualcosa chiamato ``perpendicular mode'' [modo perpendicolare], per essere in grado di leggere e scrivere cartucce QIC-3020/QIC-3010 (cioè cartucce TR-3). Per quanto ne sappia, tutti gli FDC che sono in grado di trasferire dati ad almeno 1Mb/s supportano anche il ``perpendicular mode'' (l'aggettivo ``perpendicolare'' si riferisce alla direzione della magnetizzazione delle particelle ferro magnetiche sul nastro). Questo significa che è necessario procurarsi un altro FDC. Oppure dare un'occhiata in qualche negozio per computer e chiedere di una scheda di controllo I/O che sia in grado di supportare floppy da 2.88MB (che implica un velocità di trasferimento di 1Mb/s ed il modo perpendicolare). È possibile anche procurarsi i cosiddetti ``controller ad alta velocità'', che supportano anche trasferimenti da 2Mb/s. Questi controller sono basati su un FDC Intel 82078. Iomega vende tali schede sotto il nome di ``Ditto Dash''. Penso che anche Exabyte venda i suoi controller da 2Mb/s separatamente, mentre Seagate fornisce l'unità TR-3 (cioè TST-3200) con questi controller inclusi. <risposta di Claus Heine> <sect1>Perché ottengo errori del tipo «<tt>/dev/qft0: No such device</tt>» [/dev/qft0: nessun device come questo]?<p> Supponiamo che il problema sia il seguente. Il modulo <em/Ftape/ è caricato correttamente nel kernel: <tscreen><verb> /usr/src/ftape-3.03b-970603# lsmod Module Pages Used by ftape 22 0 </verb></tscreen> ma accade che: <tscreen><verb> $ ftmt -f /dev/qft0 status ftmt: /dev/qft0: No such device </verb></tscreen> La soluzione: è necessario anche caricare il modulo <em/zftape.o/. Con Ftape-3.* il modulo <em/ftape.o/ non implementa l'interfaccia VFS. Questo è fatto da <em/zftape.o/. <risposta di Claus Heine> <sect1>Ottengo un ``device busy'' [periferica occupata] quando eseguo backup multipli su di un nastro utilizzando alcuni script.<p> I messaggi di ``periferica occupata'' possono verificarsi mentre le <em/file di periferica di Ftape/ sono ancora mantenute aperte da alcuni programmi. Non appena la chiamata di sistema close() viene completata, il flag di occupato viene azzerato. Potrebbe darsi che <tt/bru/, o altri programmi, abbiano eseguito un fork di un figlio che ritarda a morire? Sí, questo riproduce il problema: <tscreen><verb> tar -cvvzf /dev/nqft0 --block-compress ; mt rewind </verb></tscreen> È possibile omettere <tt>--block-compress</tt> se si sta utilizzando un versione di GNU <tt/tar/ piú recente. Comunque questo non è un baco di <em/Ftape/. Sembra che il processo <tt/tar/ genitore esca prima che suo figlio abbia chiuso il device del nastro. So comunque, per aver studiato il codice di <tt/tar/ alcuni anni fa, che <tt/tar/ attende correttamente che il proprio genitore muoia. In ogni caso, il messaggio di occupato significa semplicemente che la variabile ``busy'' [occupato] è ancora mantenuta ad un valore logico 1 (<tt>zftape/zftape-init.c</tt>), e questo significa semplicemente che c'è ancora un processo in giro che tiene il device del nastro aperto. Penso di aver capito il motivo (solo nel caso di <tt/tar/ in quanto di questo ho il codice sorgente). Se si utilizza <tt/tar/ con la compressione abilitata, allora viene eseguito un fork di un figlio che diventerà il compressore tramite l'esecuzione di <tt/gzip/ o qualcos'altro. Prima della chiamata a execlp(), il figlio eseguirà un fork di un nipote di suo padre <tt/tar/. Questo nipote eseguirà l'effettvo lavoro di I/O sul nastro. <tscreen><verb> tar - fork() - scrive verso il figlio di tar | figlio di tar - fork() - gzip (eseguirà un pipe al nipote di tar) | nipote di tar - apre l'archivio </verb></tscreen> Ora, il genitore <tt/tar/ aspetta che suo figlio muoia. <tt/gzip/ sicuramente non aspetta il nipote in quanto <tt/gzip/ è il risultato di un execlp(). Ciò che non so è se il nipote dovrebbe essere implicitamente aspettato dal genitore <tt/tar/ o se la funzione wait() aspetta anche i nipoti. Comunque questo sembra essere il problema: il genitore <tt/tar/ è uscito mentre suo nipote è ancora occupato a chiudere l'archivio. In condizioni normali difficilmente si noterà questo problema se la funzione close() viene portata a termine velocemente (cioè file regolari, periferiche a blocchi e magari altri device per nastri?), ma non è un baco di <em/Ftape/, mentre lo è nei programmi di backup, nel kernel o forse nel codice d'uscita delle libc. Non so se le considerazione fatte in precedenza si possono essere applicate anche a <tt/bru/. Se non ci sono nipoti e il processo padre attende in maniera corretta suo figlio, allora non ci dovrebbero essere problemi. <risposta di Claus Heine> <sect1>Come faccio a... con <tt/tar/?<p> Queste sono propriamente domande per <tt/tar/: si prega di leggersi la pagina <tt/man/ e la pagina <tt/info/ realtive. Se non sono installate sul sistema, provare con <tscreen><verb> tar --help 2>&1 | less </verb></tscreen> Se la propria versione di <tt/tar/ è la v1.11.1 o precedente, si consideri l'opportunità di aggiornarla alla v1.11.8. Questa versione può chiamare GNU <tt/zip/ direttamente (cioè supporta l'opzione <tt/-z/) e possiede un elaborato help incluso. Inoltre tutto può essere compilato in ambiente Linux. <dall'Ftape-HOWTO> <sect1>Che dimensione per i blocchi devo utilizzare con <tt/tar/?<p> Se si fa uso della compressione (ed anche piú in generale), può tornare a proprio favore specificare a <tt/tar/ che deve spezzettare l'uscita in blocchi grossi. Poiché <em/Ftape/ taglia i dati in blocchi da 29kB, un ``<tt/-b58/'' dovrebbe essere ottimo. «Perché 29kB?» mi sembra di sentir gridare. Beh, lo standard QIC-80 specifica che tutti i dati debbano essere protetti da un Error Correcting Code [codice per la correzione d'errore] (ECC). Il codice specificato nello standard QIC-80 è conosciuto come codice Reed-Solomon (R-S). Il codice R-S considera 29 byte di dati e genera 3 byte di parità. Per aumentare le prestazioni del codice ECC, i byte di parità sono generati su 29 settori da 1kB. Cosí <em/Ftape/ prende 29kB di dati, aggiunge 3kB di parità ECC e scrive 32kB sul nastro alla volta. Per questa ragione <em/Ftape/ scriverà e leggerà sempre blocchi da 32kB per essere in grado di rilevare (e correggere) eventuali errori. Se si possiede una spiccata curiosità e si vuole conoscere di piú, è possibile dare un'occhiata ai file <tt/ecc.c/ ed <tt/ecc.h/ per una spiegazione del codice e un riferimento a testi sui codici Reed-Solomon. <dall'Ftape-HOWTO> <sect1>Dove posso trovare i binari, i sorgenti e le pagine <tt/man/ di <tt/tar/, <tt/mt/, <tt/cpio/ e <tt/dd/?<p> Tutti questo strumenti sono stati sviluppati dal progetto GNU ed i sorgenti (cosí come le pagine <tt/man/) possono essere prelevate da praticamente ogni sito ftp nel mondo (inclusi <tt/ftp.funet.fi/, <tt/tsx-11.mit.edu/, e <tt/sunsite.unc.edu/). In ogni caso possono essere prelevati dal sito ufficiale GNU: <tt>prep.ai.mit.edu [18.71.0.38]:/pub/gnu</tt>. Le ultime versioni (ad oggi 12 settembre 1996) sono: <tscreen><verb> cpio: 2.4.2 (cpio-2.4.2.tar.gz) dd: 3.13 (fileutils-3.13.tar.gz) mt: 2.4.2 (cpio-2.4.2.tar.gz) tar: 1.11.8 (tar-1.11.8.tar.gz) gzip: 1.2.4 (gzip-1.2.4.tar.gz) </verb></tscreen> Tutto quanto può essere compilato in ambiente Linux successivo alla versione v1.0.4, <tt/libc/ v4.5.19 e <tt/gcc/ v2.5.8. <dall'Ftape-HOWTO> <sect1>Se utilizzo la compressione dell'unità a nastro, è sbagliato sfruttare anche la compressione di <tt/zftape/. O sarebbe meglio non utilizzare la compressione dell'unità e lasciare che faccia tutto <tt/zftape/?<p> Non è cosí sbagliato come utilizzare la compressione due volte (che sarebbe il caso in cui si utilizza la compressione dell'unità assieme alla compressione di <em/ftape/), ma non ha senso. Non si guadagna un maggior compressione, ma solo cicli di CPU sprecati. La compressione dell'unità dovrebbe essere abbastanza sicura, in quanto l'unità comprime singoli file, a differenza di <tt/tar -czf.../, che fa dell'intero flusso di dati un grande blocco compresso. Questa, infatti, è una pessima idea con backup seri, in quanto un singolo byte rovinato all'inizio dell'archivio può rendere inutilizzabile l'intero archivio, o, almeno, ne rende piuttosto difficoltoso un suo recupero. <risposta di Claus Heine> <sect1>Com'è la compressione di <tt/zftape/ a confronto di quella, diciamo, di <tt/gzip -9/?<p> <tt/gzip -9/ è migliore (cioè si può ottenere una maggiore compressione). La compressione di <em/zftape/ è paragonabile al programma Un*x <tt/compress/, ma dovrebbe essere piú veloce, e lo è rispetto a <tt/gzip/. <risposta di Claus Heine> <sect1>Non utilizzo la compressione, ma sento che l'interfaccia <tt/zftape/ se ne sta andando. Cosa posso fare?<p> Si utilizzi l'<em/interfaccia zftape/, senza caricare il modulo <em/zft-compressor/. Il device allora diventa <tt>/dev/qft0</tt>. <risposta di Tim Jones> <sect1>Ftape dice «<tt>This tape has no 'Linux raw format'</tt>» [questo nastro non è nel ``formato elementare Linux''].<p> Si ottiene questa lamentela se non si è <em/cancellato/ il proprio nastro appena formattato. Questo accade perché <em/Ftape/ si aspetta un ``magic header'' [intestazione magica] sul nastro per sapere di essere in grado di interpretare il segmento di intestazione a suo modo (cioè con i marcatori di file). Per eliminare il problema, impartire il comando: <verb> mt -f /dev/nftape erase </verb> <dall'Ftape-HOWTO> <sect1>Posso scambiare nastri con qualcuno che utilizza il DOS?<p> No. Il software per DOS è conforme alle specifiche QIC-80 circa la disposizione del filesystem di DOS e non dovrebbe essere un grosso problema scrivere un programma che possa leggere e scrivere il formato DOS. Infatti, scommetto che creare un'interfaccia utente graziosa sarebbe un problema piú grande. <dall'Ftape-HOWTO> <sect1>Come funziona <tt/mt eom/ quando si comincia a sovrascrivere un nastro dalla metà?<p> Per inciso, EOM è l'acronimo di ``End Of recorded Media'' [fine del supporto di registrazione], la posizione esattamente dopo tutti i dati già registrati sul nastro. Non si può utilizzare i ``file'' del nastro come file di un ordinario filesystem. In linea di principio, un nastro non permette nient'altro che aggiungere nuovi dati in coda all'EOM. Ciò nonostante, se ci si posiziona proprio nel mezzo dei dati già registrati e si comincia a scrivere, allora l'unità prima cancella tutti i file successivi (cosí da spostare l'EOM alla posizione effettiva) e poi comincia a scrivere. Cosí il nuovo EOM, terminato il processo di scrittura, si trova dopo i dati appena registrati. Una delle conseguenze di quanto sopra, è che, ovviamente, quella scrittura sul nastro nel mezzo dell'area già registrata è distruttiva, nel senso che non solo sovrascrive il ``file'' sopra il quale la testina era posizionata, ma cancella anche tutti i file che seguono. <dall'Ftape-HOWTO> <p><risposta di Claus Heine> <sect1>Quando eseguivo dei backup prima di utilizzare <tt/taper/, sotto ftape 2.0.29 la mia unità non supportava l'fsf, mentre sotto il nuovo <tt/zftape/ lo supporta. Perché dovrebbe e cos'è esattamente l'fsf?<p> Probabilmente non funzionava prima perché non si era utilizzato un <tscreen><verb> mt -f /dev/rft0 erase </verb></tscreen> prima di scrivere i dati sulla cartuccia. Questo <bf/non è piú/ necessario. Ma ``<tt/mt fsf/'', cosa significa? Le unità a nastro non registrano i file in modo che si possa utilizzare un <verb> cp qualche_file /dev/la_mia_unità </verb> o in modo da essere capaci di montare un'unità a nastro cosí come si monta un hard-disk. Non è possibile fare altro con un'unità a nastro se non scrivere dati in maniera sequenziale su di essa. Poiché queste è abbastanza scomodo, qualcuno ha inventato qualcosa che è conosciuto con il nome di <it/file mark/ o <it/eof mark/ (<it/eof/ è l'acronimo di ``End Of File'' [fine del file]). Questi marcatori non separano i file di cui è stato fatto il backup sull'unità a nastro, ma separano solo i blocchi di dati (qualsiasi cosa i dati possano rappresentare). Normalmente i driver del kernel dell'unità a nastro si occupano di scrivere questi marcatori di file quando il device del nastro viene chiuso, cioè con <tscreen><verb> tar -cf /dev/nqft0 /bin tar -cf /dev/nqft0 /etc mt -f /dev/nqft0 rewind </verb></tscreen> si otterrebbe un backup di tutti i file sotto <tt>/bin</tt> ed <tt>/etc</tt>. Quando il primo <tt/tar/ termina, il driver del kernel si occuperà della scrittura di un marcatore di file sul nastro alla posizione corrente e, quando termina il seconfo processo <tt/tar/, un altro marcatore di file viene scritto sulla cartuccia in quella posizione. Ora, il motivo di questi marcatori di file consiste nel fatto che è possibile saltare fra archivi differenti presenti sul nastro piú velocemente di come si potrebbe fare con un rilettura sequenziale dei dati. I comandi che fanno questo sono: <descrip> <tag/mt fsf/cvanzamento veloce al prossimo marcatore di file verso l'EOT (End Of Tape [fine del nastro]), <tag/mt bsf/avanzamento veloce al prossimo marcatore di file verso il BOT (Begin Of Tape [inizio del nastro]). </descrip> Cosí, per estrarre il secondo archivio nell'esempio precedente, non è necessario rileggere il primo archivio, ma procedere come segue: <tscreen><verb> mt -f /dev/nqft0 rewind mt -f /dev/nqft0 fsf tar -xvf /dev/nqft0 </verb></tscreen> <risposta di Claus Heine> <sect1>Qual'è esattamente la differenza fra <tt/ftape/ e <tt/zftape/?<p> Quando <em/Ftape/ era ancora giovane, c'erano due versioni dei driver per unità a nastro, una delle quali venne chiamata <em/zftape/ per via della sua compressione interna eseguita al volo e trasparente all'utente. Se questa sia una caratteristica positiva od un baco (in quanto non strettamente necessario che sia fatta dal codice del kernel) è un'altra questione. Comunque sia, l'interfaccia <tt/ioctl/ e l'uso dei marcatori di file forniti da <em/zftape/ erano notevolmente superiore e con meno bachi. Inoltre <em/zftape/ permette di utilizzare cartucce a nastro per floppy con differenti sistemi operativi. Beh, non è possibile scambiare dati, ma <em/ftape/ non sovrascriverà i volumi creati con il proprio programma Windoze e viceversa. Oggi giorno <em/Ftape/ è il nome dell'intero pacchetto di driver per unità a nastro via controller floppy, <bf/ed/ <tt/ftape.o/ è il nome del file del modulo kernel che implementa il supporto hardware a basso livello. <tt/zftape/ ha cessato di esistere come un pacchetto separato, mentre la nuova versione di <em/Ftape/ (da ftape-3.00) contiene un modulo <tt/zftape.o/ che si appoggia ad <tt/ftape.o/ (cioè diventa necessario caricare <bf/entrambi/ i moduli per essere in grado di accedere alla propria unità) e implementa l'interfaccia del sistema di file e le caratteristiche avanzate della precedente versione di <tt/zftape/. <risposta di Claus Heine> <sect1>Qual'è la differenza fra una periferica riavvolgente ed una non-riavvolgente?<p> Beh, i file delle periferiche a nastro riavvolgenti riavvolgono il nastro al BOT (Begin Of Tape [inizio del nastro]), cioè <tscreen><verb> tar -cvf /dev/qft0 /bin </verb></tscreen> riavvolgerà la cartuccia quando il lavoro di <tt/tar/ è terminato. Invece <tscreen><verb> tar -cvf /dev/nqft0 /bin </verb></tscreen> <bf/non/ riavvolgerà la cartuccia e lascierà la testina di lettura/scrittura nella possizione corrente. Periferiche riavvolgenti dovrebbero essere utilizzate quando si effettuano backup singoli; periferiche non-riavvolgenti dovrebbero essere utilizzate quando si eseguono backup multipli, a meno che non ci sia bisogno di tutto lo spazio fino all'EOM (End Of recorded Media [fine del supporto di registrazione]) prima di aggiungere un altro archivio. Le periferiche non-riavvolgenti <bf/devono/ essere utilizzate quando si invia un qualsiasi comando di movimento all'unità a nastro, come <tscreen><verb> mt -f /dev/nqft0 fsf </verb></tscreen> perché, quando il processo <tt/mt/ termina, l'unità a nastro viene chiusa e ciò comporta un riavvolgimento della cartuccia con le periferiche riavvolgenti. <risposta di Claus Heine> <sect1>C'è qualcuno che potrebbe dirmi come utilizzare <tt/mt/ per riavvolgere la mia unità TR-3 dopo aver registrato un archivio con <tt/zftape/, cosí da poterlo verificare?<p> Beh, dipende. Se il nastro è ancora posizionato all'interno del volume appena scritto, un ``<tt/mt bsf 1/'' (o equivalentemente ``<tt/mt bsf/'') farà ritornare il nastro proprio all'inizio di quel volume (questo è il modo in cui <tt/tar --verify/ lavora). Se il nastro è già posizionato <bf/dopo/ il marcatore di file che indica la fine dell'ultimo volume scritto, allora è neccessario impartire un ``<tt/mt bsf 2/''. La logica che sta dietro a tutto ciò è la seguente: Il ``contatore MTBSF'' viene decrementato di tante unità quanti sono i marcatori di file contati, il nastro viene fermato e successivamente posizionato sull'EOT dell'ultimo marcatore di file saltato. Questo significa che un <tt/mt bsf 2/ posizionerà il nastro esattamente all'inizio del precedente volume. <risposta di Claus Heine> <sect1>``Non-riavvolgente'' significa che «non si riavvolge automaticamente», giusto? Non sta ad indicare che sotto nessuna circostanza non si riavvolgerà, vero? Ho provato ad utilizzare <tt>/dev/zqft0</tt> ed il nastro è stato subito riavvolto.<p> Corretto: ``auto-riavvolgente'' significa che il nastro viene riavvolto quando il file di periferica viene chiusa; ``non-riavvolgente'' sta ad indicare che il nastro non è automaticamente riavvolto quando la periferica viene chiusa (ma, ovviamente, è possibile utilizzare i comandi <tt/bsf/ ed <tt/fsf/ di movimento del nastro per posizionare la testina in qualsiasi posizione si desideri). <risposta di Claus Heine> <sect1>Qual'è la differenza fra ciò che <tt/mt/ considera un record e ciò che considera un file?<p> Un record è il quantitativo minimo di byte che verranno accettati dal nastro in una singola operazione di lettura/scrittura (tranne che nel modo ``variable block size mode [modalità dimensione blocco variabile]'', per la quale dovrebbe rappresentare il quantitativo di dati effettivamente scritti in una singola operazione di scrittura). Per <tt/zftape/ ogni accesso per lettura o scrittura deve essere un multiplo di una dimensione di blocco fissa (fissa, ma regolabile con <tt/MTSETBLK/). La dimensione di blocco è un ``tape record [record del nastro]'' (come viene chiamata nella pagina di manuale di GNU <tt/mt/) ed assume un valore di 10kB per <tt/zftape/. Un ``file'' (nella terminologia delle pagine di manuale di <tt/mt/) è un termine ben definito. Sta ad indicare un'area del nastro fra due marcatori di file. Questo non è un file come lo è quello di un filesystem, nel senso che possiede un nome, delle modalità di accesso, può essere spostato o copiato con <tt/cp/, <tt/mv/, <tt/rm/, etc. Al contrario, è semplicemente l'area del nastro che è stata registrata in una sessione di backup, la sua fine è marcata con un marcatore di file del nastro e il suo inizio è delimitato da un BOT o dal marcatore del ``file'' precedente. Questi ``file'' di nastro sono oggetti che possono essere saltati con i comandi <tt/mt bsf/ ed <tt/mt fsf/. <risposta di Claus Heine> <sect1>Riutilizzare nastri con <tt/zftape/ senza riformattare il nastro.<p> Proviamo a rispondere alle seguenti domande: <itemize> <item>C'è un buon metodo per cancellare o rimuovere dati, o almeno volumi dal nastro, senza riformattarlo? <item>È possibile sovrascrivere l'ultimo volume di un nastro senza fare un disastro? <item>È possibile sovrascrivere gli ultimi volumi senza fare danni? <item>È possibile cancellare l'ultimo volume? </itemize> Se si desidera ``cancellare'' un'intera cartuccia, digitare semplicemente: <tscreen><verb> mt -f /dev/qft0 erase </verb></tscreen> Questo cancellerà la tavola dei volumi (cioè i marcatori di file). Con le versioni di <tt/ftape/ o <tt/zftape/ antecedenti la 3.<it/x/ era possibile sovrascrivere volumi già presenti sulla cartuccia. Ho rimosso questa caratteristica in quanto mi è stato riferito che ha già causato la perdita di dati con alcuni programmi di backup. Se, invece, si necessita di rimuovere alcuni volumi dal nastro, allora si deve utilizzare il programma <tscreen><verb> vtblc </verb></tscreen> che viene distribuito con il pacchetto <tt/ftape-tools/ scaricabile dallo stesso sito del pacchetto dei driver del kernel di <tt/ftape/. Si prega di fare riferimento alla documentazione contenuta nel pacchetto <tt/ftape-tools/ per maggiori informazioni. Se si desidera semplicemente riutilizzare vecchi nastri, allora è sufficiente impartire un <tscreen><verb> mt rewind </verb></tscreen> Se il nastro si trova al BOT (Begin Of Tape [inizio del nastro]), allora ogni accesso in scrittura al nastro cancellerà implicitamente tutti i marcatori di file e sovrascriverà i dati già presenti sul nastro. <risposta di Claus Heine> <sect1>Questo script permette di ottenere un semplice indice di un pacchetto <tt/zftape/ utilizzando lo ioctl <tt/TIOCVOLINFO/.<p> Qui di seguito viene riportato un piccolo script in perl/bash che list il contenuto di una cartuccia utilizzando lo specifico ioctl ``volinfo'' di <tt/zftape/. Spero che permetta di capire come trattare questo tipo di esigenza. Ciò che fondamentalmente fa è: <enum> <item>riavvolgere la cartuccia; <item>impartire il comando <tt/volinfo/ <tscreen><verb> claus@thales:~$ mt volinfo file number = 1 block size = 10240 physical space used = 522.0 kilobytes real size of volume = 520.0 kilobytes </verb></tscreen> analizzandone il contenuto e posizionando i valori in varibili appropriate; <item>saltare al volume successivo con <tt/mt fsf/; <item>uscire se questo produce un errore (EOD), oppure saltare al secondo passo. </enum> <bf/Lo script in Perl/ <code> #!/usr/bin/perl # # Copyright (C) 1997 Claus-Justus Heine # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; see the file COPYING. If not, write to # the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. # # This script implements a simple contents listing for the zftape # package using the MTIOCVOLINFO ioctl. # $version = <<EOT; listtape-1.0 -- a perl script to list the contents of a floppy tape cartridge under Linux using the zftape driver RCS \$Revision: 1.16 $ RCS \$Date: 1999/04/05 20:18:16 $ EOT $tapedev = "/dev/tape"; $usage"= <<EOT; Usage: listtape [options ...] Mandatory or optional arguments to long options are mandatory or optional for short options too. -f, --file=FILE Tape device to use. Default is "/dev/tape". -h, --help Print this help. -? Same as '-h'. --usage Same as '-h'. -V, --version Print version information. Author: Claus-Justus Heine <claus\@momo.math.rwth-aachen.de> EOT while ($ARGV[0] =~ /^-/) { $_ = shift; if (/--file/) {$_ = shift; $tapedev = $_; next;} if (/-f/) {$_ = shift; $tapedev = $_; next;} if (/--help/) { print $usage; exit 0; } if (/-h/) { print $usage; exit 0; } if (/--usage/) { print $usage; exit 0; } if (/-\?/) { print $usage; exit 0; } if (/--version/) { print $version; exit 0; } if (/-V/) { print $version; exit 0; } die $usage; } &open_tape($tapedev, "status"); while(<FTMT>) { $online = 1 if (/.*online.*/); } if (! $online) { die "No cartridge present.\n"; } &mtop($tapedev, "rewind"); printf "%11s%12s%20s%20s\n", "file number", "block size", "volume size", "tape space"; while (1) { &open_tape($tapedev, "volinfo"); while (<FTMT>) { if (/^file number\s*=\s*([0-9]*)$/) { $filenumber = $1; } if (/^block size\s*=\s*([0-9]*)$/) { $blocksize = $1; } if (/^physical space used\s*=\s*([[0-9]*.*)/) { $rawsize = $1; } if (/^real size of volume\s*=\s*([[0-9]*.*)/) { $size = $1; } } close(FTMT); if (&mtop($tapedev, "fsf 1") != 0) { &mtop($tapedev,"rewind"); print "\nRemaining space: $rawsize\n"; print "Tape block size: $blocksize\n"; exit 0; } printf "%6d %5d %20s%20s\n", $filenumber, $blocksize, $size, $rawsize; } sub mtop { local ($tape, $operation) = @_; local ($exitval); system "ftmt -f $tape $operation > /dev/null 2>&1"; } sub open_tape { local ($tape, $operation) = @_; local ($command); $command = "ftmt -f " . $tape . " " . $operation . " |"; open(FTMT, $command) || die "Couldn't open $command -- $!\n"; } </code> <bf/Lo script in Bash/ <code> #! /bin/bash # # Copyright (C) 1997 Claus-Justus Heine # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; see the file COPYING. If not, write to # the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. # # This script implements a simple contents listing for the zftape # package using the MTIOCVOLINFO ioctl. # # # insert better option parsing here # TAPEDEV=${1-/dev/tape} if ! echo $TAPEDEV | grep "/dev/n" then TAPEDEV=/dev/n$(basename $TAPEDEV) fi if ! [ -c $TAPEDEV ] then echo $TAPEDEV is not a character device! 1>&2 exit 1 fi if ! mt -f $TAPEDEV rewind then echo Could not rewind $TAPEDEV - no cartridge present? 1>&2 exit 1 fi echo -e "\nContents of $TAPEDEV:\n" printf "%11s%12s%20s%20s\n" "file number" "block size" "volume size" "tape space" trap "rm -f /tmp/$0.$$" exit while true do if ! foo=$(mt -f $TAPEDEV volinfo |cut -f 2 -d =) then echo $TAPEDEV doesn\'t seem to be a floppy tape device 1>&2 exit 1 fi # # "echo foo | read foo" will not work as the "read foo" is executed in # another shell. # echo $foo > /tmp/$0.$$ read file blksz used usedunit size sizeunit < /tmp/$0.$$ if ! mt -f $TAPEDEV fsf 1 > /dev/null 2>&1 then echo -e "\nRemaining space: $used $usedunit" echo -e "Tape block size: $blksz" if ! mt -f $TAPEDEV rewind then echo Rewind of $TAPEDEV failed 1>&2 exit 1 fi exit 0 fi printf "%6d %5d %20s%20s\n"\ $file $blksz "$size $sizeunit" "$used $usedunit" done </code> <risposta di Claus Heine> <sect>FAQ: Domande relative alle «Unità e nastri»<p> <sect1>Chi sono i buoni produttori di nastri Travan?<p> Ero lo UNIX Product Manager presso l'Archive Corp (prima della confusione Conner/Seagate) e realizzavamo test estensivi di supporti a nastro per la certificazione di compatibilità, inclusi ritensionamento, consistenza ``flaking'' e di lunghezza. Dai risultati dei test, scegliemmo il meglio di questi prodotti manufatturieri, certificati su commessa di etichette private, come nostro supporto. Qui di seguito è riportato l'ordine con cui selezionammo i rivenditori fino al 1995 (quando persi il contatto con il gruppo ATI): <descrip> <tag/QIC/ <enum> <item> 3M (ora conosciuto come Imation) <item> QMaxell/Sony (in associazione) <item> (BTW - Iomega utilizza supporti con etichetta privata della Sony) </enum> <tag/4MM/ <enum> <item> Fuji <item> Maxell/Sony (in associazione - è un trend?) </enum> <tag/8MM/ <enum> <item> Fuji/Exabyte - che credemmo essere un prodotto OEM della Fuji (in associazione - cosí tanto per un trend!) <item> Sony <item> Maxell </enum> <tag/DLT/ <enum> <item> Maxell <item> Sony </enum> </descrip> Comunque avevamo altri venditori in lista che risultarono essere, in generale, una versione con etichetta privata di una delle etichette maggiori di cui sopra. Le eccezioni furono Verbatim e DIC. Entrambi i supporti di queste aziende ebbero delle discrepanze di tassi e lunghezza tali che non potemmo certificarli ed, anzi, avvertimmo i rivenditori indicando loro che non potevamo offrire alcun tipo di garanzia circa il risultato di un buon backup con l'utilizzo dei supporti prodotti da queste aziende. Inoltre, da quando vengono all'EST, ho trovato che i supporti Verbatim non valgono il prezzo che costano. Avevamo 11 nastri di tipo R-Extra e QIC-Extra (QICXL) che risultarono inutilizzabili dopo poco meno di 20 passaggi ognuno. Anche se questa è la mia opinione personale, essa è basata su nove anni di esperienza con problemi reali. Consiglio vivamente Imation/3M per gli utenti QIC/Travan, supporti Fuji per gli utenti 4MM, Exabyte/Fuji per 8MM e supporti etichettati DEC per utenti DLT. <risposta di Tim Jones> <sect1>Dove posso ottenere gli standard QIC?<p> Se si ha intenzione di aiutare nello sviluppo di <em/Ftape/ od aggiungere alcune utility (per esempio un programma per la formattazione dei nastri), sarà necessario procurarsi gli standard QIC appropriati. Gli standard da ottenere sono: QIC-80, QIC-117, QIC-3010 e QIC-3020. QIC-117 descrive come i comandi vengano inviati all'unità a nastro (incluse le temporizzazioni), tanto che, probabilmente, non ce ne sarà mai bisogno. QIC-80/3010/3020 descrivono la parte a livello superiore, come lo strato nastro, il codice ECC, il filesystem standard. È possibile prelevare gli standard QIC da seguenti indirizzi: <tscreen><verb> Quarter Inch Cartridge Drive Standards, Inc. 311 East Carrillo Street Santa Barbara, California 93101 Phone: (805) 963-3853 Fax: (805) 962-1541 </verb></tscreen> Oss.: sono sotto il nome di ``Freeman Associates, Inc'' nell'elenco telefonico. <dall'Ftape-HOWTO> <sect1>L'unità Iomega Ditto 2GB è supportata?<p> Sí, se si sta utilizzando la versione di ftape 3.<it/x/ o successive dei <em/driver di Ftape/ dall'<htmlurl url="http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape/" name="home-page di Ftape"> o da <htmlurl url="ftp://sunsite.unc.edu/pub/Linux/kernel/tapes" name="ftp://sunsite.unc.edu/pub/Linux/kernel/tapes">. <risposta di Tim Jones> Poiché il Ditto 2GB è un nastro TR-3 (anche se può salvare solo 1GB invece di 1.6GB come fanno le unità TR-3 regolari), è necessario utilizzare un FDC (FDC è l'acronimo di Floppy Disk Controller [controllore per disco floppy]) capace di trasferimenti da 1Mb/s. Nessun problema, invece, se si possiede una scheda acceleratrice (cioè il controller Ditto Dash). Altrimenti provare a comperare un FDC che dichiari di essere in grado di pilotare floppy da 2.88MB, in quanto questo implica che l'FDC sia in grado di trasferimenti da 1Mb/s. <em/Ftape/ registra l'indice massimo dell'FDC nei file log del kernel in questo modo: <verb> ftape-ctl.c (ftape_init_drive) - Highest FDC supported data rate: 500 Kbps. </verb> <risposta di Claus Heine> <sect1>L'unità Iomega Ditto Max è supportata?<p> Sí, se si sta utilizzando una versione 4.02 o successive come <em/driver di Ftape/ dall'<htmlurl url="http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape/" name="home-page di Ftape"> o da <htmlurl url="ftp://sunsite.unc.edu/pub/Linux/kernel/tapes" name="ftp://sunsite.unc.edu/pub/Linux/kernel/tapes">. <risposta di Claus Heine> <sect1>L'unità Iomega Ditto Max Pro è supportata?<p> Sí, ma se si desidera utilizzare le cartucce da 5GB (10GB con la compressione) non ce n'è bisogno. Con <tt/ftape/ non sembra ci sia alcuna differenza fra il <tt/Ditto Max/ e il <tt/Ditto Max Pro/. <risposta di Claus Heine> <sect>FAQ: Miscellanea!<p> <sect1>Come ci si iscrive alla mailing-list di Ftape?<p> Ci si può iscrivere spedendo un messaggio di posta elettronica all'indirizzo <tscreen><verb> majordomo@vger.rutgers.edu </verb></tscreen> con l'unica linea nel corpo del messaggio <tscreen><verb> subscribe linux-tape </verb></tscreen> Si prega di salvare la risposta ottenuta da majordomo in un posto sicuro in quanto contiene istruzioni su come uscire dalla mailing-list. <risposta di Claus Heine> <sect1>Come uscire dalla mailing-list di Ftape?<p> Spedire un messaggio di posta elettronica a <tscreen><verb> majordomo@vger.rutgers.edu </verb></tscreen> con l'unica linea nel corpo del messaggio <tscreen><verb> unsubscribe linux-tape MIO@INDIRIZZO.E-MAIL </verb></tscreen> dove <tt/MIO@INDIRIZZO.E-MAIL/ deve essere sostituito con l'indirizzo di posta elettronica utilizzato al momento della sottoiscrizione alla lista. Notare che si deve aver ricevuto una e-mail con le istruzioni su come uscire dalla mailing-list nel momento in cui ci si è iscritti. <risposta di Claus Heine> <sect1>Link ad informazioni correlate.<p> <htmlurl url="http://www.uwsg.indiana.edu/usail/library/backups.html" name="<http://www.uwsg.indiana.edu/usai/library/backups.html>"> Si stanno cercando altri link!!! <!-- ****** Ftape-FAQ END, wordly included. Keep in sync with the separate FAQ distribution ****** --> <!-- ****** Debugging the ftape driver ****** --> <sect>Eseguire il debug del driver di <tt/ftape/<p> <sect1>Il kernel/<tt/ftape/ si pianta quando faccio... Questo è un baco?<p> No, questa è una sua caratteristica <tt/:-)/ Seriamente, il buon software non si pianta. Soprattutto il kernel non o non <bf/dovrebbe/ piantarsi. Se il kernel si pianta quando si sta eseguendo <tt/ftape/ ed è possibile dimostrare che è proprio <tt/ftape/ a confondere le cose, riferirsi ad esso come ad un «Bug That Should Be Fixed [baco da correggere». Spedire una mail al manutentore (<tt/<heine@math1.rwth-aachen.de>/) ed alla maling-list di Ftape. <sect1>Va bene, è un baco... cioè, una caratteristica. Come faccio a spedire un rapporto?<p> Primo. Assicurasi di essere in grado di riprodurre il problema. Errori spuri sono un spina nel sedere, in quanto sono praticamente impossibili da correggere <tt>:-/</tt> La seguente è un breve lista di controllo: <itemize> <item> versione di kernel e patch applicati; <item> versione di <tt/ftape/; <item> modello e produttore dell'unità a nastro; <item> tipo di bus di espansione (EISA, ISA, PCI, o VL-bus); <item> il modo in cui si è esposto il problema; <item> cosa è andato storto sul proprio sistema; <item> non cancellare il kernel ed il file <tt/ftape.o/. Potrei aver bisogno di provare alcune patch o un test differente sul sistema. </itemize> Aumentare il trace-level a 4 o 5 ed eseguire ancora il comando che ha dato problemi (non farlo se si ha paura di perdere dati o di danneggiare il proprio hardware; non c'è assolutamente alcuna garanzia né per i dati persi né per i danni all'hardware causati da <tt/ftape/. Ricordarselo!). Aumentando il trace-level oltre il 5, probabilmente non ha alcun senso, in quanto ciò si ripercuote sulle temporizzazioni del driver in un modo tale da non farlo piú lavorare bene. Estrarre i dati di debug dal file di log del kernel o da <tt>/proc/kmsg</tt>, a seconda di dove vengono raccolti. Provare a dare un'occhiata a cosa <tt/ftape/ sputa fuori. Il tutto dovrebbe risultare alquanto incomprensibile di primo acchito, ma è possibile estrarre informazioni utili dal file di log. Molti messaggi hanno un nome di funzione preposto per facilitare la localizzazione del problema. Dare un'occhiata al codice sorgente e non solo gridare «Al lupo!», senza averci provato. Se la propria versione di kernel (o di <tt/ftape/, per ciò che importa) è ``vecchia'', quando confrontata con uno degli ultimi kernel, provare a prelevare un kernel piú recente (o anche l'ultima) e vedere se il problema sparisce sotto il nuovo kernel. Quando si posta il proprio rapporto, includere le informazioni riguardanti la versioni di <tt/ftape/, la versione del kernel, il tipo di bus di espansione (ISA, VL-bus, PCI o EISA), velocità del bus, controller floppy e tipo di unità a nastro. Riportare esattamente cosa si è fatto, cosa è accaduto al proprio sistema. Alcune persone hanno potuto provare come <tt/ftape/ non giri su sistemi con bus PCI, mentre girava senza problemi su normali macchine con bus ISA basate su processore 386DX (vedere la sezione <ref id="pci-boxes" name="Schede madri PCI ftape"> su macchine PCI sopra), Inoltre si prega di pensare anche a quei poveri diavoli che effettivamente <em/pagano/ per il loro accesso ad Internet (come me): evitare di postare un (enorme) file di log di <tt/ftape/ senza una ragione. Invece si potrebbe descrivere il problema e offrirsi di spedire il log alle parti interessate. Inviare il proprio bug a <tt/<linux-tape@vger.rutgers.edu>/. Se si vuole, si può spedire una mail con il bug anche a <tt/<heine@math1.rwth-aachen.de>/. <sect>Contributi<p> La seguente è una lista di persone distinte che hanno contribuito al documento HOWTO di <tt/ftape/. La lista è stata aggiunta recentemente da qualcuno che si è aggiunto a metà cammino. Le mie scuse piú sentite se ho innavvertitamente dimenticato qualcuno di importante nella lista. È possibile visionare un altro tentativo di raccolata di questo tipo di informazione nella <htmlurl url="http://samuel.math.rwth-aachen.de/~LBFM/claus/ftape/halloffame.html" name="``Hall of Fame'' di Ftape">. <tt/Johan De Wit/ <jo@correct.nl>: il manutentore delle FAQ di Ftape; <tt/Kevin Johnson/ <kjj@pobox.com>: il manutentore precedente dell'<tt/Ftape-HOWTO/; <tt/Kai Harrekilde-Petersen/ <khp@dolphinics.no>: il manutentore precedente di <tt/ftape/ e dell'HOWTO; <tt/Andrew Martin/ <martin@biochemistry.ucl.ac.uk>: molte aggiunte all'HOWTO; <tt/Bas Laarhoven/ <bas@vimec.nl>: l'autore originale di <tt/ftape/. </article>