debian 8 Jessie升级到debian 9 stretch指引

debian 9上个月发布了,代码stretch。

离发布 debian 8 有2年时间,变化很大

下面列一下升级步骤及遇到的坑。

首先更新现有版本,把jessie版本更新到最新:

备份apt源:

使用sed命令更新sources.list文件,把jessie全部替换为stretch:

更新新版本的源,开始升级:

执行完以后就是stretch版本了,重启,搞定。

 

===== 千年坑 ===========

原先是卸载了iptables的,使用ufw很方便,升级完以后iptables又回来了,需要卸掉。

升级后shadowsocks起不来了,原因是升级了openssl的类库,解决:

这个错误是由于 openssl 1.1.0 版本废弃了 EVP_CIPHER_CTX_cleanup 造成的。clowwindy 现在也不继续维护源代码了,所以只能自己修改一下。

在 shadowsocks/crypto/openssl.py 中,查找所有 EVP_CIPHER_CTX_cleanup,改成 EVP_CIPHER_CTX_reset 即可

shadowsocks恢复。

 

2017/08/17更新:如果你提前看完我的这篇文章《Debian 8 升级Debian 9后记:妥善解决MySQL的升级》再升级,下面剩下的内容就不用看了,可以成功避免:|。

 

升级后把mysql替换成mariadb了,然后,就瘫痪了。mariadb 5.x和mysql是同步的代码,文件直接拷过去是可以执行的,但debian9带的是mariadb10.1,和mysql不兼容,而且debian 9自带的mariadb版本和官方的配置文件还有出入。很坑,所以升级前千万要备份mysql的数据。重复解决一天都没解决,mariadb还自带脑残限制,如果data目录在/home下是不可以的,网友说明:

这时我发现,如果直接用mysqld_safemysqld命令,跳过systemctl启动进程,能够让MariaDB正常起来,于是就去检查mariadb.service

发现其中有一行

注释是

而我的datadir=/home/mysql

于是把它改成false,就能够正常启动服务了

 

我的解决方式是把之前的mysql卸载删除干净,mariadb也卸载删除干净,从mysql.com官网安装mysql,文件拷贝过去,重启,成功。

4 Comments

Add a Comment

电子邮件地址不会被公开。 必填项已用*标注