Yum库配置简单方法

2010年12月04日 07:20

好久没写博客了,正如我之前所说,在考试。大学考试就是一堆理论考来考去,我不是一个善于高谈阔论的人,也不是一个擅长考试的人,考的很糟糕,可以说,学习越深入,我就越不擅长考试了。

最近用上了企鹅输入法fcitx 4.0,很棒的输入法,我自从使用Linux以来还没见过这么漂亮的Linux软件呢,只是他的词库不敢恭维,偶尔还会崩溃,但总比ibus强多了。
 
发现Linux上的Office最好的还是OpenOffice 3.2.1版本,虽然比起自带的OpenOffice 3.2只有0.0.1的提升,但是质量真的好很多,不太会死掉了,美观性也大幅增加。LibreOffice项目我当然是支持的,期待的,只是目前还在beta版本,稳定性和OpenOffice 3.2几乎没有差别,所以还没用。
 
Ubuntu Tweak是个很实用的Gnome配置软件,最近才发现。
 
Ubuntu的Gnome-panel版本太低,稳定性很糟糕,一直想升级,可惜不会。Gnome-panel几乎是Gnome桌面的操作系统中最不稳定的组件之一了,无论是在Ubuntu上,还是在Fedora上,都不稳定,GUI,作为一个系统的门面,这样不稳定真的很不好。
 
我们学校搞开源社区了,很高兴,开源的意义我从今年才开始深入认识,这么快也可以为之作贡献了。我们的首要任务是做个我们社区的门户网站,用PHP,在做这个网站之前,我们先做一个PHP框架,这个框架相当于社区的第一个产品,根据Deltamaster的分配,我的任务是Ajax模块,缓存模块和代码优化。
 
我年初帮助Deltamaster做过项目,但结果是以惨败告终的,非但没有做出贡献,反而还在添乱。事后我反思了很久,主要是急功冒进,对任务的认识不够深刻,对语言的思想掌握不够。后者现在已经没什么问题了,前者还在学习。一个程序员,操之过急地编码根本没有意义,画出几张UML图,统筹兼顾,和上面进一步明确任务和接口比这重要的多。
 
RHCE考试推迟到明年一月了,很好,这样时间充裕多了。
 
还有很多话想说,但是不能说了,本文的主题不得不开始了。
 
Yum库的配置网上很多,但在我看来,基本没说清楚,这就是撰文的目的。
 
配置Yum很简单,第一步,用户必须告诉Yum这个库的存在,因此必须在/etc/yum.repos.d中要么创建一个后缀名为repo的文件,要么在已有的repo文件上增加新Yum库的地址,具体写法完全可参考系统自带的文件的写法,以下是我实验库的文件内容:
 
[testyum]                                                   #yum库名字,必须唯一
name=Fedora Test Yum                           #yum库全名,不多解释
baseurl=file:///home/bachue/Downloads   #必须是一个文件夹的地址,可以是FTP,HTTP,当然也可以象我一样为本机地址
enabled=1                                                 #是否启用该库,为1为启用
metadata_expire=7d                                 #源数据过期时间,不多解释
gpgcheck=0                                              #是否检验gpg的key,我是实验库,不需要检验。

更多语法还是请参考已有的repo文件。

完事后,作为用户其实就没啥事了。而Yum库本身还是需要一定的配置,否则不能正常工作。

为什么要配置呢?不配置Yum怎么知道他的库里有哪些包呢?包的详细信息呢?怎么做分组呢?怎么知道包与包之间的依赖关系呢?正是因为不知道,所以要有个配置文件,其实准确的说是源文件,来告诉别人这个Yum库的若干国情。

Yum库的软件,作为实验我挑选了google-chrome-stable和linuxqq的rpm包,这两个软件都是闭源的,所以一定不会出现在官方的Yum库里。

Yum的配置文件有五个,必须放在Yum库的repodata文件夹下,其中有四个(他们是filelists.xml.gz  other.xml.gz  primary.xml.gz  repomd.xml)可以由一句命令createrepo(可能需要安装同名rpm包)自动生成,但最后一个文件比较难对付,第一,他不可能手写,打开就知道,多国语言,想必不可能有人懂这么多语言。第二,可以有命令来生成,和生成前四个文件的命令还是同一个,但他有个古怪的要求,必须有一个其他库的这个文件作为模板,才可以生成,说真的,玩这么多年电脑从没见过这种要求,如果你的电脑上或光盘里已经有Yum库(DVD版本的安装光盘几乎都有),并且有名字中带comps的那个xml配置文件(可能已经被gzip压缩),就可以用他,如果没有,用find命令全系统搜索,关键字是*comps*xml*,我的fedora就有这样一个文件。如果这样都没有找到,那么只能从其他电脑上找了,网上我Google过,没有发现人家把这个文件挂上来。

假设已经找到(不会找不到吧,DVD里真有),生成配置文件的整个命令如下:createrepo -g [该模板文件地址,注意后缀名是xml] [Yum库地址],在我的电脑上,这条命令是这样的,createrepo -g /var/cache/yum/i386/14/fedora/2d112e279cf18476b72e5b30f60c1aa55e0297e7a05f4d9891879ee83d298e11-comps-f14.xml /home/bachue/Downloads/。这条命令将自动在库文件下创建repodata文件夹,并创建好五个配置文件。这样,配置就算完成了。

如果要去试试这个库能否正常工作,一定不要忘了,Yum是有缓存的,如果不久前刚刚扫描过这个Yum库,就不会再去扫描一遍,但你其实已经改过他的配置,或是有新软件入库了,而Yum却不知道,以至于你的操作看上去就像没有生效,这样可能会让你以为Yum没有正常工作。我就出过这样的糗事。清除缓存的命令是yum clean all,一定不要忘了。

