Browsed by
标签:linux

Neon

Neon

Linux的发行版本有如过江之鲫数不胜数,我已经厌倦了这些发行版。生命很短暂,时间很宝贵,没有必要把时间浪费在各种“碉堡了”的发行版上。作为一名软件开发人员,我觉得严肃对待Debian和Ubuntu已经足够了。

然而最近我尝试了一个新的发行版本:Neon。这是个相对比较新的发行版本,与众不同之处在于:Neon是KDE组织的官方发行版本!作为一名KDE粉丝,听闻居然有KDE官方发行版本,还是很让人激动的。另外一个吊诡之处在于:Neon是基于Ubuntu的版本!同时作为一名Debian/Ubuntu粉丝,当然就更加激动,实在是甚合我意啊!

以往说起KDE,往往想起openSUSE。openSUSE社区也往往自居正统KDE发行版本。KDE 社区居然会选择Ubuntu作为基础版本,这事挺有意思,感觉可能和Kubuntu有点关系。

简单试用了一段时间,非常棒!Neon实在是个短小精干的版本,启动后系统内存占用居然低于500M,该有的都有,不该有的基本都没有,运行很稳定,KDE 桌面效率也很高,完全可以洗刷对KDE的各种误解。

Neon桌面
Neon桌面

Neon,你值得拥有!

Linux系统ssh代理的问题

Linux系统ssh代理的问题

因为需要访问公司远程网络,而考虑到国内特殊的网络环境,通常在windows系统下都是使用putty创建本地socks5代理,在firefox中设置该代理访问internet。

但是在linux下,默认采用以下命令时,居然只能使用socks4代理:

ssh -D 6666 myname@mycompany.com

如果需要使用socks5代理,则需要明确指定本地的IP地址,命令如下:

ssh -D 127.0.0.1:6666 myname@mycompany.com

其实用netstat检查前一个命令的结果,能看到正确绑定了任意地址的6666端口,而后一个命令只是明确绑定在本地循环地址上。两者应该都能成功进行socks5代理才对。

不知道这是ssh的bug,还是firefox的bug? 简单搜索了一下,似乎也没有人提到这点。

WiFi 5G问题

WiFi 5G问题

自从将T430安装上Ubuntu 16.04版本后,一直有个问题:2.4G WiFi网络连接没有问题,5G WiFi则可以连接,但是分配不到IP地址,也就无法真正访问网络。还以为是Ubuntu的驱动有问题,内心里又一次鄙视了Ubuntu。

偶然看到一点Linux的网络知识,可以检查当前的频点。随手查了一下,结果如下:

yxh@t430:~$ iwlist chan
 wlp3s0    32 channels in total; available frequencies :
 Channel 01 : 2.412 GHz
 Channel 02 : 2.417 GHz
 Channel 03 : 2.422 GHz
 Channel 04 : 2.427 GHz
 Channel 05 : 2.432 GHz
 Channel 06 : 2.437 GHz
 Channel 07 : 2.442 GHz
 Channel 08 : 2.447 GHz
 Channel 09 : 2.452 GHz
 Channel 10 : 2.457 GHz
 Channel 11 : 2.462 GHz
 Channel 12 : 2.467 GHz
 Channel 13 : 2.472 GHz
 Channel 36 : 5.18 GHz
 Channel 40 : 5.2 GHz
 Channel 44 : 5.22 GHz
 Channel 48 : 5.24 GHz
 Channel 52 : 5.26 GHz
 Channel 56 : 5.28 GHz
 Channel 60 : 5.3 GHz
 Channel 64 : 5.32 GHz
 Channel 100 : 5.5 GHz
 Channel 104 : 5.52 GHz
 Channel 108 : 5.54 GHz
 Channel 112 : 5.56 GHz
 Channel 116 : 5.58 GHz
 Channel 120 : 5.6 GHz
 Channel 124 : 5.62 GHz
 Channel 128 : 5.64 GHz
 Channel 132 : 5.66 GHz
 Channel 136 : 5.68 GHz
 Channel 140 : 5.7 GHz
 Current Frequency:2.422 GHz (Channel 3)

