可可熊的窝

Category Archives: Linux

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

Fedora中ATI显示驱动问题

IN:Linux   Tags: , , ,    Comments:5

Fedora9中由于Xorg版本过新的原因(刚开始我还以为是内核版本过新的原因),最新的ATI显卡驱动没办法使用,因此3D效果无法开启,在我的机子上不仅如此,而且连在runlevel 5 下使用Ctrl+ALT+F1这样切换终端都出现问题(不支援)。

忍了几天,今天终于解决掉了,我是按照这篇文章来做的,既然Xorg版本过新,那就直接换个低版本的Xorg(Linux不就有这个好处吗^_^)。

详细的我就不写出来了,说下大概过程:
首先是为系统添加Fedora8的源,可以直接下载这个文件,然后在Fedora9 yum配置文件中把xorg* linuxwacom* rhpxl* mesa*/” 相关的软件包排除掉,卸载Xorg,重新安装一次,这时由于Fedora9中已经排除了Xorg相关的软件包,因此yum就会从Fedora8的源中安装这些包,这样就得到了downgrade的效果。

文章的最后还给出来如果恢复到系统默认Xorg的办法,这里就不提了。

现在我的Fedora9完全没有问题了,^_^

btw:记个东西,ssh到内网的电脑:
首先得有个公网的IP,然后在内网(我公司的电脑)的电脑上使用下面命令:
[cocobear@cocobear ~]$ ssh -f -N -R 1986:localhost:22 cocobear@208.113.171.94
(208.113.171.94这个IP是我网站的IP,一会儿会提到为什么用这个IP)
接着在有公网IP的电脑上登录这台内网机器:

因为我另一边要在宿舍来连公司的这台电脑,而宿舍的电脑也在内网,因此需要使用一个具有公网IP的跳板电脑,我先在宿舍ssh到我这个网站的服务器上:
[cocobear@cocobear ~]$ ssh -l cocobear cocobear.info
然后在服务器上连接
[crystallight]$ ssh cocobear@localhost -p 1986
呵呵,这样就可以从宿舍电脑ssh到公司了,一会儿回宿舍看看公司这边电脑东西下完了没^_^

05-30
2008

vim中使用sdcv(stardict CLI版)

IN:Linux   Tags: , ,    Comments:0

这里介绍的vim中使用辞典查词的方法不错,利用了vim的一些特性,这样平时使用vim的时候就可以手不离键盘要完成查词了。

sdvc是命令行版的Stardict,可以在这里下载,目前最新的版本是0.4.2,不过在ADM64平台下编译会出错,我在网上找到了一个补丁,不过这个补丁是针对debain用户的,有些用不上,那些找不到文件的patch就可以直接忽略掉。

如果在gvim中使用则在~/.gvimrc中添加:

function  Mybln()
     let  expl=system('sdcv  -n  '  .
           \  v:beval_text  .
           \  '|fmt  -cstw  40')
     return  expl
   endfunction 

   set  bexpr=Mybln()
   set  beval

如果直接在vim中使用,则在~/.vimrc中添加:

function!  Mydict()
   let  expl=system('sdcv  -n  '  .
         \   expand("<cword>"))
   windo  if
         \  expand("%")=="diCt-tmp"  |
         \  q!|endif
   25vsp  diCt-tmp
   setlocal  buftype=nofile  bufhidden=hide  noswapfile
   1s/^/\=expl/
   1
endfunction
nmap  F  :call  Mydict()<cr>

gvim中鼠标移动到单词上就可以得到翻译,在vim中光标移动到单词上,使用shift+f可以新分割出来一个窗口显示单词的翻译。

原文请使用梯子访问。

05-19
2008

Fedora9安装vmware

IN:Linux   Tags: , ,    Comments:2

刚开始公司的机子上没办法装Fedora8,只好用vmware在XP下装了个Fedora8,现在F9出来了,在本机装了一个,以后就可以不用进XP了,不过F9似乎有些不太稳定,听说vmware也有linux版的,找了一个新6.0.3.build.80004版本的vmware,没想到安装时又出问题了,似乎又是因为内核版本过高的原因。

这里有一个解决方案,有人根据最新的内核写的vmware的补丁。

首先下载:

