Motorola E680 交流园地

访问:178热度:*****

摩托罗拉E680是功能超强的娱乐商务两用手机,外置喇叭声响动人,语音拨号时尚前卫,影视短篇全屏播放更是魅力无限。采用了linux开放式操作系统,有n多扩展程序;支持1G的SD卡,MP3、电影、短片想放多少就放多少,想什么时候听就什么时候听;内置的录音功能完全可以替代专业的录音笔……
欲了解Motorola E680的基本信息和使用技巧,请前往后花园浏览“Motorola E680基地”,有使用心得体会、有拨号上网技巧,还有大量影音资源免费下载(已转换为E680支持的rm格式,分辨率为320×240)。
本“交流园地”希望能为朋友们提供一个交流探讨的平台,欢迎大家一起探讨有关Motorola E680的任何问题。
[点击”张贴评论”即可留言跟帖]

再谈debian下启动时时间自动增加8个小时的问题

访问:32热度:*****

本以为在在debian下解决时间同步的问题问
题已经解决了,但在几天后重启机器时发现问题依旧。晕,me都要疯了。要知道时间不对会给me带来多少麻烦:系统日志的时间错乱、apache2的log
文件也是时间错乱,而me用awstats对网站访问进行跟踪分析更是因为时间错位而丢掉了很多访问记录,总之是大大的不便甚至是n多的错误。

再次埋头去看rcS.d。发现了两个hwclock相关的脚本,一个带first,另外一个直接就是hwclock。顾名思意,前者是首次运行时执
行的,后者是常规调用的,但是在debian启动时应该也执行了一道的。vi进去看看,好大一堆东西,其中还涉及到了对/etc/default/rcS
文件的调用。在rcS文件中发现了一个UTC变量,而脚本中好像用了很多次UTC变量。man
hwclock后模模糊糊知道了问题是咋回事儿。debian系统中,时间分为两种,一种是硬件时间,也就是cmos时间,另外一个则是debian的系
统时间,就是操作系统使用的时间。linux内核在启动时首先从cmos读取硬件时间并据此设定系统时间,这时候要对时间的形式进行判断并做相应处理。时
间的形式有两种,一种是全球通用时间,也就是UTC,另外一种就是本地时间。这两者的关系是UTC+时区时差=本地时间。在hwclock命令中的开关分
别是?utc和?localtime。并且hwclock命令有个默认属性,那就是如果前次调用了?utc,那么下次进行任何操作(如读取、写入或者显示
时间)时默认就是utc选项了。
大约明白了是怎么一回事儿就好办了。查阅rcS文件,里面对UTC变量默认是no,改为yes。然后重新执行了一道
/etc/init.d/hwclockfirst.sh
start,显示时钟设置成功,本地时间为……,比当前的实际时间快了8个小时。不要紧,用ntpdate和internet服务器进行一次同步,然后
hwclocl -w。呵呵,这下应该好了。
关闭debian,并断开电源(此步要紧,以前本以为成功结果还是不行就是因为测试方法不对,因为me那时候每次都是运行reboot的)。再次启动,ok。时间显示正常。世界终于清静咯。

Technorati Tags: debian, linux, ntpdate, time, hwclock, heart5

在debian下解决时间同步的问题

访问:154热度:*****

在debian下解决时间同步的问题

