Prefer Fedora 21 -> Fedora 23 upgrade

This commit is contained in:
Marek Marczykowski-Górecki 2015-11-29 23:45:27 +01:00
parent bcbaebbcb2
commit 4537350e0b
No known key found for this signature in database
GPG Key ID: F32894BE9684938A

View File

@ -11,47 +11,44 @@ redirect_from:
Upgrading the Fedora 21 Template
================================
**Note: the Fedora 22 template is still in testing phase. Keep this in mind
when you decide whether remove old Fedora 21 template.**
Summary: Upgrading the Standard Fedora 21 Template to Fedora 22
Summary: Upgrading the Standard Fedora 21 Template to Fedora 23
---------------------------------------------------------------
[user@dom0 ~]$ qvm-clone fedora-21 fedora-22
[user@dom0 ~]$ qvm-clone fedora-21 fedora-23
[user@dom0 ~]$ truncate -s 5GB /var/tmp/template-upgrade-cache.img
[user@dom0 ~]$ qvm-run -a fedora-22 gnome-terminal
[user@dom0 ~]$ qvm-block -A fedora-22 dom0:/var/tmp/template-upgrade-cache.img
[user@fedora-22 ~]$ sudo mkfs.ext4 /dev/xvdi
[user@fedora-22 ~]$ sudo mount /dev/xvdi /mnt/removable
[user@fedora-22 ~]$ sudo mkdir /mnt/removable/modules
[user@fedora-22 ~]$ sudo cp -rp /usr/lib/modules /mnt/removable/modules
[user@fedora-22 ~]$ sudo mount --bind /mnt/removable/modules /usr/lib/modules
[user@fedora-22 ~]$ sudo yum clean all
[user@fedora-22 ~]$ sudo yum --releasever=22 --enablerepo=qubes*current-testing --setopt=cachedir=/mnt/removable distro-sync
[user@dom0 ~]$ qvm-run -a fedora-23 gnome-terminal
[user@dom0 ~]$ qvm-block -A fedora-23 dom0:/var/tmp/template-upgrade-cache.img
[user@fedora-23 ~]$ sudo mkfs.ext4 /dev/xvdi
[user@fedora-23 ~]$ sudo mount /dev/xvdi /mnt/removable
[user@fedora-23 ~]$ sudo mkdir /mnt/removable/modules
[user@fedora-23 ~]$ sudo cp -rp /usr/lib/modules /mnt/removable/modules
[user@fedora-23 ~]$ sudo mount --bind /mnt/removable/modules /usr/lib/modules
[user@fedora-23 ~]$ sudo yum clean all
[user@fedora-23 ~]$ sudo yum --releasever=23 --enablerepo=qubes*current-testing --setopt=cachedir=/mnt/removable distro-sync
(Shut down TemplateVM by any normal means.)
[user@dom0 ~]$ rm /var/tmp/template-upgrade-cache.img
[user@dom0 ~]$ qvm-trim-template fedora-22
[user@dom0 ~]$ qvm-trim-template fedora-23
(Done.)
Detailed: Upgrading the Standard Fedora 21 Template to Fedora 22
Detailed: Upgrading the Standard Fedora 21 Template to Fedora 23
----------------------------------------------------------------
These instructions will show you how to upgrade the standard Fedora 21
TemplateVM to Fedora 22. The same general procedure may be used to upgrade any
TemplateVM to Fedora 23. The same general procedure may be used to upgrade any
template based on the standard Fedora 21 template.
1. Clone the existing template and start a terminal in the new template.
[user@dom0 ~]$ qvm-clone fedora-21 fedora-22
[user@dom0 ~]$ qvm-run -a fedora-22 gnome-terminal
[user@dom0 ~]$ qvm-clone fedora-21 fedora-23
[user@dom0 ~]$ qvm-run -a fedora-23 gnome-terminal
2. Attempt the upgrade process in the new template. For now you need to enable testing repository to do that.
[user@fedora-22 ~]$ sudo yum clean all
[user@fedora-22 ~]$ sudo yum --releasever=22 --enablerepo=qubes*current-testing distro-sync
[user@fedora-23 ~]$ sudo yum clean all
[user@fedora-23 ~]$ sudo yum --releasever=23 --enablerepo=qubes*current-testing distro-sync
(Shut down TemplateVM via Qubes VM Manager; may need to be killed.)
@ -62,24 +59,24 @@ template based on the standard Fedora 21 template.
attach it to the template as a virtual disk.
[user@dom0 ~]$ truncate -s 5GB /var/tmp/template-upgrade-cache.img
[user@dom0 ~]$ qvm-block -A fedora-22 dom0:/var/tmp/template-upgrade-cache.img
[user@dom0 ~]$ qvm-block -A fedora-23 dom0:/var/tmp/template-upgrade-cache.img
Then reattempt the upgrade process, but this time using the virtual disk as
a cache.
[user@fedora-22 ~]$ sudo mkfs.ext4 /dev/xvdi
[user@fedora-22 ~]$ sudo mount /dev/xvdi /mnt/removable
[user@fedora-22 ~]$ sudo yum clean all
[user@fedora-22 ~]$ sudo yum --releasever=22 --enablerepo=qubes*current-testing --setopt=cachedir=/mnt/removable distro-sync
[user@fedora-23 ~]$ sudo mkfs.ext4 /dev/xvdi
[user@fedora-23 ~]$ sudo mount /dev/xvdi /mnt/removable
[user@fedora-23 ~]$ sudo yum clean all
[user@fedora-23 ~]$ sudo yum --releasever=23 --enablerepo=qubes*current-testing --setopt=cachedir=/mnt/removable distro-sync
(Poweroff via Qubes VM Manager. May need to be killed.)
4. If `yum` complains that there is not enough free space in `/usr/lib/modules`,
do this before reattempting the upgrade:
[user@fedora-22 ~]$ sudo mkdir /mnt/removable/modules
[user@fedora-22 ~]$ sudo cp -rp /usr/lib/modules /mnt/removable/modules
[user@fedora-22 ~]$ sudo mount --bind /mnt/removable/modules /usr/lib/modules
[user@fedora-23 ~]$ sudo mkdir /mnt/removable/modules
[user@fedora-23 ~]$ sudo cp -rp /usr/lib/modules /mnt/removable/modules
[user@fedora-23 ~]$ sudo mount --bind /mnt/removable/modules /usr/lib/modules
5. `yum` may complain:
@ -97,25 +94,25 @@ template based on the standard Fedora 21 template.
7. Trim the new template (see **Compacting the Upgraded Template** for details
and other options).
[user@dom0 ~]$ qvm-trim-template fedora-22
[user@dom0 ~]$ qvm-trim-template fedora-23
8. (Optional) Remove the old default template.
[user@dom0 ~]$ sudo yum remove qubes-template-fedora-21
Summary: Upgrading the Minimal Fedora 21 Template to Fedora 22
Summary: Upgrading the Minimal Fedora 21 Template to Fedora 23
--------------------------------------------------------------
[user@dom0 ~]$ qvm-clone fedora-21-minimal fedora-22-minimal
[user@dom0 ~]$ qvm-run -a fedora-22-minimal xterm
[user@fedora-22-minimal ~]$ su -
[root@fedora-22-minimal ~]# yum clean all
[user@fedora-22-minimal ~]# yum --releasever=22 --enablerepo=qubes*current-testing distro-sync
[user@dom0 ~]$ qvm-clone fedora-21-minimal fedora-23-minimal
[user@dom0 ~]$ qvm-run -a fedora-23-minimal xterm
[user@fedora-23-minimal ~]$ su -
[root@fedora-23-minimal ~]# yum clean all
[user@fedora-23-minimal ~]# yum --releasever=23 --enablerepo=qubes*current-testing distro-sync
(Shut down TemplateVM by any normal means.)
[user@dom0 ~]$ qvm-trim-template fedora-22-minimal
[user@dom0 ~]$ qvm-trim-template fedora-23-minimal
(If you encounter insufficient space issues, you may need to use the methods
described for the standard template above.)
@ -147,7 +144,7 @@ really necessary after upgrading.
If you have at least `qubes-core-dom0-2.1.68` installed or are on Qubes R3.0,
you can use the `qvm-trim-template` tool:
[user@dom0 ~]$ qvm-trim-template fedora-22
[user@dom0 ~]$ qvm-trim-template fedora-23
If you do not have `qubes-core-dom0-2.1.68` or are on older Qubes version, you can
compact the `root.img` manually. To do this, you will need about 15GB (the
@ -156,15 +153,15 @@ TemplateVM's max size + the actually used space there) free space in dom0.
1. Start the template and fill all the free space with zeros, for example
with:
[user@fedora-22 ~]$ dd if=/dev/zero of=/var/tmp/zero
[user@fedora-23 ~]$ dd if=/dev/zero of=/var/tmp/zero
2. Wait for the "No space left on device" error. Then:
[user@fedora-22 ~]$ rm -f /var/tmp/zero
[user@fedora-23 ~]$ rm -f /var/tmp/zero
3. Shut down the template and all VMs based on it. Then:
[user@dom0 ~]$ cd /var/lib/qubes/vm-templates/fedora-22
[user@dom0 ~]$ cd /var/lib/qubes/vm-templates/fedora-23
[user@dom0 ~]$ cp --sparse=always root.img root.img.new
[user@dom0 ~]$ mv root.img.new root.img
@ -198,7 +195,13 @@ list which also apply to TemplateVM management and migration in general:
* [Marek](https://groups.google.com/d/msg/qubes-users/mCXkxlACILQ/dS1jbLRP9n8J)
* [Jason M](https://groups.google.com/d/msg/qubes-users/mCXkxlACILQ/5PxDfI-RKAsJ)
Known issues with Fedora 22
Upgrading to Fedora 22
======================
You may choose to upgrade to Fedora 22 instead of Fedora 23. In that case,
simply replace version "23" with "22" in all above commands.
Known issues with Fedora 23
===========================
* [Graphical update tools (using PackageKit) does not work](https://github.com/QubesOS/qubes-issues/issues/982).