Czy mogę zaktualizować moją istniejącą instalację Ubuntu w WSL z 16.04 do 18.04?

46

Obecnie używam Ubuntu 16.04 w WSL (Windows 10 v1709 lub nowszy), instalowany przy użyciu lxrun.

Czy mogę go uaktualnić do 18.04?

Jeśli tak to jak? Jeśli nie to kiedy?

iBug
źródło
Tutaj można przeczytać: „ Będziemy patrzeć na wsparcie 18.04, ale nie mamy jeszcze oficjalnej harmonogramu.
sba 27.04.18
@Biswapriyo Nie jestem pewien, czy zrobiłem to odpowiednio, ale sudo do-release-upgrade -dpotem apt upgradewymusiłem z siłą zmienioną źródła (xenial → bionic) działało dla mnie dobrze. Po prostu upewnij się, aby usunąć rzeczy takie jak linux-imagei grub z WSL.
iBug
Ubuntu 18.04 dostępny w sklepie: microsoft.com/en-us/store/p/ubuntu-1804/9n9tngvndl3q
Biswapriyo 10'18

Odpowiedzi:

36

Właśnie wymusiłem aktualizację z wersji 16.04 i zakończyła się ona sukcesem, choć proces nie przebiegał dobrze.

sudo do-release-upgrade -d

Najpierw wykonaj aktualizację. Jak ludzie zgłaszali w komentarzach, prawdopodobnie wszystko, co musisz zrobić, zanim 18.04 zostanie skonfigurowane. W kilku przypadkach, takich jak moja, zrobi większość rzeczy, pokazując jako „nieudane”.

W przypadku gdy pokazuje się jako „nieudany”, otwórz /etc/apt/sources.listi zamień cały „xenial” na „bionic”, i sudo apt update && sudo apt -y upgrade. Większość ludzi powinna mieć wszystko zrobione w tym momencie.

W niektórych przypadkach (ale nie wszystkich) APT i Debian Packager mogą zawieść podczas procesu. Zgodnie z tym wątkiem GitHub musisz usunąć grub i jądra, jeśli są obecne:

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

Powtórz kilka razy ostatnie polecenie, ponieważ dpkg nie powiedzie się po usunięciu każdego pakietu. Po usunięciu wszystkich obrazów Linuksa otrzymasz WSB w pełni działający Bionic Beaver.

Przeczytaj więcej: Przewodnik po aktualizacji wersji aplikacji Ubuntu - narzędzia wiersza polecenia systemu Windows dla programistów

iBug
źródło
12
FWIW, być może problemy, które napotkałeś, zostały naprawione w aktualizacji systemu Windows 10 kwietnia 2018 r., Ale zrobiłem to sudo do-release-upgrade -di zaktualizowałem ją do 18.04 bez żadnych błędów, poprawnie ustawiłem mój plik sources.list i nie zainstalowano żadnych pakietów grub-pc ani linux-image * . Działa idealnie dobrze!
Paul
@Paul Zostały one zainstalowane wcześniej i zostały zaktualizowane razem.
iBug
10
Potwierdzam, że teraz sudo do-release-upgrade -ddziała dobrze.
Ben
21

Tak, możesz!

W sklepie Windows Store dostępne są teraz trzy odmiany Ubuntu.

Zrzut ekranu ze Sklepu Windows pokazujący trzy dostępne wersje Ubuntu.

  • Ubuntu: zawsze będzie to najnowsza stabilna wersja LTS.
  • Ubuntu 18.04 LTS: Dla programistów, którzy chcą konkretnie wersji 18.04.
  • Ubuntu 16.04 LTS: Dla programistów, którzy chcą konkretnie wersji 16.04.

Jeśli zainstalowano zwykłą aplikację „Ubuntu” (bez numeru wersji) przed 18.04 była dostępna w Windows Store, możesz ją uaktualnić za pomocą następującego zestawu poleceń:

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

Postępuj zgodnie ze wszystkimi monitami i przestrzegaj wszystkich ostrzeżeń, które są wyświetlane. Zazwyczaj są one spowodowane dostosowaniami i bibliotekami lub repozytoriami stron trzecich, które sam dodałeś.

