存档

‘linux’ 分类的存档

digtalocean和Linode比较

2015年9月5日 没有评论

digtalocean到今天已经发展3年,价格上已经不比linode便宜,而且某些配置上已经比Linode价格稍贵一些。

价格和配置上:

DigtalOcean提供小的512M配置和最受欢迎的droplet(水滴)配置比Linode同价格配置多了6G的磁盘空间。

digtalocean 的配置

doprice

Linode 的配置
linodeprice

digtalocean和Linode优惠码:
digtalocean有新用户10美元优惠码,Linode同样有新用户优惠。

稳定性和速度上:
同样是美国的机房比较快,DigtalOcaen选择旧金山,Linode选弗里蒙特。
稳定上秒国内主机N条街。

客户支持和响应速度:
都需要英文发Ticket支持,10多分钟就会有响应。
我的Linode经常被攻击,大多被上传一些恶意脚本来发垃圾邮件,通过access很容易发现脚本位置。

综合来看,两家都差不太多.

分类: linux 标签:

vim 不高亮 显示横线

2015年8月30日 1 条评论

vim设置了代码高亮, syntax on

但是在secureCRT始终显示下划线,不显示高亮

解决方法:
1.检查$TERM变量,echo $TERM

如果输出不是xterm-color,那么需设置$TERM变量

使用vi打开/etc/profile

添加 export TERM=xterm-color

然后执行 source /etc/profile

如果还是没有语法高亮,那么第二步

2.如果你用的是远程登录,比如SecureCRT,这时候需要设置

会话选项>终端>仿真,选择下选菜单中的xterm,并打钩ANSI彩色,并根据自己需要是否选择彩色方案

分类: linux 标签:

gl inet刷openwrt固件开启wifi

2015年8月3日 1 条评论

从淘宝上买了个号称最小的路由器Gl inet玩,首先是刷固件

1. 下载OpenWrt官方网站上的固件,
下载地址:http://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/openwrt-ar71xx-generic-gl-inet-6416A-v1-squashfs-factory.bin

2. 拔掉路由器上的一切连线。

3. 电脑连接路由器LAN口,并设置电脑的IP地址为 192.168.1.2。

4. 按住路由器的 reset 键,插入电源开机,此后会看到绿灯闪烁,待红灯亮起时松开reset键,此时路由器进入uboot web界面

5. 电脑上使用浏览器打开地址 http://192.168.1.1,将会看到:

uboot更新固件

6.选择刚才下载的文件后,点击 Upload按钮,开始刷机。

等待刷机

7. 刷机的过程中路由器的指示灯会频繁闪烁,待闪烁停止后,刷机完成,路由器会自动重启,重启的过程中,电脑上可以看到网络连接回暂时断开,然后会自动恢复,如果指示灯为绿红色,刷机失败,重新刷。

8. 带网络连接恢复后,将网络连接重新设置为自动获得IP地址。

9. 电脑网络连接自动获得192.168.1.0/24的地址成功后,telnet 到192.168.1.1,如果连接成功,并看到OpenWrt提示符,则刷机成功

=== IMPORTANT ============================
Use 'passwd' to set your login password
this will disable telnet and enable SSH
------------------------------------------

BusyBox v1.23.2 (2015-07-19 22:16:29 CEST) built-in shell (ash)

_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
-----------------------------------------------------
CHAOS CALMER (Bleeding Edge, r46421)
-----------------------------------------------------
* 1 1/2 oz Gin Shake with a glassful
* 1/4 oz Triple Sec of broken ice and pour
* 3/4 oz Lime Juice unstrained into a goblet.
* 1 1/2 oz Orange Juice
* 1 tsp. Grenadine Syrup
-----------------------------------------------------
root@OpenWrt:/#

10.telnet后输入passwd 修改密码 然后就可以用putty连接路由器了

11.putty连接后依次输入以下命令,系统会自动安装所需的软件包。

opkg update
opkg install luci

12.在电脑端的浏览器中输入192.168.1.1,可访问路由器就表示安装成功

13.默认界面是英文的这个时候输入root用户名密码就是你刚刚用“passwd”命令修改的密码

刷完openwrt默认是搜不到wifi信息的,WLAN灯不亮,无法搜索到无线网络,需要手动开启

# vim /etc/config/wireless
config wifi-device radio0
option type mac80211
option channel 11
option hwmode 11g
option path 'platform/ar933x_wmac'
option htmode HT20
# REMOVE THIS LINE TO ENABLE WIFI:
#option disabled 1

