Windows Bash vs Ubuntu в VM та SSH


5

я роздивлявся довгий час, але мені не вдалося дізнатися, в чому різниця між новим Bash For Windows 10 і ssh в Ubuntu, що працює в VM (із встановленими накопичувачами Windows).

Чи маєте більше інтеграцію з Windows, чи доступ та простота встановлення просто через установку Ubuntu, що працює в VM?

Відповіді:


7

Різниця по суті полягає в тому, що між віртуалізацією на рівні операційної системи та віртуалізацією на основі гіпервізора.

Після запуску bashз меню «Пуск Windows» ви отримуєте текстове вікно з доступом до повного середовища командного рядка Ubuntu, звідки ви можете встановити будь-який пакет Ubuntu користувача.

На відміну від того, що ви отримаєте з традиційною VM, немає ядра Linux для завантаження або запуску, тому запустити набагато швидше і легше запустити. Народні бінарні файли Ubuntu просто виконуються ядром Windows (саме новою його підсистемою). Ще одна відмінність полягає в тому, що немає графічної інтеграції поза коробкою. За допомогою VM ви маєте доступ до віконного (або повного екрану) зображення текстової та графічної консолі віртуальної апаратури, але з Windows bash, це більше схоже, якщо ви віддалено підключитесь до сервера з емулятора терміналу Windows. Ви все-таки можете запустити графічні програми Linux, якщо запуститиX11сервер під Windows. Оскільки ядро ​​Linux не задіяне, ви не можете використовувати модулі / драйвери Linux для доступу до обладнання, до нього зможуть скористатися рідні Windows. Це має багато наслідків, наприклад, зараз немає підтримки для посилань та проблем із довгими іменами файлів та регістром імен файлів, не застосовується. Немає послідовності завантаження, як у справжньої машини або традиційного VM, це означає, що при запуску послуги не запускаються автоматично bash. Він трохи схожий на запуск Docker bash.

Нарешті, це незавершена робота, тому є багато можливостей для вдосконалення. Ви можете мати уявлення про те, про що найбільше повідомляють користувачі на цьому веб- сайті https://wpdev.uservoice.com/forums/266908-command-prompt-console-bash-on-ubuntu-on-windows

Перегляньте також поширені запитання: https://msdn.microsoft.com/en-us/commandline/wsl/faq

Зверніть увагу, що перший запит користувача "Давайте запустимо процеси Windows з Bash" - це те, чого ви не можете зробити ні з VM Linux, що працює в Windows.


0

Усі три - це інструменти, що виконують різні цілі та призначення. Вирішення, що є частково перевагою та частково правильним або адекватним вибором інструменту.

Я його не використовував, але з того, що я читав про Windows BASH, що є дорогоцінним, це трохи відокремлене середовище оболонки BASH. Наприклад, він не має доступу до інформації на рівні системи або API, що робить Powershell. Він не забезпечує UNIX-подібне командне середовище, а також не забезпечує SSH. Але він може запускати програми та програми так само, як файли BAT, але зі сценаріями, написаними з використанням синтаксису BASH.

Cygwin - це бібліотека абстракції (більш-менш) повного середовища UNIX-стилю в стилі UNIX. Він може мати доступ до інформації на рівні системи та API, якщо такий інтерфейс написаний, і багато хто має. Це набагато більше схоже на середовище у стилі UNIX, але є очевидні адаптації, які необхідно внести для розміщення "віконсизмів". Наприклад , для отримання доступу до диска з Windows, як D, це /cygdrive/d/. Розділювачі каталогів на шляху є, /а не \доступ до мережевого накопичувача - це //host/share/path...я використовую його щодня на роботі, і я вважаю це дуже корисним для свого мислення в стилі UNIX.

Запуск Linux у віртуальній машині - це повна інсталяція і (майже) повністю ізольована від хост-системи, за винятком конкретних визначених моментів, таких як мережа, клавіатура / миша, пам'ять тощо ...


Дякую, ти дай мені трохи інформації, я залишаю відкритим питання ще трохи, щоб дати можливість іншим людям змінитись, щоб прийти з деяким вкладом.
Андром

1
Ви заявляєте: "Це не забезпечує UNIX-подібне командне середовище, а також не забезпечує SSH." є досить оманливим. Підсистема Linux забезпечує повне UNIX-подібне (Ubuntu) командне середовище і має мережевий доступ, щоб ви могли запускати ssh. Що він не може зробити, це отримати доступ до API Windows, але Ubuntu в VM теж не зможе це зробити.
jlliagre

Ось чому це був коментар, а не відповідь. Я заявив, що читав дорогоцінне мало на win bash. Моє враження від статті в тому , що вона не дає вам такі утиліти , як lsабо tr. Я щасливий, що помиляюся - ці утиліти роблять мене більш корисним
kronenpj
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.