在前几天的文章debian下如何修正系统时间中me 提到了时间同步存在的问题,虽然不大影响使用,但麻烦可是够麻烦的。因为系统在启动后登录gdm前的时间是错的,为了使debian系统在log时不发生 时间错乱,me只好按下alt+f1之类的键,进入cli更改系统时间,然后再用gdm登录,否则就会有8个小时的误差。要知道时间和空间是物理和哲学的 两大基础,对任何事情都有着不小的影响,时间错乱可千万是要不得。问题还是得想法解决。
学习了ntpdate的用法后,me用自己掌握的有限的shell编程知识弄了个脚本,并通过crontab进行调用,每个小时同步一次,保障时间是准确的。脚本内容如下:
garden:~/bin# cat ntpupdate#!/bin/sh/usr/sbin/ntpdate time.nist.gov | logger -t NTP/sbin/hwclock -w然后crontab -u root -e,把这个工具加入到自动运行的机制中,内容如下:
garden:~/bin# crontab -u root -l# m h  dom mon dow   command3 * * * * /root/bin/ntpupdate通过这种方式,登录后不超过一个小时,debian会使用ntpdate工具自动和internet上的时间服务器同步,呵呵,爽啊,现在每次对时间me 都要看看debian的系统时间,因为这个是最准的嘛。但仍是有问题没有解决,那就是在该脚本自动按照一定的周期同步之前的时间仍然是错误的,也就是说提 前了8个小时。
实在没有办法了,me突然想:难道是cmos中的时间设置错了。重新启动,按下del进入cmos设置界面,看时间居然是好的。这说明问题就出现在debian启动的过程中。
google了下,学习了不少关于debian类似的linux操作系统的启动过程。先调用/etc/rcS.d目录下的所有脚本,然后再根据 runlevel确定执行/etc/rc*.d下的脚本。在rcS.d目录下找到ntpdate的链接,看来安装了ntpdate后它自动会把自己加入启 动脚本组的。
通过分析,有两种可能导致时间错乱:debian启动时对系统时间根据时区设置进行了处理,但是错了,另外就是在这种情况下后来的修正工具(ntpdate)未能发挥作用。
仔细查阅rcS.d,发现有几个hwclock相关的脚本。用lynx查看,不知其所以然。后来想,还是得通过ntpdate解决问题为上策。不管前面如何处理,只要ntpdate起了作用,那时间就不会在debian系统启动的过程中错掉。
再次启动系统,死盯着快速闪过的一行行启动信息,突然看到了ntpdate的提示语句,好像是说域名解析暂时无法使用。嘿,问题就在这里了。
man ntpdate;找到了ntpdate的配置相关文件,分别是/etc/init.d和/etc/default目录下的ntpdate,其他如 rcS.d下的仅仅是链接而已,只要前两个改好了,其他都会好的。在配置文件中发现了它设定时间服务器为pool. ntp.org,me对此域名执行ping命令,把得到的ip“207.210.74.166”对域名进行替换。虽然感觉心里还是没底,但觉得好像是找到了问题的关键。
重新启动,debian在运行ntpdate的时候稍微停了一下,哈哈,看来是好了。进入系统,果不其然,时间终于正确了。世界从此清静。
下次有时间得仔细研究研究为什么在运行ntpdate的时候域名解析居然还没有设置好。

Technorati Tags: debian, time, ntpdate, heart5

说说cvs的本地化管理(五)

访问:0热度:*****

说说cvs的本地化管理(五)

document.title=”说说cvs的本地化管理(五) - “+document.title
下午上网去找那个sh.exe。到cygwin网站http://cygwin.com瞄瞄才知道,这个玩意儿好像知名度还挺高的,只是原来me不知道而已,嘿嘿。粗粗浏览一下网站,发现好像要安装整个cygwin才行,bash、sh之类的是其中的组件。其实说穿了,cygwin就是个能在windwos环境下支持unix、linux工具运行的模拟器。在其主页上点击install now,下载了一个两百多K的setup.exe。这么小!霍霍……点击运行才发现原来没有这么简单,因为安装界面中出现了download安装库的提 示,已经到了这一步那就继续吧。出现选择境像服务器的选项,先选了一个ftp,没有反应,后来才意识到可能是me在局域网内部的问题。其它专业的ftp工 具me平常都不能用,在这里对ftp进行操作应该也是没戏的,呵呵。选择了一个http的服务器进行,果然开始下载了。怎么?只有六十多K!很快就下载完 了,又出现了一个窗口,晕,好复杂,是个选择安装什么组件的窗口。真是一波三折哟!me完全不懂它的运作机制,怎么会知道该选择哪些组件呢!就默认吧。next,继续,开始下载。搞了好半天,me一看进度,才4%;查看 下载的目录的大小,已经有了12M。掰指头算了算。哇,即使是默认安装也需要下载近300M的东东啊!看着龟速挪动的进度条,me只好让这里继续下载的同 时再找其它办法咯。
祭出google大法。嗨,找到了提供cygwin本地安装版本的下载地址。其中一个只有40多兆,地址为http://ks.onlinedown.net/down/Cygwin0528.rar当然是它了。找到蚂蚁下载,十分钟就完成了。安装成功!可不能忘记要它是作什么的哟。赶紧运行NetBean,到version control的设置窗口,设定bash的路径(就在cygwin安装目录下的bin中)。点击ok,哈哈,这次终于没有出错提示了。init,成功。然 后从cvs的repository中checkout了388ablum模块。呵呵,好像行了。具体的便利又得靠me慢慢摸索了,呵呵,不过还是高兴 啊…… 再岔开说说cygwin 吧。把安装目录下bin放在了系统路径中,下面为数众多的unix工具都可以运行,晕,厉害呀。不过除了ls外其它的命令me都不知道是干什么的,嘿嘿, 以后慢慢学吧。用teleport把cygwin的主页拉到硬盘上,初步看了一下,功能真多。cygwin应该是个可以在windows下运行的模拟 unix环境的虚拟环境!因为完全按照NetBean的help中所说,设定工作目录,init,然后checkout。结果checkout出来的并不是me正 在工作的版本!可能是me对cvs的命令还没有用熟的原因吧,但这样可不行啊,毕竟最终还是要回到目前的工作上来。把repository目录备份后,小 心翼翼的把NB下版本控制中的working directory设置为当前目录,呵呵,成了,在版本控制板块中显示出当前工作的版本和状态。随后对几个文件做了些改变用来测试,在版本控制模块中操作 成功,基本和wincvs中操作是一样的,甚至更方便。 比如添加文件在wincvs中就不是很方便,对没有进入 repository的新文件,在wincvs的浏览器中根本就不能显示,需要把文件名称记好再操作add、commit等命令;但是在NB的cvs中就 可以直接显示并选中直接执行add、commit操作,呵呵,爽。这下终于搞定。不过以后还得深入学习cvs的强大功能^_^

