Diversi utenti installano una distribuzione Linux e un sistema Windows sul proprio PC in dual-boot, in questo contesto la procedura per condividere i file è davvero semplice. Linux può leggere facilmente il file system NTFS e con esso è possibile montare partizioni di Windows, vice versa un sistema di Microsoft può montare le partizioni in ext4 tramite driver di terze parti. Una volta individuata la partizione che ci interessa possiamo recarci nelle directory in cui sono presenti i nostri file e lavorare in modo indipendente dal sistema operativo corrente.
In ambiente lavorativo, invece, la situazione si complica un po' perché spesso è necessario interfacciarsi con più PC diversi o magari tra più Server. Fortunatamente abbiamo a disposizione una miriade di tool open source per poter visualizzare ed utilizzare i file tra più terminali e sistemi. Possiamo sfruttare ad esempio SSH, tramite la Secure Shell, con cui è possibile aprire e modificare file o copiarli sulla piattaforma in uso. Installare SSH è semplicissimo, Su Ubuntu basta utilizzare APT:
sudo apt install ssh-server
sudo service ssh start
Su Windows possiamo installare Puppy, un client SSH che fornisce anche una shell, o sfruttare il WSL (Windows Subsystem for Linux) di Windows 10 ed utilizzare direttamente la Shell Linux.
Una volta ottenuta la shell con SSH sarà possibile connettersi al sistema in cui sono stati archiviati i file che ci interessano:
ssh nomenteutente@indirizzoipdelpc
eseguito il login avremo accesso a tutti i file del sistema, ovviamente con i relativi permessi garantiti dall'utente con il quale ci siamo connessi. Se invece desideriamo solo copiare un determinato file, è possibile usare il comando pscp:
pscp utente@indirizzoIP:/home/utente/fileesempio.txt c:\Windows\Utenti\NomeUtente\Documenti\filesempio.txt
Se lo si desidera è anche possibile modificare il proprio file hosts cosi da connettersi via SSH utilizzando l'hostname al posto dell'indirizzo IP. Il file in questione su Windows si trova nella directory:
C:\Windows\System32\drivers\etc\hosts
su Linux invece in:
/etc/hosts
Possiamo ad esempio aggiungere l'IP locale:
#PC Linux
192.168.0.10 PcLinux
Una volta modificato tale file sarà possibile connettersi utilizzando l'hostname:
ssh nomeutente@PcLinux