config wifi-iface
option device radio0
option network lan
option mode ap
option ssid OpenWrt
option encryption none

# /sbin/wifi up

使用logread能够看到启动日志
logread -f

无线配置文件
Configuration file: /var/run/hostapd-phy0.conf

adsl拨号设置
http://softwaredownload.gitbooks.io/openwrt-fanqiang/content/ebook/02.4.html
http://bbs.gl-inet.com/thread-63-1-1.html

分类: linux 标签: ,

解决-bash: fork: retry: Resource temporarily unavailable错误

2015年7月30日 没有评论

登陆不了服务器
The server refused to start a shell.

登陆服务器后执行ls命令报错:

上面这段错误提示的本质是Linux操作系统无法创建更多进程,导致出错。
因此要解决这个问题需要修改Linux允许创建更多的进程。

修改Linux最大进程数

我们可以通过ulimit -a来查看当前Linux系统的一些系统参数。

在上面这些参数中,通常我们关注得比较多的是一个进程可打开的最大文件数,即open files。
系统允许创建的最大进程数量即是max user processes 这个参数。
我们可以使用 ulimit -u 4096 修改max user processes的值,但是只能在当前终端的这个session里面生效,重新登录后仍然是使用系统默认值。
正确的修改方式是修改/etc/security/limits.d/90-nproc.conf文件中的值。

我们只要修改上面文件中的4096这个值,即可。

分类: linux 标签:

vi格式化代码

2015年7月1日 4 条评论

有些时候复制别人的代码会非常乱,因此格式化代码就很重要了

vi 下格式化代码:

1.全部代码格式化:

命令行模式下

按下 gg (回到开头)

按下 = (格式化命令)

按下 G (代码尾部)

2.部分代码格式化:

命令行下

选中你要格式化的代码

按下 =

3.
(1) 按两下小写g,即gg,定位光标到第一行。

(2) 按住Shift+v,即大写V,进入可视化编辑的列编辑模式。

(3) Shift+g,即大写G,选中整个代码。

(4) 按下等号=,格式化所有代码。

分类: linux 标签: ,

TortoiseSVN中Branching和Merging实践

2015年6月29日 2 条评论

使用svn几年了,一直对分支和合并敬而远之,一来是因为分支的管理不该我操心,二来即使涉及到分支的管理,也不敢贸然使用合并功能,生怕合并出了问题对团队造成不良影响,最主要的原因是,自己对分支的目的和合并的方法不甚了解,这才是硬伤。

最近由于适配机型的需要(本人从事手机客户端的开发),需要经常接触分支和合并两项工作,突然发现这玩意整不明白很难开展工作,遂这两天着重研究了一下,有点收获,怕以后忘了,故趁着余温尚在赶紧写下来,好记性不如烂笔头嘛。下文的实践主要是参考了TortoiseSVN的帮助文档和Subversion的在线文档,Subversion的在线文档:http://svnbook.red-bean.com/en/1.5/svn-book.html

话说我公司现在的源代码管理挺乱的,svn目录并没有采取标准的source/branches、source/trunk结构,主线和分支放得到处都是,release版本也并没有当成tag处理,而是当成branch来管理,经常还要在release版本上改来改去。。。

先说说什么是branch。按照Subversion的说法,一个branch是某个development line(通常是主线也即trunk)的一个拷贝,见下图:


阅读全文...

分类: linux 标签:

Linux下文件比较工具diff

2015年6月26日 没有评论

文件比较工作,win下有很多选择,神器beyond compare是一个不二选择,对于简单文本比较可以使用文本编辑器的插件,如notepad++的插件。

linux工具也有很多,版本控制工具多是使用diff原理来进行的。

对于现在的开发人员是幸福的,因为有各种版本控制工具可以使用,对于没有版本控制工具编写的代码,想知道代码的不同,diff是我知道的工具。

比如没有版本控制时的linux内核技术使用diff和patc来维护的。对于diff的输出结果经常表示看不懂,本文对这个详细说明。

如下三列,第一列为原文件old.txt,第二列示新文件new.txt,第三列示两个文件diff old.txx new.txt结果
阅读全文...

分类: linux 标签: , ,

批量替换sql中的id从指定的值开始

2015年4月22日 1 条评论

当数据库中的某个字段(例如ID)是整型,那么当新插入数据的时候需要从目前已有的数据库总最大的值加1开始排列。

当前生产数据库的id最大值为150,那么上线时候需要从151开始编号,当然可以使用sequence自增是一种方式。

这里介绍的是手动修改sql,保存如下内容到online.sql中

使用vim打开文件