Technorati Tags: netbeans, cvs, version+control, heart5

说说cvs的本地化管理(四)

访问:1热度:*****

说说cvs的本地化管理(四)
document.title=”说说cvs的本地化管理(四) - “+document.title
最后通过完全和NB无关的方式实现了程序的版本管理,应该算是一种迂回。通过几次试验操作,现在已经基本能够实现版本管理的一些基本功能,但对分支管理、版 本融合以及目录移除添加还没有完全掌握,只能留待以后在需要的时候补充学习了。虽然已经能够使用这个功能,但对NB支持cvs而只能通过外部方式实现的现 状耿耿于怀,NB既然实现了此功能,不把它发挥出来岂不可惜!不死心,晚上又试了试Mounting Version Control,这次NB好像能够识别出me已经正在使用的repository,因为cvs.exe的路径已经放在系统路径中了,设置了work directory后直接finish。哦赫,和以前一样,又出错了:
the following command failed exectue in the system:sh.exe -c cd “”D:\mycode\0wrkdir\j2me_other///.””&&   “”cvs”” -d “”:local:””  -f status -l
气愤,马上把它unmount。回到设置窗口仔细研究,在use command line cvs client选项中unix shell中显示tips为“unix shell for windows 95/98/ME”,其默认值是sh.exe。想到出错的不能执行的命令,难道是这里的问题?!
拿那个tips的内容在帮助系统中搜了一下,嘿嘿,果不其然,居然找到了这么一条:
VCS Support on Windows 95, Windows 98, and Windows ME,即在win95、98、ME下的vcs支持,内容中是这样说的:Windows 95, Windows 98, and Windows ME do not have a command [...]

说说cvs的本地化管理(三)

访问:1热度:*****

说说cvs的本地化管理(三)

初步掌握了cvs的命令行用法后me又回到了wincvs,也就是windows版本的图形化的cvs。因为基本原理已经比较清楚,这下看着 wincvs 下的各种菜单、按钮不再感到陌生,呵呵。先导入了昨天试验用的项目,运行基本正常(也就是能正确显示出和命令行工具一样的结果),然后把手头的两个项目也 倒进去了,随后就是在NetBean中把该project中心mount。OK,wincvs和NB终于可以联合使用了,应该说在工具操作方面有上升了一 个台阶,对软件开发的益处是显而易见的,但具体有多大帮助可能要完全取决于me的编程功力的提高,呵呵,再好的工具放到菜鸟手里也发挥不出威力!因为wincvs暂时能够满足me的需求,再说也确实想停停手在j2me上花点功夫,所以ant的使用就过段时间再学^_^!!!使用工具前对其功能进行全面的了解是非常有必要的;看帮助文件是必须的,不管有多累;多用网络搜索,会有意想不到的收获;要有坚不可摧的决心。

