At first I was very afraid to do it on a live, working server precisely because with older versions I had a sad experience, where it was easier to reinstall the system than to correct the existing errors. That's why I originally made all the necessary backups. Namely:
Folder /var - there I have all the sites.
Folder /etc - configs
And of course, all databases immediately in sql format. In case, if everything breaks down completely, you can quickly deploy these sites back. By the way, if you have not saved your databases, you can still get them. Restoring MySQL innoDB database from ibd and frm files
And very in vain was afraid, the procedure went like clockwork. First, I'll describe the mistakes that I met in person.
Or rather, it's a mistake. The only error I caught was the dovecot error, which with the update forgot the old SSLv2 protocol.
The error itself can be found in the mail logs: /var/log/mail.log and it can look like this:
dovecot: pop3-login: Fatal: Invalid ssl_protocols setting: Unknown protocol 'SSLv2'
Or so:
dovecot: imap-login: Fatal: Invalid ssl_protocols setting: Unknown protocol 'SSLv2'
And it's very easy to fix. Just open the config dovecot:
nano/etc/dovecot/dovecot.conf
Find a line in it that might look like this:
ssl_protocols! SSLv2 ! SSLv3
All you need to do is just remove the SSLv2 or replace it with SSLv3. In any case, the line should look like this:
ssl_protocols! SSLv3
Actually, that's it. I didn't see any more mistakes. By the way, if anyone is interested, my server is host on IHC. The servers are nimble, the support is at the level, the prices are acceptable. I chose long enough before you stop at it.
Debian 8 Jessie upgrade to Debian 9 Stretch
1 step. We're doing backups. Be sure to make backups.
Step two. Connect via SSH to your server (if an update on the technique to which you have physical access, then skip this step)
Step 3. We need to get the ruth right. Once the command is entered, the root password will be asked.
$ su
Step 4. We need to update the current system to its current state.
Apt-get update; apt-get dist-upgrade
5 step. You need to edit the list of repositories. You need to replace all the jessie you meet with a stretch
nano/etc/apt/sources.list
It is advisable not to confuse everything in a heap and make first a minimal update, and then the rest.
Step 6. Make minimal update
Apt-get update; apt-get upgrade;
In the process of this or the next step, it is possible that configuring libc6:amd64 will ask you if you need to restart all services without any questions asked.
I suggest that the answer to this proposal is yes.
Step 7. Update the rest
apt-get dist-upgrade
8 step. We remove old unnecessary packages plus clean the cache of apt utility, it's increasingly useless to us. When there is a clean-up dialogue with a question yes or no, I advise you to carefully check the list of what will remove autoremove. Sometimes packages can get in there, which you really need personally.
apt-get autoremove; apt-get clean
9 step. We reboot and then we start to check for ourselves whether everything works.
reboot
That's it. If you have any questions or any errors, write in the comments, we will understand together.