Tag Archives: Linux
IN:Linux Tags: Fedora, Linux Comments:25用了Fedora也有不少时间了,总的感觉还不错,但是我想要一个可以掌握在手里的系统,比较干净一些,不想有一些我从来用不到的东西,比如Java,我很讨厌系统里面有这些个东西,Fedora安装下来有不少没用的东西,即使使用很小的安装也得占大概2G的空间。
我希望的这个发型版:
比较干净(没用的东西尽量少,需要的时候才安装)
定制性比较强,安装软件比较容易(但也不可以因为我想听个歌而让我折腾半天的时间去装个播放器,也不可以让我花大量时间去折腾显卡配置等系统问题,我需要专注做事情,而不是折腾系统,系统只是个工具)
很方便使用X,我大部分时间还是需要X的;
比较适合做开发,比如Python,SDL,OpenGL,wxPython……
速度比较快,Fedora开机的时候会加载很多没用的东西,当然这些可以自己手动去掉,俺还是不喜欢;
升级不能太频繁,Fedora从5开始用,现在都10了,才两年多的时间,太快了,虽然系统确实一直在进步,或者至少可以平滑的升级,Fedora在这方面做的不好;
稳定性比较好,说实话用这么长时间Fedora,还是有不少时间莫名的死掉;
暂时就想到这么多,最近把大部份的Linux发型版介绍都看了看,目前觉得以下几个比较合适的我需要:
ArchLinux
Slackware
Gentoo
现在还拿不定主意,路过的给个选择,或者还有别的发型版更合适我?
IN:Linux Tags: E680, Fedora, GPRS, Linux Comments:5电脑通过E680G/I手机实现GPRS上网
E680是一款摩托的Linux系统手机,在Windows下可以通过自带的MPT工具包实现与电脑连接的GPRS上网,在Linux下也是比较方便的,以前我也用过,只是没记下来,今天再用的时候还得看别人写的文章,还是自己记一下。
我用的是Fedora 9,一般的Linux系统都应该可以,大同小异。首先是手机端设置连接模式为调制解调器(Modem),通过数据线连接到电脑后(也可以用蓝牙,我这里没有环境),Fedora 9会识别到有新的调制解调器:
发现新硬件:
usb 4-3: new full speed USB device using ohci_hcd and address 2
usb 4-3: configuration #1 chosen from 1 choice
usb 4-3: New USB device found, idVendor=22b8, idProduct=3802
usb 4-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 4-3: Product: Motorola USB Modem
usb 4-3: Manufacturer: Motorola
cdc_acm 4-3:1.0: ttyACM0: USB ACM device
usbcore: registered new interface driver cdc_acm
drivers/usb/class/cdc-acm.c: v0.25:USB Abstract Control Model driver for USB modems and ISDN adapters
它对应的设备就是/dev/ttyACM0。接下来用wvdial这个拨号工具,如果没有这个包的话请自行安装,wvdial有一个配置文件/etc/wvdial.conf,(使用root进行下面的操作)编辑这个文件,:
添加以下内容:
[Dialer Defaults]
Init1 = at+cgdcont=1,"ip","cmnet"
Phone = *99***1#
Modem = /dev/ttyACM0
Username = "cmnet"
Password = "cmnet"
Carrier Check = no
Baud = 460800
Auto DNS = on
如果已经有Dialer Defaults这一块则覆盖之。这里要注意使用的是cmnet,最好是手机包月不分cmnet和cmwap那种的,不然收费是很贵的。修改完该文件后还需要对/etc/ppp/options文件进行修改,添加一行:
:192.168.0.254
这个修改比较奇怪,E680系列的Linux手机都需要这样:-(,不然用wvdial拨号时会在/var/log/messages中产生下面的错误:
错误信息:
Oct 16 09:56:25 cocobear pppd[18141]: pppd 2.4.4 started by root, uid 0
Oct 16 09:56:25 cocobear pppd[18141]: Using interface ppp0
Oct 16 09:56:25 cocobear pppd[18141]: Connect: ppp0 < --> /dev/ttyACM0
Oct 16 09:56:36 cocobear pppd[18141]: Remote message: Welcome to Motorola A760 Software Modem!
Oct 16 09:56:36 cocobear pppd[18141]: PAP authentication succeeded
Oct 16 09:56:44 cocobear pppd[18141]: LCP terminated by peer (^@^@^@^@^@^@)
Oct 16 09:56:44 cocobear pppd[18141]: Modem hangup
Oct 16 09:56:44 cocobear pppd[18141]: Connection terminated.
Oct 16 09:56:44 cocobear pppd[18141]: Exit.
修改完这个文件后就可以开始拨号了,直接使用wvdial命令:
拨号信息:
[root@cocobear cocobear]# vim /etc/wvdial.conf
[root@cocobear cocobear]# vim /etc/ppp/options
[root@cocobear cocobear]# wvdial
--> WvDial: Internet dialer version 1.60
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: at+cgdcont=1,"ip","cmnet"
OK
--> Modem initialized.
--> Sending: ATDT*99***1#
--> Waiting for carrier.
CONNECT
--> Carrier detected. Waiting for prompt.
~[7f]}#@!}!}!} }< }!}$}%\}"}&} } } } }#}$@#}%}&j}?} } }'}"}(}"?}3~
--> PPP negotiation detected.
--> Starting pppd at Thu Oct 16 09:58:41 2008
--> Pid of pppd: 18959
--> Using interface ppp0
--> local IP address 10.182.237.127
--> remote IP address 192.168.0.254
--> primary DNS address 211.137.130.3
--> secondary DNS address 211.137.130.19
从上面的信息中可以看出我们成功的拨号上网了,不过这时候我们还需要手动把192.168.0.254添加为默认路由:
route add default gw 192.168.0.254
ping一个google:
Ping结果:
[cocobear@cocobear ~]$ ping www.g.cn
PING g.cn (203.208.33.100) 56(84) bytes of data.
64 bytes from 203.208.33.100: icmp_seq=2 ttl=242 time=709 ms
64 bytes from 203.208.33.100: icmp_seq=4 ttl=242 time=1359 ms
64 bytes from 203.208.33.100: icmp_seq=5 ttl=242 time=1159 ms
64 bytes from 203.208.33.100: icmp_seq=6 ttl=242 time=1021 ms
64 bytes from 203.208.33.100: icmp_seq=7 ttl=242 time=617 ms
^C
--- g.cn ping statistics ---
8 packets transmitted, 5 received, 37% packet loss, time 13411ms
rtt min/avg/max/mdev = 617.708/973.500/1359.063/276.410 ms, pipe 2
好大的延时,还有丢包,没办法了中国移动的GPRS就这样了,EDGE在西安只有部分地区覆盖了,而且E680手机是不支持的!
终于上来了,搬到新租的房子后还没拉网线,只能先这样了。
羡慕王聪同学的3G上网啊@_@
IN:Linux Tags: Linux, MySQL, Shell Comments:4改了info域名后网站以前里很多页面里有cocobear.cn,连一些图片也显示不出来,今天就处理了一下:
把网站里一些文件做替换,先备份一下:
grep cocobear.cn ./cocobear.info/ -R -l –binary-files=without-match|xargs -i cp –parents {} bk/
然后全部替换:
grep cocobear.cn ./cocobear.info/ -R -l –binary-files=without-match | xargs sed -i ‘s/cocobear\.cn[^@]/cocobear\.info/g’
剩下就是数据库里的内容了,主要是wp_posts表中的post_content字段,还有guid字段,还有wp_comments中的comment_author_url,wp_postmeta中的meta_value;
操作的命令是:
mysql> update wp_posts set post_content=replace(post_content,”http://www.cocobear.cn”,”http://cocobear.info”);
当然在进行数据库操作时一定要记得先备份一下:
mysqldump -h mysql.1g50.cn -u cocobear -p cocobear > 0808151.sql
使用 mysqldump -h mysql.1g50.cn -u cocobear -p cocobear < 0808151.sql恢复似乎不太好,还是进mysql里使用source ~/0808151.sql进行恢复。
IN:Linux Tags: crontab, Linux Comments:3名称 : crontab
使用权限 : 所有使用者
使用方式 :
crontab file [-u user]-用指定的文件替代目前的crontab。
crontab-[-u user]-用标准输入替代目前的crontab.
crontab-1[user]-列出用户目前的crontab.
crontab-e[user]-编辑用户目前的crontab.
crontab-d[user]-删除用户目前的crontab.
crontab-c dir- 指定crontab的目录。
crontab文件的格式:M H D m d cmd.
M: 分钟(0-59)。
H:小时(0-23)。
D:天(1-31)。
m: 月(1-12)。
d: 一星期内的天(0~6,0为星期天)。
cmd要运行的程序,程序被送入sh执行,这个shell只有USER,HOME,SHELL这三个环境变量
说明 :
crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。
参数 :
crontab -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
crontab -r : 删除目前的时程表
crontab -l : 列出目前的时程表
crontab file [-u user]-用指定的文件替代目前的crontab。
时程表的格式如下 :
f1 f2 f3 f4 f5 program
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推
当 f1 为 a, b, c,… 时表示第 a, b, c,… 分钟要执行,f2 为 a, b, c,… 时表示第 a, b, c…个小时要执行,其馀类推
使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。
例子 :
#每天早上7点执行一次 /bin/ls :
0 7 * * * /bin/ls
在 12 月内, 每天的早上 6 点到 12 点中,每隔3个小时执行一次 /usr/bin/backup :
0 6-12/3 * 12 * /usr/bin/backup
周一到周五每天下午 5:00 寄一封信给 alex@domain.name :
0 17 * * 1-5 mail -s “hi” alex@domain.name < /tmp/maildata
每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha"
20 0-23/2 * * * echo "haha"
注意 :
当程序在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上 > /dev/null 2>&1 即可
例子2 :
#每天早上6点10分
10 6 * * * date
#每两个小时
0 */2 * * * date
#晚上11点到早上8点之间每两个小时,早上8点
0 23-7/2,8 * * * date
#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * mon-wed date
#1月份日早上4点
0 4 1 jan * date
范例
$crontab -l 列出用户目前的crontab.
来自:http://h1yn.itpub.net/post/2084/222108
IN:Linux Tags: Fedora, heartbeat, Linux Comments:3Heartbeat是http://linux-ha.org中HA项目的核心,HA是(High Availability)的缩写;简单来说就是为了提供高可靠的应用服务,例如拿两来机子来做HA,提供WEB服务,一台机子为主服务器平时提供WEB服务,HA就是保证在主服务器出现故障(例如掉电)的时候另一台机子可以立刻接手继续提供WEB服务,从而使用户觉得服务未曾中断;实际应用中可能使用更多的机子组成集群。
Heartbeat可以使用串口或者以太网来实现对主机的监测,这里使用的是以太网,在两台机器上分别配双网卡,用一根双绞线把两台机器连接在一起,另外两个网卡连到路由;配置是:
f801(主机名;使用这台作为主服务器):
eth0: 192.168.1.110
eth1: 10.0.0.1
f802:
eth1: 192.168.1.111
eth2: 10.0.0.2
网络配置好后测试无误后再检查两台机器上的WEB服务是否可以正常使用;一切都正常后使用yum安装Heartbeat:
yum install heartbeat
安装好heartbeat后开始配置,三个主要配置文件都在: /usr/share/doc/heartbeat-2.1.3/下面,需要我们手工修改后拷贝到/etc/ha.d/中(两台服务器使用的脚本基本一样)。
编辑authkeys文件,下面的配置使用了sha1作为认证方式(这里需要注意的是该文件的权限必须被设置为600):
auth 2
#1 crc
2 sha1 HI!
#3 md5 Hello!
编辑ha.cf,注释下掉以下内容:
keepalive 1 ##设定心跳(监测)时间时间为1秒
warntime 10 ##设定警告时间
deadtime 30 ##设定确定主机宕机时间
initdead 120 ##第一宕机时间
ucast eth1 10.0.0.2 ##使用eht1做心跳监测 也就是连接两PC的网卡
udpport 694 ##使用udp端口694 进行心跳监测
node f801 ##节点1,必须要与 uname -n得到的结果一致。
node f802 ##节点2
第二台服务器由于网卡是eth(192.*)1,eth2(10.*),所以相应的配置文件中ucast 需要使用eth2。
编辑haresources,添加以下内容:
f801 192.168.1.118 httpd
表示主服务器使用192.168.1.118作为WEB服务的IP,f801为主服务器。
配置好后在主服务器上启动Heartbeat:
service heartbeat start
出错的话一般是配置文件的问题,根据提示修改就可以了;Heartbeat会自动根据haresource配置文件启动相应的服务程序。
然后在另一个台器上启动Heartbeat;
完成后可以使用tcpdump来测试两台机器间的心跳:
[root@f801 ~]# tcpdump -i eth0 -p udp port 694
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
11:43:46.431448 IP ha01.filenet-nch > ha02.ha-cluster: UDP, length 219
11:43:46.433968 IP ha01.filenet-nch > ha02.ha-cluster: UDP, length 216
11:43:47.431456 IP ha01.filenet-nch > ha02.ha-cluster: UDP, length 216
11:43:48.432516 IP ha01.filenet-nch > ha02.ha-cluster: UDP, length 216
如果这里出问题的话很有可能是防火墙的问题,或者是配置文件里ucast里的设置,需要仔细检查。
最后就可以做测试,关闭主服务器,根据配置文件里的响应时间(),服务器f802会接管主服务器的任务。
参考文章:
http://www.bitscn.com/linux/network_manage/200805/140501_3.html
http://www.xxlinux.com/linux/article/network/app/20070329/8009.html
IN:Linux Tags: Fedora, Linux, mail Comments:1偶尔发现我机子上的mail命令不能发信,看了下错误日志:
Jul 4 15:08:20 cocobear sendmail[4167]: m6478JxK004167: to=cocobear.cn@gmail.com, ctladdr=cocobear (500/500), delay=00:00:01, xdelay=00:00:00, mailer=relay, pri=30113, relay=[127.0.0.1] [127.0.0.1], dsn=4.0.0, stat=Deferred: Connection refused by [127.0.0.1]
发信的状态是Connection refused by [127.0.0.1]
原来是sendmail在Fedora中默认的配置有问题,修改/etc/mail/sendmail.mc文件:
DAEMON_OPTIONS(`Port=smtp,Name=MTA’)dnl
dnl #DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA’)dnl
把原来的指定Addr注释掉,原来这种配置只能向本机地址发送邮件,然后重新加载配置文件:
make -C /etc/mail
重启服务:
service sendmail restart
使用mail发信就正常了。
Update:080814:
今天又遇到这个问题了,CSDN那个文章没办法访问,看了看google的快照,顺便把过程写到这里。
Page 1 of 712345»...Last »