好吧,很显然Ubuntu这次背锅了。在5G的频点中,不包含中国区的频点(通常在148以后)。修改路由器的配置,将区域设置为“United state”并设置相应的频点,重启路由器,Ubuntu就可以连接5G WiFi并正常访问网络了。

这台T430是老婆公司退下来的,可以确认肯定是面向大陆地区销售的产品。内置的5G WiFi居然不支持中国的频点,Lenovo果然是美帝良心企业。

Ubuntu 17.04,可有可无

Ubuntu 17.04,可有可无

今天C家发布了17.04版本,在VirtualBox里安装并简单地测试了一下。和以前的版本一样,这个临时性版本没有太大的改变,没有特别的惊喜。考虑到前几天C家老板的申明,18.04版本后就放弃Unity和MIR了,当前这个版本就显得尤其鸡肋。个人觉得如果不是狂热的U粉,就不需要花时间去用这个版本。

下面这个截图仅作为纪念。

Ubuntu 17.04截图
Ubuntu 17.04截图

说到C家放弃Unity这事,我感觉非常可惜。Linux系统的各种DE都很烂,与windows和macOS差距巨大,Unity/MIR可能是仅存的希望。有C家做支持,看起来有可能实现追赶。很可惜,现在已经完全不可能。Unity在融合环境方面实在浪费太多资源和时间了。

顺带鄙视某些言必称“命令行”的Linux二货,他们永远不会明白:人类发明GUI界面是有原因的。

另一个让我无法理解的是,C家居然转向Gnome3? 老板是怒极攻心,丧失理智了吗? 好歹换成KDE也行啊。

装机 – Ubuntu16.04

装机 – Ubuntu16.04

老婆公司有个让人惊讶的规定:员工笔记本三年后归自己个人所有,公司重新配新电脑! 这是多么让人热爱的公司!老婆工作这几年,家里多了几台笔记本,一水的ThinkPad。上周又过了三年,拿回一台T430。以前拿回电脑时,会恢复到Thinkpad出厂时安装的window系统,这次这台T430居然只是低格了,没有系统?!

当然可以从网上扒一个windows恢复盘下来重装,不过考虑到家里已经有几台windows的笔记本和台式机,实在没有必要再增加一台,因此这次打算装Linux系统试试。

选择发行版本

“Linux发行版本”之争在程序员迷之争论中绝对可以位列前三位!好在是给自己的笔记本选发行版,因此有幸避免了与别人的争论,只要考虑自己的需求就好了。我的基本原则其实很简单:

(1)发行版要有强大的、历史悠久的社区。

(2)或者,有商业背景企业发布的版本。

以上两点只确保一个问题:若干年后,依然能活着并得到强有力的支持。绝大多数妖艳的Linux发行版本,比如Arch等,基本不用考虑了。符合要求的版本大致也就是:Debian、CentOS、Ubuntu等寥寥数种而已。

CentOS的软件实在太老旧了点,有时候不得不自己去编译各类软件,与其这样,还不如用Arch或者Gentoo等版本来得直接。公司做项目时基本都是采用Debian系统做服务器,很满意,但是Debian桌面系统就差强人意。不知道是Debian的问题,还是KDE的问题,使用时总有各种烦人的小毛病,比如鼠标问题等。

因此这次就选择了Ubuntu 16.04 (Unity7),谁会做死去选择Ubuntu的非LTS版本呢?

安装软件

安装Ubuntu系统实在没什么可以说的,下载iso文件,录制u盘,直接安装即可,比装windows还简单,过程枯燥乏味。下面只是记录一些安装应用软件方面需要注意的地方。

安装virtualBox与Windows环境下稍有不同,扩展功能包也收录在软件中心,因此实际执行命令一起安装:

sudo apt-get install virtualbox virtualbox-ext-pack