http://blender6xx.ic.cz/pub/vmware/vmblock.patch

http://blender6xx.ic.cz/pub/vmware/vmmon.patch

http://blender6xx.ic.cz/pub/vmware/vmnet.patch

这几个补丁,然后安装使用vmware-install.pl 开始安装vmware,当编译出错时把这几个补丁打上去,需要打补丁的文件在:/usr/lib/vmware/modules/source/ ,有几个tar的包,先解压了,然后进入解压后的目录, 用
patch -Np1 < modulename.patch 打好补丁,然后再把打好补丁的包再打包一次。

完成后使用 vmware-config.pl 继续安装,中间可能会缺少一些库,如:
libX11.so.6
libXtst.so.6
libXext.so.6
libXrender.so.1
libz.so.1
都可以在rpmfind.net里找到。

接下来一切都会顺利进行。把windows下的Fedora8拷过来直接就可以运行了,呵呵。

05-19
2008

Fedora9试用

IN:Linux   Tags: ,    Comments:8

刚在公司电脑上装了Fedora9,安装完成后发现X显示有问题,重启后进入X时显示器提示“不支援输入”,这个显示器是AOC的,查了下这种情况应该是刷新率与显示器的冲突吧,但是Fedora9中xorg.conf 文件已经不包含屏幕分辨率、刷新率的配置,而是自动进行检测,本来应该说是更智能了,但遇到这样的情况都没办法手动解决问题了,按照以往的经常,我把机子上Ubuntu的xorg.conf 文件拷了过来,覆盖掉原来的文件,X终于正常了,但屏幕的分辨率变为了:1152×864,刷新率只有60Hz,而且使用Ctrl+Alt+num 切换到其它终端时显示“无信号”,太奇怪了。用了Fedora系统这么久还是头一次遇到这样的情况。

现在正在下ATI 的显卡驱动,不知道会不会解决这个问题。

这里下载驱动,安装好后可以设置正确的分辨率,1280×1024,但是其它终端仍然“无信号”,而且ati的那个控制中心没办法使用。

找到一篇文章,正在使用上面的方法重新安装驱动,里面有一点:yum install kmod-fglrx要加–enablerepo=livna-testing参数,,否则是无法找到kmod-fglrx这个包的。

公司的网速好慢……

05-15
2008

Ext2到Ext3转换

IN:Linux   Tags: , ,    Comments:2

在U盘上进行一次完整的文件系统创建转换,很多人应该没有用过mkfs.ext2(其实是mke2fs这个命令)这个命令来创建文件系统,大多数的时候都是在安装系统时已经完成了文件系统的创建,下面先看看如何使用mkfs.ext2来创建文件系统(这里需要root权限):

[command]
[cocobear@cocobear minix]$ sudo mkfs.ext2 /dev/sdb
mke2fs 1.40.4 (31-Dec-2007)
/dev/sdb is entire device, not just one partition!
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
31360 inodes, 125440 blocks
6272 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
16 block groups
8192 blocks per group, 8192 fragments per group
1960 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729

Writing inode tables: done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 24 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[/command]

从Filesystem label= 开始解释,mkfs.ext2可以通过-L来指定文件系统的卷标,这里我们没有指定,因此为空;
OS type: Linux:mkfs.ext2在创建文件系统时检查操作系统的类型;
Block size=1024 (log=0):ext2文件系统是由一个个的block组成,这里给出来新创建的block的大小,1024bytes,当然也可以使用-b选项手动指定block的大小,一般情况下block大小为1024bytes或4096bytes;
Fragment size=1024 (log=0):fragment在这里是没有意义的,因为ext2文件系统不支持fragment,我们可以直接忽略。
31360 inodes, 125440 blocks:总共生成的inodes与blocks的数量,block数量我们可以通过U盘的大小来计算出来,首先使用fdisk来得到U盘的大小,该U盘的大小为:128450560 bytes,因为我们使用的block大小为1024 bytes,因此总block数为:128450560 bytes / 1024 =125400。

6272 blocks (5.00%) reserved for the super user:在ext2文件系统的创建时候默认会为root用户保留5%的空间,这个可以-m选项来指定。

First data block=1:表示数据从第一个block开始。

Maximum filesystem blocks=67371008:一个文件系统

