如何配置终端

配置终端是许多人头疼的问题,比如配置之后没有达到自己预先想要的效果,但是又总是不知道哪里出了问题,或者配置完成之后又遭遇了很多烦恼。

本文的作用是解决这些问题,或者为解决这些问题提供一个思路。

颜色不对

颜色不对可能有很多原因,但归根结底是两个问题,一个是TERM环境变量没有设置好,另一个是当前使用的终端app不支持真彩色。

处理term可以使用

把它加载到你的rc文件里。有些人使用zsh,那么加入到~.zshrc里面。有些人使用bash,那么加入到~/.bashrc里面。

解决app真彩色问题,可以参考这个链接:https://gist.github.com/XVilka/8346728

Ubuntu14.04版本下默认的terminal是不支持真彩色的。

乱码

终端乱码很大程度上是因为当前的字体不支持输出的字符。这个时候安装一个字符集支持比较齐全的字体即可。常见的字体比如nerd fonts,包含了常用字体+许多的符号字体的集合,因此找到自己心水的字体,安装并且替换即可解决这些问题。

可能还有许多问题我没有想到,可以在留言区提出,我一并加上。

shell 

使用Fabric进行部署

Fabric是一个可以在远程机器上运行命令的库

Fabric官方目前只支持Python2版本,但是有勤劳的人开发出了适配Python3的版本。具体可以查看这个fork

[阅读全文]

记又一次搞崩服务器

记又一次搞崩服务器。使用“又”,是因为我搞崩不是一次两次了。我希望这是最后一次。

背景

使用Android连接服务器的时候,发现要比自己的mac速度快很多,于是十分好奇,打算研究一下是什么因素导致的。

流程

检查了app以后,判断应该是开启了fast TCP导致的,于是考虑在mac上也开启对应的fast TCP,但是效果并不是十分显著;于是再次排查,发现服务器端并没有开启fast TCP

这就很奇怪了,为什么速度这么快呢?是因为对“同源”的加密方法有优化吗?

于是,自然而然的考虑是不是可以通过开启这个TCP加速来加速服务器。这就开启了噩梦的开端。因为需要3.7以上的Linux Kernel才支持这个特性,所以需要先升级内核。我的内核难道不应该是最新的吗?带着这个以为输入了uname sr,显示内核版本2.6*。惊奇,我的VPS内核这么旧吗?于是自然而然的想到要升级一下内核,并且理所应当的把升级内核的脚本apt-get install linux-kernel-lts-wily运行了一下。于是噩梦开始了。

OpenVZ本身是不支持升级内核的,所有的VM都使用同一个内核版本,因此这个命令导致了很神奇的BUG,安装内核装不上,卸载内核卸载不了。

这个时候我面临两个选择,一个是重新安装系统,一个是解决当前的这个问题。

经过简单地判断,我认为如果解决当前问题,可能花费我更多的时间,直接重新安装系统就可以了。重新配置一些相关措施也并不难。

失算的事情是,尽管我依稀记得一部分关于配置的内容,但是要完全复现我所配置的相关应用已经很难了,因为我没有做记录。于是来回又踩了许多坑,之前有些坑我有很明确的踩进去的记忆。

这就非常痛苦了,每次操作都在嘲讽自己的愚蠢与过度自信。最后,我只进行了简单的配置,只找回了部分的优化——记忆里我所做的优化就只有这些了,但是速度似乎下降了,这就是最终的结果。

这也让我想起《人月神话》里面描写的一句,具体我已经记不清了,意思大概是这样的:有些步骤你是必须要做的,只不过当前你没有做而已,以后是要补上的。我读到这个地方的时候,联想这个规律为“技术债”。

好了,以上就是我还“技术债”的全部过程了。

教训

  1. 研究问题虽然好,但是要注意花费的时间
  2. 在生产服务器上,不要做没有经过自查的操作。
  3. 不要被强迫症控制了,能用则用。
  4. 记录自己的行为日志,如果可以的话,写一个安装脚本

唉,真是一次不合格的运维行动。

Shell-tips

重启终端

执行命令,修改环境变量等等之后可以通过此命令来简单重启shell

exec "$SHELL"

查找文件

$ find ~ -name "*.txt" -print #在$HOME中查.txt文件并显示

locate findname

编辑变量

zsh中,编辑$HOME/.zshenv;在bash中,编辑.bash_profile

shell 

全站上https

本来觉得这个https不是什么大不了的事情,但是输入密码的时候突然意识到,这个post的过程中是有危险的。危险在哪里呢?我们可以参考mozilla的相关描述

[阅读全文]
HTTPS 

使用Docker的一些Tips

Docker是一种强大的DevOps工具,使用其无论是作为开发环境还是生产环境,但是非常

好的选择;在这篇文章中,讲讲Docker的几个开发Tips。

[阅读全文]
Docker 

使用openwrt

今天花了不少时间在openwrt上(实际上是全都花在上面了),从一开始的写入到最后终于能跑;

因为手头没有可用的路由器,只能通过无线连接以及网线来调试,IP设置上的问题吃了不少苦头,

最后一个个排查终于解决了问题。

安装

我这里的设备是RaspberryPI 3B;对应的openwrt的下载链接,只有8M,解压缩后有300M,很神奇,估计是IMG里面有不少00;

配置

配置上参考了几个博客:

关于ipsec

在网上没有搜索到现成的配置,今天已经比较累了,如果明天有时间再看吧。

树莓派安装owncloud小记

http://www.voidcn.com/blog/u010873775/article/p-5812004.html

我是按照以上教程进行安装部署的,但是使用不了,原因是对于目录配置有问题,其中,不应该是进入data目录,而是进入owncloud目录。

成功配置之后发现owncloud没有启用https,登陆官网查看,配置文档云里雾里,不是很明白,按照其配置方法不见奏效,其中有不少地方我也不是很理解,最后找到了另一篇文章,具体文章我已经找不到了,能够配置的更好一些,但是不知道为什么直接无法访问了。我使用的证书是openssl生成的,因此在chrome访问的时候提示是不安全的。

[阅读全文]