Oficjalne źródło: https://blogs.msdn.microsoft.com/commandline/2018/07/09/upgrading-ubuntu/

Jeff Guillaume
źródło
2
Powinny być sudo apt dist-upgrade, naprawdę, lub wstrzymane aktualizacje zapobiegną aktualizacji wydania
Chris Browet
8

Teraz jest oficjalny Ubuntu18.04 w sklepie Windows, a także Ubuntu16.04.

Chociaż nie znalazłem żadnych oficjalnych informacji, jaka jest różnica między tymi dwoma a Ubuntu.

Tak, w sklepie Windows są teraz trzy różne Ubuntu.

X.Arthur
źródło
3
Dwie instalacje, które mają na końcu numer wersji, są przeznaczone dla osób, które chcą użyć określonej wersji i trzymać się jej. Wersja z etykietą „Ubuntu” jest przeznaczona dla tych, którzy chcą zawsze uruchamiać najnowszą wersję.
DaveTheMinion
Tak, później dowiedziałem się na pewnym blogu.
X.Arthur
1
Miałem wrażenie, że jeśli użyjesz wersji „Ubuntu”, zaktualizuje się ona do najnowszej wersji za pośrednictwem sklepu z aplikacjami, ale najwyraźniej tak nie jest.
DaveTheMinion
@DavidB Powinien zostać zaktualizowany, gdy MS przetestuje jego stabilność. Wygląda na to, że obecny 18.04 zmienił wiele rzeczy, a niektóre wymagają nowej implementacji na WSL. Mamy nadzieję, że kolejna wersja systemu Windows będzie to obejmować.
X.Arthur
Jesteś tego pewien? Zaktualizowałem i wszystko wydaje się działać płynnie.
DaveTheMinion
2

Oświadczenie: Poniższa procedura wymaga wstępnie zainstalowanej dystrybucji GNU / Linux w WSL (podobnie jak OP ma już zainstalowany Ubuntu 16.04). Podane linki mogą nie działać w przyszłości. Możesz komentować poniżej, jeśli istnieje. To wymaga trochę wiedzy o GNU / Linux narzędzi wiersza polecenia np tar, UnsquashFSitp zainstalować te narzędzia przed wykonaniem tej procedury.

  • Plik wykonywalny instalatora: Potrzebujesz pliku wykonywalnego importującego funkcję WslRegisterDistribution, która instaluje dystrybucję. Istnieją dwa sposoby. Możesz skompilować własnego instalatora z kodu źródłowego ( link1 ) lub wyodrębnić instalator z pakietu Appx dostarczonego przez Microsoft ( link2 ).

  • Pobierz Ubuntu 18.04: Pobierz plik SquashFS Ubuntu 18.04 . Teraz uruchom stary Ubuntu z WSL w tym folderze pobierania i zaloguj się jako rootużytkownik. Uruchom następujące polecenia poniżej (tylko z użytkownikiem 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 

Te cpkopie polecenie SquashFS plików w katalogu domowym (wymagany). UnsquashFSwyodrębnia pliki w tempfolderze i tarkompresuje wszystkie pliki w .tar.gzformacie. Następnie mvpolecenie przenieś ten plik do poprzedniego folderu pobierania. Możesz usunąć tempfolder za pomocą rm -rf ~/temppolecenia.

  • Instalacja: umieść zarówno plik wykonywalny, jak i plik tar.gz w tym samym folderze, w którym chcesz zainstalować. Musisz uruchomić polecenie ( link1 ) lub dwukrotnie kliknąć plik wykonywalny ( link2 ), aby zainstalować. Instalacja zajmuje 15-30 sekund, w zależności od maszyny.
Biswapriyo
źródło
3
Wydaje się również, że istnieją narzędzia takie jak github.com/Biswa96/WSLInstall i github.com/DDoSolitary/LxRunOffline, które wyglądają, jakby można je było użyć w części instalacyjnej (choć sam tego nie przetestowałem).
phk
Ahaha, pierwszy link do mnie na githubie tak naprawdę wskazuje na twoje repozytorium, więc nieważne. Twoje zdrowie!
phk