Technorati Tags: netbeans, cvs, version+control, heart5

说说cvs的本地化管理(二)

访问:10热度:*****

说说cvs的本地化管理(二)

六、从项目中删除文件。1、操作步骤和添加的操作差不多,差别在于add改为remove,相同之处在于都需要再commit一次。2、注意把工作目录下的文件也做相应删除。3、!!!CVS只是删除了当前版本的指定文件,它以前的版本依然存在,除非它恰好仅有1.1版本。4、!!! 删除目录的方法就是删除目录下的所有文件。用户不能直接删除目录本身,目前CVS中也没有方法可以办到这一点。可以在cvs update或cvs checkout命令中使用-P选项来让CVS删除工作目录中的空目录 (注意cvs export命令总是删除空目录的)。可能最好的办法就是每次在上面的命令中指定-P选项。如果用户希望在工作目录中保留一个空目录,将不得不在该目录中 随便放一个文件 (例如放一个.keepme)文件来防止它被带-P的命令删掉。 七、设定特定版本号。1、程序稍具规模,相对比较成熟的时候,可以给所有的代码设置为某个版本的标签。2、cvs tag test_1,默认递归对子目录进行操作 取出该版本的命令为cvs checkout -r test_1 sound,在当前目录下生成sound子目录并放置所有标记为test_1的代码。 八、更新当前目录下的文件。1、命令开关为update,主要用于多用户操作时的同步。2、对单用户可以通过-j命令实现不同版本的合并。cvs update -j 1.8 -j 1.2,可以忽略自1.2版本到1.8版本所做的改变。 九、分配版本号。1、把所有的文件(包括那些没有被修改的文件)更新到3.0版本,你可以调用以下命令: cvs commit -r 3.0  2、!!!新的版本号必须比现有所有文件的最大版本号还要高。 十、分支管理。1、如果正在开发某个高版本,低版本出了问题,不想放下高版本的工作,这时候可以设置分支,并对低版本进行修订;修订工作结束后还可以和现有的高版本进行融合。2、基于当前工作拷贝建立分支。cvs tag -b rel-1-0-patches3、也可以直接在源码库中基于某个版本或者标签建立分支。cvs rtag -b -r rel-1-0 rel-1-0-patches tc,注意使用的rtag命令。4、融合该分支所做的改变到当前工作目录。cvs update -j branchname;cvs commit

Technorati Tags: netbeans, cvs, version+control, heart5

说说cvs的本地化管理(一)

访问:18热度:*****

说说cvs的本地化管理(一)

