131 views

tsocks在Ubuntu下面只能用ip地址

2010年12月28日 没有评论

hostname和URL地址都不行,服务器只能填ip,也就是说只识别数字。

就是这样。

分类: 工作 标签: , , ,
370 views

个人感觉比wget更强大的lftp

2010年12月27日 2 条评论

wget功能很强大,manual手册都写了好多页,基本上大家想到的功能都有对应的选项,想干啥的时候先man一把基本上都能找到。

但是我个人觉得有一个缺点就是不支持多线程下载,像我上次写的用wget对源做备份,公司带宽其实挺高的,平时用sohu,163的源下东西都能上兆,不支持多线程的话其实速度就上不去,速度到了四五百K就上不去了,这样就很慢了,做个备份要好几个小时。

于是我找了另一个命令行下的下载工具,lftp,也支持mirror的功能。

lftp的功能很强大,这里主要讲讲比wget强的地方就是支持同时下载几个文件,每个文件还可以指定几个线程下载。像我指定同时下载5个文件,每个文件5个线程,速度大概有三四兆,半个小时备份就做完了。

另外一个牛逼的地方在于,当我们做完一次备份,定期更新的话就不需要每次都重新下载了,但是用wget更新的时候,wget是发现服务器端的文件跟本地的不一样(文件大小或者修改时间),或者服务器端有的文件本地没有,就会重新下载下来,这样更新其实是有漏洞的,那就是要是你本地有这个文件,服务器那边删掉这个文件了,wget是不作处理的,虽然这样弄对做源应该是没多大影响,但是会让本地的文件越来越多,文件多了自己想删都不知道删什么。lftp的同步更新功能就可以发现这点,要是服务器端没这个文件了,它更新的时候就会把本地的也删掉,这点很赞!
像我上次做备份用的命令是 阅读全文…

分类: 工作 标签: , , ,
251 views

openSUSE下利用wget对源进行备份

2010年12月23日 没有评论

Create image的时候需要从源download package,但是用公司代理速度很慢,而且mic-image-creator还有些毛病,有时候package已经在cache里了,还是要重新retrieving一遍,遇到比较大的时候就很郁闷。就想干脆把源mirror下来好了。对openSUSE本来并不怎么熟的,平时都玩Ubuntu和Fedora,而且Ubuntu和Fedora的机子配置都高,8核i7,但是无奈openSUSE上的空间比较大,两块硬盘加起来600多G,只分别给openSUSE11.3和Fedora12划了50G,剩下的不用就浪费掉了,所以就在openSUSE的机子上用100G专门做镜像了。

首先要把用作备份的硬盘分区在开机的时候就能挂载上去, mkdir /mnt/mirror,然后ls -all /dev/disk/by-uuid

找到要做备份的硬盘分区的UUID,然后编辑 vi /etc/fstab,在最后面添加上UUID=用作镜像的硬盘分区UUID /mnt/mirror ext3 defaults 0 0

注意是defaults,不要少了s,我一开始少加了,结果就没挂载上去。而且有意思的一点是,Ubuntu和Fedora下面都是根据UUID识别分区的,当然也可以直接用/dev/sda?之类的来识别,openSUSE用的却是id来区分,这点可以在ls -all /dev/disk/by- 的时候按两下tab键看看,有by-id,by-pach,by-uuid。

添加完毕,这块硬盘就会开机的时候自动挂载了。

然后用wget -q -b -m -c -np -P /mnt/mirror –random-wait -k http://repo.meego.com/MeeGo/builds/trunk/1.1.80.11.20101221.1/

这里-q是不显示输出,-b是后天运行,-m是mirror的意思,等价于-r -N -l inf -nr,即-r递归,-N检查时间戳,比本地新才下载,-l inf递归层次无限,-nr不移走.listing文件,-c 断点续传,-np,不递归到上层目录,-P 下载目录,-random-wait 两次下载之间等待random的时间, -k 转换非相对链接为相对链接。

等下载完之后就行了。这样下载到mirro目录里,层次是/mnt/mirror/reop.meego.com/MeeGo/builds/trunk/1.1.80.11.20101221.1/下载下来的各级子目录,要想去掉repo.meego.com,可以加-nH的选项,就不建立主机名目录了。

