2012年6月1日星期五

rpm 包研究(一)

说一下最近遇到的一个问题, 我在 RPM 包里面加了一个脚本文件里面使用了一些模块,打包完包的时候,发现 rpm 包的依赖关系里面有了这些模块, 这就要求我在其他的设备上安装的时候要求必须满足这些依赖关系, 我在想如何跳过这些依赖关系。

首先说一下在打 rpm 包的时候,什么情况下脚本文件会被 rpm 去检查依赖关系, 经过实践发现主要是处在文件的权限上,如果脚本文件具有可执行权限的话,在打 rpm 包的时候就会被检查相关的依赖关系,脚本的文件名后缀并没有产生影响。

另外再说一下, 比如我只想跳过某些的依赖包的检查,比如说很常用的一些库,我不想让 rpm 在安装的时候去做检查,这个时候就需要使用另外一个办法了:在你的 spec 文件里面加入这样一段代码

%prep
%setup -q -n Foo-%{version}

cat << \EOF > %{name}-prov
#!/bin/sh
%{__perl_provides} $* |\
sed -e '/perl(unwanted_provide)/d'
EOF

%global __perl_provides %{_builddir}/%{name}-%{version}/%{name}-prov
chmod +x %{__perl_provides}


cat << \EOF > %{name}-req
#!/bin/sh
%{__perl_requires} $* |\
sed -e '/perl(unwanted_require)/d'
EOF

%global __perl_requires %{_builddir}/%{name}-%{version}/%{name}-req
chmod +x %{__perl_requires}



具体参照这个页面


http://fedoraproject.org/wiki/EPEL:Packaging#Perl_Provides_and_Requires_Filtering


当然这个只是针对比较老的 rpm 版本,如果是新版本的话, 会有更好的解决的办法。


http://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering


再说一下这两个文件:


 

/usr/lib/rpm/perl.req 
/usr/lib/rpm/perl.prov

这两个文件都是一个 perl 脚本, 主要是检查 rpm 里面的每个文件的依赖(perl.req), 和所提供的模块 (perl.prov)

2012年5月18日星期五

apt-get 和dpkg命令大全[转]

最近在使用 ubuntu  了, 顺便学习一下相关的知识吧, 主要是 apt 命令和 dpkg 相关命令的学习。

2012年5月15日星期二

光光

最近的状态很糟糕, 有点里不从心, 感觉老了, 今年已经是龙年了, 过了本命年了, 我在想,我究竟缺少什么, 也许我自己是知道的。  不缺少机会, 缺少的是勇气和开放的心。  缺少专注和逝去的青春朝气!

我真的很为自己难过, 我要抓住东西,可我究竟需要的是又是什么呢。

比较消沉的时候,我比较爱去怀旧, 怀念年轻的时候,怀念上学的那时候,怀念那时候的单纯的快乐和青春的无畏。   本来要熬夜写代码的, 结果现在都已经 3点了; 去了颜涛的微博, 知道她要当妈妈了; 去听了柴静的主持夜色温柔时候的节目录音; 又去了光光的博客, 反复的看了几篇博客, 不知道她还在北京不, 还是去了美国,日本还是韩国。  把她的博客的地址留下吧, 害怕下次又找不到了, http://guangguanghikaru.bokee.com/index.html

2012年5月6日星期日

ubuntu 12.04 openvpn 攻略

好吧,我承认随着 ubuntu 12.04 的发布,我折腾了很多的东西, 所以才想在博客上记录一下, 其实也主要是为了自己记录下来备以后来查看, 如果有朋友通过我记录下的东西也能解决一些问题的话, 你我也是很荣幸的, 好了不说废话了.

首先我这次主要是想说一下在 ubunut 12.04 上本地客户端上的一些东西,置于 openvpn  服务器端的安装,  centos 版本可以见我之前的一篇博文, http://www.83g.org/220.html  里面有基于 centos 的 pptpvpn 和 openvpn 服务器端的安装教程.

2012年5月5日星期六

ubuntu 12.04 中文环境相关设置

因为之前使用 ubuntu 10.04 感觉还不错,所以当ubuntu 新的一个 LTS 版本发布后,我迫不及待的下载了镜像在虚拟机里面进行了安装,  当然安装完之后还需要折腾很多的东西, 为了防止下次再进行折腾,所以在这里大概的记录一下.

1. 中文环境:  安装完毕后首先要解决的就是中文化的问题, 这一点相对还比较容易, 在安装的时候选择语言为中文, 这样 ubuntu 在你安装完之后, 默认的会提示你下载其他的中文语言支持包,根据提示安装下载之后就万事大吉了, 默认自带的 ibus 中文输入法也还不错,使用起来也挺方便的.

2. 中文编码的支持, ubuntu 安装完之后, 默认的编码格式 UTF-8 , 不包含 GB2312 编码格式, 这样的话, 如果你从 windows 上面拷贝的过来的中文文件可能就会出现乱码的情况.所以这里需要设置一下.      首先就是对系统添加中文的编码.
sudo vim /var/lib/locales/supported.d/zh

然后加入以下内容
zh_CN.GB18030 GB18030
zh_CN.GBK GBK
zh_CN.GB2312 GB2312
zh_HK.BIG5 BIG5
zh_TW.BIG5 BIG5

然后执行 sudo locale-gen

提示以下信息,成功了(可能比较慢,耐心等待)
zh_CN.GB18030… done
zh_CN.GBK… done
……

这样的话系统就默认支持中文编码 GB2312 的格式,但是还需要一些配置才能能生效.  对于vim 来说的话, 可以在 /etc/vim/vimrc  文件里面加入以下两行
let &termencoding=&encoding
set fileencodings=utf-8,gb18030,gbk,gb2312,big5

这样 vim 里面就可以完美的打开 gb2312 格式的代码文件了.另外一个还需要设置的软件是 gedit  这里的话需要安装一个额外的插件
sudo apt-get install dconf-tools

使用命令行的方式来修改, 例如
gsettings set org.gnome.gedit.preferences.encodings auto-detected "['UTF-8','GB18030','GB2312','GBK','BIG5','CURRENT','UTF-16']"

修改这里之后, 然后打开 gedit –>文件->打开  看到左下角的 字符编码这里, 通过 “添加和删除” 可以打开字符编码对话框,  在这里将左侧的 “简体中文 GBK “ 添加的右侧列表中. 然后 “确定” 推出. 这样就能够默认的支持 GBK 格式的文本文件了.

2012年3月14日星期三

快速安全搭建linux ftp server (vsftpd)

linux ftp server快速搭建

既然强调快速, 我们就马上开始
环境是centos5安装vsftpd, 别的linux系统可以参考下, 呵呵
# yum -y install vsftpd
没什么问题就直接安装好啦
编辑vsftpd的配置文件
# vi /etc/vsftpd/vsftpd.conf

2012年3月12日星期一

Centos中文、英文系统环境设置

vim /etc/sysconfig/i18n

 

中文环境设置:


Java代码  收藏代码



  1. LANG="zh_CN.GB18030"

  2. LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"

  3. SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"

  4. SYSFONT="lat0-sun16"



 

英文环境设置:


Java代码  收藏代码



  1. LANG="en_US"

  2. LANGUAGE="en_US"

  3. SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"

  4. SYSFONT="lat0-sun16"

  5. SYSFONTACM="8859-15"