存档

2010年12月 的存档

openSUSE下面cron任务的建立

2010年12月29日 没有评论

openSUSE下面没有run-parts这个脚本,

从这可以看到http://en.opensuse.org/openSUSE:Cron_replace#Differences_between_new_openSUSE.27s_cronie_and_Fedora.27s_cronie

In short : Fedora use /usr/bin/run-parts script (it’s not part of cronie package, but crontabs package) and openSUSE’s cron use /usr/lib/crons script. Both use different techniques : in openSUSE /usr/lib/crons manage start of all script in cron.* dirs and also use some part of sysconfig options from /etc/sysconfig/cron.

所以openSUSE下面的cron任务建立跟常见的可能会不一样。

http://en.opensuse.org/SDB:Cron

具体的可以看这篇,很详细。

分类: 杂项 标签: , ,

Fedora下nvidia显卡驱动的安装

2010年12月28日 没有评论

网上查基本上是两种方式,一种是添加rpmfusion的源,这种驱动不是官方的,但是性能好像比默认的nouveau性能好,可以开3D效果。

另外一种就是官方驱动了,我觉得官方的安装其实很简单啊,性能也有保证。

lspci|grep VGA 查找到自己显卡的型号,到官网上下载对应的驱动,浏览器下载也行,wget也可以,下载完修改vi /etc/inittab,改成3命令行启动,chmod 777 下载的驱动文件或者chmod +x 下载的驱动文件,然后./下载的文件,执行就行了。

修改/etc/modprobe.d/blacklist,屏蔽掉默认驱动blacklist nouveau,把blacklist nvidiafb这行屏蔽,为了防止kernel加载nouveau,还需要修改 /boot/grub/grub.conf,在kernel行尾加上 rdblacklist=nouveau

这样官方驱动就装好了。

我弄的时候先是添加了rpmfusion的源,装了个livna的驱动,会跟官方有冲突,搞了半天才搞定。

分类: 工作 标签: , ,

Linux内核中的PAE意义

2010年12月28日 没有评论

经常看内核名字的时候会发现带上PAE字样,查了一下,原来是:Physical Address Extensions

操作系统在32bit x86平台上最大寻址空间只有4GB,如果要使用大于4GB的内存,就必须使用Intel的PAE(物理地址扩展)模式。在Windows NT平台实现PAE只需要对boot.ini加上/pae即可。而对于RHEL5,缺省安装模式下是不允许检测超过4GB内存,所以我们需要在内核安装完 毕后再安装kernel-PAE套件。

如果是装的i386系统并且内存大于2G,装的kernel上就会带上PAE的字样,64位的系统就不会这样。

今天装驱动的时候需要装kernel-devel,直接yum install kernel-devel后还是不行,看了一下内核是带PAE的,这时候要安装kernel-PAE-devel。

搞定。

tsocks在Ubuntu下面只能用ip地址

2010年12月28日 没有评论

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

就是这样。

分类: 工作 标签: , , ,

个人感觉比wget更强大的lftp

2010年12月27日 2 条评论

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

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

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

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

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

分类: 工作 标签: , , ,

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。 阅读全文…

分类: 工作 标签: , , ,

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.

分类: 工作 标签: ,

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,是个类似于表格一样的东西,选择开启还是关闭。

利用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那个了。

分类: 杂项 标签: , , ,

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,用法一样。