Bisakah saya memutakhirkan instalasi Ubuntu saya yang ada di WSL dari 16,04 ke 18,04?

46

Saya saat ini menjalankan Ubuntu 16.04 di WSL (Windows 10 v1709 atau lebih baru), diinstal menggunakan lxrun.

Bisakah saya meningkatkannya ke 18,04?

Jika ya, bagaimana caranya? Jika tidak, kapan?

iBug
sumber
Di sini orang dapat membaca " Kami akan melihat dukungan 18,04 tetapi belum memiliki jadwal resmi. "
sba
@Biswapriyo Tidak yakin apakah saya melakukannya dengan benar, tetapi sudo do-release-upgrade -dkemudian memaksa apt upgradedengan kekuatan sumber yang diubah (xenial → bionic) bekerja dengan baik untuk saya. Pastikan untuk menghapus hal-hal seperti linux-imagedan grub dari WSL.
iBug
Ubuntu 18.04 tersedia di toko: microsoft.com/en-us/store/p/ubuntu-1804/9n9tngvndl3q
Biswapriyo

Jawaban:

36

Saya hanya memaksa upgrade dari 16,04 dan itu berhasil, meskipun prosesnya tidak semuanya baik.

sudo do-release-upgrade -d

Pertama lakukan upgrade. Seperti yang dilaporkan orang dalam komentar, kemungkinan semua yang perlu Anda lakukan sebelum 18,04 sudah disiapkan. Dalam beberapa kasus seperti milik saya, itu akan melakukan sebagian besar hal sambil menunjukkan sebagai "gagal".

Dalam kasus ini ditampilkan sebagai "gagal", buka /etc/apt/sources.listdan ganti semua "xenial" dengan "bionik", dan sudo apt update && sudo apt -y upgrade. Kebanyakan orang harus melakukan semuanya pada saat ini.

Dalam beberapa kasus (tetapi tidak semua), APT dan Debian Packager mungkin gagal selama proses. Menurut utas GitHub ini , Anda harus menghapus grub dan kernel, jika ada:

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

Ulangi perintah terakhir beberapa kali karena dpkg akan gagal setelah menghapus setiap paket. Setelah semua gambar Linux dihapus, Anda mendapatkan Bionic Beaver yang berfungsi penuh di WSL Anda.

Baca selengkapnya: Panduan untuk Memutakhirkan Rilis Aplikasi Ubuntu Anda - Alat Baris Perintah Windows Untuk Pengembang

iBug
sumber
12
FWIW, mungkin masalah yang Anda temui diperbaiki pada pembaruan Windows 10 April 2018, tapi saya lakukan sudo do-release-upgrade -ddan ditingkatkan ke 18,04 tanpa kesalahan, itu dengan benar mengatur sources.list saya, dan tidak ada paket grub-pc atau linux-image * yang diinstal . Ini bekerja dengan sangat baik!
Paul
@ Paul Mereka sudah diinstal sebelumnya dan diperbarui bersama.
iBug
10
Dapat mengkonfirmasi bahwa hanya sudo do-release-upgrade -dberfungsi dengan baik sekarang.
Ben
21

Ya kamu bisa!

Sekarang ada tiga jenis Ubuntu yang tersedia di Window Store.

Cuplikan layar dari Windows Store menunjukkan tiga varietas Ubuntu yang tersedia.

  • Ubuntu: Ini akan selalu menjadi versi LTS stabil terbaru.
  • Ubuntu 18.04 LTS: Untuk pengembang yang menginginkan versi 18.04 khusus.
  • Ubuntu 16.04 LTS: Untuk pengembang yang menginginkan versi 16.04 khusus.

Jika Anda menginstal polos "Ubuntu" app (tanpa nomor versi) sebelum 18,04 dibuat tersedia di Windows Store, Anda dapat meng-upgrade dengan set berikut perintah:

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

Ikuti semua petunjuk dan perhatikan semua peringatan yang Anda terima. Biasanya karena kustomisasi dan perpustakaan pihak ketiga atau repositori yang Anda tambahkan sendiri.

