Samba: guida estesa: differenze tra le versioni

Riga 1: Riga 1:
=Introduzione=
== Introduzione ==
Samba e' un diffusissimo software open source ideato nel 1991 da Andrew Tridgell e rilasciato sotto licenza GPL che permette la condivisione di risorse come directory e stampanti tra macchine windows e GNU/Linux (''UNIX''); si avvale sostanzialmente del protocollo SMB (''server message block'') originario microsoft e basato a sua volta sul protocollo  NetBios (''network basic input output system'') sviluppato da IBM nel 1984.


Si sceglie solitamente l'uso di Samba per poter condividere file e stampanti in una rete mista (''macchine GNU/Linux, ms-windows, mac os..''), in modo da sfruttare un unico protocollo e un unico sistema di autenticazione.
Questo how-to spiegher� come installare i driver proprietari forniti da ATI per generare il modulo fglrx necessario al funzionamento del motore 3d delle schede grafiche.


=La suite=
Come � noto i driver ATI soffrono di una difficile installazione e configurazione. Sfortunatamente (o forse no) esistono molteplici configurazioni hardware che ostacolano l'installazione dei driver. Spesso, anche seguendo un guida perfetta, non si riesce ad attivare l'accelerazione 3D al primo colpo (molto raramente si hanno anche problemi di visualizzazione nel desktop). Solamente con i successivi tentativi (variando anche il metodo, o la guida) solitamente si raggiunge lo scopo prefisso. Il modesto consiglio � di non disperarsi, magari tirare cazzotti pesanti al case, ma provare finch� non si riesce.
Analizziamo i programmi che otteniamo dall' installazione della suite samba per Debian GNU/Linux:


<pre># apt-get update && apt-get install samba smbfs</pre>
== Software richiesto ==


In breve:
Sebbene i pacchetti per la generazione del modulo fglrx siano disponibili nel repository di Debian SID, il consiglio � quello di utilizzare l'installer fornito da ATI in quanto pi� aggiornato.
;'''smbd''': questo demone e' sostanzialmente il cuore di samba; in ascolto sulla 445/tcp, gestisce le autenticazioni e da accesso ai filesystem e allo spooler di stampa.
Oltre a questo, nel caso in cui si voglia compilare il modulo senza sfruttare l'installer, sar� necessario disporre dei sorgenti del kernel (o degli header), quindi del pacchetto linux-source e di tutti i pacchetti correlati a questo e necessari per la compilazione (<tt>build-essential</tt>).


;'''nmbd''': questo demone in ascolto sulla 139/udp, rende note le risorse condivise tutte le volte che viene interrogato dai client. Per fare un esempio è quel demone che permette la visualizzazione dei serventi samba in Risorse di Rete nei sistemi ms-windows. E' il primo ad avviarsi dei due demoni.
{{ Warningbox | Prima di far partire l'installazione di nuovi driver:


;'''smbclient''': programma client a riga di comando quasi uguale a ftp (''smbclient trasferisce solo in binary mode''), dotato di diverse funzioni; tra le piu' importanti, quella di listare gli share messi in condivisione dai vari server samba in una rete.
*Salvate una copia di <tt>/etc/X11/xorg.conf</tt> , che in caso di problemi andra' sostituita a quella nuova (creata dal configurer).
* Verificate che non sia presente la cartella <tt>/usr/share/fglrx/</tt>. Se � presente, significa che sono installati dei vecchi driver fglrx. Per rimuoverli:
<pre># cd /usr/share/fglrx/
# sh ./fglrx-uninstall.sh</pre>
e seguite le istruzioni.
* Fate un '''<tt>aptitude purge</tt>''' di vecchi pacchetti di vecchi driver, se sono installati. Per esempio (i nomi dei pacchetti potrebbero essere diversi):
<pre># aptitude purge fglrx-driver fglrx-kernel-src fglrx-control fglrx-kernel-2.6.17-2-686</pre>
}}


;'''smbmount''' & '''smbumount''': utilizzati per montare/smontare filesystem condivisi.
== Metodologie di installazione ==