昨晚闹腾到三点钟都没有解决问题。仔细查阅了帮助文件,找到了这个方面的内容:如果提供cvs命令行工具的话,通过一定的设置,是可以支持本地化的版本配置管理的。兴冲冲的去试过程如下:1、安装了wincvs12,目录中有cvs.exe命令支持命令行运行;2、在NB update中心下载了cvs模块并加载;3、菜单中出现版本控制的选项,选mount version control,出现设置对话框,选cvs的profile,并设置类型为local(如帮助所提示),然后依次设置working path和reporisty,确定。4、init,正常;checkout,正常;但是,进行commit操作时提示bad command or filename;然后无论进行其它任何操作如add、remove等都出现此错误提示;5、再次对cvs profile进行设置,手动设置cvs路径,以及unix shell的解释器为command.com,问题依旧。
04-9-29 13:48
中午上网查询,首先在中国java网发帖求助(http://www.cjsdn.net/post/view?bid=7&id=114488&sty=1&tpg=1&age=0),光靠别人可不行,于是me就用google搜,呵呵,有用的真不多呀。不过看到了一个有用的,用CVS来管理自己的程序(http://www.fanqiang.com/a6/b9/20010809/1500001096.html)。一、初始化环境并设置repository。1、 如法炮制,me首先设置了环境变量(说明一下,me的win98),在dos窗口中set CVSROOT=E:\MYDATA\repst\CVSROOT,然后运行set查阅变量已经设置好;谁知道运行cvs init的时候出了问题,出错提示“CVS.EXE [init aborted]: no such host E”。在例子中的os都是unix或者linux,路径如/user/CVSROOT之类,难道cvs不支持windows的路径系统?!2、找到cvs.hlp帮助文件,翻啊翻啊,翻的累死了,终于在Node: Repository中发现了这么一句:But if (under Windows NT, for example) your local repository is c:\src\cvsroot, then you must specify the access method, as in :local:c:\src\cvsroot.呵呵,原来还有这么一说!随后为了查询repository的中文意思(汗!),结果用google发现了cvs帮助的中文版本(http://cvsdoc-zh.gro.clinux.org/cvsdoc/zh_CN/html/Repository.html#Repository),呵呵,可见互联网是个好东东!3、好,言归正传,运行cvs -d :local:E:\MYDATA\repst init,什么提示都没有,查阅一看,多出了一个CVSROOT的目录,下面有好多文件,可见init已经成功了,哈哈,终于前进了一步。二、导入一个例子项目到cvs中去。1、进入该项目所在的目录E:\MYDATA\JAVAPRO\sound;2、 然后运行cvs import -m “start my project: sound” sound heart5 [...]

Debian定时任务管理(二)

访问:90热度:*****

Debian定时任务管理(二)
cron 程序使用两种不同类型的配置文件, 即系统 crontab 和用户 crontabs。 两种格式的唯一区别是第六个字段。 在系统 crontab 中,第六个字段是用于执行命令的用户名。 这给予了系统 crontab 以任意用户身份执行命令的能力。 在用户 crontab 中, 第六个字段是要执行的命令,所有的命令都会以这个用户自己的身份执行; 这是一项重要的安全功能。

注意: 同其他用户一样, root 用户也可以有自己的 crontab。 它不同于 /etc/crontab (也就是系统 crontab)。由于有系统 crontab 的存在, 通常并不需要给 root 建立单独的用户 crontab。
看一下debian中默认的crontab文件(路径为/etc)的内容:# /etc/crontab: system-wide crontab# Unlike any other crontab you don’t have to run the `crontab’# command to install the new version when you [...]

Debian定时任务管理(一)

访问:191热度:*****

Debian定时任务管理(一)
[本文转自http://forum.upsdn.net/index.php?prog=topic::flat&tid=1162 ,me根据自己的理解和实验进行了修改]

“Debian定时任务管理”
任何系统管理员权限内的任务都必须位于 /etc 内,因为它们都是配置文件。如果您有一些需要以管理员身份每天 (daily),每周 (weekly) 或每月(monthly) 运行的定时任务,请将它们放置在 /etc/cron.{daily,weekly,monthly} 中。它们将从 /etc/crontab 中被激活,然后按照文件名的字典顺序依次运行。
另一方面,如果您有某个定时任务需要以某个特定的用户身份运行,或者需要在某个特定时刻或以特定周期运行,您或者可以使用 /etc/crontab,或 /etc/cron.d/whatever,而后者会更好一些。这些特殊的文件可以包含一个额外的域,允许您指定运行该定时任务的用户帐户。
在任何情况下,您只需编辑这些文件,cron 将会自动处理它们。没有必要再运行某个特殊的命令。
有两种方法来让一个命令或者脚本执行:crontab : 执行一个任务一次或者多次.at : 只执行一次.
crontab是通过读取一个crontab文件来工作,这是一个普通的文本文件,里面列出了要执行的任务每行都含有要指定的任务的 命令 参数与选项,以及要执行任务的时间。(cron 软件在后台运行并且经常检查 /etc/crontab 文件。cron 软件也检查 /var/cron/tabs 目录,搜索新的 crontab 文件。这些 crontab 文件存储一些 cron 在特定时间执行任务的信息。)
所有的用户都可以设置他们自己的crontab文件,然而,root可以使用两个文件来控制访问:
/etc/cron.allow:如果这个文件存在,只有列在这里面的用户才可以用crontab./etc/cron.deny:如果这个文件存在,列在这个文件里面的用户不能用crontab.
所有的crontab文件都保存在/var/spool/cron/crontabs/目录。然而,因为普通用户是无法读写这个目录的,他们必须用crontab命令来加入计划任务
许多系统管理员工使用3个文件来调度任务:/etc/cron.daily, /etc/cron.weekly, 和 /etc/cron.monthly.就像他们的名字所提示的那样,这些目录含有规则的计划任务,在每天,每周或者每月间隔执行一次
“如何使用crontab文件”
键入 crontab options user 或者 crontab -e
(只有root 才能指定其他用户的 crontab文件)
[...]