Ubuntu 18.04 keluar tanggal 26 April 2018 dan saya ingin mencobanya untuk memutakhirkan program saya dan mengonversi data saya tetapi tidak ingin melakukan jika ada bug.
Saya telah menyusutkan Windows dari 410 GB menjadi 385 GB, reboot Ubuntu 16.04 dan berlari gparted
untuk membuat partisi 25 GB baru berlabel "Ubuntu18.04". Saya berlari rm-kernels
dan menghapus sekitar 20 kernel untuk menghilangkan sekitar 10 GB di Ubuntu 16.04.
Sekarang saya ingin skrip yang akan mengisi partisi baru dengan 16,04 LTS dan membuat opsi menu Grub baru untuk itu. Hanya direktori yang relevan yang boleh disalin. Sebagai contoh /sys
, /run
, /proc
dan /dev
adalah direktori virtual yang dibuat selama boot dan tidak boleh disalin.
Saya juga ingin /etc/fstab
ditambal dengan UUID yang benar dan cron
pekerjaan reboot dinonaktifkan sehingga cadangan harian pada data yang dikloning tidak berjalan setelah mem-boot klon.
Saya mengantisipasi menjalankan skrip berkali-kali selama beberapa minggu / bulan ke depan. Dengan demikian proses kloning harus diulangi dengan mudah.
Skrip yang sama dapat digunakan untuk menguji pembaruan keamanan dan pembaruan Tim Kernel Ubuntu baru tanpa mempengaruhi sistem produksi.
Jawaban:
Bash script untuk mengkloning Ubuntu Partition to clone partisi yang aktif
The
clone-ubuntu.sh
bash script mulus akan dan aman mereplikasi 16.04 LTS menjadi partisi untuk upgrade ke 18,04 LTS:Poin-poin penting untuk dipertimbangkan:
ext4
partisi kosong yang cukup besar untuk menampung clone Ubuntu 16.04clone-ubuntu.sh
, partisi tidak dapat dipasang. Script secara otomatis me-mount dan melepas partisi.rsync
ini digunakan untuk menyalin file dari/
ke partisi clone. Pertama kali Anda menjalankannyaclone-ubuntu.sh
akan memakan waktu beberapa menit. Saat kedua kali Anda menjalankan skrip, hanya perubahan file yang diperbarui dan ini akan memakan waktu kurang dari satu menit./
file & direktori saat ini./etc/cron.d
(reboot) dipindahkan ke sub-direktori baru yang disebut/etc/cron.d/hold
. Setelah booting, klon ingatlah untuk menjalankansudo crontab -e
agar cron job yang dipilih tidak aktif./etc/fstab
diubah dengan UUID yang sesuai untuk partisi yang dihidupkan./boot/grub/grub.cfg
diubah dengan UUID yang sesuai untuk booting klon yang berhasil. File yang dikloningquiet splash
diubahnosplash
sehingga Anda mendapatkan scrolling terminal messaging. Ini memberikan kesadaran visual untuk mem-boot versi klon daripada versi "Nyata".update-grub
dijalankan untuk memperbarui Grub dengan opsi menu baru yang menunjuk ke partisi yang dikloning./etc/update-manager/release-upgrades
diubah untuk diubahPrompt=never
menjadiPrompt=lts
. Ketika Anda mem-boot clone dan melakukando-release-upgrade -d
ini memungkinkan Ubuntu 16.04 ditingkatkan menjadi 18.04.Layar Konfirmasi
Setelah memilih partisi klon target, pertama-tama diverifikasi
ext4
jenis partisi dan belum dipasang. Jika tes ini berlalu, pesan konfirmasi kemudian muncul:Dalam contoh ini, klon sebelumnya telah dipilih untuk rekloning. Ruang yang tersedia pada klon adalah titik bisu karena kita sudah tahu ada cukup ruang.
Jika Anda memiliki beberapa instalasi Ubuntu, harap verifikasi Anda telah memilih partisi yang tepat untuk mengkloning Ubuntu yang saat ini di-boot, dipasang sebagai
/
(root), untuk.Ini adalah kesempatan terakhir Anda untuk membatalkan dengan menekan sembarang tombol kecuali
y
atauY
.Daftar keluaran
Ketika Anda menjalankan skrip Anda akan mendapatkan output ini (tidak termasuk output yang sudah terdaftar di atas):
rsync
tampilan status untuk klon baruSaat kloning untuk pertama kalinya,
rsync
akan memberikan pembaruan dari 0 hingga 100% dari semua file yang dibuat. Tidak ada file yang akan dihapus atau diubah karena klon kosong:rsync
tampilan status saat rekloningKetika
rsync
reclones tidak pernah hit100%
karena file yang tidak pernah berubah tidak disalin. Akan ada keterlambatan dalam kemajuan pembaruan sebagairsync
pemindaian untuk file berikutnya yang akan disalin dan ketika itu menghapus file baru yang dibuat di klon yang tidak pernah ada dalam aslinya:Skrip Bash -
clone-ubuntu.sh
Salin dan tempel kode bash di atas ke file baru yang disebut
/usr/local/bin/clone-ubuntu.sh
. Kemudian buat file baru dapat dieksekusi menggunakan:Untuk memanggil skrip gunakan:
Cara memutakhirkan klon 16,04 LTS ke Ubuntu 18,04 LTS
Ini adalah bagian "bonus" yang mungkin menarik minat banyak orang.
Nyalakan ulang mesin Anda. The
grub
menu akan berisi pilihan menu menunjuk baru ke partisi kloning. Anda juga dapat memilih versi kernel tertentu dari menu Opsi Lanjutan klon .Salah satu cara untuk mengubah klon 16.04 LTS menjadi 18.04 LTS adalah menjalankan:
Perhatikan bahwa
-d
bendera itu diperlukan sebelum 26 Juli 2018 tetapi tidak lagi diperlukan.Baca konfirmasi peningkatan versi 18.04 dengan seksama .
Sebelum melanjutkan, pastikan penguncian layar tidak aktif dimatikan. Proses peningkatan dapat macet jika komputer Anda membuka layar kunci karena tidak adanya keyboard.
Ringkasan proses peningkatan 18,04
Bagian ini akan spesifik untuk mesin karena aplikasi yang berbeda dipasang oleh pengguna yang berbeda. Berikut ini ringkasan singkat yang saya buat berdasarkan catatan dan memori:
Perhatikan langkah 10 kebanyakan orang tidak akan pernah melihat. Saya memiliki instalasi driver nVidia lama pada Ubuntu 16.04 saya, saya tidak pernah bisa menghapus sepenuhnya. Ini termasuk karena Anda mungkin memiliki paket lama yang serupa tidak pernah dihapus sepenuhnya.
Grub mengubah menu boot untuk dikloning di bawah UEFI
Tidak seperti upgrade 18.04 saya menemukan upgrade 18.04.1 mengubah konfigurasi Grub UEFI untuk menggunakan menu grub clone daripada menu grub asli sesuai jawaban ini: Dual boot dan file /boot/grub/grub.cfg - yang mana adalah bekas?
Berjalan
sudo update-grub
setelah mem-boot partisi asli tidak cukup untuk mengubah yanggrub.cfg
dimuat oleh grub. Anda perlu menggunakansudo grub-install
untuk memaksa grub untuk menggunakan konfigurasi partisi asli.Baik partisi asli dan partisi klon dapat digunakan
update-grub
untuk memelihara/boot/grub/grub.cfg
file mereka sendiri tetapi hanya satu yang dapat digunakan selama boot.Tentu saja jika Anda ingin grub menggunakan menu grone Clone jangan lakukan langkah-langkah di atas pada partisi asli.
Edit riwayat
Edit 6 Mei 2018 - Tampilan informasi untuk partisi klon kosong (target) diperbaiki.
Edit 26 Agustus 2018 - Gunakan
--inplace
opsi denganrsync
file yang sangat besar seperti file sampah 2 GB tidak diduplikasi pada klon selama proses penyalinan. Ini dapat menyebabkan kesalahan "kehabisan ruang disk". Mengomentari/etc/cron.d
penimpaan karena pengguna mungkin ingin menyimpan atau menginginkan direktori yang berbeda sekaligus. Perbarui instruksi untuk digunakando-release-upgrade
tanpa-d
tanda karena Ubuntu 18.04.1 LTS sekarang telah dirilis.sumber
clone-ubuntu.sh
Tapi saya sudah menggunakan ini 4 kali sendiri!Masalah dengan peningkatan dari rilis sebelumnya ke 18,04 LTS
Sama sekali tidak mudah untuk meningkatkan dari rilis sebelumnya ke 18,04 LTS. Saya tidak tahu apakah ada lebih banyak masalah daripada peningkatan seperti itu di masa lalu, tetapi orang-orang yang melakukan peningkatan versi sekarang mengambil risiko sendiri. Di sisi lain mereka menemukan bug dan jika bug dilaporkan , itu akan membantu mengembangkan alat peningkatan serta men-debug sistem Ubuntu 18.04 LTS itu sendiri.
Ini berarti bahwa orang yang cukup sabar untuk menunggu sampai peningkatan secara resmi dirilis dengan rilis poin pertama (18.04.1 LTS) akan mendapatkan perjalanan yang lebih mulus .
Menguji sebelum melakukan pemutakhiran penuh ...
Metode yang dijelaskan oleh @ WinEunuuchs2Unix di sini memungkinkan untuk menguji dengan salinan sistem nyata, jika memutakhirkan ke 18,04 LTS akan bekerja dengan sistem operasi [yang kurang lebih dimodifikasi] saat ini dengan perangkat keras komputer Anda.
Ini dapat mencegah beberapa bencana dengan sistem operasi yang rusak.
Saya belum menggunakan skrip @ WinEunuuchs2Unix, tapi saya mengerti, itu sangat berguna, dan saya bermaksud menggunakannya. Saya dapat memutakhirkan dari 8.04 ke 10.04 ke 12.04, yang saya gunakan untuk waktu yang lama. Tetapi ketika saya mulai melakukan upgrade melalui 14.04 hingga 16.04 saya gagal dan tidak dapat menemukan kesalahan.
... dan jika ada masalah, buat instalasi baru
Saya punya cadangan yang bagus , jadi saya membuat instalasi baru 16,04 dan kemudian disalin, apa yang ingin saya simpan dan periksa apakah ada tweak, skrip, alias, dan program yang diinstal. Jika saya menggunakan metode @ WinEunuuchs2Unix, saya telah melihat masalah lebih awal, saya akan langsung menginstal baru.
Meningkatkan sistem live yang persisten
Sistem live persisten digunakan untuk mendapatkan sistem Ubuntu yang sangat portabel, yang kadang-kadang digunakan untuk pengujian tetapi terkadang digunakan untuk waktu yang lama.
Ini adalah masalah yang diketahui, bahwa Anda tidak harus memperbarui & memutakhirkan sistem seperti yang Anda lakukan dengan sistem yang diinstal karena akan rusak cepat atau lambat. Selanjutnya, Anda terjebak dengan driver kernel dan kernel, yang datang dengan file iso, karena mereka dimulai sebelum sistem overlay dimulai.
Tetapi biasanya memungkinkan untuk menyimpan
/home
direktori, seperti yang Anda bisa, ketika Anda membuat instalasi baru dengan partisi 'home' yang terpisah. Jika Anda membuathome-rw
partisi, sistem live yang persisten akan menemukan dan menggunakannya secara otomatis saat boot.Saya mengembangkan dan menguji shellscript, mk-persistent-live_with_home-rw , yang dapat membuat sistem live persisten dengan sebuah
home-rw
partisi, dan yang nantinya dapat memutakhirkannya ,ganti file iso dengan yang lebih baru. Paling tidak Anda harus memutakhirkan ketika file iso baru dirilis, tetapi Anda juga dapat memutakhirkan sistem LTS sebulan sekali dan menggunakan file iso harian saat ini dari pelacak pengujian ,
ubah grub untuk file iso baru.
menghapus (memformat ulang)
casper-rw
file yang menyimpan modifikasi sistem operasi (jadi Anda harus menginstal ulang paket program yang Anda tambahkan ke sistem),pertahankan
home-rw
partisi dengan file pribadi Anda, pengaturan dan tweak.Lihat tautan ini untuk lebih jelasnya.
Tautan ekstra
Kiat umum untuk orang yang ingin menguji versi terbaru dan terhebat Ubuntu dapat ditemukan di tautan berikut,
Bagaimana cara berpartisipasi dalam pengujian dan pengembangan Ubuntu
sumber