由于debian8不再维护了,出于安全需要,参照官方的方法,在线升级到debian9,结果遇到了好多坑,虽然没死人,但也够惨了

坑1、升级后,多占了很多空间,莫明奇妙的把 / 分区占的满满的,由于之前debian8用熟了,所以磁盘分配给home的空间大,给 / 的就是足够debian8再多一点,结果有一台服务器升级后,/ 就真满了,用了90%多,只好马上LVM扩容......

坑2、升级到debian9后,默认会把mysql换成mariadb,(但好像mysql又不是完全卸载,mysql的运行包还在系统里占着,难以理解),然后mariadb就搞死人了,mariadb默认不允许使用/home目录,一启动mariadb就报目录错,垃圾的度娘都是说selinux的文件权限(其实那是centos的事),然后就各种折腾chcon打开文件权限,当然都失败了,后来放狗才知道,号称安全的debian是默认根本就不带selinux的,后面再狗才知道,原来debian9的服务控制里,对mariadb的配置/etc/systemd/system/mysql.service里有一句:

# Prevent accessing /home, /root and /run/user
ProtectHome=true

药就在这里了,要改为:ProtectHome=false,才能使用/home里放数据库文件

坑3、也还是mariadb的事,上面改完了,mariadb是起来了,但外面连接都很慢,又是mariadb的配置惹的事,修改/etc/mysql/my.cnf,在[mysqld]里添加一行:skip-name-resolve

坑4、debian8升级debian9后,原来装的java (jre)不见了,所以重启后,应用都跑不起来了,看应用日志就是提示找不到java,唉,只好老老实实下载3xxM的openjdk-8-jre....

总结一句:正如debian原创说的,debian已昨日黄花,早弃早超生,该换其它linux了.....

笔记一下debian8升级到debian9遇到的几个坑的更多相关文章

  1. 升级10.11.6后CocoaPods的坑,之前10.11.4已经安装好的,居然没了Failed to locate Homebrew!

    升级10.11.6后CocoaPods的坑,之前10.11.4已经安装好的,居然没了,用命令 sudo gem install cocoapod 装不上,换 sudo gem install -n/u ...

  2. 升级cocoapods1.1.0版本遇到的坑

    先容我吐槽两句, 最近写Swfit3.0, 要用到一些框架, 然后就用cocoapods嘛, 结果说要cocoapods1.1.0版本才行, 而自己的是cocoapods1.0.1版本的, 所以就想着 ...

  3. debian8平滑升级到debian9

    本文在Creative Commons许可证下发布. 首先,在升级时可以查看一下自己的版本号: uname -a ##查看内核信息 cat /etc/issue ##查看发行版本号   方法1:利用网 ...

  4. Debian8升级4.5内核

    本文讲述如何升级Debian8的内核到4.5版本 0x01:去linux kernel官网https://www.kernel.org/下载4.5的内核,选择tar.xz格式 0x02:想办法把下载好 ...

  5. JavaScript正则表达式学习笔记(二) - 打怪升级

    本文接上篇,基础部分相对薄弱的同学请移步<JavaScript正则表达式学习笔记(一) - 理论基础>.上文介绍了8种JavaScript正则表达式的属性,本文还会追加介绍几种JavaSc ...

  6. gradle2.0笔记——让项目升级到gradle2.0

    昨晚看到QQ群消息说gradle2.0发布了,今天去看了一下,确实是昨天发布的,为rc版本:Gradle 2.0-rc-2.于是决定试一下. gradle可以在官网上下载,地址如下:http://ww ...

  7. odoo开发笔记--取消正在升级中模块

    场景描述: 开发过程中,有时候会遇到,模块安装的时候,一直卡着,走不过去:或者安装报错,导致进入了系统! 这个时候,怎么处理呢? 先简单说下,odoo中模块的升级有4个状态,模块相关的安装情况记录在表 ...

  8. Asp.net core 学习笔记 2.1 升级到 2.2

    首先跟着官网 step by step https://docs.microsoft.com/en-us/aspnet/core/migration/21-to-22?view=aspnetcore- ...

  9. 13-MySQL DBA笔记-迁移、升级、备份、恢复数据库

    第13章 迁移.升级.备份.恢复数据库本章将为读者讲述数据库的各种维护任务:迁移.升级.备份和恢复.因为每个人熟悉的工具不同,其对应的迁移.升级.备份和恢复的方式也都略有不同,本书将尽量对笔者认为最具 ...

随机推荐

  1. Swift4.0复习操作符方法与操作符的定制

    1.对已有操作符的重载: 2.可定制的操作符: 3.定制前缀操作符: 4.定制后缀操作符: 5.定制中缀操作符:

  2. Swift4.0复习Optional

    1.Optional基本使用: 当我们声明一个Optional对象时,无论该对象是在文件作用域还是在函数体内作为局部对象声明,如果不对它初始化,那么它的值默认为空(nil). // 声明a为Int类型 ...

  3. 【Leetcode_easy】1128. Number of Equivalent Domino Pairs

    problem 1128. Number of Equivalent Domino Pairs solution1: 不明白为什么每个元素都要加上count: class Solution { pub ...

  4. LVS-TUN模式

    TUN模式: 其实数据转发原理和上图是一样的,不过这个我个人认为主要是位于不同位置(不同机房):LB是通过隧道进行了信息传输,虽然增加了负载,可是因为地理位置不同的优势,还是可以参考的一种方案: 优点 ...

  5. Java 中的并发工具类

    Java 中的并发工具类 CountDownLatch public class JoinCountDownLatchTest { public static void main(String[] a ...

  6. 多线程(7)— JDK对锁优化的努力

    JDK内部的“锁”优化策略 1. 锁偏向 锁偏向是针对加锁操作的优化手段,核心思想是:如果一个线程获得了锁,那么锁就进入偏向模式,当这个线程再次请求锁时,无须再做任何同步操作,这样就节省了大量有关锁申 ...

  7. PHP中的PDO数据对象

    PDO: PHP Data Object:php的数据对象.pdo是数据库操作工具类!1,它能操作很多种数据库,比如mysql,oracle,sybase....2,它具有操作数据库的更多的功能,比如 ...

  8. Python-04-数据结构

    一.数字 整数 Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等. 计算机由于使用二进制,所以,有时候用十六进制表示 ...

  9. 从零开始学Flask框架-006

    重定向和用户会话 因为刷新页面时浏览器会重新发送之前已经发送过的最后一个请求.如果这个请求是一个包含表单数据的POST 请求,刷新页面后会再次提交表单. 基于这个原因,最好别让Web 程序把POST ...

  10. 作业练习P194,jieba应用,读取,分词,存储,生成词云,排序,保存

    import jieba #第一题 txt='Python是最有意思的编程语言' words=jieba.lcut(txt) #精确分词 words_all=jieba.lcut(txt,cut_al ...