{"id":1130,"date":"2019-08-03T21:15:23","date_gmt":"2019-08-03T21:15:23","guid":{"rendered":"https:\/\/www.budus.it\/Blog\/?p=1130"},"modified":"2019-08-03T21:15:25","modified_gmt":"2019-08-03T21:15:25","slug":"samba-windows-10-e-spazio-disponibile-insufficiente-per-la-copia","status":"publish","type":"post","link":"https:\/\/www.budus.it\/Blog\/samba-windows-10-e-spazio-disponibile-insufficiente-per-la-copia\/","title":{"rendered":"Samba: Windows 10 e spazio disponibile insufficiente per la copia"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">(Samba \/ Windows 10: there is not enough space CIFS\/SMB)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In azienda dove lavoro ho un Server Linux che condivide varie risorse tramite un unica condivisione.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mi piace l&#8217;idea di avere un unico disco (ex: U:\\) dal quale accedere a varie risorse (Documenti, Backup, ecc&#8230;) ed alcune workstation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Per realizzare la cosa ho, appunto, creato un unico share via samba sul quale sono montate (via cifs o altro) le varie risorse.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il problema nasce nel momento in cui ho scelto come mount point il percorso &#8220;\/mnt&#8221; che risiede sulla partizione root, piccolissima (300Mb totale, liberi una manciata di Mb!) e samba, quando Windows 10 chiede quanto spazio disponibile per la copia dei files, risponde proprio &#8220;questa dimensione&#8221; e non quanto effettivamente \u00e8 disponibile sul &#8220;mount-point&#8221;.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p class=\"wp-block-paragraph\">Lo ammetto: per non stare l\u00ec a tribolare troppo ho adottato una soluzione ortodossa ma <em>implementata con i piedi<\/em>, ma funziona e pu\u00f2 comunque essere presa come spunto per soluzioni pi\u00f9 articolate e corrette.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sostanzialmente si tratta di sfruttare un&#8217;opzione di <em>smb.conf<\/em> che consente di specificare un <strong>comando del sistema operativo che samba deve utilizzare per calcolare lo spazio totale e disponibile su un determinato dispositivo<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-cedaro-code line-numbers\"><code class=\"\">dfree command = \/usr\/local\/bin\/dfree<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Il &#8220;dfree&#8221;, che va utilizzato nella sezione &#8220;[global]&#8221; di &#8220;smb.conf&#8221;, pu\u00f2 essere uno script o un eseguibile che risponde fornendo lo spazio totale e quello disponibile, separati da uno spazio.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In genere suggeriscono di creare uno script tipo questo:<\/p>\n\n\n\n<pre class=\"wp-block-cedaro-code line-numbers\"><code class=\"\">#!\/usr\/bin\/env bash\ndf $1 | tail -n1 | awk '{printf \"%s %s\\n\", $2, $4}'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Nel mio caso specifico ho creato un eseguibile, per una questione di prestazioni; potete farlo creando un file &#8220;dfree.c&#8221; contenente:<\/p>\n\n\n\n<pre class=\"wp-block-cedaro-code line-numbers\"><code class=\"\">#include &lt;stdio.h>\nint main (int argc, char **argv) {\n  printf(\"1000000 0\\n\");\n  return 0;\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">(il &#8220;1000000&#8221; potete variarlo per ottenere lo spazio massimo desiderato, praticamente la dimensione massima dei dati che volete avere la possibilit\u00e0 di copiare con una sola operazione &#8230; fermo restando che comunque il sistema vi dar\u00e0 picche se riempite la destinazione, ovviamente)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Per compilare e rendere eseguibile il sorgente usare:<\/p>\n\n\n\n<pre class=\"wp-block-cedaro-code line-numbers\"><code class=\"\">gcc -o dfree dfree.c\nchmod +x dfree<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Se avete trovato l&#8217;articolo utile, commenti o insulti sono comunque graditi.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Riferimenti: <a href=\"https:\/\/www.samba.org\/samba\/docs\/current\/man-html\/smb.conf.5.html\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"dfree command (S) (apre in una nuova scheda)\">dfree command (S)<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Se Windows 10 comunica spazio insufficiente durante la copia su un disco di rete condiviso tramite Linux\/Samba \u00e8 possibile utilizzare l&#8217;opzione &#8220;dfree command&#8221;.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[47,3,25,6],"tags":[259,9,103,98],"class_list":["post-1130","post","type-post","status-publish","format-standard","hentry","category-file-sharing","category-networking","category-operating-system","category-software","tag-cifs","tag-linux","tag-samba","tag-windows"],"_links":{"self":[{"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/posts\/1130","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/comments?post=1130"}],"version-history":[{"count":1,"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/posts\/1130\/revisions"}],"predecessor-version":[{"id":1131,"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/posts\/1130\/revisions\/1131"}],"wp:attachment":[{"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/media?parent=1130"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/categories?post=1130"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/tags?post=1130"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}