接着安装Apache服务器,zypper install apache,openSUSE下服务默认是不会开启的 chkconfig apache2 –level 345 on 参数的具体意思看这篇,或者也可以在图形桌面环境下的yast2里开启服务。

另外openSUSE默认防火墙是开启的,而且防火墙默认关闭所有端口,所以要自己手动开放http server的端口,或者之间把防火墙关掉也行。

接着配置Apache。 阅读全文…

分类: 工作 标签: , , ,
150 views

find命令中的-exec选项与shell里的exec命令

2010年12月22日 没有评论

find ./ -name “.*log” -exec sed -i ‘s/localhost/127.0.0.1/’ {} \;

查找当年目录下的所有log文件,找到一个就执行一次-exec后面的命令,把找到的内容放入{}中进行替换。

“-exec”作为find命令的一个option, 其功能是

Execute command; true if 0 status is returned. All following arguments to find are taken to be arguments to the command until
an argument consisting of `;’ is encountered. The string `{}’ is replaced by the current file name being processed everywhere
it occurs in the arguments to the command, not just in arguments where it is alone.

与Shell里的exec命令是不一样的

exec [arg]
If arg is present, executes arg in place of this shell.

分类: 工作 标签: ,
207 views

sysv-rc-conf与chkconfig

2010年12月19日 没有评论

那天在openSUSE上装了ssh,发现不会默认启动,只好手动chkconfig把ssh启动起来。

chkconfig ssh –level 345 on

–level是系统运行的等级

linux os 将操作环境分为以下7个等级:
0:开机(请不要切换到此等级)
1:单人使用者模式的文字界面
2:多人使用者模式的文字界面,不具有网络档案系统(NFS)功能
3:多人使用者模式的文字界面,具有网络档案系统(NFS)功能
4:某些发行版的linux使用此等级进入x windows system
5:某些发行版的linux使用此等级进入x windows system
6:重新启动

Ubuntu下面默认是没有chkconfig的,但是可以装上,或者用sysv-rc-conf,是个类似于表格一样的东西,选择开启还是关闭。

851 views

利用openSUSE Live cd修复grub

2010年12月19日 没有评论

Linux发行版里,openSUSE的开机引导效果应该是做的最好看最华丽的了,Ubuntu就比较挫,从来都是黑底白字,让你在那选,Fedora的要稍微好一些。

上次因为需要,装了几个不同的Linux发行版,最后通过Ubuntu livecd的方式修改了grub,所有的系统都可以找到,但是感觉openSUSE的效果最好,所以找到了openSUSE修复grub的方法。

从livecd启动,选择rescue模式,待启动完成进入root用户后,输入grub进入grub界面 find /boot/grub/stage1,这里会得到一个(hd?,?),hd?表示当前要安装的GRUB的存储设备,?表示boot所在的分区编号。以它为参数进行下面的操作

root (hd?,?)
setup (hd0)

其实不进入rescue,开机进livecd,打开终端进入管理员模式,按照上面操作也可以。

或者在root用户下重新安装grub:#grub-install /dev/hda。

这样开机grup引导就是openSUSE那个了。

分类: 杂项 标签: , , ,
361 views

Windows下文本文件如何转化为Linux下的格式

2010年12月19日 没有评论

windows下面的换行使用的是回车换行(\r\n),Linux下采用\n换行,而mac采用回车符\r换行,所以有时候在3个系统下编辑的文本文件换到另外一个系统下的时候会出现问题。上次在windows下编辑了一下shell脚本文件,在Linux下没法运行,因为Linux会把\n当做换行,\r就算成前面文件的内容,我运行脚本就会得到错误的提示/bin/sh^M: bad interpreter,这里应该就是把\r(^M)当成文件的内容了。

另外一点有趣的是,windows下的程序读取文本时,会自动把文件里德\r\n转换成\n,写入文本时,会自动把要写入的\n变成\r\n。

网上找了一些解决方案,整理一下。

对于单个的文件,直接用vim改就可以了,打开文件,:%s/^M//g,这里^M要用ctrl+v+m打出来,不能用shift+键盘上的数字6键,如果不行就再执行一下:%s/^@//g,^@用ctrl+v+enter打出来的,或者也可以试一下set fileformat=unix。

或者可以使用一个叫dos2unix的软件进行更改,安装完执行dos2unix 文件名就可以了,需要说明一点的是,Ubuntu下面这个工具不叫这个名字,执行apt-cache search dos2unix找出来的是tofrodos,用法一样。

