Чи можу я модернізувати існуючу установку Ubuntu в WSL з 16.04 до 18.04?


46

На даний момент я працюю на Ubuntu 16.04 у WSL (Windows 10 v1709 або новішої версії), встановленому за допомогою lxrun.

Чи можу я оновити його до 18.04?

Якщо так, то як? Якщо ні, коли?


Тут можна прочитати " Ми будемо шукати підтримку 18.04, але ще не маємо офіційної хронології "
sba

@Biswapriyo Не впевнений, чи зробив я це належним чином, але sudo do-release-upgrade -dтоді сила apt upgradeз зміненими джерелами (xenial → bionic) спрацювала для мене добре. Просто переконайтесь, що вилучили речі linux-imageWSL з WSL.
iBug

Ubuntu 18.04 доступний у магазині: microsoft.com/en-us/store/p/ubuntu-1804/9n9tngvndl3q
Biswapriyo

Відповіді:


36

Я просто змусив оновлення з 16.04, і це було успішним, хоча процес був не на все добре.

sudo do-release-upgrade -d

Спочатку зробіть оновлення. Як повідомили люди в коментарях, напевно, все, що вам потрібно зробити до 18.04, все налаштовано. У кількох випадках, таких як моя, вона зробить більшість речей, показуючи як "невдало".

Якщо це відображається як "не вдалося", відкрийте /etc/apt/sources.listта замініть всі "xenial" на "bionic", і sudo apt update && sudo apt -y upgrade. Більшість людей повинні робити все, що робиться в цей момент.

У деяких випадках (але не у всіх) APT та Debian Packager можуть вийти з ладу під час процесу. Відповідно до цього потоку GitHub , вам потрібно видалити grub та ядра, якщо такі є:

sudo apt -f purge grub-pc
sudo apt -f purge linux-image*

Повторіть останню команду кілька разів, оскільки dpkg не вдасться зняти кожен пакет. Після того, як всі ці образи Linux будуть видалені, ви отримуєте повністю працюючий Bionic Beaver у своєму WSL.

Детальніше: Посібник з оновлення випуску програми Ubuntu - Інструменти командного рядка Windows для розробників


12
FWIW, можливо, проблеми, з якими ви стикалися, були виправлені в оновленнях Windows 10 квітня 2018 року, але я це зробив sudo do-release-upgrade -dі оновив до 18.04 без помилок, він правильно встановив мій source.list, і жодних пакетів grub-pc або linux-image * не встановлено . Це спрацювало чудово!
Павло

@Paul Вони були встановлені раніше та оновлювалися разом.
iBug

10
Можна підтвердити, що зараз просто sudo do-release-upgrade -dпрекрасно працює.
Бен

21

Так, ти можеш!

Зараз у Window Store доступні три різновиди Ubuntu.

Знімок екрана з магазину Windows, який показує три різновиди Ubuntu.

  • Ubuntu: Це завжди буде остання стабільна версія LTS.
  • Ubuntu 18.04 LTS: для розробників, які хочуть спеціально версії 18.04.
  • Ubuntu 16.04 LTS: для розробників, які хочуть спеціально версії 16.04.

Якщо ви встановили звичайний додаток "Ubuntu" (без номера версії) до 18.04, став доступним у магазині Windows, ви можете оновити його наступним набором команд:

sudo apt update -y         # makes apt system up-to-date 
sudo apt dist-upgrade -y   # upgrades Ubuntu 16.04 packages to latest

sudo do-release-upgrade    # performs the upgrade to Ubuntu 18.04

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

Офіційне джерело: https://blogs.msdn.microsoft.com/commandline/2018/07/09/upgrading-ubuntu/


2
Якщо sudo apt dist-upgradeдійсно, або оновлені оновлення перешкоджатимуть оновлення випуску
Chris Browet

8

У магазині Windows зараз є офіційний Ubuntu18.04, а також Ubuntu16.04.

Хоча я не знайшов жодної офіційної інформації, яка різниця між цими двома та Ubuntu.

Так, в магазині Windows на даний момент є три різні Ubuntu.


3
Дві установки, які мають кінець версії, призначені для людей, які хочуть використовувати певну версію та дотримуватися її. Версія, яка щойно позначена "Ubuntu", призначена для тих, хто хоче завжди виконувати останню версію.
DaveTheMinion

Так, пізніше з’ясували в якомусь блозі.
X.Arthur

1
У мене склалося враження, що якби ви використовували "Ubuntu", він оновлювався б до останньої версії через магазин додатків, але це, мабуть, не так.
DaveTheMinion

@DavidB Його слід оновлювати, коли MS перевірила його стабільність. Здається, нинішній 18.04 багато чого змінив, і для деяких потрібна нова реалізація на WSL. Сподіваємось, наступний реліз Windows включить це.
X.Arthur

Ви впевнені в цьому? Я модернізував, і все, здається, працює безперебійно.
DaveTheMinion

2

Відмова від відповідальності: Ця наступна процедура вимагає попередньо встановлених дистрибутивів GNU / Linux у WSL (на зразок OP вже встановлено Ubuntu 16.04). Надані посилання можуть не працювати в майбутньому. Ви можете прокоментувати нижче, якщо такі є. Для цього потрібні незначні знання інструментів командного рядка GNU / Linux, наприклад tar, UnsquashFSтощо. Установіть ці інструменти перед виконанням цієї процедури.

  • Виконавча програма встановлення: Вам потрібна виконувана функція імпорту WslRegisterDistribution, яка встановлює дистрибутив. Є два способи. Ви можете скласти власний інсталятор із вихідного коду ( link1 ) або витягнути інсталятор з пакета Appx ( link2 ), що надається Microsoft .

  • Отримайте Ubuntu 18.04: Завантажте файл Ubuntu 18.04 SquashFS . Тепер запустіть стару Ubuntu з WSL у цій папці завантаження та увійдіть як rootкористувач. Виконайте такі команди нижче (лише з користувачем root):

cp ./ubuntu-18.04-server-cloudimg-amd64.squashfs ~ 
cd ~ 
unsquashfs -d temp ubuntu-18.04-server-cloudimg-amd64.squashfs 
cd temp 
tar -czf ../Ubuntu.tar.gz --hard-dereference * 
cd .. 
mv Ubuntu.tar.gz /mnt/c 

У cpкоманді копіює файл SquashFS в домашньому каталозі (потрібно). UnsquashFSвитягує файли в tempпапці і tarстискає всі файли у .tar.gzформаті. Потім mvкомандою перемістіть цей файл у попередній папці завантаження. Ви можете видалити tempпапку rm -rf ~/tempкомандою.

  • Встановити: помістіть і виконуваний файл, і файл tar.gz, в ту саму папку, де ви хочете встановити. Вам слід виконати команду ( link1 ) або двічі натиснути на виконуваний файл ( link2 ) для встановлення. Для встановлення потрібно 15-30 секунд, залежно від вашої машини.

3
Також, здається, є такі інструменти, як github.com/Biswa96/WSLInstall та github.com/DDoSolitary/LxRunOffline, схоже, що вони можуть бути використані для інсталяційної частини (хоча я сам не перевіряв її).
phk

Ахаха, перше посилання від github від мене, як насправді, вказує на ваше сховище, тому ніколи не пам’ятайте. Ура!
phk
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.