可可熊的窝

Tag Archives: Linux

想换一个Linux发行版

IN:Linux   Tags: ,    Comments:25

用了Fedora也有不少时间了,总的感觉还不错,但是我想要一个可以掌握在手里的系统,比较干净一些,不想有一些我从来用不到的东西,比如Java,我很讨厌系统里面有这些个东西,Fedora安装下来有不少没用的东西,即使使用很小的安装也得占大概2G的空间。

我希望的这个发型版:

  • 比较干净(没用的东西尽量少,需要的时候才安装)
  • 定制性比较强,安装软件比较容易(但也不可以因为我想听个歌而让我折腾半天的时间去装个播放器,也不可以让我花大量时间去折腾显卡配置等系统问题,我需要专注做事情,而不是折腾系统,系统只是个工具)
  • 很方便使用X,我大部分时间还是需要X的;
  • 比较适合做开发,比如Python,SDL,OpenGL,wxPython……
  • 速度比较快,Fedora开机的时候会加载很多没用的东西,当然这些可以自己手动去掉,俺还是不喜欢;
  • 升级不能太频繁,Fedora从5开始用,现在都10了,才两年多的时间,太快了,虽然系统确实一直在进步,或者至少可以平滑的升级,Fedora在这方面做的不好;
  • 稳定性比较好,说实话用这么长时间Fedora,还是有不少时间莫名的死掉;
  • 暂时就想到这么多,最近把大部份的Linux发型版介绍都看了看,目前觉得以下几个比较合适的我需要:

    ArchLinux
    Slackware
    Gentoo

    现在还拿不定主意,路过的给个选择,或者还有别的发型版更合适我?

    12-04
    2008

    Fedora 9 通过E680G/I手机实现GPRS上网

    IN:Linux   Tags: , , ,    Comments:5

    电脑通过E680G/I手机实现GPRS上网

    E680是一款摩托的Linux系统手机,在Windows下可以通过自带的MPT工具包实现与电脑连接的GPRS上网,在Linux下也是比较方便的,以前我也用过,只是没记下来,今天再用的时候还得看别人写的文章,还是自己记一下。

    我用的是Fedora 9,一般的Linux系统都应该可以,大同小异。首先是手机端设置连接模式为调制解调器(Modem),通过数据线连接到电脑后(也可以用蓝牙,我这里没有环境),Fedora 9会识别到有新的调制解调器:

    发现新硬件:

    它对应的设备就是/dev/ttyACM0。接下来用wvdial这个拨号工具,如果没有这个包的话请自行安装,wvdial有一个配置文件/etc/wvdial.conf,(使用root进行下面的操作)编辑这个文件,:

    添加以下内容:

    如果已经有Dialer Defaults这一块则覆盖之。这里要注意使用的是cmnet,最好是手机包月不分cmnet和cmwap那种的,不然收费是很贵的。修改完该文件后还需要对/etc/ppp/options文件进行修改,添加一行:
    :192.168.0.254
    这个修改比较奇怪,E680系列的Linux手机都需要这样:-(,不然用wvdial拨号时会在/var/log/messages中产生下面的错误:

    错误信息:

    修改完这个文件后就可以开始拨号了,直接使用wvdial命令:

    拨号信息:

    从上面的信息中可以看出我们成功的拨号上网了,不过这时候我们还需要手动把192.168.0.254添加为默认路由:

    route add default gw 192.168.0.254
    

    ping一个google:

    Ping结果:

    好大的延时,还有丢包,没办法了中国移动的GPRS就这样了,EDGE在西安只有部分地区覆盖了,而且E680手机是不支持的!

    终于上来了,搬到新租的房子后还没拉网线,只能先这样了。

    羡慕王聪同学的3G上网啊@_@

    10-16
    2008

    处理了下网站

    IN:Linux   Tags: , ,    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进行恢复。

    08-15
    2008

    crontab使用[转载]

    IN:Linux   Tags: ,    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

    08-14
    2008

    Fedora 8配置Heartbeat

    IN:Linux   Tags: , ,    Comments:3

    Heartbeat是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

    08-07
    2008

    Fedora中mail命令无法发信

    IN:Linux   Tags: , ,    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的快照,顺便把过程写到这里。

    07-04
    2008
    Page 1 of 712345...Last »
    loading...