;'''smbpasswd''': strumento per la creazione utenti samba. Un utente samba dovra' essere anche un utente presente sulla macchina.
Per quanto riguarda l'intallazione di quelli nuovi, esistono essenzialmente 2 metodi <u>alternativi</u>:
# usare l'eseguibile Ati (indipendente dalla release di Debian)
# creare i pacchetti .deb partenddo dal eseguibile Ati (indipendente dalla release di Debian)
# ''Installare i driver dai repository. Valido solo per Etch e Sid. Driver meno aggiornati di quelli dal sito Ati''.


;'''testparm''': strumento per la verifica del file '''/etc/samba/smb.conf.
=== Intallazione attraverso l'installer ATI ===


;'''nmblookup''': risolve i nomi host di un domain samba (''NetBIOS name'') in indirizzi ip (es: nmblookup ''nomehost'').
Da un terminale spostatevi nella cartella dove avete scaricato il file e date i permessi di esecuzione:
<pre>$ chmod +x ati-driver-installer-8.26.18-x86.run</pre> quindi, da root:
<pre># sh ./ati-driver-installer-8.26.18.x86.run</pre>
e seguite le istruzioni.
Poi, sempre con i permessi di root, aggiornate il file di configurazione <tt>xorg.conf</tt>:
<pre># cd /etc/X11/
# aticonfig --initial
# aticonfig --overlay-type=Xv</pre>
e se volete settare meglio la configurazione:
<pre># aticonfig</pre>
il quale ci dar� un lungo output con la descrizione di tutte le opzioni che possiamo usare con <tt>aticonfig</tt>.


=Configurazione del server=
Riavviamo '''X'''.
==Sezione global==
Editiamo il file '''/etc/samba/smb.conf''':
<pre> 
[global]
    allow hosts = 192.168.1.0/24   
    workgroup = debianizzati
    server string = server@debianizzati.org
    create mask = 0755
</pre>


Con la sezione global all'interno del file smb.conf abbiamo impostato quei parametri che saranno il modello generale di tutte le eventuali sezioni che verranno.
Tutto dovrebbe essere a posto.


Ad esempio se  nella successiva sezione, non specificassimo il parametro '''allow hosts''', verra' preso come riferimento '''192.168.1.0/24'''.
===Installazione manuale con generazione pacchetti specifici per Debian===


Ok, in breve:<br>
Con i privilegi di root, rimuoviamo i vecchi pacchetti del modulo <tt>fglrx</tt>, se presenti:
'''allow hosts''' = range di ip ai quali e' permesso l'accesso alla risorsa<br>
<pre># rm /usr/src/fglrx-kernel*.deb</pre>
'''workgroup''' = nome del gruppo di lavoro<br>  
E' necessario installare i seguenti pacchetti:
'''server string''' = stringa che identifica il server<br>
<pre># apt-get install module-assistant build-essential fakeroot dh-make debconf libstdc++5 gcc-3.4-base</pre>
'''browsable''' = rende visibile lo share<br>
Spostiamoci nella cartella dove abbiamo scaricato l'eseguibile Ati e diamogli i permessi di esecuzione:
'''create mask''' = determina i permessi dei file in condivisione<br>
<pre>$ chmod +x ati-driver-installer-8.26.18-x86.run</pre>
Poi, per creare i 5 pacchetti .deb:
<pre>$ sh ./ati-driver-installer-8.26.18-x86.run --buildpkg Debian/[release]</pre>
Ad esempio:
<pre>$ sh ./ati-driver-installer-8.26.18-x86.run --buildpkg Debian/testing</pre>
Per installarli (installiamo solo quelli fondamentali):
<pre>$ su
Password:
# dpkg -i fglrx-driver_8.26.18-1_i386.deb
# dpkg -i fglrx-kernel-src_8.26.18-1_i386.deb
# dpkg -i fglrx-control_8.26.18-1_i386.deb</pre>


{{Box|Nota|Per puntare a semplicita' e rapidita' di utilizzo, inseriremo solo pochi parametri essenziali per sezione, nel nostro smb.conf. Tuttavia i parametri previsti per questo file sono veramente tanti. Per una panoramica completa fate riferimento alla page (man5) di [http://www.samba.org/samba/docs/man/smb.conf.5.html Samba].
====Compilazione del modulo <tt>fglrx</tt>====
}}


==Condivisione di una directory==
Adesso va compilato il modulo <tt>fglrx</tt>, con <tt>module-assistant</tt> (m-a):
Adesso sempre dentro il nostro smb.conf, creiamo la sezione specifica per la risorsa che vogliamo condividere.  In questo esempio condivideremo una directory.
<pre># m-a prepare
<pre>
# m-a update
[shared]
# m-a build fglrx
    comment = Directory Shared
# m-a install fglrx
    path = /dir/da/condividere
# depmod -a</pre>
    browsable = yes
Quindi muoviamoci in <tt>/etc/X11/</tt>:
    read only = yes
<pre># cd /etc/X11/</pre>
    public = yes
e aggiorniamo il file di configurazione di X:
    create mask = 0755
<pre># aticonfig --initial
</pre>
# aticonfig --overlay-type=Xv</pre>
Naturalmemte � possibile modificare <tt>etc/X11/xorg.conf</tt> anche a manina (per fare questo consultate...uhm, forse c'� qualche cosa in <tt>man xorg.conf</tt>) oppure consultando e usando <tt>aticonfig</tt>.


Altri parametri:<br>
Riavviamo '''X'''.
'''comment''' = commento per la directory<br>
'''path''' = percorso della dir condivisa<br>
'''public''' = rende la dir di libero accesso<br>
'''read only''' = setta i files della dir condivisa in sola lettura<br>


==Condivisione di una stampante==
{{ Warningbox | Ad ogni aggiornamento del kernel bisogna ricompilare il modulo <tt>fglrx</tt>. }}
Adesso analizziamo i parametri da aggiungere al file '''smb.conf''' per poter condividere una stampante.
Aggiungiamo alla sezione '''global''':
<pre>  
[global]
    printing = [sistema di stampa utilizzato, es: cups, lprng..]
    load printers = yes
</pre>
Creiamo inoltre la sezione '''printers''' che fornira' i parametri di accesso alle nostre stampanti:
<pre>
[printers]
    path = /var/spool/samba
    guest ok = yes
    printable = yes
</pre>
{{Box|Nota|Debian non crea la directory /var/spool/samba. Questa directory e' adibita solo allo spool di stampa, volendo molti la sostituiscono con /tmp. Se decidete di crearla voi, per un corretto funzionamento impostatele i permessi: nobody:nobody con chmod -R 755.
}}


Dopodiche' scriviamo la sezione specifica per la nostra stampante (''es. una camon'').
===Installazione dei driver dai repository===
<pre>
[camon]
    comment = Camon Printer
    path = /var/spool/samba
    browsable = yes
</pre>


==Condivisione di dispositivi di lettura (CD-ROM, DVD..)==
'''Attenzione''': Questo metodo � valido solo per chi possiede Debian Etch o Sid.
Poniamo come esempio di avere due pc e che solo uno dei due monti un lettore dvd. Bene, guardiamo come poter  accedere ad un file che risiedesse su un supporto dvd, dalla macchina sprovvista di lettore:
<pre>
[dvd]
    comment = Lettore DVD-R
    preexec = mount /media/cdrom
    postexec = umount /media/cdrom
    path = /media/cdrom
    writable = no
</pre>
Parametri supplementari al nostro smb.conf:<br>
'''preexec''' = permette di impostare un'azione che sara' eseguita una volta connessi alla risorsa<br>
'''postexec''' = in questo caso l'azione sara' eseguita quando la risorsa verra' sconnessa<br>
 
Al momento che dal client monteremo la risorsa condivisa (con smbmount o smbclient) sul server sentiremo montare il dvd, il quale contenuto sara' a nostra disposizione per trasferire file o, in caso di file audio/video, anche di streaming.
 
Bene, a questo punto il file puo' considerarsi sufficientemente configurato per i nostri scopi.
 
==Autenticazione==
Preoccupiamoci ora dell'accesso vero e proprio alle risorse messe in condivisione. Due sono i principali metodi di accesso. Possiamo creare un utente samba con smbpasswd, (''tenendo presente che un utente samba deve anche essere un utente presente sulla macchina'') ed attribuirgli poi una password di nostra scelta:
 
Creazione utente samba:
<pre>
# smbpasswd -a utente
New SMB password: ****
Retype new SMB password: ****
</pre>


Questi sono user e pass coi quali ci loggheremo nel momento in cui connetteremo le risorse condivise (''smbmount, smbclient'').
Innanzi tutto installiamo i pacchetti necessari:
 
<pre># apt-get install fglrx-control fglrx-driver fglrx-driver-dev fglrx-kernel-src</pre>
Se volessimo inoltre consentire l'accesso a tutti gli utenti indistintamente, basterebbe inserire il parametro '''guest ok = yes''' nelle sezioni desiderate. Ad esempio nella sezione shared:
Siccome il modulo di cui abbiamo bisogno (<tt>fglrx</tt>) � sotto forma di sorgenti (<tt>fglrx-kernel-src</tt>), lo compiliamo e lo installiamo utilizzando <tt>module-assistant</tt>, come descritto [[#Compilazione del modulo fglrx|qui]].
<pre>
[shared]
    comment = Directory Shared
    path = /dir/da/condividere
    browsable = yes
    read only = yes
    public = yes
    create mask = 0755
    guest ok = yes
</pre>


Cosi' facendo potremo loggarci come ospiti digitando solo invio come password.
In teoria abbiamo finito, bisogna solamente configurare [[#Struttura del file xorg.conf|<tt>/etc/X11/xorg.conf</tt>]] e riavviare '''X'''.


Bene, riavviamo il server:
== Struttura del file xorg.conf ==
<pre>
# /etc/init.d/samba restart
Stopping Samba daemons: nmbd smbd.
Starting Samba daemons: nmbd smbd.
#
</pre>


Adesso testiamo la validita' del file /etc/samba/smb.conf col comando:
Un esempio di <tt>/etc/X11/xorg.conf</tt>


<pre>
<pre>
# testparm /etc/samba/smb.conf
Load smb config files from /etc/samba/smb.conf
Processing section "[shared]"
Processing section "[camon]"
Processing section "[dvd]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
</pre>
Premendo enter vedremo il resoconto del nostro file.


=Lato client=
### /etc/X11/xorg.conf ###
==Smbclient==
Spostiamoci sul client:
<pre># apt-get install smbfs smbclient</pre>


Come detto in precedenza, smbclient e' un programma client ftp-like, utilizzato per l'accesso a un server samba. Guardiamo i suoi principali flags e le sue principali funzioni invece, una volta dentro al server.
Section "ServerLayout"
Identifier    "Default Layout"
Screen      0 "aticonfig-Screen[0]" 0 0
InputDevice    "Keyboard"
InputDevice    "Mouse"
InputDevice    "Touchpad"
EndSection


===Principali flags===
Section "Files"
(''Usare smbclient --help per uno screen completo''):
# path to defoma fonts
FontPath    "/usr/share/fonts/X11/misc"
FontPath    "/usr/share/fonts/X11/100dpi/:unscaled"
FontPath    "/usr/share/fonts/X11/75dpi/:unscaled"
FontPath    "/usr/share/fonts/X11/Type1"
FontPath    "/usr/share/fonts/X11/100dpi"
FontPath    "/usr/share/fonts/X11/75dpi"
FontPath    "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection


;'''smbclient -L ''hostname''''': lista tutti gli share di un determinato host. Ad esempio, dal nostro client facciamo richiesta di listare gli share del server (''come password digitiamo quella dell'user creato con smbpasswd o solo invio''):
Section "Module"
<pre>
Load  "synaptics"
$ smbclient -L SERVER
Load  "bitmap"
Password: ****
Load "ddc"
Load  "dri"
Load  "extmod"
Load  "freetype"
Load  "glx"
Load  "int10"
Load  "type1"
Load  "vbe"
#      Load  "GLcore"
EndSection


Domain=[debianizzati] OS=[Unix] Server=[Samba 3.0.14a-Debian]
Section "InputDevice"
Identifier  "Keyboard"
Driver      "kbd"
Option     "CoreKeyboard"
Option     "XkbRules" "xorg"
Option     "XkbModel" "pc105"
Option     "XkbLayout" "it"
EndSection


        Sharename      Type      Comment
Section "InputDevice"
        ---------      ----     -------
Identifier  "Mouse"
        shared          Disk      Directory Shared
Driver     "mouse"
        camon          Disk      Camon Printer
Option     "CorePointer"
        dvd            Disk      Lettore DVD-R
Option     "Device" "/dev/input/mice"
        IPC$            IPC      IPC Service (server@debianizzati.org)
Option     "Protocol" "ExplorerPS/2"
        ADMIN$          IPC      IPC Service (server@debianizzati.org)
Option     "Emulate3Buttons" "true"
EndSection


Domain=[debianizzati] OS=[Unix] Server=[Samba 3.0.14a-Debian]
Section "InputDevice"
Identifier  "Touchpad"
Driver      "synaptics"
Option     "Device" "/dev/psaux"
Option     "Protocol" "auto-dev"
Option     "LeftEdge" "1700"
Option     "RightEdge" "5300"
Option     "TopEdge" "1700"
Option     "BottomEdge" "4200"
Option     "FingerLow" "25"
Option     "FingerHigh" "30"
Option     "MaxTapTime" "180"
Option     "MaxTapMove" "220"
Option     "VertScrollDelta" "100"
Option     "MinSpeed" "0.10"
Option     "MaxSpeed" "0.30"
Option     "AccelFactor" "0.0150"
Option     "SHMConfig" "on"
        Option      "AlwaysCore" "true"
EndSection


        Server              Comment
Section "Monitor"
        ---------            -------
Identifier  "aticonfig-Monitor[0]"
        SERVER              server@debianizzati.org
HorizSync    30.0 - 70.0
        CLIENT              server@debianizzati.org
VertRefresh  50.0 - 100.0
Option     "VendorName" "ATI Proprietary Driver"
Option     "ModelName" "Generic Autodetecting Monitor"
Option     "DPMS" "true"
EndSection


        Workgroup            Master
Section "Monitor"
        ---------            -------
Identifier  "aticonfig-Monitor[1]"
        debianizzati        SERVER
Option     "DPMS" "true"
</pre>
EndSection


Come si vede, nella colonna '''Sharename''' sono elencati i nomi degli share settati in smb.conf, quindi, la nostra directory shared,la nostra stampante e il nostro lettore DVD (''le sezioni [global] e [printers]  non sono visibili poiche' sono sezioni di parametri usate dal programma'').
Section "Device"
Nella colonna '''Server ''' sono invece elencati gli hosts facenti parte del medesimo workgroup.
Identifier  "aticonfig-Device[0]"
C'e' poi la colonna '''Workgroup''' che visualizza l'host con ruolo di domain master browser nella subnet.
Driver      "fglrx"
Option     "VideoOverlay" "on"
Option     "OpenGLOverlay" "off"
Option     "DesktopSetup" "horizontal,reverse"
BusID      "PCI:1:0:0"
EndSection


;'''smbclient -U''': Con questo flag possiamo specificare l'username e l'eventule password per il login sulla macchina server.
Section "Screen"
Identifier "aticonfig-Screen[0]"
Device    "aticonfig-Device[0]"
Monitor    "aticonfig-Monitor[0]"
DefaultDepth    24
SubSection "Display"
Viewport  0 0
Depth    24
Modes    "1280x800" "1280x1024" "1024x768" "800x600" "640x480"
EndSubSection
EndSection


;'''smbclient -A''': Sostanzialmente uguale a -U ma possiamo dargli il path di un file dal quale attingere l'username e la password.
Section "DRI"
Mode        0666
EndSection


===Accesso al server===
### End Of File ###
<pre>
$ smbclient //SERVER/shared
Password: ****
Domain=[SERVER] OS=[Unix] Server=[Samba 3.0.14a-Debian]
smb: \>
</pre>
</pre>


Adesso siamo dentro al nostro server samba il cui hostname e' SERVER. Sostanzialmente il funzionamento smbclient e' il funzionamento di ftp, ma con in piu' degli utilissimi tools per il down/uploading dei files.
== Alcuni Test ==
Alcuni input uguali a quelli di una shell di bash sono: '''ls''', '''cd''', '''rm''', '''rmdir''', '''exit''', coi quali ci sentiremo subito a casa nostra.
Otteniamo cmq una lista di comandi utili digitando '''help'''.


'''Download di un file con get'''.<br>
Per verificare se abbiamo installato tutto correttamente:
Poniamo come esempio che il contenuto della directory condivisa sia un insieme di files immagine con diverse estensioni e una directory con dentro qualsiasi cosa:
<pre>$ fglrxinfo</pre>
<pre>
dovrebbe dare un output simile a questo:
smb: \> ls
<pre>display: :0.0  screen: 0
  .                       D            Tue Aug 23 23:57:51 2005
OpenGL vendor string: ATI Technologies Inc.
  ..                      D            0  Wed Aug 17 03:05:20 2005
OpenGL renderer string: MOBILITY RADEON 9700 Generic
  directory              D            0 Wed Aug 24 12:21:43 2005
OpenGL version string: 2.0.5879 (8.26.18)</pre>
  free_kevin.png                    42604  Mon Aug 22 12:19:34 2005
Se al posto di ATI compare Mesa, c'� qualcosa che non va. L'installazione non � andata a buon fine.
  pokemon.png                      43404  Mon Aug 22 15:15:11 2005
  dorothy_la_may.gif                46134  Mon Aug 21 21:16:00 2005
</pre>


Scarichiamo il file free_kevin.png dalla macchina SERVER alla nostra macchina CLIENT, rinominandolo in kevin.png:
Per testare l'accelerazione:
<pre>
<pre>$ fgl_glxgears</pre>
smb: \> get free_kevin.png  kevin.png
Dovrebbe comparire un cubo rotante con sulle sei faccie degli ingranaggi rotanti e, sul terminale la conta dei frame:
getting file \ free_kevin.png of size 42604 as  kevin.png(1386.8 kb/s) (average 1386.8 kb/s)
<pre>Using GLX_SGIX_pbuffer
</pre>
1610 frames in 5.0 seconds = 322.000 FPS
1640 frames in 5.0 seconds = 328.000 FPS
2093 frames in 5.0 seconds = 418.600 FPS</pre>
Se invece compaiono 4-5 righe di errori, c'� qualcosa che non va. L'installazione non � andata a buon fine. Ritenta, forse sarai pi� fortunat*.


Il file sara' salvato nella directory dalla quale ci siamo connessi al server. Qualora il file non venisse rinominato manterrebbe il proprio nome.
Per testare l'accelerazione � possibile utilizzare anche i tools di Mesa:
<pre># apt-get install mesa-utils
$ glxgears -printfps</pre>
Appaiono tre ingranaggi rotanti e la conta dei fotogrammi:
<pre>14045 frames in 5.0 seconds = 2808.862 FPS
14115 frames in 5.0 seconds = 2822.858 FPS
14196 frames in 5.0 seconds = 2839.177 FPS</pre>


===Alcune funzioni===
==File di log==
;'''lowercase''': abilita i files ad essere richiamati da get e mget utilizzando solo caratteri minuscoli. E' utile viste le difficolta' spesso trovate negli share msdos (''case insensitive'').
<pre>
es. di abilitazione dei parametri
smb: \> lowercase on
smb: \> prompt on
</pre>
;'''prompt''': Impostando ''' prompt''' su '''on''' prima di ogni trasferimento ci verra' richiesta una conferma.
;'''showconnect''': mostra l' //host/nome_risorsa in uso.
<pre>
smb: \> showconnect
//SERVER/shared
</pre>


;'''stat nomefile''': Stampa a video i permessi di un file e offre in ordine temporale info sugli accessi ad esso:
l file di log principale � '''<tt>/var/log/Xorg.0.log</tt>''' e seguenti. Da spulciare, analizare, bruciare, supplicare. Insomma qui c'� di tutto di pi�. Ma a volte si pu� anche non trovare nulla di anomalo e magari <tt>fgl_glxgears</tt> non funziona lo stesso. 8�(  
<pre>
smb: \> stat  free_kevin.png
File: \free_kevin.png
Size: 101              Blocks: 8      regular file
Inode: 810      Links: 1
Access: (0644/-rw-r--r--)      Uid: 1000      Gid: 1000
Access: 2005-08-24 00:10:39 +0200
Modify: 2005-08-24 00:10:51 +0200
Change: 2005-08-24 00:10:51 +0200
</pre>


===Mask, mget e recurse===
Se abbiamo installato i driver con l'installer Ati, esiste anche questo piccolo log: <tt>/usr/share/fglrx/fglrx-install.log</tt>
Con il comando '''mget''' abilitiamo il dowload di tutti i file e directory in maniera ricorsiva. Tuttavia possiamo dare a tale comando un parametro (maschera) utilizzando '''mask''' .
Es. nella nostra directory mettiamo di voler scaricare tutti i file con estensione .png:
<pre>
smb: \> mask *png
smb: \> mget
</pre>
In questo modo mget intendera' scaricare tutti i files con tale estensione presenti nella directory corrente.
Tuttavia con mget e' possibile modificare la maschera on-fly digitando semplicemente:
<pre>
smb: \> mget *png
</pre>
In questo modo la funzione mask, manterra' il suo valore di default che e' '*' (''cioe' tutto'').
La funzione '''recurse on''' attiva lo scanning & downloading (nel caso di una maschera) o il dowloading, accedendo anche a tutte le directory presenti nella dir da cui parte il comando.


==Smbmount & Smbumount==
== Tips and Tricks ==
Con '''smbmount''' invece montiamo una risorsa in un mountpoint a nostra scelta.
Montiamo la risorsa shared col comando:
<pre>$ smbmount //SERVER/shared  /path/del/mountpoint</pre>


(''come password digitiamo  quella dell'user creato con smbpasswd o solo invio'')
* Una cosa importante, ma che resta comunque strana, � scrivere, in <tt>/etc/X11/xorg.conf</tt>, i moduli <tt>dri</tt>, <tt>glx</tt> e <tt>GLcore</tt>, in questo ordine. Se ad esempio si mette <tt>GLcore</tt> per primo, l'accelerazione non andr� e il log <tt>/var/log/Xorg.0.log</tt> riporter� una serie di errori, tra cui warning sulla libreria <tt>/usr/lib/xorg/modules/extensions/libGLcore.so</tt> e  un errore verso la fine, tristemente incorniciato. Questo errore non so se sia circoscritto alla mia configurazione o se sia un cosa generale. L'unica cosa � fare un po' di test.
* A volte si ottengono risultati migliori installando i driver con '''X non avviato'''.
* Se i driver sono molto recenti il modulo <tt>GLcore</tt> non bisognerebbe inserirlo in <tt>/etc/X11/xorg.conf</tt> : viene caricato automaticamente.
* Aggiornando le librerie Mesa (<tt>libgl1-mesa-dri</tt> oppure <tt>libgl1-mesa-glx</tt> ad esempio), ahim�, pu� capitare che l'accelerazione sparisca all'improvviso. L'unica cosa da fare probabilmente � disinstallare i driver e installarli di nuovo.
* Per quanto riguarda le trasparenze di KDE, credo non siano supportate a livello hardware. Io non sono riuscito ad attivarle, infatti se aggiungo a <tt>/etc/X11/xorg.conf</tt> la sezione:
<pre>Section "Extensions"
Option "Composite" "Enable"
EndSection</pre>
l'accelerazione 3D non viene caricata.


Cosi' facendo potremmo accedere alla risorsa condivisa, raggiungendo il mountpoint:
----
<pre>
$ cd /path/del/mountpoint
$ ls
  directory  free_kevin.png  pokemon.png dorothy_la_may.gif
</pre>


=Conclusioni=
Autore: [[User:rasca|rasca]] 09:04, 17 July 2006 (CEST)
Samba e' un software semplicemente straordinario. La sua anima, il file smb.conf e' in perfetto stile Linux; cioe', lo stesso file, puo' divenire enorme e strutturatissimo oppure snello e semplicissimo, a seconda (''e questo e' il vero stile linux'') di quello che un utente vuole.


-------
Ampliato da: [[Utente:Superflieriam|Superflieriam]]


Autore: [[Utente:Zmo.zmo|zmo]]
[[Categoria:Kernel]]
[[Categoria:Networking]][[Categoria:Desktop]]
128

contributi