Skip to main content

Posix, Wsl: un ascoltatore integra

Ecco il testo:

Dice Stefano a proposito di cygwin e posix, parlando di linux su windows.

visto che viene chiesto esplicitamente, ecco un paio di correzioni sulla puntata di oggi :)

allora, iniziamo con Cygwin

il progetto è nato nel 1995, quindi ha quasi 30 anni, ed è nato a mo di intuizione ( creare un cross-compilatore in modo da creare eseguibili su windows di tool unix/linux), per poi diventare un vero è proprio ambiente posix. Nella sua forma finale Cygwin è un ambiente posix su Windows, le cui chiamate posix vengono "convertite" tramite una libreria ( cygwin1.dll ), come da homepage

a DLL (cygwin1.dll) which provides substantial POSIX API functionality.

quindi a livello funzionale è un emulatore ( anche se è un pò più complesso ): lo avvii ed hai una shell posix ( bash, sh o qullo che si vuole ) e utilizzi i tool che di norma si trovano su linux. Puoi ovviamente anche compilare da codice sorgente ( ai tempi io mi ero ricompilato sul mio computer Bind per fare alcuni test con l'abilitazione rpz, che mi pare non fosse ufficiale inizialmente, ma è roba di anni fa)

WSL (versione 1), è qualcosa di simile, ma nativamente di Windows e più evoluto: è un sottosistema che converte le chiamate dall'ambiente wsl (quindi linux) nella controparte windows ( quindi anche qui è in sostanza un emulazione ) . Funziona adeguatamente, fin quando non sbatti il muso con i socket tcp ( ai tempi io non sono riuscito a far girare tcpdump ) . Microsoft ha poi "pachetizzato" l'ambiente per avere delle distro (ubuntu, debian, fedora etc) con i propri tools etc, quindi nella sostanza uno si ritrova qualcosa di molto simile all'ambiente scelto

WSL (versione 2) bypassa la questione di emulazione, che è di per se complesso da mantenere, ed è in sostanza un vero e proprio ambiente virtuale, molto leggero e "trasparente". Anche qui con le distro che uno preferisce. Essendo un ambiente virtuale si ha un kernel linux vero e proprio, il quale poi dialoga con l'hypervisor di windows. Cosi si è anche risolto la questione dei socket tcp etc.

nella sua evoluzione poi l'ambiente WSL si è integrato sempre di più ( i cron possono rimanere attivi anche con ambiente spento, il filesystem è visibile da Windows etc )

l'utilizzo in se è decisamente dipendente da cosa uno deve farsene.

io da sempre ( prima con cygwin poi con WSL ) lo uso perchè i tool che mi servono sono prevalentemente posix, mi è più comodo e molto molto più veloce usare una shell "nativa" del computer che usare una vm.

Adesso che l'integrazione è più "fluida" ancor di più: ad esempio uso visual code (quindi "windows" ) usando i file su wsl, che mi permette istantamente di avviare e testare le modifiche, con le config git del caso etc

Topic Attrezzi

0 comments

Would you like to be the first to write a comment?
Become a member of Caffe20.it and start the conversation.
Become a member