将其他计算机中的vbox客机导出到新计算机中,U盘必须采用exFat格式才能支持超过4G大小的文件,ubuntu默认没提供对该格式的支持,因此也需要单独安装:

sudo apt-get install exfat-utils

qt开发工具集升级到qt5了,采用以下命令安装:

sudo apt-get install qt5-default
鼠标滚轮太快

鼠标滚轮太快

系统是Debian 8(64bits),一直有这个问题。比如打开Firefox浏览网页,一般习惯用鼠标滚轮翻页,问题是速度太快,一下就翻过几页,试了几个鼠标都有类似的问题,基本可以排除硬件原因(实际上切换到同一台计算机的windows系统,就一切正常)。

在Debian系统中也设置了鼠标的一些配置,例如“系统设置”中的“鼠标滚轮卷动单位”等,没有效果。

虽然比较烦人,不过勉强用键盘也能避免这个问题,于是就耽搁下来。

最近浏览文档、写文档等情况比较多,没有鼠标滚轮实在很不方便,于是下决心解决这个问题。上网搜了一些解决方案,都没有效果。搜到一个解决方法:插拔鼠标一下。这实在是无厘头,想想插拔一下也不费事,就试一下吧。

太扯了!居然真的有效!这到底是什么情况?

/bin/bash^M: bad interpreter: No such file or directory

/bin/bash^M: bad interpreter: No such file or directory

早上发现预设置的某个脚本没有执行,手工执行时返回以下错误:

/bin/bash^M: bad interpreter: No such file or directory

检查/bin目录,能发现bash,因此不是“no such file”。搜索了一下网络,发现是文件格式问题,脚本文件可能被修改成dos格式了。用vim打开文件,输入”set ff”即可检查当前文件的格式。

将脚本文件修改为unix格式即可,同样,用vim打开文件后,输入以下命令:

set ff=unix

然后存盘保存退出即可。

Linux性能调优的两个参数

Linux性能调优的两个参数

可以修改/etc/sysctl.conf文件,添加或者修改以下两个参数,对linux性能进行调优:

vm.swappiness = 10
vm.vfs_cache_pressure = 200

swappiness默认值是60,值越小,则linux越多利用内存、少用swap。

vfs_cache_pressure默认值是100,值越大,则linux尽可能早回收内存。

再见,bluehost

再见,bluehost

BlueHost(以下简称BH)是个老牌的虚拟空间服务商,与其他服务商相比,BH有很好的口碑,当然,也有相对高的价格。我们的小公司自创立以来,就使用BH的空间来支持网站(myvoipapp.com)。虽然随着我们技术水平的发展,越来越多地采用VPS和云计算资源,比如我们的云系统miniSIPServer.com以及我们为客户部署的各类系统,都换用了VPS和各类云系统,但是我们的官网始终保留在BH中。

一方面是考虑到多年数据积累,迁移整个系统是费时费力的事情,比如需要考虑email、web、ftp、论坛、blog、数据库等,想想就觉得很麻烦。另一方面,BH一直以来工作得很好,对于初创企业(尤其是没有太多技术积累的初创企业),BH提供的各类一键式安装和维护,的确省心省力,不会让人太操心,把精力更多地放在自己业务发展上。

然而最近我们终于还是花时间把网站迁移到VPS上了(推荐Linode以及DigitalOcean,两家口碑极好的VPS服务商),告别了使用时间近乎十年之久的BH。下面分享一些我们做决定时的一些动因和思考。

1、稳定性

在虚拟空间服务领域存在大量的服务商,坦率地说,绝大部分虚拟空间服务只能做个人blog等非关键应用,少数才能为严肃的商业网站提供服务,而一直以来BH都是其中佼佼者,其基础就是良好的稳定性。这也是我们一直使用BH的根本原因。