命令模式下执行如下命令就可以搞定

以下是详细的解释:

这条命令各个组成元素:

所以,这条命令的执行过程为:

给变量n赋值为0;
查找模式"values(zsd+",使用变量n的值替换匹配的模式字符串;
给变量n加1;
回第二步;

分类: linux 标签:

vim中tab设置为4个空格

2015年4月18日 没有评论

在大多数的文件中使用4个空格的tab,在Makefile中使用真正8个宽度的tab, 同事基于文件的类型自动缩进。

编辑
vim ~/.vimrc

如文件不存在新建,文件已存在,追加在尾部

添加

vim暂时关闭缩进和注释自动缩进设置

VIM在粘贴代码时会自动缩进,把代码搞得一团糟糕,甚至可能因为某行的一个注释造成后面的代码全部被注释掉,

方法一

即可关闭自动缩进

或者设置为快捷键,最方便的方法就是在.vimrc中加一句:

以后在插入模式下,只要按F9键就可以切换自动缩进。

当需要自己手写代码的时候,进入insert模式,默认就是自动缩进了。

方法二

然后再进入插入模式粘贴,代码就不会被自动缩进。
敲代码的时候需要自动缩进,需要改回来:

推的的.vimrc
set tabstop=4
set shiftwidth=4
set expandtab
set autoindent
set smartindent
set number
set ruler
set hlsearch
set ignorecase

分类: linux 标签: , ,

find命令详解

2015年3月29日 没有评论

linux查找特定时间变动过的文件,查找与给定文件有时间关系的文件,对于排查问题特别重要,find命令的就是做这个事情的,查找linux下指定时间内做过改动的文件。

find查找今天修改的文件

#查找当前目录一天之前到此时之间修改的文件,也就是过去的24小时内修改的文件。
find ./ -mtime 0

#查找当前目录小于1天(1*24)之前的修改过的文件,也就是24小时内修改的文件,这个和上面的结果一样。
find ./ -mtime -1

#查找当前目录等于1天(1*24)之前的修改过的文件,也就是24小时之前(包括第24小时)修改的文件
find ./ -mtime 1

#查找当前目录大于1天(1*24)之前的修改过的文件,也就是至少2天之前修改的文件。mtime后的参数只能是整数,所以大于1的要从2开始,下面的命令等同于-mtime 2。
find ./ -mtime +1

时间是以 24 小时为一个单位,而不是以天的,从当日起始时开始而不是从24小时之前。
2015/03/29 12:00 时间开始找一天內的,会列出 2015/03/28 12:00 ~ 2015/03/29 12:00 时间內的文件

find与指定时间比较选项参数

-mtime n 文件修改时间,对文件数据的最近一次修改是在 n*24 小时之前

-mmin n 对文件数据的最近一次修改是在 n 分钟之前

-ctime n 文件状修改时间,对文件状态的最近一次修改是在 n*24 小时之前。

-cmin n 件状态修改,对文件状态的最近一次修改是在 n 分钟之前。

-atime n 访问时间,对文件的最近一次访问是在 n*24 小时之前。

-amin n 最后访问时间,对文件的最近一次访问是在 n 分钟之前。

-mtime : 指定时间曾被改动过的文件,意思是文件內容被更改过

-ctime : 指定时间曾被更改过的文件,意思是文件权限被更改过

-atime : 指定时间曾被存取过的文件,意思是文件被读取过

find与指定文件比较参数

-anewer file
对文件的最近一次访问比 file 修改时间要晚。如果命令行中 -follow 在 -anewer 之前,(也只有在这种情况下 -anewer会受 -follow 的影响)。

-cnewer file
对文件状态的最近一次修改比 file 修改时间要晚。如果命令行中 -follow 在 -cnewer 之前,(也只有在这种情况下-cnewer 会受 -follow 的影响)。

find实例
找出 3 天"以前"被改动过的文件 (前第三天以前 → 2015/03/26 12:00 以前的文件) (> 72 小时)
find ./ -mtime +3 -type f -print

找出 3 天內被改动过的文件 (2015/03/26 12:00 ~ 2015/03/29 12:00 內的文件) (0 ~ 72 小时內)
find ./ -mtime -3 -type f -print

找出前第 3 天被改动过的文件 (2015/03/25 12:00 ~ 2015/03/26 12:00 內的文件) (72 ~ 96 小时)
find ./ -mtime 3 -type f -print

找出第 3 天被改动过的文件 (也可以这样写)
find ./ -mtime +2 -mtime -4 -type f -print

分类: linux 标签: , ,