Building the Coming Soon

关于

Kaijia graduated from the Akademia. He is always proud to be a HFLSer!

Ubuntu

Ubuntu 16.04启用Laptop Mode Tools鼠标开机断电问题解决

03/15/2016

Laptop Mode Tools是笔记本运行Linux时的常用标配工具,在汉语Linux社区常被称为“省电模式”,其原理就是通过给硬盘和CPU降速、自动休眠部分USB等各种方式千方百计降低笔记本运行Linux的功耗。

此工具由于其大幅提升Linux笔记本的续航时间而大受欢迎,然而它也经常有误伤,比如Kaijia的USB鼠标则是每次中枪。鼠标在启动进入GRUB界面时一切正常,之后当Laptop Mode Tools启动(enabled)后,无论是否接入电源/即省电模式是否激活([not] active),鼠标都会自动断电休眠,每次都需要重新拔插后才可正常使用。

这个问题由来已久,中文社区也有大量的帖子和博文给出了解决方案。其中的核心思想是鼠标自动休眠是由Laptop Mode Tools工具的usb-autosuspend模块控制的,因此解决方案分两种:

  1. 编辑/etc/laptop-mode/conf.d/usb-autosuspend.conf将鼠标写入禁止自动休眠的黑名单,例如此篇文章
  2. 直接禁用usb-autosuspend模块,例如此篇帖子

阅读更多

重新生成SSH服务器端密钥方法

09/20/2015

理论上来说,每次安装服务器时SSH密钥(SSH Host Key)都是自动生成的,而生成出相同密钥的概率接近于0,这样避免了中间攻击等情况。但是,就是存在以下情况使得两台SSH密钥相同:

  • 在虚拟化技术中克隆了一台虚拟机;
  • 将原来的虚拟硬盘复制后新建虚拟机运行。

当然还有其他更加坑爹的情况,比如Kaijia碰到的VPS云服务器重装系统复制完模板数据后不重新生成SSH密钥的(某国内主流云提供商……),于是整个云平台所有的VPS都跑着相同的SSH密钥,如果要实现中间攻击只需要新建一台云就能获得私钥了。正是因为碰到了这种云主机,Kaijia研究了一下如何重新生成SSH服务器端密钥。

阅读更多

Ubuntu系统使用备份恢复已损坏MySQL数据库

11/18/2014

数据库损害的情况经常发生,尤其是OpenVZ VPS,当物理服务器非正常关机,而是断电或者直接崩溃时,MySQL数据库损坏几乎是不可避免的,尤其是数据库量比较大的时候。Kaijia已经遇到过数次数据库损坏的情况,一般情况下MySQL的调试日志里面会直接给出修复提示,比如在my.cnf中增加:

关闭异步I/O操作等,此类操作一般能恢复数据库的正常使用。但这次Kaijia遇到了一次由于物理服务器宕机造成的MySQL数据库损坏,并且错误信息也没有给出任何修复提示,此时应该按照MySQL文档中给出的步骤恢复InnoDB,这个过程相对比较复杂,并且考虑到损害的数据库并不大,也不常用,并且每小时都有备份,于是Kaijia决定直接通过还原备份恢复已损坏MySQL数据库文件。

阅读更多

Ubuntu 14.04系统VestaCP面板MySQL无法正常运行问题解决

11/14/2014

VestaCP是一款新兴的虚拟主机面板,它以LAMP为核心(也支持Python程序),使用Nginx做前端,同时还支持FTP、邮件和DNS服务器功能,整体功能非常简洁强大,更重要的是,它的界面设计符合潮流。

Kaijia最近也开始学习使用VestaCP并将一台运行Virtualmin的服务器搬到了VestaCP平台下,在这一过程中Kaijia遇到了很多问题。由于VestaCP一开始设计只考虑了RedHat/CentOS,Debian/Ubuntu的支持相对比较欠缺,尤其是Ubuntu 14.04相较其他几个版本变化很大(PHP 5.5和Apache 2.4了,而VestaCP支持的其他发行版基本都在PHP 5.3和Apache 2.2,另外还有upstart/systemd等问题),相应单一发行版的Bug也特别多。在今后的文章中Kaijia将会不定期分享在Ubuntu 14.04系统下使用VestaCP面板遇到的问题和解决经验。

比如这次遇到的问题经过分析也应该是Ubuntu 14.04系统特有的。Kaijia一开始完成VestaCP安装后系统可以正常运行并没有发现任何错误,但是重启服务器之后却出现了MySQL无法使用的问题,无法通过VestaCP面板创建数据库,同时站点也无法连接到数据库。查看MySQL的错误日志可以看到提示InnoDB文件已被锁定:

InnoDB: Unable to lock ./ibdata1, error: 11
InnoDB: Check that you do not already have another mysqld process
InnoDB: using the same InnoDB data or log files.

阅读更多

Ubuntu 14.04升级脚本无法运行问题解决