16 block groups:一共有16个block分组;

8192 blocks per group, 8192 fragments per group:每个分组有8192个block;

1960 inodes per group:每个组有1960个inode;

Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729
超级块在以前这几个block上进行了备份。

当然在文件系统创建好后也可以使用dumpe2fs或者tune2fs来获得上面的信息,tune2fs正是我们下面需要使用的转换工具。
[command]
[cocobear@cocobear ~]$ sudo dumpe2fs /dev/sdb
dumpe2fs 1.40.4 (31-Dec-2007)
Filesystem volume name:
Last mounted on:
Filesystem UUID: d8d7cb8e-4cc0-4d91-b7e3-dcbc3f403345
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: resize_inode dir_index filetype sparse_super
Filesystem flags: signed directory hash
Default mount options: (none)
Filesystem state: not clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 31360
Block count: 125440
Reserved block count: 6272
Free blocks: 119925
Free inodes: 31349
First block: 1
Block size: 1024
Fragment size: 1024
Reserved GDT blocks: 256
Blocks per group: 8192
Fragments per group: 8192
Inodes per group: 1960
Inode blocks per group: 245
Filesystem created: Sat Apr 26 08:13:03 2008
Last mount time: Sat Apr 26 17:13:06 2008
Last write time: Sat Apr 26 17:13:06 2008
Mount count: 1
Maximum mount count: 31
Last checked: Sat Apr 26 08:13:03 2008
Check interval: 15552000 (6 months)
Next check after: Thu Oct 23 08:13:03 2008
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 128
Default directory hash: tea
Directory Hash Seed: f8b3e365-54e7-43b1-ad25-b3270db87684

Group 0: (Blocks 1-8192)
Primary superblock at 1, Group descriptors at 2-2
Reserved GDT blocks at 3-258
Block bitmap at 259 (+258), Inode bitmap at 260 (+259)
Inode table at 261-505 (+260)
7673 free blocks, 1949 free inodes, 2 directories
Free blocks: 520-8192
Free inodes: 12-1960
………………
[/command]
首先卸载掉U盘,然后使用下面的命令:

[command]
[cocobear@cocobear ~]$ sudo tune2fs -j /dev/sdb
tune2fs 1.40.4 (31-Dec-2007)
Creating journal inode: done
This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[/command]

然后我们再来看一下文件系统信息:
[command]
[cocobear@cocobear ~]$ sudo dumpe2fs /dev/sdb
dumpe2fs 1.40.4 (31-Dec-2007)
Filesystem volume name:
Last mounted on:
Filesystem UUID: d8d7cb8e-4cc0-4d91-b7e3-dcbc3f403345
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal resize_inode dir_index filetype sparse_super
Filesystem flags: signed directory hash
Default mount options: (none)
Filesystem state: not clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 31360
Block count: 125440
Reserved block count: 6272
Free blocks: 115812
Free inodes: 31348
First block: 1
Block size: 1024
Fragment size: 1024
Reserved GDT blocks: 256
Blocks per group: 8192
Fragments per group: 8192
Inodes per group: 1960
Inode blocks per group: 245
Filesystem created: Sat Apr 26 08:13:03 2008
Last mount time: Sat Apr 26 17:13:06 2008
Last write time: Sat Apr 26 17:55:15 2008
Mount count: 1
Maximum mount count: 31
Last checked: Sat Apr 26 08:13:03 2008
Check interval: 15552000 (6 months)
Next check after: Thu Oct 23 08:13:03 2008
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 128
Journal inode: 12
Default directory hash: tea
Directory Hash Seed: f8b3e365-54e7-43b1-ad25-b3270db87684
Journal size: 4113k

Group 0: (Blocks 1-8192)
Primary superblock at 1, Group descriptors at 2-2
Reserved GDT blocks at 3-258
Block bitmap at 259 (+258), Inode bitmap at 260 (+259)
Inode table at 261-505 (+260)
5113 free blocks, 1948 free inodes, 2 directories
Free blocks: 520-5632
Free inodes: 13-1960
[/command]

从这里“Filesystem features: has_journal resize_inode dir_index filetype sparse_super”我们可以看到已经加入了ext3的日志功能。

04-26
2008
Page 3 of 101234510...Last »
loading...