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恢复。

升级后把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,文件拷贝过去,重启,成功。

Comments

This post currently has 4 responses

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

    在 shadowsocks/crypto/openssl.py 中,查找所有 EVP_CIPHER_CTX_cleanup,改成 EVP_CIPHER_CTX_reset 即可
    这个不知道哪里弄我的里面找不到这个文件,

    • root@debian:~# whereis shadowsocks
      shadowsocks: /etc/shadowsocks.json
      root@debian:~# whereis openssl.py
      openssl: /usr/bin/openssl /usr/share/man/man1/openssl.1ssl.gz

    • root@debian:~# nohup: 忽略输入并把输出追加到’nohup.out’

      [1]+ 退出 1 nohup ssserver -c /etc/shadowsocks.json
      root@debian:~# ssserver -c /etc/shadowsocks.json -d start
      INFO: loading config from /etc/shadowsocks.json
      2017-07-19 17:31:12 INFO loading libcrypto from libcrypto.so.1.1

发表评论

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

Sidebar