Setting timezone for Linux system
sudo timedatectl set-timezone Asia/Shanghai
Setting timezone for MySQL
add the line below to [mysqld] section in /etc/my.cnf
default=time-zone = "+8:00"
sudo timedatectl set-timezone Asia/Shanghai
add the line below to [mysqld] section in /etc/my.cnf
default=time-zone = "+8:00"
$ sudo vim /etc/sysctl.conf
add the line below to the end of this file:
vm.swappiness = 10
save and exit. Execute
$ sudo sysctl -p
vm.swappiness = 10
means that the Linux system will only start using swap space when your available physical memory is less than 10%.
今天天气不错,和太太儿子去 Bowenvale Walking Tracks 走了一个短途的hiking。回家路上前端同学报告说测试机出问题了,所有接口都不通了。于是到家赶紧排查问题。
网络环境
Host:Windows 10,Vmware Station Guest: CentOS 7.7 Bridge network
一开始以为是服务进程崩了。连上vpn发现机器都ping不通。哦看来虚拟机是被谁关掉了。远程桌面到Host机器一看....虚拟机活得好好的,并没有被关掉。用控制台登录进去一看,发现IP不是我们以前设定的IP,而是变成 172.18.开头的一个地址,这是我们误以为网络不通了的原因。
经过一番排查,发现故事应该是这样的:
CentOS机器的网络配置是 DHCP,因为网络是桥接的,因此只需要路由器上做点设置,根据CentOS机器网卡的Mac地址总是分配 192.168.178.52 这个IP给虚拟机就行了。我查看了路由器的设置,发现确实是这么设置的,虚拟机网卡的mac地址也没有变,看上去一切都很正常。不过这里有一个小小的细节,一开始我没有在意,但它可能是问题发生的始作俑者。
在登录公司路由器的时候,我没有直接进入设置界面,而是系统弹出一个提示框,说系统刚刚升级到某某版本,有一个引导界面走了好几步才进入路由器设置界面。
我先是修改CentOS的网络设置,把网络参数由 dhcp 改成 static,确保他总是使用 192.168.178.52 这个IP,也设置了默认路由,重启网络,发现修改生效了,IP地址现在是正确的了,但是却不能上网,内外不通。
那问题出在哪里呢?之前拿到的IP是172.18.x.x,这不是 Docker 喜欢用的IP段么?莫非和Docker 有关?我先是把 CentOS 虚拟机里的Docker 停掉....重启网络,依然固我。网还是不通。
我只好把关注点移到 Host 机器,硬件网卡,VMnet1, VMnet8, vEthernet (Default Switch)..... 慢,这个vEthernet 是什么鬼? 它的IP也是172.18.x.x的!网上搜索了一下,说这个东东应该是Docker添加的。对呀,我前几天刚好干过这个事情,在Windows 10 上安装了Docker,那时我是试图解决 Jenkins 不听话的问题。但因为这台Windows 10 主要是兄弟部门在用,怕Docker影响他们的业务,我的经理就赶紧把Docker卸掉了。
Docker都卸掉了,卸掉这个虚拟网络示配器料无大碍,于是我就尝试 uninstall it。系统提示发生了什么未知的错误,不让卸载。那就禁用它吧。禁用成功。再ping那个IP,网通了!
回头想想,CentOS机器的IP并非无缘无故就变了,我猜测应该是路由器自动升级,在那个短暂离线期间,CentOS的网络被我刚刚禁用的那个虚拟switch抢先接管了。本来应该由路由器固定分配 192.168.178.52 给那台机器,但路由器短暂弃权期间,这个过程被那个虚拟的switch示配器干扰,于是CentOS得到一个 172.18 开头的IP。
哎!Docker也真是的,你都已经被卸掉了,也不把自己带的东西清理干净。
很有意思的排错过程,记录下。
我忍受这个问题已经有快一个月了,今天打算花点时间把它解决掉。
经过一翻搜索,我发现已经有人在 ibus-rime 项目上报告了这个问题,也有人给出了解决方法。遗憾的是,那个解决方案有些含糊,我不知道需要对系统做哪些改变。
也许从源码安装能够解决问题?但我一开始走了弯路,没有认真安装文档中提到的所有依赖,毫无疑问的,编译到中间就因为缺这缺那失败了。后面我就老老实实的按照文档说明,先安装好所有的依赖,再执行 ./install.sh。然而我仍然可耻的失败了。我不知道原因....也许应该报个bug给作者。幸运的是,源码里还有一个 install-static.sh 脚本,我执行了这个脚本,结果顺利编译成功并安装。
现在我的五笔拼音也能够识别中英方式了(英文状态显示A,中文状态显示“五”),太开心了!
我是 ubuntu 18.04 (pop!os) Gnome 3 桌面,五笔拼音输入法
为方便同样用 ubuntu 18.04 的同学,我把编译前的准备工作和编译步骤列在下面:
sudo apt install cmake libboost-all-dev libibus-1.0-dev libnotify-dev libgoogle-glog-dev \
libkyotocabinet-dev libleveldb-dev libmarisa-dev libopencc-dev libyaml-cpp-dev
git clone --recursive https://github.com/rime/ibus-rime.git
cd ibus-rime
# do this as normal user
./install-static.sh
ibus-damon -dxr
Enjoy your favorite input method!
Awesome-Linux-Software
Awesome-Linux-Software Chinese
Currently, my laptop runs Pop! OS 18.04 (Ubuntu). Thanks my boss, he bought me a Windows laptop, so I have the chance to run Linux as my main OS. The following is a list of my favorite apps on my laptop.
mp3 player: Audacious
browser: Chromium
Markdown editor: Typora
Text editor: Geany
Quick view: gnome-sushi
Epub reader: Foliate
Console Dictionary: sdcv
Console tts: say (in gnustep-gui-runtime package)
hardware information: inxi
say alternative: gnustep-gui-runtime
apt-get install -y audacious chromium typora geany gnome-sushi foliate sdcv gnustep-gui-runtime inxi
Jetbrains: Rider, Webstorm, Phpstorm, Pycharm
Telegram-desktop
will update the list when I remember... 😀