Usare partizioni exFat (FAT64) con Linux

Microsoft ha introdotto un nuovo tipo di filesystem che si chiama exFat o FAT64, supporta file di dimensioni maggiori di 4 GB pensato per memorie flash bla bla… Per usare dispositivi esterni che hanno questo formato bisogna installare l’apposito pacchetto con il comando:

sudo apt install exfat-fuse exfat-utils

Poi l’uso sara’ esattamente lo stesso degli altri formati

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Importare csv di grandi dimensioni in MariaDb/mysql

Ci sono parecchi modi per importare dei dati in formato csv in una tabella mysql/MariaDb con vari wizards piu’ o meno semplici, ma se si deve importare un file di qualche giga nascono problemi di timeout e diventa tutto piu’ complicato. Con questo metodo si carica tutto velocemente, gli unici vincoli sono che bisogna avere un accesso ssh al database e bisogna avere la struttura della tabella gia’ esistente nel database. Se abbiamo questi prerequisiti procediamo cosi:

Aprire una sessione ssh sul database con il comando:

mysql -u <user> -p <NomeDatabase> -h <IP_DataBase>

Dalla console del database digitare:

LOAD DATA LOCAL INFILE <‘Percorso_del_csv’> IGNORE INTO TABLE <NomeTabella> FIELDS TERMINATED BY ‘,’ LINES TERMINATED BY ‘\n’;

In pochi minuti la tabella verra’ popolata con i dati del csv locale.

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

accesso non possibile a shared folder

Sono diventato matto davanti ad un computer con windows10 con l’utente joinato su Azure. Accedendo a delle cartelle condivise in rete (sia su nas che su un server windows) ricevo un errore generico “Windows cannot access \\miashare”. Coincidenza era anche una versione 1709 e cercando in rete escono una marea di soluzioni su samba versione3, su 1709 che disabilita la versione 1 e altri commenti che poertano decisamente fuori strada. La soluzione per abilitare l’accesso e:

– Cercare in windows “Credential manager”

– Cliccare su Windows Credential

– Add Windows Credential e impostare:

network address: \\share-name

username: share-name\user (attenzione! mettere share-name\ davanti al nome)

password: password

Tutto qui!

 

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Applicazioni inutili in Windows 10

In windows10 ci sono parecchie applicazioni inutili preinstallate o installate in automatico che non si possono disinstallare.
Discorsi filosofici a parte, installando windows e cliccando su “accetta” nei vari disclaimer si accettano una serie di condizioni per cui sostanzialmente si acconsente di farsi informaticamente violentare (e non solo informaticamente). Alla fine dipende dal motivo per cui una persona utilizza il proprio pc, in molti casi comunque lo si usa per LAVORARE.
Ho fatto molte battaglie per sensibilizzare la gente a non installare software inutile nei propri pc (o peggio in quelli aziendali) e ora qualcuno potrebbe dubitare dei miei consigli. Per chi reputa che il pc puo’ lavorare meglio senza software inutile ecco una piccola guida per disinstallare programmi che nel pannello di controllo sono in grigetto, attenzione a rimuovere solo quelli inutili, per esempio Grove Music, bing news, xbox etc:

  1. Provare a rimuovere normalmente il programma dal pannello di controllo –> Apps
  2. Se il programma e’ “irrimovibile” aprire una powershell come amministratore (Start–> PowerShell–>Tasto destro–>Avvio come amministratore)
  3. ottenere l’elenco di tutti i programmi (oops App) installati con il comando Get-AppxPackage –AllUsers
  4. Si ottiene un lunghissimo elenco, quello che importa e’ il nome programma (parametro Name:) e il parametro PackageFullName
  5. Individuare cosa disinstallare scorrendo tutti i Name per esempio Microsoft.BingFinance e ottenere il corrispondente fullname, in questo caso Microsoft.BingFinance_4.22.3254.0_x64__8wekyb3d8bbwe
  6. Lanciare in PowerShell il comando remove-AppxPackage “fullname” nel nostro caso
  7. remove-AppxPackage Microsoft.BingFinance_4.22.3254.0_x64__8wekyb3d8bbwe
  8. Tutto qui, sembra difficile ma fatto per uno poi sono dei copia e incolla.
VN:F [1.9.22_1171]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Due dritte per installare wmic in linux.

Per chi non conosce wmic possiamo dire che e’ un elenco di comandi eseguibili in windows per raccogliere informazioni. Questi comandi sono integrati nel sistema operativo microsoft nativamente e possono essere eseguiti anche da macchine remote nella propria rete. Per sapere cosa si puo’ interrogare bisogna lanciare dal prompt dei comandi windows wmic /?

Interessante e’ anche il set di comandi sviluppati in linux che permettono di interrogare macchine windows senza bisogno di agent. Un esempio potrebbe essere l’interrogazione dello spazio libero sul disco o la memoria utilizzata. Per usare questi comandi in linux ho cercato un po’ in giro e alla fine mi sono trovato bene seguendo questa guida, riepilogo i comandi (testati in debian e ubuntu in varie versioni):

ulimit -n 100000
cd /tmp
mkdir wmic
cd wmic

apt install autoconf gcc libdatetime-perl make build-essential g++ python-dev
wget http://www.opsview.com/sites/default/files/wmi-1.3.16.tar_.bz2
bunzip2 wmi-1.3.16.tar_.bz2
tar -xvf wmi-1.3.16.tar_
cd wmi-1.3.16/

vim Samba/source/pidl/pidl
:583 (to jump to line 583)
remove the word defined before @$pidl
:wq

export ZENHOME=/usr
make “CPP=gcc -E -ffreestanding”
cp Samba/source/bin/wmic /bin

 

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Visualizzare centralmente le hotfix dei computer nel proprio dominio

Per visualizzare le fix di Windows installate nei computer della propria rete centralmente bisogna digitare il comando da powershell :

Get-Hotfix –cn <IP_DEL_PC> | Select HotfixID, Description, InstalledOn | sort InstalledOn

restituira’ un elenco con le fix desiderate.

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Problema Java – DatagramSocket tiene allocato il socket

Mi è capitato di scrivere del codice che scrive/legge da socket di rete ed ho riscontrato un baco (per me è un baco) che mi ha fatto perdere un sacco di tempo, il mio codice era simile a questo:

DatagramSocket s = new DatagramSocket(7777);
InetAddress indirizzo = s.getLocalAddress();
byte[] buf = new byte[65536];
DatagramPacket recv = new DatagramPacket(buf, buf.length);
s.receive(recv);
s.close

Sostanzialmente la prima riga crea un socket e fa il bind sulla porta locale 777 (prima riga in grassetto) poi il codice continua e aspetta dalla rete qualcosa (s.receive) e alla fine chiude e dealloca tutto (s.close). Il problema che ho riscontrato è che lui non deallocava un bel niente e rilanciando l’applicazione non riusciva più a fare il bind perchè rimaneva allocato dal giro di prima. Cercando in giro in internet ho risolto cambiando la prima riga così:

s = new DatagramSocket(null);
s.setReuseAddress(true);
s.bind(new InetSocketAddress(7777));

Sostanzialmente inizializza il socket a null poi fa il bind a mano. In questo caso quando fa la close (s.close) rilascia correttamente il socket a livello sistema operativo.

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Utilizzo i cookie per essere sicuro che tu possa avere la migliore esperienza sul mio sito. Se continui ad utilizzare questo sito assumo che tu ne sia felice.. maggiori informazioni

Questo sito utilizza i cookie per fonire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o clicchi su "Accetta" permetti al loro utilizzo.

Chiudi