This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
debian:upgradepathtemplate [2025/04/29 08:12] 193.70.81.110 old revision restored (2024/05/06 09:47) |
debian:upgradepathtemplate [2025/04/29 16:37] (current) 45.40.50.170 old revision restored (2024/12/09 01:30) |
||
---|---|---|---|
Line 16: | Line 16: | ||
==== 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.2.1 - Who and How should be informed === | ||
+ | |||
+ | | ||
+ | |||
+ | === 1.2.2 - Notify 1 Day prior to planned upgrade === | ||
+ | |||
+ | === 1.2.3 - Notify 2 Hours prior to beginn of upgrade === | ||
==== 1.3. Prepare for downtime on services ==== | ==== 1.3. Prepare for downtime on services ==== | ||
Line 26: | Line 34: | ||
| | ||
+ | This is the perfect time to assess the Backup plans, when not previously done, if you are hired to ensure the reliability of the infrastructure. | ||
==== 1.5. Prepare a safe environment for the upgrade ==== | ==== 1.5. Prepare a safe environment for the upgrade ==== | ||
Line 72: | Line 81: | ||
- | 3.1. Update current installation | + | ==== 3.1. Update current installation |
# sudo apt update | # sudo apt update | ||
- | 3.2. Upgrade current installation | + | |
+ | ==== 3.2. Upgrade current installation | ||
# sudo apt upgrade | # sudo apt upgrade | ||
- | 3.3. Check functionality | + | |
+ | ==== 3.3. Check functionality | ||
| | ||
- | 3.4. Upgrade current distribution | + | |
+ | ==== 3.4. Upgrade current distribution | ||
# sudo apt dist-upgrade | # sudo apt dist-upgrade | ||
- | 3.5. Check functionality | + | |
+ | ==== 3.5. Check functionality | ||
see 3.3 above | see 3.3 above | ||
Line 86: | Line 104: | ||
- | 4.1. Adding APT Internet sources | + | ==== 4.1. Adding APT Internet sources |
# sudo sed -i ' | # sudo sed -i ' | ||
# 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 | 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 | Only required for special 3rd party delivered software | ||
Line 97: | Line 120: | ||
- | | + | Ensure all partition mountpoints are mounted read-write |
- | # mount -o remount,rw /mountpoint | + | |
+ | | ||
+ | |||
+ | ==== 5.1. Recording the session ==== | ||
+ | |||
+ | # script -t 2> | ||
+ | |||
+ | To replay session use scriptreplay | ||
+ | # scriptreplay ~/ | ||
+ | |||
+ | ==== 5.2. Updating the package list ==== | ||
+ | |||
+ | # apt-get update | ||
+ | |||
+ | ==== 5.3. Make sure you have sufficient space for the upgrade ==== | ||
+ | |||
+ | # apt-get -o APT:: | ||
+ | |||
+ | ==== 5.4. Minimal system upgrade ==== | ||
+ | |||
+ | # apt-get upgrade | ||
+ | |||
+ | ==== 5.5. Check functionality ==== | ||
+ | |||
+ | See 3.3 above | ||
+ | |||
+ | ==== 5.6. Upgrading the system ==== | ||
+ | |||
+ | # apt-get dist-upgrade | ||
+ | |||
+ | ==== 5.7. Check functionality ==== | ||
- | 5.1. Recording the session | + | See 3.3 above |
- | # script -t 2> | + | |
- | To replay session use scriptreplay | + | |
- | # scriptreplay ~/ | + | |
- | 5.2. Updating the package list | + | |
- | # apt-get update | + | |
- | 5.3. Make sure you have sufficient space for the upgrade | + | |
- | # apt-get -o APT:: | + | |
- | 5.4. Minimal system upgrade | + | |
- | # apt-get upgrade | + | |
- | 5.5. Check functionality | + | |
- | See 3.3 above | + | |
- | 5.6. Upgrading the system | + | |
- | # apt-get dist-upgrade | + | |
- | 5.7. Check functionality | + | |
- | | + | |
===== 6. Possible issues during upgrade ===== | ===== 6. Possible issues during upgrade ===== | ||
- | 6.1. Dist-upgrade fails with “Could not perform immediate configuration” | + | ==== 6.1. Dist-upgrade fails with “Could not perform immediate configuration” |
- | # apt-get dist-upgrade -o APT:: | + | |
- | 6.2. Expected removals | + | # apt-get dist-upgrade -o APT:: |
- | 6.3. Conflicts or Pre-Depends loops | + | |
- | use -o APT:: | + | ==== 6.2. Expected removals |
- | | + | |
- | # dpkg --remove package_name | + | ==== 6.3. Conflicts or Pre-Depends loops ==== |
- | or | + | |
- | # apt-get -f install | + | use -o APT:: |
- | # dpkg --configure --pending | + | or |
- | or | + | # dpkg --remove package_name |
- | # dpkg --install / | + | or |
- | 6.4. File conflicts | + | # apt-get -f install |
- | # dpkg -r --force-depends package_name | + | # dpkg --configure --pending |
- | 6.5. Configuration changes | + | or |
- | Usually answer " | + | # dpkg --install / |
- | 6.6. Change of session to console | + | |
- | Ctrl+Alt+F1 should recover the terminal window | + | ==== 6.4. File conflicts |
+ | |||
+ | # dpkg -r --force-depends package_name | ||
+ | |||
+ | ==== 6.5. Configuration changes | ||
+ | |||
+ | | ||
+ | |||
+ | ==== 6.6. Change of session to console | ||
+ | |||
+ | | ||
===== 7. Upgrading kernel and related packages ===== | ===== 7. Upgrading kernel and related packages ===== | ||
- | 7.1. Install any needed kernel metapackage | + | ==== 7.1. Install any needed kernel metapackage |
- | Check for meta package | + | |
- | # dpkg -l " | + | Check for meta package |
- | if none are installed check which ones are available | + | |
- | # apt-cache search linux-image- | grep -i meta | grep -v transition | + | |
- | select correct one based on value returned by running "uname -r" eg. kernel “2.6.32-5-amd64” | + | |
- | # apt-cache show linux-image-amd64 | + | if none are installed check which ones are available |
+ | |||
+ | | ||
+ | |||
+ | select correct one based on value returned by running "uname -r" eg. kernel “2.6.32-5-amd64” | ||
+ | |||
+ | | ||
===== 8. Preparing for the next release ===== | ===== 8. Preparing for the next release ===== | ||
- | 8.1. Purging removed packages | + | ==== 8.1. Purging removed packages |
- | Remove redundant or obsolete packages. see 5.3 above | + | |
- | get list of removed packages | + | |
- | # dpkg -l | awk '/^rc/ { print $2 }' | + | |
- | remove using | + | get list of removed packages |
- | # apt-get purge $(dpkg -l | awk '/^rc/ { print $2 }') | + | |
- | or use | + | |
- | # aptitude search ' | + | |
- | # aptitude purge ' | + | remove using |
+ | |||
+ | | ||
+ | |||
+ | or use | ||
+ | |||
+ | | ||
+ | # aptitude purge ' | ||
===== 9. Obsolete packages ===== | ===== 9. Obsolete packages ===== | ||
- | 9.1. Dummy packages | + | ==== 9.1. Dummy packages |