Browsed by
标签:linux

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地址,也就无法真正访问网络。还以为是Ununtu的驱动有问题,内心里又一次鄙视了Ununtu。

偶然看到一点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
安装Debian8

安装Debian8

作为一名linux爱好者,这个月份让人觉得很愉悦,因为紧接着Ubuntu后,Debian8又发布了。按照以往的经验,Debian的软件包要旧一些,不过不要紧,比CentOS还是要新多了,我个人非常喜欢Debian的版本。

安装Debian8有些要注意的地方:

(1)尽量不选择“Graphical install”,默认的安装方式就好。图形安装方式似乎要联网下载一些包,导致速度很慢(这点现在不太确认,当时没选择镜像站)。

(2)虽然是DVD安装方式,但建议在“选择镜像”步骤时还是要选择一个国内的镜像(包括教育网用户也可以选择教育网内的镜像)。因为在安装过程中,还是会联网去下载一些包,指定国内镜像的话,速度要快很多。

(3)最后一步设置grub时,要么选择一个引导区,要么手工设置一个。默认是空的,我以为安装程序会选择默认值,手快直接敲回车,结果就悲剧了。

(4)Debian8安装源中似乎已经不包含virtualbox-guest-dkms包,因此如果是用virtualbox安装,需要手工安装编译vbox自带的增强工具。

安装完成后,简单体验了一下,总体感觉还不错。默认安装gnome3,比以前顺滑多了。有几个地方有些可惜:

(1)新版提供了”package install”,欣喜地以为可以像Ubuntu那样点击deb文件直接安装程序。似乎这个工具没有做好,点击后弹出对话框,提示安装、下载,然后就假死了,没有任何反馈。最后还是不得不手工用dpkg来安装程序。

(2)不知道是不是gnome3特意的设计。程序弹出的dialog窗体中,居然没有关闭按钮,都只能按ESC键关闭对话框。另外就是Qt程序的菜单项中无法显示icon,不过toolbar不受影响。这方面的处理,感觉不如Unity合理和方便。下图是我们应用程序的截图,大家随意感受一下:

Debian8
miniSIPServer 工作在Debian8系统中