This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
debian:upgradepathtemplate [2024/04/17 19:38] 51.174.65.41 old revision restored (2022/11/12 13:32) |
debian:upgradepathtemplate [2024/04/30 10:43] 65.108.0.71 old revision restored (2022/11/16 21:13) |
||
---|---|---|---|
Line 4: | Line 4: | ||
I will normally create a complete system clone and use this template to work out the entire correct and functional path for the production system in question. | I will normally create a complete system clone and use this template to work out the entire correct and functional path for the production system in question. | ||
- | |||
- | Debian Release upgrade paths: | ||
- | |||
- | Jessie -> Buster -> Bullseye | ||
- | Stretch -> Buster -> Bullseye | ||
- | Buster -> Bullseye | ||
===== 1. Preparing for the upgrade ===== | ===== 1. Preparing for the upgrade ===== | ||
- | ==== 1.1. Back up any data or configuration information | + | 1.1. Back up any data or configuration information |
- | + | 1.2. Inform users in advance | |
- | ==== 1.2. Inform users in advance | + | 1.3. Prepare for downtime on services |
- | + | Set maintainance window for upgrade with buffer | |
- | ==== 1.3. Prepare for downtime on services | + | 1.4. Prepare for recovery |
- | + | Verify the recoverability of system from backup image | |
- | Set maintainance window for upgrade with buffer | + | 1.5. Prepare a safe environment for the upgrade |
- | + | Local terminal or SSH access | |
- | ==== 1.4. Prepare for recovery | + | 1.6. Develop tests for section 3.3 that will ensure correct execution of needed tasks |
- | + | i.e.: | |
- | | + | a. Web server delivers correctly |
- | + | b. php scripts execute correctly | |
- | ==== 1.5. Prepare a safe environment for the upgrade | + | c. DB runs correctly |
- | + | d. mail works | |
- | Local terminal or SSH access | + | |
- | + | ||
- | ==== 1.6. Develop tests for section 3.3 that will ensure correct execution of needed tasks ==== | + | |
- | + | ||
- | | + | |
- | a. Web server delivers correctly | + | |
- | b. php scripts execute correctly | + | |
- | c. DB runs correctly | + | |
- | d. mail works | + | |
===== 2. Checking system status ===== | ===== 2. Checking system status ===== | ||
Line 46: | Line 31: | ||
# apt-forktracer | sort | # apt-forktracer | sort | ||
- | ==== 2.1. Review actions pending in package manager | + | 2.1. Review actions pending in package manager |
- | + | # aptitude | |
- | | + | Select GO and review |
- | Select GO and review | + | 2.2. Disabling APT pinning |
- | + | check / | |
- | ==== 2.2. Disabling APT pinning | + | 2.3. Checking packages status |
- | + | # dpkg --audit | |
- | check / | + | # aptitude search " |
- | + | # dpkg --get-selections | grep ' | |
- | ==== 2.3. Checking packages status | + | |
- | + | ||
- | # dpkg --audit | + | |
- | # aptitude search " | + | |
- | # dpkg --get-selections | grep ' | + | |
- | + | ||
- | To remove a hold on a package: | + | |
- | echo package_name install | dpkg --set-selections | + | |
- | + | ||
- | ==== 2.4. Remove proposed-updates section if present in / | + | |
- | + | ||
- | ==== 2.5. Verify Unofficial sources are available for target Debian version ==== | + | |
+ | To remove a hold on a package: echo package_name install | dpkg --set-selections | ||
+ | 2.4. Remove proposed-updates section if present in / | ||
+ | 2.5. Verify Unofficial sources are available for target Debian version | ||
===== 3. Upgrading current version ===== | ===== 3. Upgrading current version ===== | ||
Line 73: | Line 49: | ||
3.1. Update current installation | 3.1. Update current installation | ||
- | | + | |
3.2. Upgrade current installation | 3.2. Upgrade current installation | ||
- | | + | |
3.3. Check functionality | 3.3. Check functionality | ||
- | Verify all services required of current host is functioning correctly | + | |
3.4. Upgrade current distribution | 3.4. Upgrade current distribution | ||
- | | + | |
3.5. Check functionality | 3.5. Check functionality | ||
- | see 3.3 above | + | |
===== 4. Preparing sources for APT ===== | ===== 4. Preparing sources for APT ===== | ||
Line 87: | Line 63: | ||
4.1. Adding APT Internet sources | 4.1. Adding APT Internet sources | ||
- | + | | |
- | | + | # sudo sed -i ' |
- | # sudo sed -i ' | + | |
4.2. Adding APT sources for a local mirror | 4.2. Adding APT sources for a local mirror | ||
- | + | | |
- | Only required for special in-house software | + | |
4.3. Adding APT sources from optical media | 4.3. Adding APT sources from optical media | ||
- | + | | |
- | Only required for special 3rd party delivered software | + | |
===== 5. Upgrading packages ===== | ===== 5. Upgrading packages ===== |