08/16/2014

之前Kaijia在升级一台全新安装Ubuntu 12.04的OpenVZ系统到Ubuntu 14.04时遇到了升级脚本无法启动的问题,在这里也做记录。Ubuntu的LTS版本间的升级一般都是建议重装,但有的时候必须通过升级完成,比如没有提供Ubuntu 14.04模板的OpenVZ系统,此时就需要通过运行:

升级。Kaijia升级其他机子时都没有遇到问题,唯独在这台OpenVZ上一运行do-release-upgrade直接出现了以下错误提示:

阅读更多

Ubuntu 14.04切换Ruby默认版本为2.0方法

08/14/2014

Ubuntu从14.04开始在主软件库中提供Ruby 2.0,同时提供的还有1.9.3(软件包名称是ruby1.9.1)。不过由于Ruby 2.0在垃圾回收方面的显著改进,大量程序推荐使用Ruby 2.0,这时问题出现了。通过运行“ruby -v”可知:

Ubuntu 14.04中默认的Ruby版本是1.9.3,而Ruby 2.0则需要用命令“ruby2.0”运行,程序运行前必须设定好运行版本否则可能造成错误。

阅读更多

Ubuntu 14.04安装KDE后Unity界面Oxygen化问题解决

04/26/2014

升级到Ubuntu 14.04的时候Kaijia遇到了很多问题(两个LTS版本之间的升级就是各种坑爹),于是Kaijia决定重新安装系统。Ubuntu 14.04装完之后安装了Nvidia驱动和Bumblebee,接下来就是安装KDE桌面了。Kaijia使用了标准的安装方法:

安装完成之后注销了Unity进入KDE界面看了一下不错,KDE 4.13在性能和稳定性上改进很大。但当Kaijia重新进入Unity界面时就遇到麻烦了,Unity界面变成KDE风格了!细节上的变化是运行GTK软件会自动变成Oxygen风格(例如截图中的Firefox浏览器)。系统菜单栏也会有变化,例如输入法功能将会被一个找不到图片的小图标代替。

Ubuntu 14.04中Unity界面KDE风格化问题

Ubuntu 14.04中Unity界面KDE风格化问题

Kaijia一开始以为是个意外,于是又重装了一次系统,再次进入KDE后还是会出现Unity界面KDE风格化的问题。同时Kaijia发现,虽然安装了KDE,但如果不运行,系统就不会发生变化,只要启动了KDE界面,Unity就会受到影响。简单的说,KDE的一个组建影响到了Unity或者是GTK的配置问题,但KDE和Unity相互独立的,不可能存在干扰,那么唯一一种可能性就是Oxygen-Gtk,一个在KDE环境下更好地显示GTK程序界面的兼容层。

阅读更多

Ubuntu 14.04双显卡设备出现未知显示器问题解决

04/25/2014

安装完Ubuntu 14.04之后,Kaijia迅速调会了Ubuntu 12.04的使用习惯,包括在启动器中显示工作区等。装完系统后,Kaijia发现鼠标一闪一闪时有时无,而且经常会往右边屏幕上跑。设置完工作区后Kaijia还发现了一个更严重的问题,点击工作区时出现了一个非常不科学的情况,我的屏幕居然有大片内容没有显示出来,并且屏幕的实际分辨率居然高达2390像素。

Ubuntu 14.04 Unknown Monitor Issue

Ubuntu 14.04 Unknown Monitor Issue

阅读更多

Ubuntu终端“Unable to open env file: /etc/default/locale”问题解决

05/18/2013

相信这个问题应该困扰过很多人,Kaijia用Ubuntu的笔记本通过SSH协议连接到运行Ubuntu系统的服务器时经常会遇到以下提示:

问题存在好久了,用多了于是发现一些现象,当Kaijia在Windows系统下用Putty连接时不会显示这个提示,仅会在Ubuntu系统(界面语言是简体中文)下使用终端连接时才会显示,一般随便一个操作都会出现此提示,例如apt-get。

执行apt-get时出现问题提示

执行apt-get时出现问题提示

阅读更多

适用于Ubuntu的最新版Nginx源整理

05/17/2013

Ubuntu 12.04 LTS版本附带的Nginx版本为1.1.19,这个版本发布于2012年4月,而Nginx在最近一年来有大量的更新,最新的稳定版本已经更新到了1.4.1,Nginx 1.3/1.4分支带来了很多新的功能,最重要的就是支持SPDY。

Kaijia使用的几台VPS都使用了Nginx,这主要是由于Apache效率很低并且对服务器IO内存要求很高,因此在OpenVZ架构下效率明显比Nginx。然而在切换到Nginx之前,Kaijia在所有开启HTTPS的服务器上启用了SPDY,而如果使用Ubuntu官方源中的Nginx就无法支持SPDY,所以最近花了一些功夫找最新版Nginx的源。

阅读更多

较旧文章