498 views

windows主机远程登录Linux桌面

2010年12月13日 没有评论

一般情况下虽然ssh已经够了,但是有时候有一些x application,所以时不时的还是要登录一下桌面。

基本上有两张方式,一种是VNC的方式,一种是xdmcp连接的方式。网上经常能看到putty+xming的方式,但是这种默认都是进入命令行,运行x application就会弹出来框来,我们要的是直接登录进去桌面环境。

以Ubuntu为环境介绍。

先介绍vnc的方式。

apt-cache search vnc

随便装一个vncserver就行了,差不多的东西。

装完之后运行

vncserver :1

这样就开了一个vncserver的端口,同时在运行这个命令的用户目录里会建立 ~/.vnc/xstartup文件用户可以通过远程连接这个端口登录了,需要说明的是,哪个用户建立了这个端口,远程连接进来就会默认使用这个用户登录。

接着运行vncserver -kill:1,关掉刚才建立的端口,编辑~/.vnc/xstartup文件,选择登陆的方式,如果不修改,默认是xterminal的方式。其实把这个文件清空,把/etc/X11/Xsession里的内容复制到xstartup文件里就行了,我就是这么做的,这样就会才用跟我在主机上登录一样的方式。另外,每个不同的用户建立端口后,最好都修改一下自己所在目录下的xstartup文件,因为每一个人都是独立的,不知道这个里面有没有全局性的配置。

远程客户机上,Linux下一般都会有vncviewer,windows下free的vncviewer也不少,realvnc就有免费版的,我用的是专业版的,因为公司直接就可以下…realvnc连接的时候,在server选项里填上ip:port,或者主机名:port就行了,比如说你Linux主机的ip是192.168.1.2,并且已经运行过vncserver:1,那填的就是192.168.1.2:1。

另外还有一种连接进来的方式,可以不用建立端口,在system->remote desktop里面,选择允许其他用户控制,并且在下面的选项里填上密码什么的,这样通过vnc连接进来的时候,不用填端口,直接填主机或者IP就行了,这样Linux主机上会弹出来提示,问允不允许远程连接,只有允许了才能控制,不然不行,而且这时候Linux主机和远程机是同步操作的,在任意一方的操作,都会在另一方显示。

vnc主要的缺点就是需要用户登陆进去开启服务才行,不能开机就默认开启的。另外,用vncview查看的时候,按键盘的s键,会影响到远程主机的system键,也就是关机、注销什么的那个键,按m键到mail那个键,这种好像没有好的解决方法,查到一个,就是把这些东西都从panel上remove掉好了,不然就有几个键没法输入了。

通过xdmcp连接的方式。

Ubuntu 9.04

system->Administration->logon window remote选项,选择same as local,

system->Administration->logon window general选项 去掉Disable Multiple login for a single user选项,

编辑/etc/gdm/gdm.conf,找到#RemoteGreeter=/usr/lib/gdm/gdmlogin 把#去掉,找到xdmcp,把Enable=false改成Enable=true

Ubuntu 10.04 

编辑/etc/gdm/gdm.schemas,找到xdmcp,把default选项改成true。

这样重启下gdm,/etc/init.d/gdm restart,或者重启下电脑就可以连上了,但是在10.04下断开一次后再连就连不上了,需要重启gdm才行,所以建立一个文件保存配置。

# GDM configuration storage
[daemon]
[security]
[xdmcp]
Enable=true
DisplaysPerHost=2
[greeter]
[chooser]
[debug]

Ubuntu挫就挫在经常改配置文件,每一个版本都要改一改,要么就是配置文件存放的位置不跟其他发行版一样,这点用多了其实很烦,Ubuntu确实只适合用作desktop。

客户机用xming登陆就行了,点开xlaunch,不要选multi windows,其他的都可以,然后选择via xdmcp后面填ip或者主机名就行,最后也可以把设置保存下来。好处就是那边开机就可以用。不过感觉好像比vnc慢,可能是心理原因,不管是vnc还是xming,我这局域网登陆,远程看视频还是有点钝。

分类: 杂项 标签: , , , ,
121 views

这是开始

2010年12月6日 2 条评论

嗯,开始吧…

分类: 未分类 标签: