Могу ли я обновить свою существующую установку Ubuntu в WSL с 16 по 18 апреля?

46

В настоящее время я использую Ubuntu 16.04 в WSL (Windows 10 v1709 или новее), установленный с помощью lxrun.

Могу ли я обновить его до 18.04?

Если так, то как? Если нет, то когда?

iBug
источник
Здесь можно прочитать: « Мы будем искать поддержку 18.04, но пока не имеем официального графика ».
sba,
@Biswapriyo Не уверен, что я сделал это соответствующим образом, но sudo do-release-upgrade -dтогда apt upgradeпринудительное изменение источника с помощью силы (xenial → bionic) мне помогло. Просто убедитесь, что вы удалили вещи вроде linux-imagegrub из 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 для разработчиков

iBug
источник
12
FWIW, возможно, проблемы, с которыми вы столкнулись, были исправлены в обновлении для Windows 10 апреля 2018 года, но я сделал sudo do-release-upgrade -dэто и обновил до 18.04 без ошибок, он правильно установил мой sources.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 Store есть три разных Ubuntu.

X.Arthur
источник
3
Две установки, в конце которых указан номер версии, предназначены для людей, которые хотят использовать определенную версию и придерживаться ее. Версия, которая только что помечена как «Ubuntu», предназначена для тех, кто хочет всегда запускать последнюю версию.
DaveTheMinion
Да, позже узнал в каком-то блоге.
X.Артур
1
У меня сложилось впечатление, что если бы вы использовали «Ubuntu», он обновился бы до последней версии через магазин приложений, но это, очевидно, не тот случай.
DaveTheMinion
@DavidB Это должно быть обновлено, когда MS проверила свою стабильность. Похоже, что текущий 18.04 изменил многое, а некоторым нужна новая реализация на WSL. Надеюсь, следующий выпуск Windows будет включать это.
X. Артур
вы уверены в этом? Я обновился, и все, кажется, работает гладко.
DaveTheMinion
2

Отказ от ответственности: эта следующая процедура требует предварительно установленных дистрибутивов GNU / Linux в WSL (как в OP уже установлена ​​Ubuntu 16.04). Предоставленные ссылки могут не работать в будущем. Вы можете прокомментировать ниже, если таковые имеются. Это требует небольшого знания инструментов командной строки GNU / Linux, например tar, UnsquashFSи т. Д. Установите эти инструменты перед выполнением этой процедуры.

  • Исполняемый файл установщика: вам нужен исполняемый файл, импортирующий функцию WslRegisterDistribution, которая устанавливает дистрибутив. Есть два пути. Вы можете скомпилировать свой собственный установщик из исходного кода ( ссылка 1 ) или извлечь его из предоставленного Microsoft пакета Appx ( ссылка 2 ).

  • Получить 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 секунд для установки в зависимости от вашей машины.
Biswapriyo
источник
3
Также, кажется, есть такие инструменты, как github.com/Biswa96/WSLInstall и github.com/DDoSolitary/LxRunOffline, которые выглядят так, как будто их можно использовать для установки (хотя я и не тестировал сам).
phk
Ахаха, первая ссылка на github от меня, как на самом деле указывает на ваш репозиторий, так что не берите в голову. Ура!
августа,