讲解完毕,是否很简单呢?

在没学RHCE以前,感觉deb包很强,毕竟不容易出现依赖性问题,学了RHCE,感觉rpm才是真的好,功能实在太强大了。

今天中华民国建国九十九周年和Ubuntu 10.10发布之日,可谓双喜临门。更巧合的是,二者都以自由作为自己的信仰。

文泉驿,是Linux下最著名的自由中文字体,对于他的微米黑字体,我更是爱不释手,所有的实验报告都坚决使用它,即使是要放到Windows下,我也会将文档转换成pdf格式,以极大程度的使用它。如果查看本博客的CSS代码,也可以发现,正文字体文泉驿微米黑排名第一,在其他博客里,我自己还真没见过第二个这么做的。

平日里我装Ubuntu的时候习惯使用纯英文版,一方面是认为Linux用中文没有意思,如果用终端更不方便,另一方面也是想创造点英语气氛,但是Ubuntu有一点很奇怪,如果安装纯英文的Ubuntu,那么中文就显示得不正常,字的大小粗细都很奇怪,尤其是在Google Chrome下,上Ubuntu中文论坛,尤其明显。当然不允许这种事情发生,所以我每次都把Chrome的每一种字体都显式的指定为文泉驿微米黑,有时,甚至把全系统的字体都指定为文泉驿微米黑,似乎不是什么好事,为了一个中文字体,放弃了所有的英文字体。所以我探索新的方法,终于找到了通过修改字体配置文件/etc/fonts/local.conf来把中文字体指定为文泉驿微米黑,而不改变英文字体的方法:

<fontconfig>
   <match target="pattern">
      <test qual="any" name="family">
         <string>serif</string>
      </test>
      <edit name="family" mode="prepend" binding="strong">
         <string>Ubuntu</string>
         <string>WenQuanYi Micro Hei</string>
         <string>AR PL UMing CN</string>
         <string>AR PL ShanHeiSun Uni</string>
         <string>Bitstream Vera Serif</string>
         <string>DejaVu Serif</string>
         <string>AR PL UKai CN</string>
         <string>AR PL ZenKai Uni</string>
      </edit>
   </match> 
   <match target="pattern">
      <test qual="any" name="family">
         <string>sans-serif</string>
      </test>
      <edit name="family" mode="prepend" binding="strong">
         <string>Ubuntu</string>
         <string>WenQuanYi Micro Hei</string>
         <string>Bitstream Vera Sans</string>
         <string>DejaVu Sans</string>
         <string>WenQuanYi Zen Hei</string>
         <string>AR PL UMing CN</string>
         <string>AR PL ShanHeiSun Uni</string>
         <string>AR PL UKai CN</string>
         <string>AR PL ZenKai Uni</string>
      </edit>
   </match> 
   <match target="pattern">
      <test qual="any" name="family">
         <string>monospace</string>
      </test>
      <edit name="family" mode="prepend" binding="strong">
         <string>WenQuanYi Micro Hei Mono</string>
         <string>Bitstream Vera Sans Mono</string>
         <string>DejaVu Sans Mono</string>
         <string>WenQuanYi Zen Hei</string>
         <string>AR PL UMing CN</string>
         <string>AR PL ShanHeiSun Uni</string>
         <string>AR PL UKai CN</string>
         <string>AR PL ZenKai Uni</string>
      </edit>
   </match> 
</fontconfig>

编辑/etc/fonts/local.conf,把上述XML复制进去即可。如果没有该文件,就创建一个。修改后无需重启,即时起效。

最后赞美下Ubuntu 10.10的新字体"ubuntu",很漂亮。刚刚已经修改博客支持这个字体作为默认英文字体了。

参考文献:forum.ubuntu.org.cn/viewtopic.php?f=8&t=236013&start=0

安装Proftpd的几点总结

2010年9月18日 07:23

过去Proftpd总尽可能采用自动化安装+图形化使用的办法,偷懒,但是今天安装Proftpd我则采用了官方下载源码+自行编译+文本文件配置FTP,难度毫无疑问比之前大些,但也难不到哪里去。

安装方法详见《鸟哥的Linux私房菜》 linux.vbird.org/linux_server/0410proftpd.php 这里只总结一些鸟哥没有说的部分。

(话说这本书写得真好,通俗易懂,语言幽默,不愧是自由中国啊,令人神往。)

总结一:安装Proftpd出现如下错误:

tcpwrap.c:15:20: error: tcpd.h: No such file or directory

使用apt-get install libwrap0-dev即可。

总结二:中文问题,这个问题真的令人头疼,目前我也没有找到完全解决的办法,只能不断弱化这种错误

在鸟哥那句 ./configure --prefix=/usr/local/proftpd --enable-shadow --enable-autoshadow --with-modules=mod_ratio:mod_readme:mod_wrap 中再增加一个参数 --enable-nls

编译安装后,在proftpd.conf里增加一项:UseEncoding UTF-8 GBK,即可。

这么做的话,当从Windows的客户端或Linux的FTP服务器放入中文文件时他们互相访问都不会有问题,但这时使用Linux的客户端去访问Linux的FTP服务器,则文件名会有乱码(内容不会,似乎是Linux的FTP客户端编码和人家都不一样),不知道如何解决。

参考文献:

www.xpv.cn/home/vsftpdbianyicuowujiejuebanfa.html
blog.wu-boy.com/2010/07/07/2276/

继续阅读