然而最近不知道是出什么问题了,也许是BH推出了VPS类业务,调整业务重心,从而忽略了原有的虚拟空间业务。总之,最近一年以来毛病不断,网络故障、主机故障、数据库故障、各类故障层出不穷,以前十年间出的问题加起来都没有最近一年多。

2、糟糕的技术支持

出问题不可怕,如果有良好的技术支持,很多问题是可以被容忍的。然而要命的是,BH的技术支持水平严重下降。很多问题本来是可以避免的,比如擅自修改php配置,居然去掉了mysql的pdo驱动,导致我们的服务大面积中断。

最离谱的是,连续几天awstats居然没有任何统计数据。由于我们以前过于信赖BH自身的工具,没有引入第三方的统计分析工具,以至于我们都无法确认这只是awstats的问题,还是BH的节点出现了严重问题,感觉非常糟糕。

BH新的技术支持人员的专业素养也让人怀疑。比如cpanel的问题、sftp等问题,域名管理配置问题等,简直答非所问,让人吃惊。而且online chat现在居然要三十几分钟的等待才能连接,实在无法理解。遥想当初使用BH的时候,还是个技术小白,几乎什么都不懂,完全是依赖即时的online chat来获得帮助,真是今非昔比。

3、隐性的商业成本

这里就不说擅自修改商业定价策略和产品包的内容。

BH的初次建站成本比较低,但是续费的时候就比较贵,这点可以接受。然后后续如果需要添加新的服务,比如HTTPS支持,独立IP等,就需要另外付费,综合起来的商业成本,实际上比使用VPS更贵一些。何况,在“lets encrypt”免费提供SSL证书的情况下,对HTTPS进行收费未必合理。实际上,我们切换到VPS后,采用了“lets encrypt”的证书进行HTTPS加密,效果很好,没有任何额外费用。

4、结论

使用VPS的技术要求门槛高一些,至少要懂一些linux的基础知识,所幸的是我们的技术水平在逐步的成长,这方面已经没有什么障碍。而BH对于初创企业目前来看还是很好的选择,只是在留住资深用户方面,还需要更扎实的服务和更稳定的系统环境。

Debian7升级到Debian8

Debian7升级到Debian8

最近Debian发布了Debian8.1版本,可以比较正式地商用了,因此打算将一套生产环境的debian7升级到debian8。

Debian不像Ubuntu,后者使用上确实方便,基本上一键就可以搞定。不过Debian也不麻烦,事实证明也很简单。

step1:关闭已经运行的一些服务器程序,例如apache,mysql等。

step2:更新当前版本,也就是sudo apt-get update以及sudo apt-get upgrade即可。

step3:修改/etc/apt/sources.list文件,将wheezy替换成jessie,例如下面就是目前生产环境上的配置:

deb http://mirrors.aliyun.com/debian/ jessie main non-free contrib
deb http://mirrors.aliyun.com/debian/ jessie-proposed-updates main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ jessie main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ jessie-proposed-updates main non-free contrib

deb http://mirrors.aliyun.com/debian-security/ jessie/updates main non-free contrib
deb-src http://mirrors.aliyun.com/debian-security/ jessie/updates main non-free contrib

deb http://http.us.debian.org/debian/ jessie main contrib non-free
deb http://security.debian.org/ jessie/updates main contrib non-free

需要注意的是以下几点:

(1)尽量配置国内的镜像源。debian官方源在国内大部分区域都比较慢,采用国内源能节省大量时间。

(2)推荐使用阿里镜像源。阿里巴巴虽然是个逗比公司,不过阿里镜像还是做得相当不错,速度快、网络稳定,我们一直都用它。

step4:更新系统。依次执行下述命令即可:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

执行过程中,涉及到一些软件更新后配置文件有改变,默认采用原有配置。

对apache的影响

apache2升级后,配置文件有改动,导致出现“403 forbidden”的情况。问题原因是apache2的部分配置参数取消了,需要用新的参数替代。修改/etc/apache2/sites-enabled/000-default(-ssl)文件:

 Order allow,deny
 allow from all

修改为:

require all granted