Sumber resmi: https://blogs.msdn.microsoft.com/commandline/2018/07/09/upgrading-ubuntu/

Jeff Guillaume
sumber
2
Seharusnya sudo apt dist-upgrade, benar-benar, atau diadakan upgrade akan mencegah pembaruan rilis
Chris Browet
8

Ada Ubuntu18.04 resmi di toko windows sekarang, serta Ubuntu16.04.

Meskipun saya belum menemukan informasi resmi apa perbedaan antara keduanya dan Ubuntu.

Ya, ada tiga Ubuntu berbeda di windows store saat ini.

X.Arthur
sumber
3
Dua instalasi yang memiliki nomor versi di bagian akhir ditujukan untuk orang yang ingin menggunakan versi tertentu dan tetap menggunakannya. Versi yang hanya diberi label "Ubuntu" adalah untuk mereka yang ingin selalu menjalankan rilis terbaru.
DaveTheMinion
Ya, kemudian ditemukan di beberapa blog.
X.Arthur
1
Saya mendapat kesan bahwa jika Anda menggunakan "Ubuntu", itu akan diperbarui ke versi terbaru melalui app store, tetapi tampaknya bukan itu masalahnya.
DaveTheMinion
@ DavidB Ini harus diperbarui ketika MS telah menguji stabilitasnya. Tampaknya 18,04 saat ini telah mengubah banyak hal, dan beberapa membutuhkan implementasi baru di WSL. Semoga rilis windows berikutnya akan menyertakan ini.
X.Arthur
Apa kau yakin tentang ini? Saya memutakhirkan dan semuanya tampaknya berfungsi dengan baik.
DaveTheMinion
2

Penafian: Prosedur berikut ini membutuhkan Distribusi GNU / Linux yang sudah diinstal sebelumnya di WSL (seperti OP yang sudah menginstal Ubuntu 16.04). Tautan yang disediakan mungkin tidak berfungsi di masa mendatang. Anda dapat berkomentar di bawah ini jika ada. Ini membutuhkan sedikit pengetahuan tentang alat-alat baris perintah GNU / Linux misalnya tar, UnsquashFSdll. Instal alat-alat ini sebelum mengikuti prosedur ini.

  • Installer Executable: Anda memerlukan fungsi WslRegisterDistribution yang dapat dieksekusi yang menginstal distribusi. Ada dua cara. Anda dapat mengkompilasi penginstal Anda sendiri dari kode sumber ( tautan1 ) atau mengekstrak penginstal dari paket Appx yang disediakan Microsoft ( tautan2 ).

  • Dapatkan Ubuntu 18.04: Unduh file Ubuntu 18.04 SquashFS . Sekarang jalankan Ubuntu lama dengan WSL di folder unduhan itu dan masuk sebagai rootpengguna. Jalankan perintah berikut di bawah ini (hanya dengan pengguna 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 

The cpperintah salinan file SquashFS di direktori home (wajib). UnsquashFSekstrak file dalam tempfolder dan tarkompres semua file dalam .tar.gzformat. Kemudian mvperintah pindahkan file itu di folder unduhan sebelumnya. Anda dapat menghapus tempfolder dengan rm -rf ~/tempperintah.

  • Instal: Tempatkan file executable dan tar.gz di folder yang sama di mana Anda ingin menginstal. Anda harus menjalankan perintah ( tautan1 ) atau klik dua kali pada executable ( tautan2 ) untuk menginstal. Diperlukan 15-30 detik untuk menginstal tergantung pada mesin Anda.
Biswapriyo
sumber
3
Tampaknya juga ada alat-alat seperti github.com/Biswa96/WSLInstall dan github.com/DDoSolitary/LxRunOffline yang sepertinya dapat digunakan untuk bagian instal (belum mengujinya sendiri).
phk
Ahaha, tautan github pertama dari saya sepertinya benar-benar menunjuk ke repositori Anda, jadi tidak masalah. Tepuk tangan!
phk