{{Header}} {{title|title= Release Upgrade {{project_name_long}} 16 to {{project_name_long}} 17 }} {{#seo: |description=How to Release Upgrade from {{project_name_short}} 16 to {{project_name_short}} 17 |image=Upgrade.jpg }} [[File:Upgrade.jpg|thumb]] {{intro| How to Release Upgrade from {{project_name_short}} 16 to {{project_name_short}} 17 }} = Notices = '''Table:''' ''Release Upgrade {{project_name_short}} Notices'' {| class="wikitable" |- ! scope="col"| '''Notice''' ! scope="col"| '''Description''' |- ! scope="row"| Difficulty | * Downloading a new {{project_name_gateway_long}} / {{project_name_workstation_long}} ([[Factory Reset]]) is easier than applying the [[Release Upgrade|Release Upgrade]] instructions on this page. * Debian release notes: ** [https://www.debian.org/releases/bookworm/amd64/release-notes/ch-upgrading.en.html Chapter 4. Upgrades from Debian 11 (bullseye)] ** [https://www.debian.org/releases/bookworm/amd64/release-notes/ch-information Chapter 5. Issues to be aware of for bookworm] |- ! scope="row"| Release Upgrade vs Re-Installation | To use [[About|{{project_name_short}}]] 17, users can either: * '''A)''' Release upgrade existing {{project_name_short}} 16 images using the instructions on this page; <u>OR</u> * '''B)''' Factory Reset using the {{project_name_short}} re-install method by downloading the new release, which is much simpler than upgrading: ** [[Non-Qubes-Whonix|{{non_q_project_name_short}}]] 17: [[Download|download the new release]]. ** [[Qubes|{{q_project_name_long}}]] 17: [[Qubes/Install|download the new release]]. |- ! scope="row"| Standard Updates | * For standard ("everyday") update instructions see [[Operating System Software and Updates]]. <br /> * The instructions on this page describe how to perform a [[Release Upgrade]] from {{project_name_short}} 16 to {{project_name_short}} 17. |- ! scope="row"| Automated Release Upgrade vs Manual Release Upgrade | * [[#Release Upgrade|Automated Release Upgrade]] is the newer method that has been implemented. It does not ask for user input and is therefore easier to use. * The former Manual Release Upgrade effectively did the same, but it offered more control over system customization. It is now [[Deprecated#Manual Release Upgrade|deprecated]]. <ref> This method is still possible. All the automated [https://github.com/Kicksecure/legacy-dist/blob/master/usr/sbin/release-upgrade <code>release-upgrade</code>] script does is perform actions which the user could perform manually. If a manual release upgrade is desired, emulate what the <code>release-upgrade</code> script is doing. The manual release upgrading procedure is [[Unsupported|undocumented]] due to the size of the instructions and duplication involved. </ref> |- ! scope="row"| Configuration Files Resets | Since this is an automated release upgrade, user modified configuration files (if any) in folder <code>/etc</code> will be reset, overwritten with the Debian or {{project_name_short}} package version. The user is free to restore the configuration after the release upgrade. |- |} = High Level Overview = # Backup all data - ideally have a copy of the VM(s) so it is possible to try again (if necessary). # Perform the usual [[Operating_System_Software_and_Updates#Standard_Upgrade_Steps|standard ("everyday") update instructions]]. # Consider running the optional [[#Sanity Tests|sanity tests]]. # Release Upgrade {{project_name_workstation_short}} (<code>whonix-ws-16</code>). # Power off {{project_name_workstation_short}} (<code>whonix-ws-16</code>). # Release Upgrade {{project_name_gateway_short}} (<code>whonix-gw-16</code>). # Restart {{project_name_gateway_short}} (<code>whonix-gw-16</code>). # Restart {{project_name_workstation_short}} (<code>whonix-ws-16</code>). = Sanity Tests = <div class="toccolours mw-collapsible mw-collapsed"> These are optional, but recommended. To complete sanity tests, please press on expand on the right. <div class="mw-collapsible-content"> {{CodeSelect|code= sudo dpkg --audit ; echo $? }} Expected output. {{CodeSelect|code= 0 }} {{CodeSelect|code= sudo dpkg --configure -a ; echo $? }} Expected output. {{CodeSelect|code= 0 }} [[Operating System Software and Updates|Get package upgrades.]] {{CodeSelect|code= sudo apt update }} {{CodeSelect|code= sudo apt full-upgrade }} For testing purposes, install package <code>nano</code>. {{CodeSelect|code= sudo apt install nano ; echo $? }} {{CodeSelect|code= ## ... successful installation of nano ... 0 }} Apt install fix missing. {{CodeSelect|code= sudo apt install -f }} Expected upgrade. <pre> Reading package lists... Done Building dependency tree... Done Reading state information... Done 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. </pre> </div> </div> = Release Upgrade = # Backup all data - ideally have a clone of the VM(s) so it is possible to try again (if necessary). # Perform the usual [[Operating_System_Software_and_Updates#Standard_Upgrade_Steps|standard ("everyday") update instructions]]. # Consider running the optional [[#Sanity Tests|sanity tests]]. # Run [https://www.kicksecure.com/wiki/Systemcheck systemcheck]. # View <code>release-upgrade</code> command version. {{CodeSelect|code= cat /usr/sbin/release-upgrade {{!}} grep version= }} # Make sure the Kicksecure repository is enabled by re-running the [[Project-APT-Repository|derivative APT repository tool]]. <ref> * This is required because the repositories have been split. Whonix is based on Kicksecure. * This step will not be required when upgrading from 17 to 18. </ref> # Check <code>release-upgrade</code> command version. Should be minimum <code>2.0</code>, should show <code>version="2.0"</code>. # Consider keeping the full release upgrade log output. It will be required for [[Support]] in case there are issues. # Perform the automated [[Release Upgrade|release upgrade]] using <code>release-upgrade</code> command. {{CodeSelect|code= sudo release-upgrade }} # Done. If everything went well, at the end it will show: <blockquote>INFO: OK. (release-upgrade version: 2.0) Release upgrade success.</blockquote> # Reboot. # Optional, recommended: [[Debian_Packages|Re-install Meta Packages and Safely Run Autoremove]] = Footnotes = {{reflist|close=1}} [[Category:Documentation]] {{Footer}}