Quali sono le differenze tra Windows Bash e Cygwin?
Il nuovo aggiornamento da Windows con "Linux" Bash è nuovo, ma quali sono le differenze rispetto a Cygwin che potrebbero farti scegliere l'uno rispetto all'altro?
Quali sono le differenze tra Windows Bash e Cygwin?
Il nuovo aggiornamento da Windows con "Linux" Bash è nuovo, ma quali sono le differenze rispetto a Cygwin che potrebbero farti scegliere l'uno rispetto all'altro?
Risposte:
Cygwin è un ottimo strumento se vuoi vivere interamente in Windows e vuoi guidare / automatizzare le attività di Windows con script bash. Tuttavia, Cygwin non è in grado di eseguire binari Linux non modificati.
Ecco dove interviene WSL:
Il sottosistema Windows per Linux (WSL) è un nuovo livello del kernel di Windows che mira a fornire un elevato grado di compatibilità con l'ABI del kernel di Linux. Ciò consente l'esecuzione di file binari ELF64 nativi, non modificati, su WSL.
Questo è il modo in cui WSL può eseguire una vera distribuzione Ubuntu utente-terra e tutti i pacchetti scaricati da apt-get o pacchetti .deb da altrove, senza alcuna modifica.
Il punto di WSL è consentire agli sviluppatori che lavorano su Windows di essere in grado di eseguire molti degli strumenti e di lavorare su molti progetti, che dipendono da binari, caratteristiche, comportamenti, layout del filesystem, modello di processo, ecc. Di Linux.
Mentre WSL è ancora all'inizio della sua implementazione, stiamo lavorando sodo per migliorare l'ampiezza e la profondità delle nostre implementazioni di syscall per migliorare costantemente la capacità di WSL di eseguire un set sempre più ampio di strumenti e supportare un numero in rapida crescita di Ruby, Java, nodo , ecc. pacchetti e progetti.
Da quando abbiamo scritto quanto sopra, abbiamo spedito Windows 10 Creators Update che MASSIVAMENTE migliora la compatibilità di WSL con MOLTI degli strumenti che vorrete / dovrete eseguire.
Anche lo sviluppo è proseguito senza sosta e negli ultimi mesi abbiamo distribuito build Insiders Win10 sulla strada per la spedizione di Fall Creators Update (FCU) nell'ottobre 2017.
In FCU, stiamo aggiungendo la possibilità di installare ed eseguire più di una distro fianco a fianco: Ubuntu, openSUSE e SLES sono attualmente disponibili, con Fedora e altri in arrivo. WSL ora supporta anche le comunicazioni seriali USB e il montaggio di memorie USB e condivisioni di rete, insieme a ulteriori miglioramenti delle nostre syscall che migliorano la compatibilità con più strumenti.
Sono stati un paio di anni molto impegnativi dal primo annuncio e rilascio di WSL, quindi dall'aggiunta del supporto per più distro dal negozio e dall'annuncio di WSL v1.0 HTH.
A Build 2019 abbiamo annunciato il nuovo Windows Terminal ( qui il video della sessione Terminale ) e WSL 2 ( qui il video della sessione WSL 2 ) che introduce un approccio completamente nuovo all'esecuzione di Linux su Windows.
Per maggiori dettagli e aggiornamenti futuri, assicurati di visitare il blog della riga di comando di Windows ogni paio di settimane in cui pubblichiamo molte notizie correlate
Sto usando WSL su Windows 10 da circa alcuni mesi. Finalmente posso avviare Windows per giocare e comunque accedere al prompt di bash ed eseguire l'interfaccia della riga di comando e molti programmi GUI. Vi sono limitazioni come nessuna delle directory virtuali del kernel Linux familiari. È necessario pianificare la condivisione dello stesso script Bash tra Ubuntu e WSL su una macchina a doppio avvio.
Ci sono molte cose che mi piacerebbe vedere migliorate, ma posso conviverci così com'è per circa un anno.
Una cosa da ricordare è che Microsoft è un sistema chiuso e non hai la raffica di terze parti che scrivono aggiornamenti come ti piace su Linux. Ma tutto sommato si considera che si acquista un nuovo laptop e viene fornito con Windows 10 comunque, quindi si può dire che è almeno "gratuito" :)
Cygwin è controllato da Red Hat Linux, che non è nemmeno noto per aver dato via gratuitamente le cose. La loro distribuzione "gratuita" di Linux Fedora sembra un "banco di prova" per alcuni.
Cygwin ha 15 anni di aggiornamenti. Notevole è lo stesso project manager presente nel 2003. Ci sono molti manutentori a tempo pieno e molti altri collaboratori volontari.
WSL fornisce aggiornamenti importanti due volte all'anno ogni primavera e autunno. Aggiornamenti minori settimanali sono disponibili per quelli nell'elenco degli abbonati agli sviluppatori. Sebbene Microsoft disponga di risorse per lanciare migliaia di persone nello sviluppo di WSL, sembra che tu possa contare i membri del team con le dita.
Vedrai molte lamentele sulla velocità WSL. Ad esempio, la pittura dello schermo richiede molte volte più tempo in Windows 10 rispetto a Ubuntu 16.04, cioè puoi effettivamente vedere il movimento del cursore in Windows 10:
Ci vogliono circa 5 secondi per dipingere la schermata di avvio di WSL Bash. In confronto, sono circa 1 1/2 secondi per la stessa schermata iniziale in Ubuntu 16.04:
Cygwin ha una sua quota di lamentele sulla velocità con Bash .
La risposta qui ha un anno, quindi penso che un piccolo aggiornamento sia in ordine. Con Windows 10 Home, se è Windows a 32 bit, significa che non eseguirà il sottosistema Ubuntu / Windows a 64 bit come Microsoft ci dice qui: ( sottosistema Windows Linux in win10 HOME BASIC ).
È come un sogno diventato realtà con Ubuntu su Windows con il suo supporto di gioco superiore per Nvidia, ma prima di esaurire e acquistare un laptop nuovo (o usato), assicurati che abbia Windows 10 a 64 bit e non la versione home a 32 bit se vuoi eseguire roba Ubuntu / Linux in modo nativo sotto Windows. Sui siti Web Microsoft fanno effettivamente riferimento all'edizione di Windows Anniversary come prerequisito per l'esecuzione del sottosistema Windows per Linux.
Tuttavia, se non vuoi sborsare $ 200+ per Windows 10 e hai un laptop più vecchio con Windows 8.1 a 64 bit come faccio io, e hai un laptop ancora più vecchio con Windows Vista a 64 bit come faccio io, Cygwin è la risposta.
Cygwin supporta più versioni di Windows come elenchi dei loro siti Web :
Cygwin può funzionare su tutte le versioni moderne e rilasciate di Windows. Stato gennaio 2016 include Windows Vista, Windows Server 2008 e tutte le versioni successive di Windows fino a Windows 10 e Windows Server 2016. La versione a 32 bit di Cygwin funziona anche in ambiente WOW64 a 32 bit su versioni a 64 bit rilasciate di Windows, la 64 versione a bit ovviamente solo su Windows a 64 bit.
Tieni presente che Cygwin può fare solo quanto supporta il sistema operativo sottostante. Per questo motivo, Cygwin si comporterà in modo diverso e presenterà limitazioni diverse sulle varie versioni di Windows.